Столкнулся со следующей ситуацией при подключении SIP номеров от одного из операторов. Астериск 1.6.2.16.1. В качестве телефонов - Zoiper. Кодек везде - alaw. Проблема в следующем. Допустим я отключаю свой сотовый, и при звонке на него логично получить сообщение о том что он выключен или находится вне зоны действия сети, после чего предлагается оставить голосовое сообщение на почту. В действительности, вместо приветствия о недоступности абонента я слышу "тишину", голос появляется только когда начинается приветствие голосовой почты, соответственно и тарификация начинается с этого момента. Дебаг в этом случае показывает "SIP/2.0 180 Ringing", тогда как у других операторов "SIP/2.0 183 Session Progress" и все слышно, на Zoiper даже статус вызова early media. Вопрос, как заставить Астериск воспроизводить начальное сообщение о недоступности абонента в таком случае? И как это должен обрабатывать оператор и выдавать мне, "SIP/2.0 180 Ringing" или "SIP/2.0 183 Session Progress", есть ли четкий регламент? Играл с "progressinband" и "prematuremedia", результата не принесло.
Астериск обычно в ответ на INVITE при progressinband=yes и prematuremedia=no шлет 180 Ringing, и потом уже 183 Progress, и некоторые софтоны, в частности тот же zoiper не проключают медиа при полученном 180 перед 183.
Попробуйте перед Dial вставить в диалплан
exten => bla-bla,1,Progress
Дабы от Астериска приходил сразу 183 Progress без предшествующего 180 Ringing.
<--- SIP read from UDP:10.101.64.25:5060 --->
SIP/2.0 180 Ringing
<--- SIP read from UDP:10.101.64.25:5060 --->
SIP/2.0 183 Session Progress
Вот-с. Из дебага видим что от оператора пришел Progress, но где SDP??? Не вижу вообще Content-Type: application/sdp. Естественно, что будет тишина, ибо проключать медиа там незачем - нечего ловить. Пинайте оператора, спросите его - где SDP?
Если я правильно понял, то надо проигрывать сообщение о недоступности пользователя, когда его IP телефон выключен. Это Playback without answer.
CLI> core show application playback
вы это никак не пофиксите. это должен сделать оператор. елси оператор поддерживает early media, он может послать 180+183 или 183, тут не сильно важно. но для того чтоб работало, надо чтоб пришел 183 с SDP частью. смотрите дебаг на сторону оператора. а вот елси 183 приходит, то смотрите в своем конфиге. в астериске 1.6 с этим вообще приколов дофига. надо искать комбинацию из progressinband=yes/no и (хз почему- но вот так жестко) еще prematuremedia=yes/no
Вот кстати дебаг. 79082602633 - куда звоню. 3422017755 - откуда звоню. 10.101.64.25 - адрес сип сервера оператора. 10.105.66.10 - мой адрес.
INVITE sip:79082602633@10.101.64.25:5060 SIP/2.0
Via: SIP/2.0/UDP 10.105.66.10:5060;branch=z9hG4bK733b9e35;rport
Max-Forwards: 70
From: "50" sip:3422017755@10.105.66.10;tag=as4794b799
To: sip:79082602633@10.101.64.25:5060
Contact: sip:3422017755@10.105.66.10
Call-ID: 576d961a6e56e968227b8fa51a6e2240@10.105.66.10
CSeq: 102 INVITE
User-Agent: Asterisk PBX 1.6.2.16.1
Date: Thu, 03 Feb 2011 05:29:58 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO
Supported: replaces, timer
Content-Type: application/sdp
Content-Length: 239
v=0
o=root 2059205215 2059205215 IN IP4 10.105.66.10
s=Asterisk PBX 1.6.2.16.1
c=IN IP4 10.105.66.10
t=0 0
m=audio 14764 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=sendrecv
-- Called Sintera/79082602633
<--- SIP read from UDP:10.101.64.25:5060 --->
SIP/2.0 100 Trying
From: "50" sip:3422017755@10.105.66.10;tag=as4794b799
To: sip:79082602633@10.101.64.25:5060
Call-ID: 576d961a6e56e968227b8fa51a6e2240@10.105.66.10
CSeq: 102 INVITE
Via: SIP/2.0/UDP 10.105.66.10:5060;branch=z9hG4bK733b9e35;rport=5060
Content-Length: 0
<-------------> --- (7 headers 0 lines) ---
<--- SIP read from UDP:10.101.64.25:5060 --->
SIP/2.0 181 Call Is Being Forwarded
From: "50" sip:3422017755@10.105.66.10;tag=as4794b799
To: sip:79082602633@10.101.64.25:5060;tag=695073d9-13c4-4d4a3d4b-1d7bc40e-766d7f02
Call-ID: 576d961a6e56e968227b8fa51a6e2240@10.105.66.10
CSeq: 102 INVITE
P-Asserted-Identity: sip:9028300008@10.105.1.33:5060;user=phone;transport=udp
Via: SIP/2.0/UDP 10.105.66.10:5060;branch=z9hG4bK733b9e35;rport=5060
Contact: sip:79082602633@10.101.64.25:5060;transport=udp
Content-Type: application/sdp
Content-Length: 114
v=0
o=- 537545762 0 IN IP4 10.101.64.25
s=-
c=IN IP4 10.101.64.25
t=0 0
m=audio 24280 RTP/AVP 8
a=ptime:20
<------------->
--- (10 headers 7 lines) ---
Found RTP audio format 8
Capabilities: us - 0x8 (alaw), peer - audio=0x8 (alaw)/video=0x0 (nothing)/text=0x0 (nothing), combined - 0x8 (alaw)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x0 (nothing), combined - 0x0 (nothing)
Peer audio RTP is at port 10.101.64.25:24280
-- SIP/Sintera-0000017b is making progress passing it to IAX2/50-1283
<--- SIP read from UDP:10.101.64.25:5060 --->
SIP/2.0 180 Ringing
From: "50" sip:3422017755@10.105.66.10;tag=as4794b799
To: sip:79082602633@10.101.64.25:5060;tag=695073d9-13c4-4d4a3d4b-1d7bc40e-766d7f02
Call-ID: 576d961a6e56e968227b8fa51a6e2240@10.105.66.10
CSeq: 102 INVITE
Via: SIP/2.0/UDP 10.105.66.10:5060;branch=z9hG4bK733b9e35;rport=5060
Contact: sip:79082602633@10.101.64.25:5060;transport=udp
Content-Length: 0
<------------->
--- (8 headers 0 lines) ---
-- SIP/Sintera-0000017b is ringing
<--- SIP read from UDP:10.101.64.25:5060 --->
SIP/2.0 183 Session Progress
From: "50" sip:3422017755@10.105.66.10;tag=as4794b799
To: sip:79082602633@10.101.64.25:5060;tag=695073d9-13c4-4d4a3d4b-1d7bc40e-766d7f02
Call-ID: 576d961a6e56e968227b8fa51a6e2240@10.105.66.10
CSeq: 102 INVITE
Via: SIP/2.0/UDP 10.105.66.10:5060;branch=z9hG4bK733b9e35;rport=5060
Contact: sip:79082602633@10.101.64.25:5060;transport=udp
Content-Length: 0
<------------->
--- (8 headers 0 lines) ---
-- SIP/Sintera-0000017b is ringing
<--- SIP read from UDP:10.101.64.25:5060 --->
SIP/2.0 487 Transaction Cancelled
From: "50" sip:3422017755@10.105.66.10;tag=as4794b799
To: sip:79082602633@10.101.64.25:5060;tag=695073d9-13c4-4d4a3d4b-1d7bc40e-766d7f02
Call-ID: 576d961a6e56e968227b8fa51a6e2240@10.105.66.10
CSeq: 102 INVITE
Reason: Q.850 ;text="Normal call clearing";cause=16
Via: SIP/2.0/UDP 10.105.66.10:5060;branch=z9hG4bK733b9e35;rport=5060
Content-Length: 0
<------------->
--- (8 headers 0 lines) ---
Transmitting (no NAT) to 10.101.64.25:5060:
ACK sip:79082602633@10.101.64.25:5060 SIP/2.0
Via: SIP/2.0/UDP 10.105.66.10:5060;branch=z9hG4bK733b9e35;rport
Max-Forwards: 70
From: "50" sip:3422017755@10.105.66.10;tag=as4794b799
To: sip:79082602633@10.101.64.25:5060;tag=695073d9-13c4-4d4a3d4b-1d7bc40e-766d7f02
Contact: sip:3422017755@10.105.66.10
Call-ID: 576d961a6e56e968227b8fa51a6e2240@10.105.66.10
CSeq: 102 ACK
User-Agent: Asterisk PBX 1.6.2.16.1
Content-Length: 0
Добрый день, у меня похожая проблема. Поток E1 на шлюз Медиант 600, далее SIP транк на Asterisk. При звонке на мобильный или городской, вместо голосового сообщения о недоступности или блокировки вызываемого телефона, Asterisk генерит Ring(180), т.е. абонент на SIP телефоне слышит гудки, а не сообщение об отсутствии в сети или блокировки телефона. Может тоже кто нибудь, что-нибудь подскажет? С уважением, Николай
в команде Dial добавьте флаг R
Поставить opensips вместе с mediaproxy. Там настроить правильное блокирование избыточных мессаг от прова и проксирование трафика уже на астер. Плюсом будет еще и защита извне от подбора аккаунтов абонентов. Еще заметил, что юзаете самый последний астер ветки 1.6.2, может дело в этом и стоит откатиться на что-либо стабильное.
Задан: 2011-02-02 18:04:24 +0400
Просмотрен: 7,465 раз
Обновлен: Feb 20 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.