Звонок самопроизвольно переключается на удержание

Основной форум.
Для опытных

Модераторы: Admins, Модераторы

Ответить
Nick_F
Сообщения: 25
Зарегистрирован: 23 май 2012, 09:21

Звонок самопроизвольно переключается на удержание

Сообщение Nick_F » 08 июл 2016, 07:15

Приветствую!
Подключили недавно SIP линии от Киевстар. Звонки ходят, но при вызове некоторых номеров наблюдается странное поведение *.

При нормальном звонке, на мой INVITE Киевстар отвечает 100 Trying, потом 183 Session Progress и все отлично. Но при звонке на некоторые номера на мой INVITE Киевстар отвечает 100 Trying, потом 180 Ringing, и после этого * переключает звонок на удержание, вкючает MOH, и вообще делает вид что он не приделах.

Код: Выделить всё

---
Audio is at 12032
Adding codec 100004 (alaw) to SDP
Adding non-codec 0x1 (telephone-event) to SDP
Reliably Transmitting (NAT) to 188.163.212.3:5060:
INVITE sip:0xxxxxxxxxx@voip.kyivstar.ua SIP/2.0
Via: SIP/2.0/UDP 10.5.3.3:5060;branch=z9hG4bK7560f7bb;rport
Max-Forwards: 70
From&#58; <sip&#58;yyyyyyyy@voip.kyivstar.ua>;tag=as71cde03c
To&#58; <sip&#58;0xxxxxxxxxx@voip.kyivstar.ua>
Contact&#58; <sip&#58;yyyyyyyy@10.5.3.3&#58;5060>
Call-ID&#58; 383bef6c69692af4336b0a983673fc69@voip.kyivstar.ua
CSeq&#58; 103 INVITE
User-Agent&#58; Linksys/SPA8000-5.1.10
Authorization&#58; Digest username="yyyyyyyy", realm="44200", algorithm=MD5, uri="sip&#58;0xxxxxxxxxx@voip.kyivstar.ua", nonce="xxxxxxxxxxxxxxxxxxxxxxxxxxxxx", response="xxxxxxxxxxxxxxxxxxxxxxxx", opaque="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", qop=auth, cnonce="51cd4fe7", nc=00000001
Date&#58; Wed, 06 Jul 2016 15&#58;18&#58;05 GMT
Allow&#58; INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported&#58; replaces, timer
Content-Type&#58; application/sdp
Content-Length&#58; 228

v=0
o=root 917367806 917367807 IN IP4 10.5.3.3
s=Linksys SPA8000-5.1.10
c=IN IP4 10.5.3.3
t=0 0
m=audio 12032 RTP/AVP 8 101
a=rtpmap&#58;8 PCMA/8000
a=rtpmap&#58;101 telephone-event/8000
a=fmtp&#58;101 0-16
a=ptime&#58;20
a=sendrecv

---

<--- SIP read from UDP&#58;188.163.212.3&#58;5060 --->
SIP/2.0 100 Trying
Via&#58; SIP/2.0/UDP xx.xx.xx.xx;received=xx.xx.xx.xx;branch=z9hG4bK7560f7bb;rport=5060
From&#58; <sip&#58;yyyyyyyy@voip.kyivstar.ua>;tag=as71cde03c
To&#58; <sip&#58;0xxxxxxxxxx@voip.kyivstar.ua>
Call-ID&#58; 383bef6c69692af4336b0a983673fc69@voip.kyivstar.ua
CSeq&#58; 103 INVITE

<------------->
--- &#40;6 headers 0 lines&#41; ---

<--- SIP read from UDP&#58;188.163.212.3&#58;5060 --->
SIP/2.0 180 Ringing
Via&#58; SIP/2.0/UDP 10.5.3.3;received=xx.xx.xx.xx;branch=z9hG4bK7560f7bb;rport=5060
From&#58; <sip&#58;yyyyyyyy@voip.kyivstar.ua>;tag=as71cde03c
To&#58; <sip&#58;0xxxxxxxxxx@voip.kyivstar.ua>;tag=SD7op5499-4ae678e1bh
Call-ID&#58; 383bef6c69692af4336b0a983673fc69@voip.kyivstar.ua
CSeq&#58; 103 INVITE
Allow&#58; INVITE,ACK,CANCEL,INFO,PRACK,UPDATE,OPTIONS,REGISTER,REFER,SUBSCRIBE,PUBLISH
Contact&#58; <sip&#58;0xxxxxxxxxx@188.163.212.3&#58;5060;transport=udp>
P-Asserted-Identity&#58; "0xxxxxxxxxx" <sip&#58;0xxxxxxxxxx@172.31.7.10>
Content-Length&#58; 219
Content-Type&#58; application/sdp
Content-Disposition&#58; session;handling=required

