Включить dtmf дебаг, позвнить, понажимать и посмотреть в консоль, видны ли нажатия клавиш.
virus_net ( 2014-07-24 08:06:54 +0400 )редактироватьЗдравствуйте. Столкнулся со следующей проблемой. В FreePBX 2.11.0.38 настроент транк, создано правило для входящих звонков и в этом правиле указан IVR. В IVR'e указано, куда отправлять по таймауту, куда по ошибке набора, куда по определенным номерам. Direct Dial включен. НО донабор не работает ни по внутренним номерам сотрудников, ни по номерам, которые я сам указывал в IVR. Всего у меня 2 транка и 1 IVR. Подскажите пожалуйста, в чем может быть причина? Ниже копирую лог последнего входящего звонка.
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Executing [мой-DID@from-trunk-sip-UGMK-SIP1:1] Set("SIP/UGMK-SIP1-00000070", "GROUP()=OUT_3") in new stack
-- Executing [мой-DID@from-trunk-sip-UGMK-SIP1:2] Goto("SIP/UGMK-SIP1-00000070", "from-trunk,мой-DID,1") in new stack
-- Goto (from-trunk,мой-DID,1)
-- Executing [мой-DID@from-trunk:1] Set("SIP/UGMK-SIP1-00000070", "__FROM_DID=мой-DID") in new stack
-- Executing [мой-DID@from-trunk:2] Set("SIP/UGMK-SIP1-00000070", "CHANNEL(language)=ru") in new stack
-- Executing [мой-DID@from-trunk:3] Gosub("SIP/UGMK-SIP1-00000070", "sub-record-cancel,s,1()") in new stack
-- Executing [s@sub-record-cancel:1] Set("SIP/UGMK-SIP1-00000070", "__REC_POLICY_MODE=") in new stack
-- Executing [s@sub-record-cancel:2] ExecIf("SIP/UGMK-SIP1-00000070", "1?Return()") in new stack
-- Executing [мой-DID@from-trunk:4] Set("SIP/UGMK-SIP1-00000070", "__REC_POLICY_MODE=never") in new stack
-- Executing [мой-DID@from-trunk:5] Gosub("SIP/UGMK-SIP1-00000070", "app-blacklist-check,s,1()") in new stack
-- Executing [s@app-blacklist-check:1] GotoIf("SIP/UGMK-SIP1-00000070", "0?blacklisted") in new stack
-- Executing [s@app-blacklist-check:2] Set("SIP/UGMK-SIP1-00000070", "CALLED_BLACKLIST=1") in new stack
-- Executing [s@app-blacklist-check:3] Return("SIP/UGMK-SIP1-00000070", "") in new stack
-- Executing [мой-DID@from-trunk:6] Set("SIP/UGMK-SIP1-00000070", "CDR(did)=мой-DID") in new stack
-- Executing [мой-DID@from-trunk:7] ExecIf("SIP/UGMK-SIP1-00000070", "0 ?Set(CALLERID(name)=anonymous)") in new stack
-- Executing [мой-DID@from-trunk:8] Set("SIP/UGMK-SIP1-00000070", "CHANNEL(musicclass)=default") in new stack
-- Executing [мой-DID@from-trunk:9] Set("SIP/UGMK-SIP1-00000070", "__MOHCLASS=default") in new stack
-- Executing [мой-DID@from-trunk:10] Set("SIP/UGMK-SIP1-00000070", "__CALLINGPRES_SV=allowed_not_screened") in new stack
-- Executing [мой-DID@from-trunk:11] Set("SIP/UGMK-SIP1-00000070", "CALLERPRES()=allowed_not_screened") in new stack
-- Executing [мой-DID@from-trunk:12] Goto("SIP/UGMK-SIP1-00000070", "ivr-2,s,1") in new stack
-- Goto (ivr-2,s,1)
-- Executing [s@ivr-2:1] Set("SIP/UGMK-SIP1-00000070", "INVALID_LOOPCOUNT=0") in new stack
-- Executing [s@ivr-2:2] Set("SIP/UGMK-SIP1-00000070", "_IVR_CONTEXT_ivr-2=") in new stack
-- Executing [s@ivr-2:3] Set("SIP/UGMK-SIP1-00000070", "_IVR_CONTEXT=ivr-2") in new stack
-- Executing [s@ivr-2:4] Set("SIP/UGMK-SIP1-00000070", "__IVR_RETVM=") in new stack
-- Executing [s@ivr-2:5] GotoIf("SIP/UGMK-SIP1-00000070", "0?skip") in new stack
-- Executing [s@ivr-2:6] Answer("SIP/UGMK-SIP1-00000070", "") in new stack
-- Executing [s@ivr-2:7] Wait("SIP/UGMK-SIP1-00000070", "1") in new stack
-- Executing [s@ivr-2:8] Set("SIP/UGMK-SIP1-00000070", "IVR_MSG=custom/privetstvie") in new stack
-- Executing [s@ivr-2:9] Set("SIP/UGMK-SIP1-00000070", "TIMEOUT(digit)=3") in new stack
-- Digit timeout set to 3.000
-- Executing [s@ivr-2:10] ExecIf("SIP/UGMK-SIP1-00000070", "1?Background(custom/privetstvie)") in new stack
-- <SIP/UGMK-SIP1-00000070> Playing 'custom/privetstvie.slin' (language 'ru')
-- Executing [s@ivr-2:11] WaitExten("SIP/UGMK-SIP1-00000070", "4,") in new stack
-- Timeout on SIP/UGMK-SIP1-00000070, going to 't'
-- Executing [t@ivr-2:1] GotoIf("SIP/UGMK-SIP1-00000070", "1?from-did-direct,1615,1:,return,1") in new stack
-- Goto (from-did-direct,1615,1)
-- Executing [1615@from-did-direct:1] Set("SIP/UGMK-SIP1-00000070", "__RINGTIMER=15") in new stack
-- Executing [1615@from-did-direct:2] Macro("SIP/UGMK-SIP1-00000070", "exten-vm,novm,1615,0,0,0") in new stack
-- Executing [s@macro-exten-vm:1] Macro("SIP/UGMK-SIP1-00000070", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/UGMK-SIP1-00000070", "TOUCH_MONITOR=1406016453.164") in new stack
-- Executing [s@macro-user-callerid:2] Set("SIP/UGMK-SIP1-00000070", "AMPUSER=anonymous") in new stack
-- Executing [s@macro-user-callerid:3] GotoIf("SIP/UGMK-SIP1-00000070", "0?report") in new stack
-- Executing [s@macro-user-callerid:4] ExecIf("SIP/UGMK-SIP1-00000070", "1?Set(REALCALLERIDNUM=anonymous)") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/UGMK-SIP1-00000070", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/UGMK-SIP1-00000070", "0?limit") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/UGMK-SIP1-00000070", "AMPUSERCIDNAME=") in new stack
-- Executing [s@macro-user-callerid:8] GotoIf("SIP/UGMK-SIP1-00000070", "1?report") in new stack
-- Goto (macro-user-callerid,s,16)
-- Executing [s@macro-user-callerid:16] GotoIf("SIP/UGMK-SIP1-00000070", "0?continue") in new stack
-- Executing [s@macro-user-callerid:17] Set("SIP/UGMK-SIP1-00000070", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:18] GotoIf("SIP/UGMK-SIP1-00000070", "1?continue") in new stack
-- Goto (macro-user-callerid,s,29)
-- Executing [s@macro-user-callerid:29] Set("SIP/UGMK-SIP1-00000070", "CALLERID(number)=anonymous") in new stack
-- Executing [s@macro-user-callerid:30] Set("SIP/UGMK-SIP1-00000070", "CALLERID(name)=Anonymous") in new stack
-- Executing [s@macro-user-callerid:31] Set("SIP/UGMK-SIP1-00000070", "CDR(cnum)=anonymous") in new stack
-- Executing [s@macro-user-callerid:32] Set("SIP/UGMK-SIP1-00000070", "CDR(cnam)=Anonymous") in new stack
-- Executing [s@macro-user-callerid:33] Set("SIP/UGMK-SIP1-00000070", "CHANNEL(language)=ru") in new stack
-- Executing [s@macro-exten-vm:2] Set("SIP/UGMK-SIP1-00000070", "RingGroupMethod=none") in new stack
-- Executing [s@macro-exten-vm:3] Set("SIP/UGMK-SIP1-00000070", "__EXTTOCALL=1615") in new stack
-- Executing [s@macro-exten-vm:4] Set("SIP/UGMK-SIP1-00000070", "__PICKUPMARK=1615") in new stack
-- Executing [s@macro-exten-vm:5] Set("SIP/UGMK-SIP1-00000070", "RT=") in new stack
-- Executing [s@macro-exten-vm:6] ExecIf("SIP/UGMK-SIP1-00000070", "0?Macro(vm,novm,DIRECTDIAL,)") in new stack
-- Executing [s@macro-exten-vm:7] ExecIf("SIP/UGMK-SIP1-00000070", "0?MacroExit()") in new stack
-- Executing [s@macro-exten-vm:8] Gosub("SIP/UGMK-SIP1-00000070", "sub-record-check,s,1(exten,1615,)") in new stack
-- Executing [s@sub-record-check:1] Set("SIP/UGMK-SIP1-00000070", "REC_POLICY_MODE_SAVE=never") in new stack
-- Executing [s@sub-record-check:2] GotoIf("SIP/UGMK-SIP1-00000070", "1?check") in new stack
-- Goto (sub-record-check,s,7)
-- Executing [s@sub-record-check:7] Set("SIP/UGMK-SIP1-00000070", "__MON_FMT=wav") in new stack
-- Executing [s@sub-record-check:8] GotoIf("SIP/UGMK-SIP1-00000070", "1?next") in new stack
-- Goto (sub-record-check,s,11)
-- Executing [s@sub-record-check:11] ExecIf("SIP/UGMK-SIP1-00000070", "0?Return()") in new stack
-- Executing [s@sub-record-check:12] ExecIf("SIP/UGMK-SIP1-00000070", "0?Set(__REC_POLICY_MODE=)") in new stack
-- Executing [s@sub-record-check:13] GotoIf("SIP/UGMK-SIP1-00000070", "0?exten,1") in new stack
-- Executing [s@sub-record-check:14] Set("SIP/UGMK-SIP1-00000070", "__REC_STATUS=INITIALIZED") in new stack
-- Executing [s@sub-record-check:15] Set("SIP/UGMK-SIP1-00000070", "NOW=1406016470") in new stack
-- Executing [s@sub-record-check:16] Set("SIP/UGMK-SIP1-00000070", "__DAY=22") in new stack
-- Executing [s@sub-record-check:17] Set("SIP/UGMK-SIP1-00000070", "__MONTH=07") in new stack
-- Executing [s@sub-record-check:18] Set("SIP/UGMK-SIP1-00000070", "__YEAR=2014") in new stack
-- Executing [s@sub-record-check:19] Set("SIP/UGMK-SIP1-00000070", "__TIMESTR=20140722-120750") in new stack
-- Executing [s@sub-record-check:20] Set("SIP/UGMK-SIP1-00000070", "__FROMEXTEN=anonymous") in new stack
-- Executing [s@sub-record-check:21] Set("SIP/UGMK-SIP1-00000070", "__CALLFILENAME=exten-1615-anonymous-20140722-120750-1406016453.164") in new stack
-- Executing [s@sub-record-check:22] Goto("SIP/UGMK-SIP1-00000070", "exten,1") in new stack
-- Goto (sub-record-check,exten,1)
-- Executing [exten@sub-record-check:1] GotoIf("SIP/UGMK-SIP1-00000070", "1?callee") in new stack
-- Goto (sub-record-check,exten,8)
-- Executing [exten@sub-record-check:8] GosubIf("SIP/UGMK-SIP1-00000070", "0?record,1(exten,1615,anonymous)") in new stack
-- Executing [exten@sub-record-check:9] Return("SIP/UGMK-SIP1-00000070", "") in new stack
-- Executing [s@macro-exten-vm:9] GotoIf("SIP/UGMK-SIP1-00000070", "1?macrodial") in new stack
-- Goto (macro-exten-vm,s,15)
-- Executing [s@macro-exten-vm:15] GosubIf("SIP/UGMK-SIP1-00000070", "0?clrheader,1()") in new stack
-- Executing [s@macro-exten-vm:16] Macro("SIP/UGMK-SIP1-00000070", "dial-one,,trwW,1615") in new stack
-- Executing [s@macro-dial-one:1] Set("SIP/UGMK-SIP1-00000070", "DEXTEN=1615") in new stack
-- Executing [s@macro-dial-one:2] Set("SIP/UGMK-SIP1-00000070", "DIALSTATUS_CW=") in new stack
-- Executing [s@macro-dial-one:3] GosubIf("SIP/UGMK-SIP1-00000070", "0?screen,1()") in new stack
-- Executing [s@macro-dial-one:4] GosubIf("SIP/UGMK-SIP1-00000070", "0?cf,1()") in new stack
-- Executing [s@macro-dial-one:5] GotoIf("SIP/UGMK-SIP1-00000070", "1?skip1") in new stack
-- Goto (macro-dial-one,s,8)
-- Executing [s@macro-dial-one:8] GotoIf("SIP/UGMK-SIP1-00000070", "0?nodial") in new stack
-- Executing [s@macro-dial-one:9] GotoIf("SIP/UGMK-SIP1-00000070", "0?continue") in new stack
-- Executing [s@macro-dial-one:10] Set("SIP/UGMK-SIP1-00000070", "EXTHASCW=ENABLED") in new stack
-- Executing [s@macro-dial-one:11] GotoIf("SIP/UGMK-SIP1-00000070", "0?next1:cwinusebusy") in new stack
-- Goto (macro-dial-one,s,23)
-- Executing [s@macro-dial-one:23] GotoIf("SIP/UGMK-SIP1-00000070", "1?next3:continue") in new stack
-- Goto (macro-dial-one,s,24)
-- Executing [s@macro-dial-one:24] ExecIf("SIP/UGMK-SIP1-00000070", "0?Set(DIALSTATUS_CW=BUSY)") in new stack
-- Executing [s@macro-dial-one:25] GotoIf("SIP/UGMK-SIP1-00000070", "0?nodial") in new stack
-- Executing [s@macro-dial-one:26] GosubIf("SIP/UGMK-SIP1-00000070", "1?dstring,1():dlocal,1()") in new stack
-- Executing [dstring@macro-dial-one:1] Set("SIP/UGMK-SIP1-00000070", "DSTRING=") in new stack
-- Executing [dstring@macro-dial-one:2] Set("SIP/UGMK-SIP1-00000070", "DEVICES=1615") in new stack
-- Executing [dstring@macro-dial-one:3] ExecIf("SIP/UGMK-SIP1-00000070", "0?Return()") in new stack
-- Executing [dstring@macro-dial-one:4] ExecIf("SIP/UGMK-SIP1-00000070", "0?Set(DEVICES=615)") in new stack
-- Executing [dstring@macro-dial-one:5] Set("SIP/UGMK-SIP1-00000070", "LOOPCNT=1") in new stack
-- Executing [dstring@macro-dial-one:6] Set("SIP/UGMK-SIP1-00000070", "ITER=1") in new stack
-- Executing [dstring@macro-dial-one:7] Set("SIP/UGMK-SIP1-00000070", "THISDIAL=SIP/1615") in new stack
-- Executing [dstring@macro-dial-one:8] GosubIf("SIP/UGMK-SIP1-00000070", "1?zap2dahdi,1()") in new stack
-- Executing [zap2dahdi@macro-dial-one:1] ExecIf("SIP/UGMK-SIP1-00000070", "0?Return()") in new stack
-- Executing [zap2dahdi@macro-dial-one:2] Set("SIP/UGMK-SIP1-00000070", "NEWDIAL=") in new stack
-- Executing [zap2dahdi@macro-dial-one:3] Set("SIP/UGMK-SIP1-00000070", "LOOPCNT2=1") in new stack
-- Executing [zap2dahdi@macro-dial-one:4] Set("SIP/UGMK-SIP1-00000070", "ITER2=1") in new stack
-- Executing [zap2dahdi@macro-dial-one:5] Set("SIP/UGMK-SIP1-00000070", "THISPART2=SIP/1615") in new stack
-- Executing [zap2dahdi@macro-dial-one:6] ExecIf("SIP/UGMK-SIP1-00000070", "0?Set(THISPART2=DAHDI/1615)") in new stack
-- Executing [zap2dahdi@macro-dial-one:7] Set("SIP/UGMK-SIP1-00000070", "NEWDIAL=SIP/1615&") in new stack
-- Executing [zap2dahdi@macro-dial-one:8] Set("SIP/UGMK-SIP1-00000070", "ITER2=2") in new stack
-- Executing [zap2dahdi@macro-dial-one:9] GotoIf("SIP/UGMK-SIP1-00000070", "0?begin2") in new stack
-- Executing [zap2dahdi@macro-dial-one:10] Set("SIP/UGMK-SIP1-00000070", "THISDIAL=SIP/1615") in new stack
-- Executing [zap2dahdi@macro-dial-one:11] Return("SIP/UGMK-SIP1-00000070", "") in new stack
-- Executing [dstring@macro-dial-one:9] Set("SIP/UGMK-SIP1-00000070", "DSTRING=SIP/1615&") in new stack
-- Executing [dstring@macro-dial-one:10] Set("SIP/UGMK-SIP1-00000070", "ITER=2") in new stack
-- Executing [dstring@macro-dial-one:11] GotoIf("SIP/UGMK-SIP1-00000070", "0?begin") in new stack
-- Executing [dstring@macro-dial-one:12] Set("SIP/UGMK-SIP1-00000070", "DSTRING=SIP/1615") in new stack
-- Executing [dstring@macro-dial-one:13] Return("SIP/UGMK-SIP1-00000070", "") in new stack
-- Executing [s@macro-dial-one:27] GotoIf("SIP/UGMK-SIP1-00000070", "0?nodial") in new stack
-- Executing [s@macro-dial-one:28] GotoIf("SIP/UGMK-SIP1-00000070", "0?skiptrace") in new stack
-- Executing [s@macro-dial-one:29] GosubIf("SIP/UGMK-SIP1-00000070", "0?ctset,1():ctclear,1()") in new stack
-- Executing [ctclear@macro-dial-one:1] NoOp("SIP/UGMK-SIP1-00000070", "Deleting: CALLTRACE/1615 ") in new stack
-- Executing [ctclear@macro-dial-one:2] Return("SIP/UGMK-SIP1-00000070", "") in new stack
-- Executing [s@macro-dial-one:30] Set("SIP/UGMK-SIP1-00000070", "D_OPTIONS=trwW") in new stack
-- Executing [s@macro-dial-one:31] ExecIf("SIP/UGMK-SIP1-00000070", "0?SIPAddHeader(Alert-Info: )") in new stack
-- Executing [s@macro-dial-one:32] ExecIf("SIP/UGMK-SIP1-00000070", "0?SIPAddHeader()") in new stack
-- Executing [s@macro-dial-one:33] ExecIf("SIP/UGMK-SIP1-00000070", "1?Set(CHANNEL(musicclass)=default)") in new stack
-- Executing [s@macro-dial-one:34] GosubIf("SIP/UGMK-SIP1-00000070", "0?qwait,1()") in new stack
-- Executing [s@macro-dial-one:35] Set("SIP/UGMK-SIP1-00000070", "__CWIGNORE=") in new stack
-- Executing [s@macro-dial-one:36] Set("SIP/UGMK-SIP1-00000070", "__KEEPCID=TRUE") in new stack
-- Executing [s@macro-dial-one:37] GotoIf("SIP/UGMK-SIP1-00000070", "0?usegoto,1") in new stack
-- Executing [s@macro-dial-one:38] GotoIf("SIP/UGMK-SIP1-00000070", "1?godial") in new stack
-- Goto (macro-dial-one,s,42)
-- Executing [s@macro-dial-one:42] Dial("SIP/UGMK-SIP1-00000070", "SIP/1615,,trwW") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called SIP/1615
-- SIP/1615-00000071 is ringing
== Spawn extension (macro-dial-one, s, 42) exited non-zero on 'SIP/UGMK-SIP1-00000070' in macro 'dial-one'
== Spawn extension (macro-exten-vm, s, 16) exited non-zero on 'SIP/UGMK-SIP1-00000070' in macro 'exten-vm'
== Spawn extension (from-did-direct, 1615, 2) exited non-zero on 'SIP/UGMK-SIP1-00000070'
-- Executing [h@from-did-direct:1] Macro("SIP/UGMK-SIP1-00000070", "hangupcall,") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/UGMK-SIP1-00000070", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] ExecIf("SIP/UGMK-SIP1-00000070", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall:4] Hangup("SIP/UGMK-SIP1-00000070", "") in new stack
== Spawn extension (macro-hangupcall, s, 4) exited non-zero on 'SIP/UGMK-SIP1-00000070' in macro 'hangupcall'
== Spawn extension (from-did-direct, h, 1) exited non-zero on 'SIP/UGMK-SIP1-00000070'
Вам надо узнать у провайдера в каком формате приходит DTMF и настроить соответвенно транк. Ну или просто все варианты проверить.
Включить dtmf дебаг, позвнить, понажимать и посмотреть в консоль, видны ли нажатия клавиш.
virus_net ( 2014-07-24 08:06:54 +0400 )редактироватьЗадан: 2014-07-22 12:37:40 +0400
Просмотрен: 2,528 раз
Обновлен: Jul 22 '14
FreePBX не изменяет *_additional.conf файлы
РЕШЕНО: freepbx переадресация входящего гор номера на мобильный
Addpac 1100F + FreePBX 2.10. Разделение входящих по транкам.
Background накладывается на Background
Есть ли какое либо решение для freepbx?
поломался PiAF, хотя ошибок нет
FreePBX распределение входящих. Писать custom контекст или есть модуль?
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Спасибо meral. Действительно dtmf inboand нужен был, а стоял другой. исправил и все заработало. Сейчас проблему уже в том, что не знаю как сделать донабор прямо во время воспроизведения звукового файла, не дожидаясь его окончания. Ну да это уже другой вопрос. Спасибо за помощь.
Norbertino ( 2014-07-24 10:42:49 +0400 )редактировать