Linphone, SIP i VoIP bez technicznej mgły
Linphone jest klientem komunikacji internetowej. W języku telefonii nazywa się go softphone’em, ponieważ realizuje funkcje telefonu w aplikacji na komputerze, smartfonie lub tablecie. Oficjalne wydania są dostępne dla Androida, iOS, Windows, macOS i GNU/Linux. Otwartość kodu oraz stosowanie standardowych protokołów pozwalają łączyć aplikację z różnymi systemami SIP, ale zgodność standardu nie oznacza identycznego zestawu funkcji u każdego operatora.
VoIP opisuje sposób przesyłania komunikacji
VoIP, czyli Voice over Internet Protocol, to szerokie określenie rozmów przesyłanych w sieciach IP. Głos jest zamieniany na dane, dzielony na pakiety i odtwarzany po drugiej stronie. Linphone może obsługiwać także obraz i wiadomości, lecz dostępność konkretnej funkcji zależy od aplikacji obu stron, konta oraz infrastruktury serwerowej.
Połączenie VoIP nie jest jednym ciągłym „kablem”. Osobno odbywa się ustalenie, kto do kogo dzwoni i jak ma wyglądać sesja, a osobno płyną media, na przykład dźwięk. To dlatego można zobaczyć połączenie jako odebrane, a mimo to nie słyszeć głosu.
SIP odpowiada za zestawienie i kontrolę sesji
SIP to Session Initiation Protocol opisany przez IETF w RFC 3261. Protokół tworzy, modyfikuje i kończy sesje komunikacyjne. W zaproszeniu do rozmowy może zostać przeniesiony opis mediów, dzięki któremu strony ustalają zgodne formaty i parametry. Serwery proxy pomagają kierować żądania, uwierzytelniać użytkowników i stosować reguły usługi.
Rejestracja SIP informuje serwer, pod jakim bieżącym kontaktem można osiągnąć użytkownika. Gdy aplikacja pokazuje błąd rejestracji, problem pojawia się przed samą rozmową. Najpierw trzeba sprawdzić dane konta, domenę, proxy, transport i dostęp do sieci, a nie ustawienia mikrofonu.
Źródło standardu.
Adres SIP przypomina e-mail, ale nim nie jest
Schematyczny adres ma postać „nazwa-użytkownika@domena-usługi”, a pełny URI może zaczynać się od „sip:”. Część przed znakiem @ identyfikuje użytkownika, a domena wskazuje obszar obsługiwany przez usługę SIP. Adres służy do kierowania komunikacji; nie jest skrzynką e-mail i nie musi odpowiadać zwykłemu numerowi telefonu.
Login używany do uwierzytelnienia może być taki sam jak nazwa użytkownika, ale operator może przydzielić osobny identyfikator autoryzacyjny. Display name to jedynie widoczna etykieta i nie zastępuje tożsamości SIP. Z tego powodu przepisanie „ładnej nazwy” do pola loginu często kończy się odrzuceniem rejestracji.
Konto SIP, serwer i aplikacja to trzy różne rzeczy
Konto zawiera tożsamość i dane uwierzytelniające. Serwer rejestruje konto i kieruje żądania zgodnie z zasadami dostawcy. Linphone jest aplikacją kliencką, która używa tych danych. Usunięcie konta z aplikacji nie musi usuwać go u operatora, a zmiana hasła w panelu usługi nie aktualizuje automatycznie zapisanej konfiguracji na wszystkich urządzeniach.
Linphone pozwala użyć konta projektu albo zgodnego konta zewnętrznego. Dokumentacja projektu zaznacza, że funkcje wymagające serwerów Flexisip, na przykład część konferencji, czatu grupowego i obecności, nie muszą działać z zewnętrznym kontem SIP. Podstawowa interoperacyjność połączeń jeden do jednego nie gwarantuje zgodności każdej funkcji dodatkowej.
RTP przenosi media
Po zestawieniu rozmowy dźwięk jest zwykle przesyłany jako strumień RTP lub jego zabezpieczony wariant SRTP. Ta ścieżka może przebiegać inaczej niż sygnalizacja SIP. Routery, translacja adresów NAT i zapory sieciowe czasem pozwalają na rejestrację oraz dzwonienie, lecz blokują pakiety audio. Typowym objawem jest cisza albo głos działający tylko w jednym kierunku.
ICE zbiera możliwe drogi połączenia i wykonuje testy łączności. STUN pomaga klientowi poznać adres widoczny z zewnątrz, a TURN może przekazać media przez serwer pośredniczący, gdy ścieżka bezpośrednia nie działa. Te mechanizmy nie są uniwersalnym zestawem wartości do włączenia na ślepo. Dostawca powinien określić, z jakiej polityki NAT oraz jakich serwerów korzysta usługa.
Numer telefonu wymaga połączenia z siecią telefoniczną
Adres SIP pozwala kontaktować się w świecie SIP. Aby wybierać lub odbierać zwykłe numery publicznej sieci telefonicznej, konto musi mieć odpowiednią usługę operatora, na przykład numer wirtualny albo trasę SIP trunking. Format wybierania numerów, dozwolone kierunki i identyfikacja dzwoniącego są regułami tej usługi, nie cechą, którą samodzielnie dodaje Linphone.
Jeśli połączenia pod adres SIP działają, a numer telefoniczny nie, sprawdź uprawnienia i plan numeracyjny po stronie operatora. Nie zmieniaj kodeków ani serwera STUN, zanim nie potwierdzisz, że konto ma prawo realizować dany typ połączenia.
Model diagnostyczny w jednym zdaniu
Najpierw sprawdź rejestrację, potem zestawienie rozmowy, następnie drogę mediów, urządzenia audio i dopiero na końcu jakość. Taka kolejność oddziela problem tożsamości od problemu sieciowego i sprzętowego.