2015-12-18 3 views
0

Здравствуйте разработчикам коллег,PJSUA Регистрация не идет

Я разрабатываю приложение SIP с использованием библиотеки PJSIP ... Вот мой code

А вот мой Logcat log

Проблема заключается в том приложение не пытается продолжить регистрацию и никаких ошибок вообще ... (Или я что-то пропустил?)

И войдите в систему мой Kamailio сервер (когда мое устройство пытается подключиться и протоколировать заклинивание ничего не происходит):

22(32406) DEBUG: <core> [ip_addr.c:229]: print_ip(): tcpconn_new: new tcp connection: 192.168.0.150 
22(32406) DEBUG: <core> [tcp_main.c:985]: tcpconn_new(): on port 17749, type 3 
22(32406) DEBUG: <core> [tcp_main.c:1295]: tcpconn_add(): hashes: 879:4076:3775, 50 
22(32406) DEBUG: <core> [io_wait.h:376]: io_watch_add(): DBG: io_watch_add(0x9f8540, 44, 2, 0x7f6cdbbf3948), fd_no=34 

пс. Я тестировал сервер с готовым клиента и все ок ...

Заранее спасибо :)

+0

вы можете показать код внутри класса MyAccount? – azimov

+0

@azimov здесь: http://pastie.org/10639978 – JavaMachine

+0

кажется, что PJSIP пытается зарегистрировать конечную точку, но я не вижу обратной связи с сервером регистратора. Можете ли вы установить «timeoutSec» меньше (20 или 30 секунд), чтобы увидеть, что будет возвращено. – azimov

ответ

0

я решил вопрос ...

Проблема была в регистрации PJSIP в другом потоке ... Я использовал основной поток и инициализировал соединение на событии OnCreate() в MainActivity. Это означает, после OnCreate() уволен и заканчивает свою работу, процесс инициализации становился разрушен, прежде чем он подключается к серверу ...

Что я сделал:

До:

UaConfig ua_cfg = epConfig.getUaConfig(); 
ua_cfg.setUserAgent("Pjsua2 Android " + ep.libVersion().getFull()); 
ua_cfg.setThreadCnt(0); 
ua_cfg.setMainThreadOnly(true); 

После:

UaConfig ua_cfg = epConfig.getUaConfig(); 
ua_cfg.setUserAgent("Pjsua2 Android " + ep.libVersion().getFull()); 

Удаление этих линий делает библиотеку PJSIP, чтобы создать свой собственный рабочий поток ...

Смежные вопросы