Jestem nowicjuszem w Androidzie. Przechodziłem przez architekturę telefonii z Androidem i mam następujące pytanie. Gdy aplikacja wywołuje Android API z intencją ACTION_CALL, przechodzi przez RIL w celu ustanowienia sesji (przy założeniu SIP) i wysyłania / odbierania pakietów RTP. Czy ktoś może mi przedstawić przepływ kodu źródłowego (wraz z wywołaniem funkcji), w jaki sposób i kiedy wywoływane jest SIP oraz kiedy nawiązane jest połączenie SIP, jak i kiedy wywoływane jest RTP (przez RIL). Pomoże nawet jeden boczny przepływ połączeń lub nawet jeden przepływ połączeń.
Wielkie dzięki z góry ... Każdy mały wskaźnik również pomoże. Dzięki -Nagendra
Odpowiedzi:
0 dla odpowiedzi № 1Co mogłem znaleźć, że ścieżka przepływu sygnału / danych podczas „1. Telefonii z Androidem (typowy operator oparty na Vodafone, Airtel, itp.)” I „2. Połączenia VOIP oparte na SIP” są różne.
Telefonia z systemem Android: Z założenia smartfony z Androidem mają dwa procesory. Jeden dla Java i kodu natywnego, a drugi do uruchamiania kodu specyficznego dla dostawcy, tj. Procesora pasma podstawowego. Wszystkie sygnały są przekazywane przez gniazdo między warstwą RIL (Sender i Receiver, tj. Kod Java i Jni) i RILD / „Biblioteka specyficzna dla dostawcy”. Wszystkie szczegóły komunikacji znajdują się w folderze hardware / ril *. Po ustanowieniu połączeń (sygnalizacja) interfejs API języka Java otrzymuje wywołanie zwrotne dzwonienia lub nawiązania połączenia za pośrednictwem gniazda z biblioteki specyficznej dla dostawcy. Nawet nawiązywanie połączenia odbywa się z VSL (Biblioteka specyficzna dla dostawcy). Więc nie możemy mieć żadnego zasięgu kodu źródłowego.
Połączenia VOIP oparte na SIP: Jest to protokół na poziomie aplikacji i wymaga jedynie połączenia z Internetem. Możesz użyć dowolnej implementacji SIP typu open source (PJSIP, MJSIP itp.) I połączyć się z interfejsem API protokołu SIP i napisać własną aplikację telefoniczną. W ten sposób masz pełną kontrolę nad kodem źródłowym, w tym SIP. Przepływ kodu sygnałów i danych jest taki sam i odbywa się przez Internet (przez UDP, Socket).