Помогите, пожалуйста, разобраться с планом набора (чужой) - суть проблемы: при повторном звонке в течении 2х минут телефония сбрасывает с сообщением
Spawn extension (int, 200, 100) exited non-zero on 'Local/200@int-000000e6;2'
потом звонки снова проходят
сам план из extensions.conf
- Код: выделить все
[int]
exten => 200,1,GotoIf($["${num1}" = ""]?110)
exten => 200,n,Set(GLOBAL(DOM)=${num1})
exten => 200,n,Set(GLOBAL(DOMdtime)=${STRFTIME(${EPOCH},,%s)})
exten => 200,n,Set(GLOBAL(${num1})=${CHANNEL})
exten => 200,n,Set(GLOBAL(DOMchan)=${CHANNEL})
exten => 200,n,GotoIf($["${num1:1}" >= "9999999900"]?100)
exten => 200,n,Dial(IAX2/блабла/${num1},120,gS(240))
exten => 200,n,Goto(d-${DIALSTATUS},1)
exten => 200,100,Dial(SIP/${num1},120,gS(240))
exten => 200,n,Goto(d-${DIALSTATUS},1)
exten => 200,110,Hangup
exten => 210,1,GotoIf($["${num2}" = ""]:110)
exten => 210,n,Set(GLOBAL(USR1)=${num2})
exten => 210,n,Set(GLOBAL(USR2)=${num3})
exten => 210,n,Set(GLOBAL(USR3)=${num4})
exten => 210,n,Set(GLOBAL(USR1dtime)=${STRFTIME(${EPOCH},,%s)})
exten => 210,n,Set(GLOBAL(USR2dtime)=${STRFTIME(${EPOCH},,%s)})
exten => 210,n,Set(GLOBAL(USR3dtime)=${STRFTIME(${EPOCH},,%s)})
exten => 210,n,GotoIf($["${num2:1}" >= "9999999900"]?100)
exten => 210,n,Dial(IAX2/блабла/${num2}&IAX2/блабла/${num3}&IAX2/блабла/${num4},120,gS(120))
exten => 210,n,Goto(s-${DIALSTATUS},1)
exten => 210,100,Dial(SIP/${num2},120,gS(240))
exten => 210,n,Goto(s-${DIALSTATUS},1)
exten => 210,110,Hangup
exten => hangc,1,System(/usr/sbin/asterisk -rx "channel request hangup ${CHANNEL}"); ${GLOBAL(DOMchan)}")
exten => hanga,1,System(/usr/sbin/asterisk -rx "channel request hangup all")
exten => d-ANSWER,1,NoOp(Duration of call is ${ANSWEREDTIME})
exten => d-ANSWER,n,Goto(hanga,1)
exten => d-NOANSWER,1,Goto(hanga,1)
exten => d-CONGESTION,1,Goto(hanga,1)
exten => d-CANCEL,1,Goto(hanga,1)
exten => d-BUSY,1,Goto(hanga,1)
exten => s-ANSWER,1,Goto(hanga,1)
exten => s-BUSY,1,Goto(hanga,1)
exten => s-CONGESTION,1,Goto(hanga,1)
exten => 300,1,Answer()
exten => 300,2,NoOp(${MATH(${STRFTIME(${EPOCH},,%s)}-${GLOBAL(USR1dtime)})})
exten => 300,3,NoOp(${CHANNEL:6:3})
exten => 300,4,Set(__CONFNO=${num1})
exten => 300,5,NoOp(${CONFBRIDGE_INFO(parties,${CONFNO})})
exten => 300,6,GotoIf($["${CHANNEL:6:3}" = "200"]?7:9)
exten => 300,7,Set(GLOBAL(DTMFSIG-${num1})=${CHANNEL})
exten => 300,8,GotoIf($["${CONFBRIDGE_INFO(parties,${CONFNO})}" >= "1"]?101:120)
exten => 300,9,GotoIf($["${CHANNEL:6:3}" = "210"]?10:120)
exten => 300,10,GotoIf($["${MATH(${STRFTIME(${EPOCH},,%s)}-${GLOBAL(USR1dtime)})}" > "3"]?11:101)
exten => 300,11,GotoIf($["${CONFBRIDGE_INFO(parties,${CONFNO})}" >= "1"]?101:120)
exten => 300,12,GotoIf($["${CHANNEL:6:3}" = "202"]?13:120)
exten => 300,13,GotoIf($["${MATH(${STRFTIME(${EPOCH},,%s)}-${GLOBAL(USR2dtime)})}" > "3"]?14:101)
exten => 300,14,GotoIf($["${CONFBRIDGE_INFO(parties,${CONFNO})}" >= "1"]?101:120)
exten => 300,15,GotoIf($["${CHANNEL:6:3}" = "202"]?16:120)
exten => 300,16,GotoIf($["${MATH(${STRFTIME(${EPOCH},,%s)}-${GLOBAL(USR3dtime)})}" > "3"]?17:101)
exten => 300,17,GotoIf($["${CONFBRIDGE_INFO(parties,${CONFNO})}" >= "1"]?101:120)
exten => 300,101,SendDTMF(w9,,700,${GLOBAL(DTMFSIG-${num1})})
;exten => 300,101,SendDTMF(w9,,700,)
exten => 300,n,Goto(120)
exten => 300,120,GotoIf($["${GLOBAL(USR1)}" != ""]?130:300)
exten => 300,130,ConfBridge(${CONFNO})
exten => 300,n,Goto(300)
exten => 300,300,System(/usr/sbin/asterisk -rx "channel request hangup ${CHANNEL}")
лог частично "целиком"
- Код: выделить все
== Manager 'call' logged off from 127.0.0.1
-- Executing [210@int:1] GotoIf("Local/210@int-000000e7;2", "0:110") in new stack
-- Executing [210@int:2] Set("Local/210@int-000000e7;2", "GLOBAL(USR1)=телефон") in new stack
== Setting global variable 'USR1' to 'телефон'
-- Executing [210@int:3] Set("Local/210@int-000000e7;2", "GLOBAL(USR2)=") in new stack
== Setting global variable 'USR2' to ''
-- Executing [210@int:4] Set("Local/210@int-000000e7;2", "GLOBAL(USR3)=") in new stack
== Setting global variable 'USR3' to ''
-- Executing [210@int:5] Set("Local/210@int-000000e7;2", "GLOBAL(USR1dtime)=1673259523") in new stack
== Setting global variable 'USR1dtime' to '1673259523'
-- Executing [210@int:6] Set("Local/210@int-000000e7;2", "GLOBAL(USR2dtime)=1673259523") in new stack
== Setting global variable 'USR2dtime' to '1673259523'
-- Executing [210@int:7] Set("Local/210@int-000000e7;2", "GLOBAL(USR3dtime)=1673259523") in new stack
== Setting global variable 'USR3dtime' to '1673259523'
-- Executing [210@int:8] GotoIf("Local/210@int-000000e7;2", "0?100") in new stack
-- Executing [210@int:9] Dial("Local/210@int-000000e7;2", "IAX2/блабла/телефон&IAX2/блабла/&IAX2/блабла
-- Setting call duration limit to 120.000 seconds.
[Jan 9 15:18:43] WARNING[19683][C-000001c2]: app_dial.c:2406 dial_exec_full: Skipping dialing interface 'IAX2/блабла
-- Called IAX2/блабла/телефон
-- Called IAX2/блабла/
[Jan 9 15:18:43] WARNING[22843][C-000001c1]: chan_sip.c:10110 process_sdp: Ignoring video stream offer because po
> 0x7f6cd4067900 -- Strict RTP learning after remote address set to: 192.168.88.44:7078
-- SIP/ic02c00081a52426ba-00000041 answered Local/200@int-000000e6;2
> Channel Local/200@int-000000e6;1 was answered
-- Executing [300@int:1] Answer("Local/200@int-000000e6;1", "") in new stack
-- Executing [300@int:2] NoOp("Local/200@int-000000e6;1", "0.000000") in new stack
-- Executing [300@int:3] NoOp("Local/200@int-000000e6;1", "200") in new stack
-- Executing [300@int:4] Set("Local/200@int-000000e6;1", "__CONFNO=ic02c00081a52426ba") in new stack
-- Executing [300@int:5] NoOp("Local/200@int-000000e6;1", "0") in new stack
-- Executing [300@int:6] GotoIf("Local/200@int-000000e6;1", "1?7:9") in new stack
-- Goto (int,300,7)
-- Executing [300@int:7] Set("Local/200@int-000000e6;1", "GLOBAL(DTMFSIG-ic02c00081a52426ba)=Local/200@int-000
== Setting global variable 'DTMFSIG-ic02c00081a52426ba' to 'Local/200@int-000000e6;1'
-- Executing [300@int:8] GotoIf("Local/200@int-000000e6;1", "0?101:120") in new stack
-- Goto (int,300,120)
-- Executing [300@int:120] GotoIf("Local/200@int-000000e6;1", "1?130:300") in new stack
-- Goto (int,300,130)
-- Executing [300@int:130] ConfBridge("Local/200@int-000000e6;1", "ic02c00081a52426ba") in new stack
-- Call accepted by ip (format ulaw)
-- Format for call is (ulaw)
-- Hungup 'IAX2/блабла-3294'
> 0x7f6cd4067900 -- Strict RTP switching source address to ip:7078
.........................................
-- IAX2/блабла-2782 is making progress passing it to Local/210@int-000000e7;2
-- IAX2/блабла-2782 answered Local/210@int-000000e7;2
> Channel Local/210@int-000000e7;1 was answered
-- Executing [300@int:1] Answer("Local/210@int-000000e7;1", "") in new stack
-- Executing [300@int:2] NoOp("Local/210@int-000000e7;1", "7.000000") in new stack
-- Executing [300@int:3] NoOp("Local/210@int-000000e7;1", "210") in new stack
-- Executing [300@int:4] Set("Local/210@int-000000e7;1", "__CONFNO=ic02c00081a52426ba") in new stack
-- Executing [300@int:5] NoOp("Local/210@int-000000e7;1", "1") in new stack
-- Executing [300@int:6] GotoIf("Local/210@int-000000e7;1", "0?7:9") in new stack
-- Goto (int,300,9)
-- Executing [300@int:9] GotoIf("Local/210@int-000000e7;1", "1?10:120") in new stack
-- Goto (int,300,10)
-- Executing [300@int:10] GotoIf("Local/210@int-000000e7;1", "1?11:101") in new stack
-- Goto (int,300,11)
-- Executing [300@int:11] GotoIf("Local/210@int-000000e7;1", "1?101:120") in new stack
-- Goto (int,300,101)
-- Executing [300@int:101] SendDTMF("Local/210@int-000000e7;1", "w9,,700,Local/200@int-000000e6;1") in new sta
-- Executing [300@int:102] Goto("Local/210@int-000000e7;1", "120") in new stack
-- Goto (int,300,120)
-- Executing [300@int:120] GotoIf("Local/210@int-000000e7;1", "1?130:300") in new stack
-- Goto (int,300,130)
-- Executing [300@int:130] ConfBridge("Local/210@int-000000e7;1", "ic02c00081a52426ba") in new stack
[Jan 9 15:18:52] NOTICE[22843]: chan_sip.c:28092 handle_request_register: Registration from '888 <sip:888@ip
-- Hungup 'IAX2/блабла-2782'
-- Executing [210@int:10] Goto("Local/210@int-000000e7;2", "s-ANSWER,1") in new stack
-- Goto (int,s-ANSWER,1)
-- Executing [s-ANSWER@int:1] Goto("Local/210@int-000000e7;2", "hanga,1") in new stack
-- Goto (int,hanga,1)
-- Executing [hanga@int:1] System("Local/210@int-000000e7;2", "/usr/sbin/asterisk -rx "channel request hangup
-- Remote UNIX connection
-- Remote UNIX connection disconnected
== Spawn extension (int, 200, 100) exited non-zero on 'Local/200@int-000000e6;2'