Message Waiting Indicator DTA 310
Добавлено: 27 июл 2015, 14:35
Доброго!
Просю опытных толкнуть в верном направлении по проблеме:
Заставить на древнем ATA DTA310 зажечь "Message"
Железяка работает без нареканий (патчена прошивкой vbuzzer.bin для лечения от лока), но хотелось бы добить до конца и заставить светить о наличии голосовой почты.
До ссылки на воип-инфо сам долго бился с причиной ответа железки кодом SIP/2.0 400 Syntax Error на уведомление о сообщениях, и как оказалось, это требование нестандартных Messages-Waiting => Message-Waiting и Voice-Message => Voicemail (значения требуемых полей по счастливой случайности нашел в просмотре бинарника прошивки: есть названия полей для соответствия в функции парсинга)
Ок, поправил, но теперь уперся в следующую ошибку: SIP/2.0 481 Call Leg/Transaction Does Not Exist
NOTIFY sip:123@4.3.2.1:123;user=phone SIP/2.0
Via: SIP/2.0/UDP 1.2.3.4:5060;branch=z9hG4bK3ffe4886;rport
Max-Forwards: 70
From: "asterisk" <sip:123@1.2.3.4>;tag=as3e227333
To: <sip:123@4.3.2.1:123;user=phone>
Contact: <sip:123@1.2.3.4:5060>
Call-ID: 28916a6e7f6ccc8b55d605e9057d3968@1.2.3.4:5060
CSeq: 102 NOTIFY
User-Agent: asterisk13
Date: Sat, 25 Jul 2015 19:19:10 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Subscription-State: terminated
Event: message-summary
Content-type: application/simple-message-summary
Content-Length: 38
Message-Waiting: yes
Voicemail: 1/0
<--- SIP read from UDP:4.3.2.1:123 --->
SIP/2.0 481 Call Leg/Transaction Does Not Exist
Call-ID: 28916a6e7f6ccc8b55d605e9057d3968@1.2.3.4:5060
From: asterisk<sip:123@1.2.3.4:5060>;tag=as3e227333
To: <sip:123@4.3.2.1:123;user=phone>
CSeq: 102 NOTIFY
Via: SIP/2.0/UDP 1.2.3.4:5060;branch=z9hG4bK3ffe4886;rport
Content-Length: 0
NOTIFY отправляю после правки sip_notify.conf (добавил новую секцию для этого события, чтобы каждый раз не компилировать астериск)
[mwidta]
Event=>message-summary
Content-type=>application/simple-message-summary
Content=>Message-Waiting: yes
;Content=>Fax: 1/1
Content=>Voicemail: 1/1
Content=>
далее *CLI> sip notify mwidta 123
трактование 481 Call Leg/Transaction Does Not Exist не привносит дополнительных идей, некоторые упоминания о ней ведут в багтрекер астериска и там же репорты о фиксах, ничего более конкретного.
Встреченные интерпретации:
1) Indicates that the server was ignoring the request of bye or cancel since there is no matching Invite transaction. -
Показывает, что сервер игнорировал BYE или CANCEL запросы с момента отсуствия соответствия INVITE транзакции
2) действие не выполнено, нормальный ответ при поступлении дублирующего пакета
Возможно я неправильно скармливаю из астериска (полагаю "Syntax Error" отсуствует в передаваемых ему NOTIFY).
(Пробовал sipsakом, он вообще отказывается отправлять что либо из centos6 мотивируя тем что узел ему недоступен - может по причине пира за натом либо моей рукожопности)
попытки распотрошить прошивку binwalk-ом не дали лучшего результата, чем просмотр содержимого через хекседитор.
забить и забыть? или еще как то можно заставить его засветиться?
Просю опытных толкнуть в верном направлении по проблеме:
Заставить на древнем ATA DTA310 зажечь "Message"
Железяка работает без нареканий (патчена прошивкой vbuzzer.bin для лечения от лока), но хотелось бы добить до конца и заставить светить о наличии голосовой почты.
До ссылки на воип-инфо сам долго бился с причиной ответа железки кодом SIP/2.0 400 Syntax Error на уведомление о сообщениях, и как оказалось, это требование нестандартных Messages-Waiting => Message-Waiting и Voice-Message => Voicemail (значения требуемых полей по счастливой случайности нашел в просмотре бинарника прошивки: есть названия полей для соответствия в функции парсинга)
Ок, поправил, но теперь уперся в следующую ошибку: SIP/2.0 481 Call Leg/Transaction Does Not Exist
NOTIFY sip:123@4.3.2.1:123;user=phone SIP/2.0
Via: SIP/2.0/UDP 1.2.3.4:5060;branch=z9hG4bK3ffe4886;rport
Max-Forwards: 70
From: "asterisk" <sip:123@1.2.3.4>;tag=as3e227333
To: <sip:123@4.3.2.1:123;user=phone>
Contact: <sip:123@1.2.3.4:5060>
Call-ID: 28916a6e7f6ccc8b55d605e9057d3968@1.2.3.4:5060
CSeq: 102 NOTIFY
User-Agent: asterisk13
Date: Sat, 25 Jul 2015 19:19:10 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Subscription-State: terminated
Event: message-summary
Content-type: application/simple-message-summary
Content-Length: 38
Message-Waiting: yes
Voicemail: 1/0
<--- SIP read from UDP:4.3.2.1:123 --->
SIP/2.0 481 Call Leg/Transaction Does Not Exist
Call-ID: 28916a6e7f6ccc8b55d605e9057d3968@1.2.3.4:5060
From: asterisk<sip:123@1.2.3.4:5060>;tag=as3e227333
To: <sip:123@4.3.2.1:123;user=phone>
CSeq: 102 NOTIFY
Via: SIP/2.0/UDP 1.2.3.4:5060;branch=z9hG4bK3ffe4886;rport
Content-Length: 0
NOTIFY отправляю после правки sip_notify.conf (добавил новую секцию для этого события, чтобы каждый раз не компилировать астериск)
[mwidta]
Event=>message-summary
Content-type=>application/simple-message-summary
Content=>Message-Waiting: yes
;Content=>Fax: 1/1
Content=>Voicemail: 1/1
Content=>
далее *CLI> sip notify mwidta 123
трактование 481 Call Leg/Transaction Does Not Exist не привносит дополнительных идей, некоторые упоминания о ней ведут в багтрекер астериска и там же репорты о фиксах, ничего более конкретного.
Встреченные интерпретации:
1) Indicates that the server was ignoring the request of bye or cancel since there is no matching Invite transaction. -
Показывает, что сервер игнорировал BYE или CANCEL запросы с момента отсуствия соответствия INVITE транзакции
2) действие не выполнено, нормальный ответ при поступлении дублирующего пакета
Возможно я неправильно скармливаю из астериска (полагаю "Syntax Error" отсуствует в передаваемых ему NOTIFY).
(Пробовал sipsakом, он вообще отказывается отправлять что либо из centos6 мотивируя тем что узел ему недоступен - может по причине пира за натом либо моей рукожопности)
попытки распотрошить прошивку binwalk-ом не дали лучшего результата, чем просмотр содержимого через хекседитор.
забить и забыть? или еще как то можно заставить его засветиться?