Поставили задачу мигрировать телефонию с астериска 1.4.40.1 на 11.15 или выше. Был установлен дистриб Asterisk+Elastix+FreePBX. Перенесли все транки/номера и т.п. Потихоньку начали переводить людей на новый сервер. И при переводе очередной группы возникла проблема. Проблема с ТРАНКом от Мегафона. А именно с донабором номера. Задача: Звонок на мегафонский номер направляется на DISA, дальше набирается номер очереди и звонок поступает кому надо. Но на новом сервере при попытке донабора ничего не дозванивается, DISA обрывает связь по таймауту. Поменял направление вызова с DISA на IVR, то-же самое, не понимает цифры, по не ответу попадаем на нужную очередь. Но связь односторонняя, слышно звонящего но не слышно принявшего звонок. Направление на внутренний номер работает отлично, связь двухсторонняя но задержка голоса примерно в секунду, полторы.
Все другие ТРАНКи с телефонной станции принимаются отлично, DISA и IVR обрабатываются без проблем.
=============PEER===============
username=<7ТЕЛЕФОН>
type=peer
secret=<ПАРОЛЬ>
qualify=yes
nat=yes
insecure=very
host=sbc.megafon.ru
fromuser=<7ТЕЛЕФОН>
dtmfmode=inband
disallow=all
context=from-trunk
canreinvite=no
authname=<7ТЕЛЕФОН>
allow=ulaw
================================= =============USER================
type=user
secret=<ПАРОЛЬ>
context=from-trunk
=================================
===========ЛОГ КОНСОЛИ===========
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [792756XXXXX@from-trunk:1] Set("SIP/9XXXXX_in-00000092", "__FROM_DID=792756XXXXX") in new stack
-- Executing [792756XXXXX@from-trunk:2] Set("SIP/9XXXXX_in-00000092", "__REC_POLICY_MODE=always") in new stack
-- Executing [792756XXXXX@from-trunk:3] Gosub("SIP/9XXXXX_in-00000092", "app-blacklist-check,s,1()") in new stack
-- Executing [s@app-blacklist-check:1] GotoIf("SIP/9XXXXX_in-00000092", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check:2] Set("SIP/9XXXXX_in-00000092", "CALLED_BLACKLIST=1") in new stack
-- Executing [s@app-blacklist-check:3] Return("SIP/9XXXXX_in-00000092", "") in new stack
-- Executing [792756XXXXX@from-trunk:4] Gosub("SIP/9XXXXX_in-00000092", "cidlookup,cidlookup_1,1()") in new stack
-- Executing [cidlookup_1@cidlookup:1] Set("SIP/9XXXXX_in-00000092", "CURLOPT(httptimeout)=7") in new stack
-- Executing [cidlookup_1@cidlookup:2] Set("SIP/9XXXXX_in-00000092", "CALLERID(name)=A134113+ A137787+B") in new stack
-- Executing [cidlookup_1@cidlookup:3] Return("SIP/9XXXXX_in-00000092", "") in new stack
-- Executing [792756XXXXX@from-trunk:5] Set("SIP/9XXXXX_in-00000092", "CDR(did)=792756XXXXX") in new stack
-- Executing [792756XXXXX@from-trunk:6] ExecIf("SIP/9XXXXX_in-00000092", "0 ?Set(CALLERID(name)=78512XXXXXX)") in new stack
-- Executing [792756XXXXX@from-trunk:7] Set("SIP/9XXXXX_in-00000092", "CHANNEL(musicclass)=NewYear") in new stack
-- Executing [792756XXXXX@from-trunk:8] Set("SIP/9XXXXX_in-00000092", "__MOHCLASS=NewYear") in new stack
-- Executing [792756XXXXX@from-trunk:9] Set("SIP/9XXXXX_in-00000092", "__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [792756XXXXX@from-trunk:10] Set("SIP/9XXXXX_in-00000092", "CALLERPRES()=allowed_not_screened") in new stack
-- Executing [792756XXXXX@from-trunk:11] Goto("SIP/9XXXXX_in-00000092", "disa,1,1") in new stack
-- Goto (disa,1,1)
-- Executing [1@disa:1] Answer("SIP/9XXXXX_in-00000092", "") in new stack
== Spawn extension (disa, 1, 1) exited non-zero on 'SIP/9XXXXX_in-00000092'
=================================
Дополнительно прилагаю ДЕБАГ:
<--- SIP read from UDP:193.201.229.35:5060 --->
INVITE sip:792756XXXXX@10.1.0.95:5060 SIP/2.0
Via: SIP/2.0/UDP 193.201.229.35:5060;branch=z9hG4bK87rdnd00d02jvr63d100.1
Max-Forwards: 68
User-Agent: multifon.ru
Supported: 100rel,path,replaces,tdialog
Expires: 300
Content-Type: application/sdp
Content-Length: 293
From: <sip:798859XXXXX@multifon.ru>;tag=SD41pm901-69853246313536414DF53E07
To: sip:792756XXXXX@multifon.ru:5060
P-Asserted-Identity: sip:798859XXXXX@multifon.ru:5060
Allow: PRACK,INVITE,BYE,REGISTER,ACK,OPTIONS,CANCEL,SUBSCRIBE,NOTIFY,INFO,REFER
Call-ID: SD41pm901-149f3b3069ccc2cbe8044c412600f27e-v300g00
CSeq: 1 INVITE
Contact: <sip:798859XXXXX@193.201.229.35:5060;transport=udp>
v=0
o=Dialogic_SDP 3237687 0 IN IP4 193.201.229.19
s=Dialogic-SIP
c=IN IP4 193.201.229.19
t=0 0
m=audio 14222 RTP/AVP 8 0 18 4
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=yes
a=rtpmap:4 G723/8000
a=fmtp:4 bitrate=6.3
a=silenceSupp:off - - - -
<------------->
--- (15 headers 13 lines) ---
Sending to 193.201.229.35:5060 (no NAT)
Sending to 193.201.229.35:5060 (no NAT)
Using INVITE request as basis request - SD41pm901-149f3b3069ccc2cbe8044c412600f27e-v300g00
Found peer '9XXXXX_in' for '798859XXXXX' from 193.201.229.35:5060
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
Found RTP audio format 8
Found RTP audio format 0
Found RTP audio format 18
Found RTP audio format 4
Found audio description format PCMA for ID 8
Found audio description format PCMU for ID 0
Found audio description format G729 for ID 18
Found audio description format G723 for ID 4
Capabilities: us - (ulaw|alaw|g726|g729), peer - audio=(g723|ulaw|alaw|g729)/video=(nothing)/text=(nothing), combined - (ulaw|alaw|g729)
Non-codec capabilities (dtmf): us - 0x0 (nothing), peer - 0x0 (nothing), combined - 0x0 (nothing)
Peer audio RTP is at port 193.201.229.19:14222
Looking for 792756XXXXX in from-trunk (domain 10.1.0.95)
list_route: hop: <sip:798859XXXXX@193.201.229.35:5060;transport=udp>
<--- Transmitting (NAT) to 193.201.229.35:5060 --->
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 193.201.229.35:5060;branch=z9hG4bK87rdnd00d02jvr63d100.1;received=193.201.229.35;rport=5060
From: <sip:798859XXXXX@multifon.ru>;tag=SD41pm901-69853246313536414DF53E07
To: sip:792756XXXXX@multifon.ru:5060
Call-ID: SD41pm901-149f3b3069ccc2cbe8044c412600f27e-v300g00
CSeq: 1 INVITE
Server: FPBX-2.11.0(11.15.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Contact: <sip:792756XXXXX@10.1.0.95:5060>
Content-Length: 0
<------------>
-- Executing [792756XXXXX@from-trunk:1] Set("SIP/9XXXXX_in-000003c2", "__FROM_DID=792756XXXXX") in new stack
-- Executing [792756XXXXX@from-trunk:2] Set("SIP/9XXXXX_in-000003c2", "__REC_POLICY_MODE=always") in new stack
-- Executing [792756XXXXX@from-trunk:3] Gosub("SIP/9XXXXX_in-000003c2", "app-blacklist-check,s,1()") in new stack
-- Executing [s@app-blacklist-check:1] GotoIf("SIP/9XXXXX_in-000003c2", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check:2] Set("SIP/9XXXXX_in-000003c2", "CALLED_BLACKLIST=1") in new stack
-- Executing [s@app-blacklist-check:3] Return("SIP/9XXXXX_in-000003c2", "") in new stack
-- Executing [792756XXXXX@from-trunk:4] Gosub("SIP/9XXXXX_in-000003c2", "cidlookup,cidlookup_1,1()") in new stack
-- Executing [cidlookup_1@cidlookup:1] Set("SIP/9XXXXX_in-000003c2", "CURLOPT(httptimeout)=7") in new stack
-- Executing [cidlookup_1@cidlookup:2] Set("SIP/9XXXXX_in-000003c2", "CALLERID(name)=A6370-B A187346-B") in new stack
-- Executing [cidlookup_1@cidlookup:3] Return("SIP/9XXXXX_in-000003c2", "") in new stack
-- Executing [792756XXXXX@from-trunk:5] Set("SIP/9XXXXX_in-000003c2", "CDR(did)=792756XXXXX") in new stack
-- Executing [792756XXXXX@from-trunk:6] ExecIf("SIP/9XXXXX_in-000003c2", "0 ?Set(CALLERID(name)=798859XXXXX)") in new stack
-- Executing [792756XXXXX@from-trunk:7] Set("SIP/9XXXXX_in-000003c2", "CHANNEL(musicclass)=NewYear") in new stack
-- Executing [792756XXXXX@from-trunk:8] Set("SIP/9XXXXX_in-000003c2", "__MOHCLASS=NewYear") in new stack
-- Executing [792756XXXXX@from-trunk:9] Ringing("SIP/9XXXXX_in-000003c2", "") in new stack
<--- Transmitting (NAT) to 193.201.229.35:5060 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 193.201.229.35:5060;branch=z9hG4bK87rdnd00d02jvr63d100.1;received=193.201.229.35;rport=5060
From: <sip:798859XXXXX@multifon.ru>;tag=SD41pm901-69853246313536414DF53E07
To: sip:792756XXXXX@multifon.ru:5060;tag=as4275cfcc
Call-ID: SD41pm901-149f3b3069ccc2cbe8044c412600f27e-v300g00
CSeq: 1 INVITE
Server: FPBX-2.11.0(11.15.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Contact: <sip:792756XXXXX@10.1.0.95:5060>
Content-Length: 0
<------------>
-- Executing [792756XXXXX@from-trunk:10] Set("SIP/9XXXXX_in-000003c2", "__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [792756XXXXX@from-trunk:11] Set("SIP/9XXXXX_in-000003c2", "CALLERPRES()=allowed_not_screened") in new stack
-- Executing [792756XXXXX@from-trunk:12] Goto("SIP/9XXXXX_in-000003c2", "disa,1,1") in new stack
-- Goto (disa,1,1)
-- Executing [1@disa:1] Answer("SIP/9XXXXX_in-000003c2", "") in new stack
Audio is at 10020
Adding codec 100004 (alaw) to SDP
Adding codec 100003 (ulaw) to SDP
Adding codec 100008 (g729) to SDP
<--- Reliably Transmitting (NAT) to 193.201.229.35:5060 --->
SIP/2.0 200 OK
Via: SIP/2.0/UDP 193.201.229.35:5060;branch=z9hG4bK87rdnd00d02jvr63d100.1;received=193.201.229.35;rport=5060
From: <sip:798859XXXXX@multifon.ru>;tag=SD41pm901-69853246313536414DF53E07
To: sip:792756XXXXX@multifon.ru:5060;tag=as4275cfcc
Call-ID: SD41pm901-149f3b3069ccc2cbe8044c412600f27e-v300g00
CSeq: 1 INVITE
Server: FPBX-2.11.0(11.15.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces, timer
Contact: <sip:792756XXXXX@10.1.0.95:5060>
Content-Type: application/sdp
Content-Length: 243
v=0
o=root 832789589 832789589 IN IP4 10.1.0.95
s=Asterisk PBX 11.15.0
c=IN IP4 10.1.0.95
t=0 0
m=audio 10020 RTP/AVP 8 0 18
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=ptime:20
a=sendrecv
<------------>
<--- SIP read from UDP:193.201.229.35:5060 --->
ACK sip:792756XXXXX@10.1.0.95:5060 SIP/2.0
Via: SIP/2.0/UDP 193.201.229.35:5060;branch=z9hG4bK69l6a4102gvl3l3r3i70.1
Max-Forwards: 68
User-Agent: multifon.ru
Content-Length: 0
CSeq: 1 ACK
To: sip:792756XXXXX@multifon.ru:5060;tag=as4275cfcc
From: <sip:798859XXXXX@multifon.ru>;tag=SD41pm901-69853246313536414DF53E07
Call-ID: SD41pm901-149f3b3069ccc2cbe8044c412600f27e-v300g00
<------------->
--- (9 headers 0 lines) ---
-- Executing [1@disa:2] Set("SIP/9XXXXX_in-000003c2", "_DISA=disa^1^newcall") in new stack
-- Executing [1@disa:3] Set("SIP/9XXXXX_in-000003c2", "_DISACONTEXT=from-internal") in new stack
-- Executing [1@disa:4] Set("SIP/9XXXXX_in-000003c2", "_KEEPCID=TRUE") in new stack
-- Executing [1@disa:5] Set("SIP/9XXXXX_in-000003c2", "_HANGUP=") in new stack
-- Executing [1@disa:6] Set("SIP/9XXXXX_in-000003c2", "TIMEOUT(digit)=2") in new stack
-- Digit timeout set to 2.000
-- Executing [1@disa:7] Set("SIP/9XXXXX_in-000003c2", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10.000
В чём может быть проблема. dtmfmode пробовал разные, результат один, не работает.
http://asterisk-support.ru/question/45774/multifon-i-asterisk-za-nat/
Особенно почитать про не прописывание нечего в секцию User
http://asterisk-support.ru/question/15620/multifon-ne-rabotaet-dtmf-pri-background/
Задан: 2015-12-15 11:46:45 +0400
Просмотрен: 3,243 раз
Обновлен: Dec 15 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
перестаньте читать мануалы 5 летней давности insecure=very уже 5 лет не используется - найдите свежие настройки и всё заработает PS вот за такое qualify=yes мегафон банит - не нужно слать OPTIONS в его сторону
awsswa ( 2015-12-15 12:10:27 +0400 )редактироватьПробовал разные варианты и insecure=invite,port и просто insecure=invite. И всякие другие варианты конфигов. Один исход, не работает донабор. Сейчас на старом астериске работает и с qualify=yes и с insecure=very. И с параметрами NATa игрался, всё тот-же косяк.
Dangerous13 ( 2015-12-15 12:29:46 +0400 )редактировать