Исключение синтаксической ошибки PJSIP при разборе

Мой пример PJSUA2 возвращает следующее:

11:31:41.606 sip_transport.  Error processing 575 bytes packet from UDP 0.0.0.0:5060 : PJSIP syntax error exception when parsing 'To' header on line 5 col 38:

а я уже без идей.

Asterisk действительно регистрирует клиента, но через две секунды перенастраивается:

[Jul  2 10:35:16] NOTICE[29444]: chan_sip.c:29614 sip_poke_noanswer: Peer 'cli_id' is now UNREACHABLE!  Last qualify: 0

Полный журнал регистрации:

07-02 11:36:19.216: I/PJSUA (MyApp - MyLogWriter)(6350): LW(4) Msg: 11:36:19.216    pjsua_acc.c !Modifying account 0
07-02 11:36:19.216: I/PJSUA (MyApp - MyLogWriter)(6350): LW(4) Msg: 11:36:19.216    pjsua_acc.c  .Acc 0: setting registration..
07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): LW(4) Msg: 11:36:19.218   pjsua_core.c  ...TX 540 bytes Request msg REGISTER/cseq=36362 (tdta0xb8f4b318) to UDP 0.0.0.0:5060:
07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): REGISTER sip:0.0.0.0 SIP/2.0

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): Via: SIP/2.0/UDP 177.18.138.40:6000;rport;branch=z9hG4bKPj8Zgyj-VhRy7k.HUYrXplLPJTwczF4hWd

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): Max-Forwards: 70

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): From: <sip:[email protected]>;tag=wXhCUdH83Sppgh6r1LRSskgsXMvvi1sE

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): To: <sip:[email protected]>

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): Call-ID: kP216wpZXD.jfVC1wfPfu7FX.ZKKkRBm

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): CSeq: 36362 REGISTER

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): User-Agent: Pjsua2 Android 2.4

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): Contact: <sip:[email protected]:6000;ob>;+sip.ice

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): Expires: 300

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): Content-Length:  0

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): 

07-02 11:36:19.218: I/PJSUA (MyApp - MyLogWriter)(6350): --end msg--
07-02 11:36:19.221: I/PJSUA (MyApp - MyLogWriter)(6350): LW(4) Msg: 11:36:19.221    pjsua_acc.c  ..Acc 0: Registration sent
07-02 11:36:19.221: I/PJSUA2 (Main)(6350): printAccountInfo() -> Account válida! 
07-02 11:36:19.221: I/PJSUA2 (Main)(6350): printAccountInfo() -> getId: 0
07-02 11:36:19.221: I/PJSUA2 (Main)(6350): printAccountInfo() -> getOnlineStatusText: Offline
07-02 11:36:19.221: I/PJSUA2 (Main)(6350): printAccountInfo() -> getRegExpiresSec: 0
07-02 11:36:19.221: I/PJSUA2 (Main)(6350): printAccountInfo() -> getRegLastErr: 0
07-02 11:36:19.221: I/PJSUA2 (Main)(6350): printAccountInfo() -> getRegStatusText: OK
07-02 11:36:19.224: I/PJSUA2 (Main)(6350): printAccountInfo() -> getUri: sip:[email protected]
07-02 11:36:19.224: I/PJSUA2 (Main)(6350): printAccountInfo() -> getOnlineStatus: false
07-02 11:36:19.224: I/PJSUA2 (Main)(6350): printAccountInfo() -> getRegIsActive: false
07-02 11:36:19.227: I/PJSUA2 (Main)(6350): printAccountInfo() -> getRegIsConfigured: true
07-02 11:36:19.228: I/PJSUA2 (Main)(6350): printAccountInfo() -> getRegStatus: PJSIP_SC_OK
07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): LW(4) Msg: 11:36:19.405   pjsua_core.c !.RX 586 bytes Response msg 401/REGISTER/cseq=36362 (rdata0xb8dd676c) from UDP 0.0.0.0:5060:
07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): SIP/2.0 401 Unauthorized