v=0
o=- 4516122 3648217 IN IP4 188.163.212.3
s=-
c=IN IP4 188.163.212.3
b=AS&#58;64
t=0 0
m=audio 32066 RTP/AVP 8 101
a=rtpmap&#58;8 PCMA/8000
a=rtpmap&#58;101 telephone-event/8000
a=fmtp&#58;101 0-15
a=ptime&#58;20
a=sendonly
<------------->
--- &#40;12 headers 12 lines&#41; ---
list_route&#58; hop&#58; <sip&#58;0xxxxxxxxxx@188.163.212.3&#58;5060;transport=udp>
Found RTP audio format 8
Found RTP audio format 101
Found audio description format PCMA for ID 8
Found audio description format telephone-event for ID 101
Capabilities&#58; us - &#40;alaw&#41;, peer - audio=&#40;alaw&#41;/video=&#40;nothing&#41;/text=&#40;nothing&#41;, combined - &#40;alaw&#41;
Non-codec capabilities &#40;dtmf&#41;&#58; us - 0x1 &#40;telephone-event|&#41;, peer - 0x1 &#40;telephone-event|&#41;, combined - 0x1 &#40;telephone-event|&#41;
Peer audio RTP is at port 188.163.212.3&#58;32066
    -- SIP/yyyyyyyy-000000c3 is ringing
    -- Call on SIP/yyyyyyyy-000000c3 placed on hold
    -- Started music on hold, class 'default', on SIP/1103-000000c1
    -- SIP/yyyyyyyy-000000c3 is making progress passing it to SIP/1103-000000c1
    -- Stopped music on hold on SIP/1103-000000c1
Scheduling destruction of SIP dialog '383bef6c69692af4336b0a983673fc69@voip.kyivstar.ua' in 6400 ms &#40;Method&#58; INVITE&#41;
Reliably Transmitting &#40;NAT&#41; to 188.163.212.3&#58;5060&#58;
CANCEL sip&#58;0xxxxxxxxxx@voip.kyivstar.ua SIP/2.0
Via&#58; SIP/2.0/UDP 10.5.3.3&#58;5060;branch=z9hG4bK7560f7bb;rport
Max-Forwards&#58; 70
From&#58; <sip&#58;yyyyyyyy@voip.kyivstar.ua>;tag=as71cde03c
To&#58; <sip&#58;0xxxxxxxxxx@voip.kyivstar.ua>
Call-ID&#58; 383bef6c69692af4336b0a983673fc69@voip.kyivstar.ua
CSeq&#58; 103 CANCEL
User-Agent&#58; Linksys/SPA8000-5.1.10
Content-Length&#58; 0


---
Scheduling destruction of SIP dialog '383bef6c69692af4336b0a983673fc69@voip.kyivstar.ua' in 6400 ms &#40;Method&#58; INVITE&#41;
  == Spawn extension &#40;macro-dial-out-ks, s, 7&#41; exited non-zero on 'SIP/1103-000000c1' in macro 'dial-out-ks'
  == Spawn extension &#40;phones, 7901384, 4&#41; exited non-zero on 'SIP/1103-000000c1'

<--- SIP read from UDP&#58;188.163.212.3&#58;5060 --->
SIP/2.0 200 OK
Via&#58; SIP/2.0/UDP xx.xx.xx.xx;received=xx.xx.xx.xx;branch=z9hG4bK7560f7bb;rport=5060
From&#58; <sip&#58;yyyyyyyy@voip.kyivstar.ua>;tag=as71cde03c
To&#58; <sip&#58;0xxxxxxxxxx@voip.kyivstar.ua>;tag=SD7op5499-4ae678e1bh
Call-ID&#58; 383bef6c69692af4336b0a983673fc69@voip.kyivstar.ua
CSeq&#58; 103 CANCEL

