Добрый день
Возникла проблема на одной АТС. Стоит сборка Elastix, сама АТС на виртуальной машине. Суть в чем, некоторые звонки оператору связи заканчиваются ошибкой 500 Internal Server Error, из-за того, что на пакет 100 Trying АТС отвечает пакетом АСК.
Reliably Transmitting (NAT) to operator_IP:5060: INVITE sip:519961XXXXX@operator_IP SIP/2.0 Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK47eec727;rport Max-Forwards: 70 From: <sip:username@192.168.1.10>;tag=as44b7744e To: <sip:519961XXXXX@operator_IP> Contact: <sip:username@192.168.1.10:5060> Call-ID: 042127176db723121508a2f20eb22b43@192.168.1.10:5060 CSeq: 102 INVITE User-Agent: FPBX-2.11.0(11.17.1) Date: Tue, 04 Jul 2017 16:19:05 GMT Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE Supported: replaces, timer Content-Type: application/sdp Content-Length: 281 v=0 o=root 210920071 210920071 IN IP4 192.168.1.10 s=Asterisk PBX 11.17.1 c=IN IP4 192.168.1.10 t=0 0 m=audio 19224 RTP/AVP 8 3 0 101 a=rtpmap:8 PCMA/8000 a=rtpmap:3 GSM/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=ptime:20 a=sendrecv --- -- Called SIP/to_Peru_SN/519961XXXXX Retransmitting #1 (NAT) to operator_IP:5060: INVITE sip:519961XXXXX@operator_IP SIP/2.0 Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK47eec727;rport Max-Forwards: 70 From: <sip:username@192.168.1.10>;tag=as44b7744e To: <sip:519961XXXXX@operator_IP> Contact: <sip:username@192.168.1.10:5060> Call-ID: 042127176db723121508a2f20eb22b43@192.168.1.10:5060 CSeq: 102 INVITE User-Agent: FPBX-2.11.0(11.17.1) Date: Tue, 04 Jul 2017 16:19:05 GMT Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE Supported: replaces, timer Content-Type: application/sdp Content-Length: 281 v=0 o=root 210920071 210920071 IN IP4 192.168.1.10 s=Asterisk PBX 11.17.1 c=IN IP4 192.168.1.10 t=0 0 m=audio 19224 RTP/AVP 8 3 0 101 a=rtpmap:8 PCMA/8000 a=rtpmap:3 GSM/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=ptime:20 a=sendrecv --- <--- SIP read from UDP:operator_IP:5060 ---> SIP/2.0 100 Trying Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK47eec727;rport=5060;received=192.168.1.10 From: <sip:username@192.168.1.10:5060>;tag=as44b7744e To: <sip:519961XXXXX@operator_IP> Call-ID: 042127176db723121508a2f20eb22b43@192.168.1.10:5060 CSeq: 102 INVITE Server: MediaCore/3.0.0 Content-Length: 0 <-------------> --- (8 headers 0 lines) --- <--- SIP read from UDP:operator_IP:5060 ---> SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK47eec727;rport=5060;received=192.168.1.10 From: <sip:username@192.168.1.10:5060>;tag=as44b7744e To: <sip:519961XXXXX@operator_IP> Call-ID: 042127176db723121508a2f20eb22b43@192.168.1.10:5060 CSeq: 102 INVITE WWW-Authenticate: Digest realm="MediaCore", domain="mediacore", nonce="ad2239f913f981f9e9c4179fce22868d.1499188754", stale=FALSE, algorithm=MD5 Server: MediaCore/3.0.0 Contact: <sip:519961XXXXX@operator_IP:5060> Allow: ACK, INVITE, BYE, CANCEL, OPTIONS, INFO, REGISTER Content-Length: 0 <-------------> --- (11 headers 0 lines) --- Transmitting (NAT) to operator_IP:5060: ACK sip:519961XXXXX@operator_IP SIP/2.0 Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK47eec727;rport Max-Forwards: 70 From: <sip:username@192.168.1.10>;tag=as44b7744e To: <sip:519961XXXXX@operator_IP> Contact: <sip:username@192.168.1.10:5060> Call-ID: 042127176db723121508a2f20eb22b43@192.168.1.10:5060 CSeq: 102 ACK User-Agent: FPBX-2.11.0(11.17.1) Content-Length: 0 --- Audio is at 19224 Adding codec 100004 (alaw) to SDP Adding codec 100002 (gsm) to SDP Adding codec 100003 (ulaw) to SDP Adding non-codec 0x1 (telephone-event) to SDP Reliably Transmitting (NAT) to operator_IP:5060: INVITE sip:519961XXXXX@operator_IP SIP/2.0 Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK046728ff;rport Max-Forwards: 70 From: <sip:username@192.168.1.10>;tag=as44b7744e To: <sip:519961XXXXX@operator_IP> Contact: <sip:username@192.168.1.10:5060> Call-ID: 042127176db723121508a2f20eb22b43@192.168.1.10:5060 CSeq: 103 INVITE User-Agent: FPBX-2.11.0(11.17.1) Authorization: Digest username="username_id", realm="MediaCore", algorithm=MD5, uri="sip:mediacore", nonce="ad2239f913f981f9e9c4179fce22868d.1499188754", response="secret" Date: Tue, 04 Jul 2017 16:19:05 GMT Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE Supported: replaces, timer Content-Type: application/sdp Content-Length: 281 v=0 o=root 210920071 210920072 IN IP4 192.168.1.10 s=Asterisk PBX 11.17.1 c=IN IP4 192.168.1.10 t=0 0 m=audio 19224 RTP/AVP 8 3 0 101 a=rtpmap:8 PCMA/8000 a=rtpmap:3 GSM/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=ptime:20 a=sendrecv --- <--- SIP read from UDP:operator_IP:5060 ---> SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK47eec727;rport=5060;received=192.168.1.10 From: <sip:username@192.168.1.10:5060>;tag=as44b7744e To: <sip:519961XXXXX@operator_IP> Call-ID: 042127176db723121508a2f20eb22b43@192.168.1.10:5060 CSeq: 102 INVITE WWW-Authenticate: Digest realm="MediaCore", domain="mediacore", nonce="ad2239f913f981f9e9c4179fce22868d.1499188754", stale=FALSE, algorithm=MD5 Server: MediaCore/3.0.0 Contact: <sip:519961XXXXX@operator_IP:5060> Allow: ACK, INVITE, BYE, CANCEL, OPTIONS, INFO, REGISTER Content-Length: 0 <-------------> --- (11 headers 0 lines) --- Transmitting (NAT) to operator_IP:5060: ACK sip:519961XXXXX@operator_IP SIP/2.0 Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK046728ff;rport Max-Forwards: 70 From: <sip:username@192.168.1.10>;tag=as44b7744e To: <sip:519961XXXXX@operator_IP> Contact: <sip:username@192.168.1.10:5060> Call-ID: 042127176db723121508a2f20eb22b43@192.168.1.10:5060 CSeq: 102 ACK User-Agent: FPBX-2.11.0(11.17.1) Content-Length: 0 --- Retransmitting #1 (NAT) to operator_IP:5060: INVITE sip:519961XXXXX@operator_IP SIP/2.0 Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK046728ff;rport Max-Forwards: 70 From: <sip:username@192.168.1.10>;tag=as44b7744e To: <sip:519961XXXXX@operator_IP> Contact: <sip:username@192.168.1.10:5060> Call-ID: 042127176db723121508a2f20eb22b43@192.168.1.10:5060 CSeq: 103 INVITE User-Agent: FPBX-2.11.0(11.17.1) Authorization: Digest username="username_id", realm="MediaCore", algorithm=MD5, uri="sip:mediacore", nonce="ad2239f913f981f9e9c4179fce22868d.1499188754", response="secret" Date: Tue, 04 Jul 2017 16:19:05 GMT Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE Supported: replaces, timer Content-Type: application/sdp Content-Length: 281 v=0 o=root 210920071 210920072 IN IP4 192.168.1.10 s=Asterisk PBX 11.17.1 c=IN IP4 192.168.1.10 t=0 0 m=audio 19224 RTP/AVP 8 3 0 101 a=rtpmap:8 PCMA/8000 a=rtpmap:3 GSM/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=ptime:20 a=sendrecv --- <--- SIP read from UDP:operator_IP:5060 ---> SIP/2.0 100 Trying Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK046728ff;rport=5060;received=192.168.1.10 From: <sip:username@192.168.1.10:5060>;tag=as44b7744e To: <sip:519961XXXXX@operator_IP> Call-ID: 042127176db723121508a2f20eb22b43@192.168.1.10:5060 CSeq: 103 INVITE Server: MediaCore/3.0.0 Content-Length: 0 <-------------> --- (8 headers 0 lines) --- <--- SIP read from UDP:operator_IP:5060 ---> SIP/2.0 500 Server Internal Error Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK046728ff;rport=5060;received=192.168.1.10 From: <sip:username@192.168.1.10:5060>;tag=as44b7744e To: <sip:519961XXXXX@operator_IP> Call-ID: 042127176db723121508a2f20eb22b43@192.168.1.10:5060 CSeq: 103 INVITE Reason: Q.850;cause=34;text="No circuit/channel available" Server: MediaCore/3.0.0 Contact: <sip:519961XXXXX@operator_IP:5060> Allow: ACK, INVITE, BYE, CANCEL, OPTIONS, INFO, REGISTER Content-Length: 0 <-------------> --- (11 headers 0 lines) --- -- Got SIP response 500 "Server Internal Error" back from operator_IP:5060 Transmitting (NAT) to operator_IP:5060: ACK sip:519961XXXXX@operator_IP SIP/2.0 Via: SIP/2.0/UDP 192.168.1.10:5060;branch=z9hG4bK046728ff;rport Max-Forwards: 70 From: <sip:username@192.168.1.10>;tag=as44b7744e To: <sip:519961XXXXX@operator_IP> Contact: <sip:username@192.168.1.10:5060> Call-ID: 042127176db723121508a2f20eb22b43@192.168.1.10:5060 CSeq: 103 ACK User-Agent: FPBX-2.11.0(11.17.1) Content-Length: 0
Насколько я понял, проблема в том, что изначально передается два инвайта, после чего начинаются две параллельные СИП-сессии, и в тот момент, когда сервер провайдера отвечает 100 Trying на INVITE, в параллельной СИП-сессии приходит АСК на пакет 401 Unauthorized
Настройки транка на Elastix
[to_Peru_SN] host=operator_IP username=username_id secret=secret type=peer nat=force_rport,comedia canreinvite=no qualify=yes
К сожлению, скрин из Sngrep`a с более наглядным логом звонков приложить не могу ибо карма меньше 10. Подскажите, пожалуйста, в чем может быть проблема ?
My IP Operator`s IP | INVITE (SDP) | branch=z9hG4bK1eb91a47 22:24:44.187562 | --------------------------> | +0.008365 | 100 Trying | branch=z9hG4bK1eb91a47 22:24:44.195927 | <-------------------------- | +0.005987 | 401 Unauthorized |<--| branch=z9hG4bK1eb91a47 22:24:44.201914 | <-------------------------- | | +0.206224 | INVITE (SDP) | | branch=z9hG4bK1eb91a47 22:24:44.408138 | ------------------------>>> | | +0.003815 | 401 Unauthorized |<--|-| branch=z9hG4bK1eb91a47 22:24:44.411953 | <<<------------------------ | | | +0.005991 | ACK | | | branch=z9hG4bK1eb91a47 22:24:44.417944 | --------------------------> |---| | +0.000467 | INVITE (SDP) | | branch=z9hG4bK23bb3ab4 22:24:44.418411 | --------------------------> | | +0.009147 | 100 Trying | | branch=z9hG4bK23bb3ab4 22:24:44.427558 | <-------------------------- | | +0.199511 | ACK | | branch=z9hG4bK23bb3ab4 22:24:44.627069 | --------------------------> |-----| +0.004688 | 500 Server Internal Error | branch=z9hG4bK23bb3ab4 22:24:44.631757 | <-------------------------- | +0.007662 | INVITE (SDP) | branch=z9hG4bK23bb3ab4 22:24:44.639419 | --------------------------> | +0.002707 | 500 Server Internal Error | branch=z9hG4bK23bb3ab4 22:24:44.642126 | <<<------------------------ | +0.204764 | ACK | branch=z9hG4bK23bb3ab4 22:24:44.846890 | --------------------------> | +0.010352 | ACK | branch=z9hG4bK23bb3ab4 22:24:44.857242 | ------------------------>>> | | |
Ну и? Смотрю в книгу вижу фигу? Эт вам ни че не говорит? Reason: Q.850;cause=34;text="No circuit/channel available" Тут по моему черным по русски - звонить провайдеру, узнавать про лимиты на одновременные вызовы.
CheeZ ( 2017-07-10 16:39:42 +0400 )редактироватьЛиний разрешено 10, перелимита никогда не было (там 1, максимум 2 человека на телефоне сидели)
Ответ звучит так "Оригинаторы посылают ACK, в ответ на 100 Trying, что не попадает под определение корректного обмена сигналингом."
A66aT ( 2017-07-10 17:25:03 +0400 )редактироватьУ вас ACK позже SIP 500 прилетает , не нужно надумывать.
zzuz ( 2017-07-10 17:37:49 +0400 )редактироватьк сожалению, выложить скрин я не могу
Исходя из .pcap дампа, если его открыть в WireShark
e или Sngrepe, то АСК приходит псразу после 100 TryingИ я так и не могу понять. почему АТС отправляет два инвайта подряд
A66aT ( 2017-07-10 18:17:17 +0400 )редактироватьДа хоть 10 инвайтов - это в данном случае абсолютно ни причем - у вас 500-ка прилетела, с ответом в сигналке "Нет доступных линий". Чего еще тут придумывать?
CheeZ ( 2017-07-10 19:36:08 +0400 )редактироватьДобавил "скрин" лога звонка с Sngrepа, по нему видно, то АСК приходит в ответ на 100 Trying, нюанс ещё в том, что Инвайт, ответ и т.д. находятся в одной СИП сессии
A66aT ( 2017-07-11 10:18:03 +0400 )редактироватьНасколько я знаю, пакеты АСК должны идти как показано на скриншоте, однако 1) Даже при этом последовательность странная (наверное из-за большой задержки) 2) Не понятно. почему branch не соответствую INVITE пакету
A66aT ( 2017-07-11 11:16:22 +0400 )редактировать