Работал ли с SIP библиотеками

«Работал ли с SIP библиотеками» — вопрос из категории Сети, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, работал с SIP библиотеками, например, PJSIP и Android SIP API.

PJSIP – мощная кроссплатформенная библиотека для VoIP. Использовал её для звонков, видеозвонков и обмена сообщениями.

Пример инициализации PJSIP:

EpConfig epConfig = new EpConfig();
endpoint.libCreate();
endpoint.libInit(epConfig);
TransportConfig transportConfig = new TransportConfig();
transportConfig.setPort(5060);
endpoint.transportCreate(PJSIP_TRANSPORT_UDP, transportConfig);
endpoint.libStart();

Также работал с Android SIP API (android.net.sip), но он устарел и поддерживается не на всех устройствах.

Основные сложности – настройка NAT, работа с брандмауэрами и энергоэффективность в фоне.