07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): Via: SIP/2.0/UDP 192.168.25.7:6000;branch=z9hG4bKPj8Zgyj-VhRy7k.HUYrXplLPJTwczF4hWd;received=177.18.138.40;rport=6000

07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): From: <sip:[email protected]>;tag=wXhCUdH83Sppgh6r1LRSskgsXMvvi1sE

07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): To: <sip:[email protected]>;tag=as102feee0

07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): Call-ID: kP216wpZXD.jfVC1wfPfu7FX.ZKKkRBm

07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): CSeq: 36362 REGISTER

07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): Server: Asterisk PBX 11.16.0

07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE

07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): Supported: replaces, timer

07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): WWW-Authenticate: Digest algorithm=MD5, realm="0.0.0.0", nonce="61d61816"

07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): Content-Length: 0

07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): 

07-02 11:36:19.407: I/PJSUA (MyApp - MyLogWriter)(6350): --end msg--
07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): LW(4) Msg: 11:36:19.407   pjsua_core.c  ....TX 711 bytes Request msg REGISTER/cseq=36363 (tdta0xb8f4b318) to UDP 0.0.0.0:5060:
07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): REGISTER sip:0.0.0.0 SIP/2.0

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): Via: SIP/2.0/UDP 177.18.138.40:6000;rport;branch=z9hG4bKPj7wWNB5U9PDaphvFHGvOHeXbY6Pc4EHxn

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): Max-Forwards: 70

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): From: <sip:[email protected]>;tag=wXhCUdH83Sppgh6r1LRSskgsXMvvi1sE

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): To: <sip:[email protected]>

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): Call-ID: kP216wpZXD.jfVC1wfPfu7FX.ZKKkRBm

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): CSeq: 36363 REGISTER

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): User-Agent: Pjsua2 Android 2.4

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): Contact: <sip:[email protected]:6000;ob>;+sip.ice

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): Expires: 300

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): Authorization: Digest username="cli_id", realm="0.0.0.0", nonce="61d61816", uri="sip:0.0.0.0", response="a0bf36ad494dc508637536a00810648c", algorithm=MD5

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): Content-Length:  0

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): 

07-02 11:36:19.408: I/PJSUA (MyApp - MyLogWriter)(6350): --end msg--
07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): LW(1) Msg: 11:36:19.618 sip_transport.  Error processing 575 bytes packet from UDP 0.0.0.0:5060 : PJSIP syntax error exception when parsing 'To' header on line 5 col 38:
07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): OPTIONS sip:[email protected]:6000;ob SIP/2.0

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): Via: SIP/2.0/UDP 0.0.0.0:5060;branch=z9hG4bK625f8cc3

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): Max-Forwards: 70

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): From: "asterisk" <sip:[email protected]>;tag=as30120c1b

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): To: <sip:[email protected]:6000>;ob>

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): Contact: <sip:[email protected]:5060>

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): Call-ID: [email protected]:5060

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): CSeq: 102 OPTIONS

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): User-Agent: Asterisk PBX 11.16.0

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): Date: Thu, 02 Jul 2015 14:36:06 GMT

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): Supported: replaces, timer

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): Content-Length: 0

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): 

07-02 11:36:19.621: I/PJSUA (MyApp - MyLogWriter)(6350): -- end of packet.
07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): LW(4) Msg: 11:36:19.632   pjsua_core.c  .RX 600 bytes Response msg 200/REGISTER/cseq=36363 (rdata0xb8dd676c) from UDP 0.0.0.0:5060:
07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): SIP/2.0 200 OK

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): Via: SIP/2.0/UDP 192.168.25.7:6000;branch=z9hG4bKPj7wWNB5U9PDaphvFHGvOHeXbY6Pc4EHxn;received=177.18.138.40;rport=6000

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): From: <sip:[email protected]>;tag=wXhCUdH83Sppgh6r1LRSskgsXMvvi1sE

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): To: <sip:[email protected]>;tag=as102feee0

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): Call-ID: kP216wpZXD.jfVC1wfPfu7FX.ZKKkRBm

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): CSeq: 36363 REGISTER

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): Server: Asterisk PBX 11.16.0

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): Supported: replaces, timer

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): Expires: 300

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): Contact: <sip:[email protected]:6000;ob>;expires=300

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): Date: Thu, 02 Jul 2015 14:36:06 GMT

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): Content-Length: 0

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): 