<------------->
--- &#40;6 headers 0 lines&#41; ---

<--- SIP read from UDP&#58;188.163.212.3&#58;5060 --->
SIP/2.0 487 Request Terminated
Via&#58; SIP/2.0/UDP 10.5.3.3;received=xx.xx.xx.xx;branch=z9hG4bK7560f7bb;rport=5060
From&#58; <sip&#58;yyyyyyyy@voip.kyivstar.ua>;tag=as71cde03c
To&#58; <sip&#58;0xxxxxxxxxx@voip.kyivstar.ua>;tag=SD7op5499-4ae678e1bh
Call-ID&#58; 383bef6c69692af4336b0a983673fc69@voip.kyivstar.ua
CSeq&#58; 103 INVITE
Reason&#58; Q.850;cause=16;text="Normal call clearing"
Content-Length&#58; 0

<------------->
--- &#40;8 headers 0 lines&#41; ---
Transmitting &#40;NAT&#41; to 188.163.212.3&#58;5060&#58;
ACK sip&#58;0xxxxxxxxxx@188.163.212.3&#58;5060;transport=udp SIP/2.0
Via&#58; SIP/2.0/UDP 10.5.3.3&#58;5060;branch=z9hG4bK7560f7bb;rport
Max-Forwards&#58; 70
From&#58; <sip&#58;yyyyyyyy@voip.kyivstar.ua>;tag=as71cde03c
To&#58; <sip&#58;0xxxxxxxxxx@voip.kyivstar.ua>;tag=SD7op5499-4ae678e1bh
Contact&#58; <sip&#58;yyyyyyyy@10.5.3.3&#58;5060>
Call-ID&#58; 383bef6c69692af4336b0a983673fc69@voip.kyivstar.ua
CSeq&#58; 103 ACK
User-Agent&#58; Linksys/SPA8000-5.1.10
Content-Length&#58; 0


---
т.е. астериск при получении 180 Ringing делает

Код: Выделить всё

    -- SIP/yyyyyyyy-000000c3 is ringing
    -- Call on SIP/yyyyyyyy-000000c3 placed on hold
    -- Started music on hold, class 'default', on SIP/1103-000000c1
    -- SIP/yyyyyyyy-000000c3 is making progress passing it to SIP/1103-000000c1
подозреваю что причина в атрибуте a=sendonly в пакете с "180 Ringing", так как при нормальном звонке в пакете с "183 Session Progress" установлен a=sendrecv

Кто-нибудь сталкивался с таким поведением *? Это нормально?

awsswa
Сообщения: 1706
Зарегистрирован: 28 апр 2012, 10:19
Откуда: Russia, Пермь

Сообщение awsswa » 08 июл 2016, 07:27

снимите нормальный pcap
то что выложили - примерно половина от того что нужно увидать
снимайте оба плеча
платный суппорт по мере возможностей

Nick_F
Сообщения: 25
Зарегистрирован: 23 май 2012, 09:21

Сообщение Nick_F » 08 июл 2016, 08:32

[url=http://asteriskforum.ru/viewtopic.php?p=83243#83243][img]http://asteriskforum.ru/images/quotebackarrow.gif[/img][/url] awsswa @ Пт Июл 08, 2016 08:27 писал(а):снимите нормальный pcap
то что выложили - примерно половина от того что нужно увидать
снимайте оба плеча
Во вложении дамп успешного звонка на моей стороне.
Т.е. когда звонок на удержании, с той стороны все-таки могут снять трубку, и тогда КС присылает мне инвайт с a=sendrecv. В этом случае звонок снимается с удержания и можно поговорить.

Added after 31 minutes:

Пообщался с Киевстаром, они говорят что для транзитных звонков они просто пересылают статус ответа от АТС. т.е. ответ 180 или 183 зависит не от них.
откуда берется a=sendonly они не смогли объяснить, но * реагирует на него как и положено по стандарту - переводит звонок на удержание.

Можно ли как-то указать * от кого следует воспринимать a=sendonly, а от кого игнорировать?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Ответить