Не работают входящие звонки с FXO DVG-6008s на FreePBX
Опишу схему подключения: в FXO шлюз DVG-6008s приходит одна городская линия. В настройках шлюза указан hotline 0600, идет перевод входящего звонка на FreePBX сервер. В FreePBX настроен соответствующий inbound route с DID номером 0600 так что при звонке включается IVR.
DVG-6008s регистрируется на FreePBX как транк:
| Код: |
| username=600 secret=****** host=dynamic type=friend qualify=yes insecure=invite disallow=all allow=alaw&ulaw nat=no canreinvite=no dtmfmode=rfc2833 context=from-pstn |
настроек шлюза очень много всяких даже не знаю что сюда писать….
Теперь опишу проблему:
Когда я совершаю звонок на FXO линию, например с своего сотового, вижу что звонок пришел на шлюз (использую утилиту SLmon) далее вижу что звонок ушел на FreePBX по номеру хотлайн. В FreePBX в консоле вижу что звонок пришел и идет проигрывание IVR. НО! В трубке гудки! Как будто идет дозвон. Такое ощущение, что FreePBX не сообщает DVG-6008s что он взял трубку и DVG-6008s продолжает звонить
Иногда в редких случаях я слышу IVR где то с середины, спустя минуту или полторы.
Лог SLmon когда я не слышу IVR однако вижу что звонок пришел на FreePBX
| Код: |
| 14:06:04 [025281] 0: Fxo Ringing 14:06:04 [025282] 0: StopPlayTone()=0 14:06:04 [025282] 0: FxoHookOff 14:06:04 [025282] 0: SetFxoHookOff()=0, CallerId= 14:06:04 [025282] 0: ==17:WaitAnswerDeviceOk 14:06:04 [025282] 0: StopDeviceVoiceTone 14:06:04 [025282] 0: ==4:GetDtmf 14:06:04 [025283] 0: PlayDialTone(0)=0 14:06:06 [025302] 0: WarmLine with [0600] 14:06:06 [025302] 0: StopPlayTone()=0 14:06:06 [025302] 0: End Input Default Route [1] 14:06:06 [025302] 0: Line DialNum_New [0600] 14:06:06 [025302] 0: Call Proxy with [0600] 14:06:06 [025302] 0: ==7:Inviting 14:06:06 [025302] 0: VoIP CallOut, Invite 14:06:06 [025304] 9: 600=DIALING 14:06:06 [025304] 9: 600=PROCEEDING 14:06:06 [025305] 9: 600=CONNECTED 14:06:06 [025306] 0: Peer=192.168.0.116#12914, PT=8, RecvOnly=0 14:06:06 [025306] 0: StopPlayTone()=0 14:06:06 [025306] 0: StopDeviceVoiceTone 14:06:06 [025306] 0: to set 2833 pt, send=101, recv=101 14:06:06 [025306] 0: SetVoiceCoder(0)=0 14:06:06 [025306] 0: localip = 192.168.0.253 !! 14:06:06 [025306] 0: RTP[1,1], Peer=192.168.0.116#12914, PT=8/2/1, local=192.168.0.253#0 14:06:06 [025306] 0: SetTalkMode[1,1] 14:06:06 [025306] 0: ==14:Talking |
лог астериска в котором в это время проигрывается ivr
| Код: |
| [root@localhost ~]# asterisk -rvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv | grep 600 > [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield) VALUES ('CHAN_START',{ts '2014-12-02 14:06:06'},'','600','','','','0600','from-pstn','SIP/600-0000692a','','',3,'','1417518366.45415','1417518366.45415','','','')] -- Executing [0600@from-pstn:1] Set("SIP/600-0000692a", "__FROM_DID=0600") in new stack -- Executing [0600@from-pstn:2] Set("SIP/600-0000692a", "CHANNEL(language)=ru") in new stack -- Executing [0600@from-pstn:3] Gosub("SIP/600-0000692a", "app-blacklist-check,s,1()") in new stack -- Executing [s@app-blacklist-check:1] GotoIf("SIP/600-0000692a", "0?blacklisted") in new stack -- Executing [s@app-blacklist-check:2] Set("SIP/600-0000692a", "CALLED_BLACKLIST=1") in new stack -- Executing [s@app-blacklist-check:3] Return("SIP/600-0000692a", "") in new stack -- Executing [0600@from-pstn:4] Set("SIP/600-0000692a", "CDR(did)=0600") in new stack -- Executing [0600@from-pstn:5] ExecIf("SIP/600-0000692a", "1 ?Set(CALLERID(name)=600)") in new stack -- Executing [0600@from-pstn:6] Set("SIP/600-0000692a", "CHANNEL(musicclass)=default") in new stack -- Executing [0600@from-pstn:7] Set("SIP/600-0000692a", "__MOHCLASS=default") in new stack -- Executing [0600@from-pstn:8] Set("SIP/600-0000692a", "__CALLINGPRES_SV=allowed_not_screened") in new stack -- Executing [0600@from-pstn:9] Set("SIP/600-0000692a", "CALLERPRES()=allowed_not_screened") in new stack -- Executing [0600@from-pstn:10] Goto("SIP/600-0000692a", "ivr-2,s,1") in new stack -- Executing [s@ivr-2:1] Set("SIP/600-0000692a", "TIMEOUT_LOOPCOUNT=0") in new stack -- Executing [s@ivr-2:2] Set("SIP/600-0000692a", "INVALID_LOOPCOUNT=0") in new stack -- Executing [s@ivr-2:3] Set("SIP/600-0000692a", "_IVR_CONTEXT_ivr-2=") in new stack -- Executing [s@ivr-2:4] Set("SIP/600-0000692a", "_IVR_CONTEXT=ivr-2") in new stack -- Executing [s@ivr-2:5] Set("SIP/600-0000692a", "__IVR_RETVM=") in new stack -- Executing [s@ivr-2:6] GotoIf("SIP/600-0000692a", "0?skip") in new stack -- Executing [s@ivr-2:7] Answer("SIP/600-0000692a", "") in new stack > [INSERT INTO cel (eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield) VALUES ('ANSWER',{ts '2014-12-02 14:06:06'},'600','600','600','','0600','s','ivr-2','SIP/600-0000692a','Answer','',3,'','1417518366.45415','1417518366.45415','','','')] -- Executing [s@ivr-2:8] Wait("SIP/600-0000692a", "1") in new stack -- Executing [s@ivr-2:9] Set("SIP/600-0000692a", "IVR_MSG=custom/ulngeneral") in new stack -- Executing [s@ivr-2:10] Set("SIP/600-0000692a", "TIMEOUT(digit)=3") in new stack -- Executing [s@ivr-2:11] ExecIf("SIP/600-0000692a", "1?Background(custom/ulngeneral)") in new stack -- Playing 'custom/ulngeneral.slin' (language 'ru') |
Ну а в сотовом в это время длинные гудки как и писал ранее. Вместо вызова IVR в inbound route ставил вызов EXTENSION, результат: звонок приходит на софтфон, снимаю трубку ничего не слышу, просто тишина и пустота, на сотовом длинный гудок дозвона.