07-02 11:36:19.635: I/PJSUA (MyApp - MyLogWriter)(6350): --end msg--
07-02 11:36:19.638: I/PJSUA (MyApp - MyLogWriter)(6350): LW(4) Msg: 11:36:19.636    pjsua_acc.c  ....SIP outbound status for acc 0 is not active
07-02 11:36:19.641: I/PJSUA (MyApp - MyLogWriter)(6350): LW(3) Msg: 11:36:19.639    pjsua_acc.c  ....sip:[email protected]: registration success, status=200 (OK), will re-register in 300 seconds
07-02 11:36:19.645: I/PJSUA (MyApp - MyLogWriter)(6350): LW(4) Msg: 11:36:19.641    pjsua_acc.c  ....Keep-alive timer started for acc 0, destination:0.0.0.0:5060, interval:15s
07-02 11:36:19.646: I/PJSUA2 (MyApp - MyAccount)(6350): onRegState
07-02 11:36:19.646: I/PJSUA2 (Main)(6350): notifyRegState()
07-02 11:36:19.650: I/PJSUA2 (Main)(6350): handleMessage()
07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): LW(1) Msg: 11:36:20.645 sip_transport.  Error processing 575 bytes packet from UDP 0.0.0.0:5060 : PJSIP syntax error exception when parsing 'To' header on line 5 col 38:
07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): OPTIONS sip:[email protected]:6000;ob SIP/2.0

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): Via: SIP/2.0/UDP 0.0.0.0:5060;branch=z9hG4bK625f8cc3

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): Max-Forwards: 70

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): From: "asterisk" <sip:[email protected]>;tag=as30120c1b

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): To: <sip:[email protected]:6000>;ob>

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): Contact: <sip:[email protected]:5060>

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): Call-ID: [email protected]:5060

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): CSeq: 102 OPTIONS

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): User-Agent: Asterisk PBX 11.16.0

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): Date: Thu, 02 Jul 2015 14:36:06 GMT

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): Supported: replaces, timer

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): Content-Length: 0

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): 

07-02 11:36:20.648: I/PJSUA (MyApp - MyLogWriter)(6350): -- end of packet.

" Исключение синтаксической ошибки PJSIP при анализе заголовка "To" в строке 5 столбца 38 ", по-видимому, находится в скомпилированной библиотеке, поэтому я не знаю, как это отлаживать, и почти не знаю что делать дальше.

Приветствуются любые предложения.


person Moisés    schedule 02.07.2015    source источник


Ответы (1)


Строка To: <sip:[email protected]:6000>;ob>, представленная в OPTIONS, которую отправляет звездочка, явно недействительна. Вы можете попробовать отключить квалификацию в конфигурации звездочки, чтобы отключить эти сообщения OPTIONS.

Использование IP-адреса 0.0.0.0 как минимум необычно и может вызвать проблемы.

person TMSZ    schedule 07.07.2015
comment
Реальный IP-адрес был заменен на 0.0.0.0 из ЖУРНАЛА до того, как я написал здесь ^^ (точно так же, как client_id не является «cli_id»). 'obb' я заметил, но подумал, что это была неправильная отправка от моего клиента, потому что с клиентом SIPML5 он работает нормально. Но имеет смысл, что звездочка делает что-то другое, поскольку она регистрирует пользователя, а не отправляет сообщение POKE. Почему астериск ведет себя по-разному с этими клиентами? Но я пошел посмотреть на это, спасибо! - person Moisés; 07.07.2015
comment
О, я думаю, вы пропустили несколько мест с этой заменой. Я предполагаю, что эта ошибка со звездочкой вызвана наличием параметра ob в контакте от pjsua. Найдите параметр use_rfc5626 конфигурации учетной записи или natConfig.sipOutboundUse в файле pjsua2. - person TMSZ; 07.07.2015