Коллеги, удалось-таки добиться чтобы Cisco C40 слал G711A кодек. Оказалось настройка этого режима производится через экспериментальные настройки специальной API командой. Но, к сожалению, проблему это не решило. Теперь и станция и Cisco C40 договариваются об использовании G711A, но как и прежде в большинстве случаев, когда снимаешь трубку со стороны Cisco C40 при звонке с УАТС на станции продолжаются КПВ, тогда как Cisco считает, что канал уже установлен.
Говорю "в большинстве случаев", так как при непрерывных попытках совершения звонков со стороны УАТС, примерно в 10% вызов все-таки устанавливается двусторонний. Какой-то зависимости, когда это происходит выявить не удалось.
При запуске t3 в случае неуспеха станция не обнаруживает сообщение CONNECT, тогда как сниффер Wireshark показывает наличие этого пакета.
Вот вывод t3 при неуспехе:
Трассировка успешного вызова:
Убедился, что с наличием двух INTIP плат это не связано (проверял, отправляя в перезагрузку одну из плат и убеждался, что при оставшейся одной рабочей проблема сохраняется).
На коммутаторе, куда подключена Cisco C40, настроил мониторный порт и стал исследовать проблему глубже, путем анализа пакетов в Wireshark.
Удалось выяснить следующую закономерность. Вероятнее всего проблема не связана с форматом самого CONNECT пакета. После получения CONNECT станция и Cisco обмениваются еще несколькими служебными пакетами типа terminalCapabilitySet, masterSlaveDetermination, openLogicalChannel, а также их подтверждениями - соответствующими Ack пакетами.
В случае успешного вызова последовательность пакетов имеет вид
В случае неуспеха -
Как видно из приведенных скриншотов, почему-то происходит объединение нескольких TCP сегментов в 1. Очень похоже на TCP Offload. Причем, можно заметить, что объединение происходит с обеих сторон, т.е. УАТС тоже причастна к преступлению. В этом случае, при дальнейшем разборе последовательности пакетов видно, как Cisco начинает слать RTP поток, а станция перидически отвечает ICMP пакетом Destination unreachable - Port Unreachable.
Может есть какие-то мысли на этот счет?
Большое спасибо!
Говорю "в большинстве случаев", так как при непрерывных попытках совершения звонков со стороны УАТС, примерно в 10% вызов все-таки устанавливается двусторонний. Какой-то зависимости, когда это происходит выявить не удалось.
При запуске t3 в случае неуспеха станция не обнаруживает сообщение CONNECT, тогда как сниффер Wireshark показывает наличие этого пакета.
Вот вывод t3 при неуспехе:
| Код |
|---|
______________________________________________________________________________ | (956430:000063) 1058: Send_IO1 (link-nbr=17, sapi=0, tei=0) : | long: 115 desti: 0 source: 15 cryst: 0 cpl: 17 us: 8 term: 1 type a5 | tei: 0 <<<< message sent : SETUP [05] Call ref : 00 13 |______________________________________________________________________________ | | [9f] Non-locking shift. codeset : 7 | [a2] EI_IP_TYPE_TERM | [9f] Non-locking shift. codeset : 7 | IE:[05] EI_IP_INFOS (l=9) -> G723 Ece 1 Vad 1 Profil 2, IPv4 :10.69.133.36. | [9f] Non-locking shift. codeset : 7 | IE:[06] EI_IP_PAYLOADS (l=2) : (COMP/ECE/VAD) -> G729/1/1 G711a/1/0 | [9f] Non-locking shift. codeset : 7 | IE:[07] EI_IP_QOS (l=3) b8 a0 00 | [9f] Non-locking shift. codeset : 7 | IE:[0a] EI_RTP_INFO (l=30) | -> stop_packet=0 stop_rtp=0 h323=0 wc=0 rf=0 udp=1 rqm=0 | -> Transm_Bande=1 detection_Q23=1 dtmf_payload=96 | -> Port RTP = 32576, IPv4 : 10. 197. 133. 13. | -> Port RTCP SR = 32577, IPv4 : 10. 197. 133. 13. | -> Port RTCP RR = 32577, IPv4 : 10. 197. 133. 13. | -> Port Fax = 32576, IPv4 : 10. 197. 133. 13. | IE:[04] BEARER_CAPABILITY (l=3) 80 90 a3 | IE:[18] CHANNEL (l=3) a8 83 81 -> T2 : No B channel | IE:[28] DISPLAY (l=11) `SHUSHKOV V.` | IE:[6c] CALLING_NUMBER (l=6) -> 01 81 Num : 1473 | IE:[70] CALLED_NUMBER (l=2) -> 81 Num : 1 | IE:[7d] HLC (l=2) 91 81 |______________________________________________________________________________ ______________________________________________________________________________ | (956430:000066) Concatenated-Physical-Event : | long: 21 desti: 0 source: 0 cryst: 0 cpl: 17 us: 0 term: 1 type a5 | tei: 0 >>>> message received : SETUP ACK [0d] Call ref : 80 13 |______________________________________________________________________________ | | IE:[18] CHANNEL (l=1) a8 -> T2 : No B channel |______________________________________________________________________________ ______________________________________________________________________________ | (956430:000067) 1058: Send_IO1 (link-nbr=17, sapi=0, tei=0) : | long: 24 desti: 0 source: 15 cryst: 0 cpl: 17 us: 8 term: 1 type a5 | tei: 0 <<<< message sent : INFORMATION [7b] Call ref : 00 13 |______________________________________________________________________________ | | IE:[70] CALLED_NUMBER (l=4) -> 81 Num : 573 |______________________________________________________________________________ ______________________________________________________________________________ | (956433:000069) Concatenated-Physical-Event : | long: 23 desti: 0 source: 0 cryst: 0 cpl: 17 us: 0 term: 1 type a5 | tei: 0 >>>> message received : ALERT (01) Call ref : 80 13 |______________________________________________________________________________ | | [97] Locking shift. codeset : 7 | IE:[0a] EI_RTP_INFO (l=2) | -> stop_packet=0 stop_rtp=0 h323=0 wc=0 rf=0 udp=0 rqm=0 | -> Transm_Bande=1 detection_Q23=1 dtmf_payload=96 |______________________________________________________________________________ ______________________________________________________________________________ | (956592:000095) Concatenated-Physical-Event : | long: 22 desti: 0 source: 0 cryst: 0 cpl: 17 us: 0 term: 1 type a5 | tei: 0 >>>> message received : RELEASE [4d] Call ref : 80 13 |______________________________________________________________________________ | | IE:[08] CAUSE (l=2) 81 a9 -> [a9] TEMPORARY FAILURE |______________________________________________________________________________ ______________________________________________________________________________ | (956592:000096) 1058: Send_IO1 (link-nbr=17, sapi=0, tei=0) : | long: 22 desti: 0 source: 15 cryst: 0 cpl: 17 us: 8 term: 1 type a5 | tei: 0 <<<< message sent : REL COMP [5a] Call ref : 00 13 |______________________________________________________________________________ | | IE:[08] CAUSE (l=2) 81 90 -> [90] NORMAL CALL CLEARING |______________________________________________________________________________ |
Трассировка успешного вызова:
| Код |
|---|
______________________________________________________________________________ | (952055:000009) 1058: Send_IO1 (link-nbr=17, sapi=0, tei=0) : | long: 115 desti: 0 source: 15 cryst: 0 cpl: 17 us: 8 term: 1 type a5 | tei: 0 <<<< message sent : SETUP [05] Call ref : 00 11 |______________________________________________________________________________ | | [9f] Non-locking shift. codeset : 7 | [a2] EI_IP_TYPE_TERM | [9f] Non-locking shift. codeset : 7 | IE:[05] EI_IP_INFOS (l=9) -> G723 Ece 1 Vad 1 Profil 2, IPv4 :10.69.133.36. | [9f] Non-locking shift. codeset : 7 | IE:[06] EI_IP_PAYLOADS (l=2) : (COMP/ECE/VAD) -> G729/1/1 G711a/1/0 | [9f] Non-locking shift. codeset : 7 | IE:[07] EI_IP_QOS (l=3) b8 a0 00 | [9f] Non-locking shift. codeset : 7 | IE:[0a] EI_RTP_INFO (l=30) | -> stop_packet=0 stop_rtp=0 h323=0 wc=0 rf=0 udp=1 rqm=0 | -> Transm_Bande=1 detection_Q23=1 dtmf_payload=96 | -> Port RTP = 32552, IPv4 : 10. 197. 133. 13. | -> Port RTCP SR = 32553, IPv4 : 10. 197. 133. 13. | -> Port RTCP RR = 32553, IPv4 : 10. 197. 133. 13. | -> Port Fax = 32552, IPv4 : 10. 197. 133. 13. | IE:[04] BEARER_CAPABILITY (l=3) 80 90 a3 | IE:[18] CHANNEL (l=3) a8 83 82 -> T2 : No B channel | IE:[28] DISPLAY (l=11) `SHUSHKOV V.` | IE:[6c] CALLING_NUMBER (l=6) -> 01 81 Num : 1473 | IE:[70] CALLED_NUMBER (l=2) -> 81 Num : 1 | IE:[7d] HLC (l=2) 91 81 |______________________________________________________________________________ ______________________________________________________________________________ | (952055:000012) Concatenated-Physical-Event : | long: 21 desti: 0 source: 0 cryst: 0 cpl: 17 us: 0 term: 1 type a5 | tei: 0 >>>> message received : SETUP ACK [0d] Call ref : 80 11 |______________________________________________________________________________ | | IE:[18] CHANNEL (l=1) a8 -> T2 : No B channel |______________________________________________________________________________ ______________________________________________________________________________ | (952055:000013) 1058: Send_IO1 (link-nbr=17, sapi=0, tei=0) : | long: 24 desti: 0 source: 15 cryst: 0 cpl: 17 us: 8 term: 1 type a5 | tei: 0 <<<< message sent : INFORMATION [7b] Call ref : 00 11 |______________________________________________________________________________ | | IE:[70] CALLED_NUMBER (l=4) -> 81 Num : 573 |______________________________________________________________________________ ______________________________________________________________________________ | (952059:000015) Concatenated-Physical-Event : | long: 23 desti: 0 source: 0 cryst: 0 cpl: 17 us: 0 term: 1 type a5 | tei: 0 >>>> message received : ALERT (01) Call ref : 80 11 |______________________________________________________________________________ | | [97] Locking shift. codeset : 7 | IE:[0a] EI_RTP_INFO (l=2) | -> stop_packet=0 stop_rtp=0 h323=0 wc=0 rf=0 udp=0 rqm=0 | -> Transm_Bande=1 detection_Q23=1 dtmf_payload=96 |______________________________________________________________________________ ______________________________________________________________________________ | (952154:000047) Concatenated-Physical-Event : | long: 37 desti: 0 source: 0 cryst: 0 cpl: 17 us: 0 term: 1 type a5 | tei: 0 >>>> message received : CONNECT (07) Call ref : 80 11 |______________________________________________________________________________ | | IE:[28] DISPLAY (l=9) `Cisco C40` | [97] Locking shift. codeset : 7 | IE:[06] EI_IP_PAYLOADS (l=1) -> G711a Ece 0 Vad 0 | IE:[0a] EI_RTP_INFO (l=2) | -> stop_packet=0 stop_rtp=0 h323=0 wc=0 rf=0 udp=0 rqm=0 | -> Transm_Bande=0 detection_Q23=1 |______________________________________________________________________________ ______________________________________________________________________________ | (952154:000048) Concatenated-Physical-Event : | long: 54 desti: 0 source: 0 cryst: 0 cpl: 17 us: 0 term: 1 type a5 | tei: 0 >>>> message received : FACILITY [62] Call ref : 80 11 |______________________________________________________________________________ | | [97] Locking shift. codeset : 7 | IE:[06] EI_IP_PAYLOADS (l=1) -> G711a Ece 0 Vad 0 | IE:[0a] EI_RTP_INFO (l=30) | -> stop_packet=0 stop_rtp=0 h323=0 wc=0 rf=0 udp=0 rqm=0 | -> Transm_Bande=0 detection_Q23=1 | -> Port RTP = 2342, IPv4 : 10. 69. 133. 36. | -> Port RTCP SR = 2343, IPv4 : 10. 69. 133. 36. | -> Port RTCP RR = 2343, IPv4 : 10. 69. 133. 36. | -> Port Fax = 0, IPv4 : 0. 0. 0. 0. |______________________________________________________________________________ ______________________________________________________________________________ | (952154:000049) 1058: Send_IO1 (link-nbr=17, sapi=0, tei=0) : | long: 18 desti: 0 source: 15 cryst: 0 cpl: 17 us: 8 term: 1 type a5 | tei: 0 <<<< message sent : CONNECT ACK (0f) Call ref : 00 11 |______________________________________________________________________________ ______________________________________________________________________________ | (952163:000058) Concatenated-Physical-Event : | long: 22 desti: 0 source: 0 cryst: 0 cpl: 17 us: 0 term: 1 type a5 | tei: 0 >>>> message received : RELEASE [4d] Call ref : 00 11 |______________________________________________________________________________ | | IE:[08] CAUSE (l=2) 81 90 -> [90] NORMAL CALL CLEARING |______________________________________________________________________________ ______________________________________________________________________________ | (952163:000059) 1058: Send_IO1 (link-nbr=17, sapi=0, tei=0) : | long: 22 desti: 0 source: 15 cryst: 0 cpl: 17 us: 8 term: 1 type a5 | tei: 0 <<<< message sent : REL COMP [5a] Call ref : 80 11 |______________________________________________________________________________ | | IE:[08] CAUSE (l=2) 81 90 -> [90] NORMAL CALL CLEARING |______________________________________________________________________________ ______________________________________________________________________________ | (952293:000143) 1058: Send_IO1 (link-nbr=17, sapi=0, tei=0) : | long: 22 desti: 0 source: 15 cryst: 0 cpl: 17 us: 8 term: 1 type a5 | tei: 0 <<<< message sent : DISCONNECT [45] Call ref : 00 11 |______________________________________________________________________________ | | IE:[08] CAUSE (l=2) 81 90 -> [90] NORMAL CALL CLEARING |______________________________________________________________________________ ______________________________________________________________________________ | (952293:000144) Concatenated-Physical-Event : | long: 22 desti: 0 source: 0 cryst: 0 cpl: 17 us: 0 term: 1 type a5 | tei: 0 >>>> message received : RELEASE [4d] Call ref : 80 11 |______________________________________________________________________________ | | IE:[08] CAUSE (l=2) 81 90 -> [90] NORMAL CALL CLEARING |______________________________________________________________________________ ______________________________________________________________________________ | (952293:000145) 1058: Send_IO1 (link-nbr=17, sapi=0, tei=0) : | long: 22 desti: 0 source: 15 cryst: 0 cpl: 17 us: 8 term: 1 type a5 | tei: 0 <<<< message sent : REL COMP [5a] Call ref : 00 11 |______________________________________________________________________________ | | IE:[08] CAUSE (l=2) 81 90 -> [90] NORMAL CALL CLEARING |______________________________________________________________________________ |
Убедился, что с наличием двух INTIP плат это не связано (проверял, отправляя в перезагрузку одну из плат и убеждался, что при оставшейся одной рабочей проблема сохраняется).
На коммутаторе, куда подключена Cisco C40, настроил мониторный порт и стал исследовать проблему глубже, путем анализа пакетов в Wireshark.
Удалось выяснить следующую закономерность. Вероятнее всего проблема не связана с форматом самого CONNECT пакета. После получения CONNECT станция и Cisco обмениваются еще несколькими служебными пакетами типа terminalCapabilitySet, masterSlaveDetermination, openLogicalChannel, а также их подтверждениями - соответствующими Ack пакетами.
В случае успешного вызова последовательность пакетов имеет вид
В случае неуспеха -
Как видно из приведенных скриншотов, почему-то происходит объединение нескольких TCP сегментов в 1. Очень похоже на TCP Offload. Причем, можно заметить, что объединение происходит с обеих сторон, т.е. УАТС тоже причастна к преступлению. В этом случае, при дальнейшем разборе последовательности пакетов видно, как Cisco начинает слать RTP поток, а станция перидически отвечает ICMP пакетом Destination unreachable - Port Unreachable.
Может есть какие-то мысли на этот счет?
Большое спасибо!
Изменено: Vladimir Shushkov - 23.08.2016 22:08:16
