Asterisk Hangup caller 接听后挂断电话
Asterisk Hangup caller after answered's hangup
你好我的èxtensions_conf`,这是一个队列;
exten => 1,1,NoOp(call for call center)
same => n,Set(__OTHERCHANNEL=${CHANNEL})
;same => n,Set(CHANNEL(hangup_handler_push)=call-center,csh,1(args))
same => n,Dial(SIP/trunk/XXXXXXXXX,,tTG(msg,1))
exten => msg,1,Goto(anum,1)
exten => msg,2,Goto(cnum,1)
exten => anum,1,BridgeWait()
exten => anum,n,NoOp("after bridgewait")
exten => cnum,1,Playback(hello)
exten => cnum,n,Set(CHANNEL(hangup_handler_wipe)=call-center,csh,1(args))
exten => cnum,n,WaitExten(100)
exten => csh,1,Verbose(0)
same => n,AGI(test.py,${ORIGCHANNEL},${OTHERCHANNEL})
same => n,Return()
;same => n,AGI(test.py,${ORIGCHANNEL})
exten => #,1,NoOp(press #)
same => n,Bridge(${ORIGCHANNEL})
exten => 9,1,AGI(test.py,${ORIGCHANNEL})
same => n,Hangup()
我的test.py
;
#!/usr/bin/env python3
import sys
from asterisk.agi import AGI
agi = AGI()
if sys.argv[2]:
agi.env['agi_channel'] = sys.argv[2]
agi.hangup(channel=sys.argv[1])
我想在接听时按9
键挂断接听和来电通道。这很好用。但是当回答挂断 phone 时,我在挂断处理程序中的 agi 脚本 运行 不会挂断呼叫者的频道。给我 RESULT_LINE: 511 Command Not Permitted on a dead channel or intercept routine
错误。我可以尝试更改为 àgi_channel` 但这不起作用。如何解决这个问题。挂断应答后如何挂断来电。谢谢回复。
由于 DeadAGI 和 AGI 现在是同一个应用程序,因此该行为是正常的。
您负责检测通道挂断,例如您可以检查拨号命令响应代码或发出 CHANNEL(状态)检查。
你好我的èxtensions_conf`,这是一个队列;
exten => 1,1,NoOp(call for call center)
same => n,Set(__OTHERCHANNEL=${CHANNEL})
;same => n,Set(CHANNEL(hangup_handler_push)=call-center,csh,1(args))
same => n,Dial(SIP/trunk/XXXXXXXXX,,tTG(msg,1))
exten => msg,1,Goto(anum,1)
exten => msg,2,Goto(cnum,1)
exten => anum,1,BridgeWait()
exten => anum,n,NoOp("after bridgewait")
exten => cnum,1,Playback(hello)
exten => cnum,n,Set(CHANNEL(hangup_handler_wipe)=call-center,csh,1(args))
exten => cnum,n,WaitExten(100)
exten => csh,1,Verbose(0)
same => n,AGI(test.py,${ORIGCHANNEL},${OTHERCHANNEL})
same => n,Return()
;same => n,AGI(test.py,${ORIGCHANNEL})
exten => #,1,NoOp(press #)
same => n,Bridge(${ORIGCHANNEL})
exten => 9,1,AGI(test.py,${ORIGCHANNEL})
same => n,Hangup()
我的test.py
;
#!/usr/bin/env python3
import sys
from asterisk.agi import AGI
agi = AGI()
if sys.argv[2]:
agi.env['agi_channel'] = sys.argv[2]
agi.hangup(channel=sys.argv[1])
我想在接听时按9
键挂断接听和来电通道。这很好用。但是当回答挂断 phone 时,我在挂断处理程序中的 agi 脚本 运行 不会挂断呼叫者的频道。给我 RESULT_LINE: 511 Command Not Permitted on a dead channel or intercept routine
错误。我可以尝试更改为 àgi_channel` 但这不起作用。如何解决这个问题。挂断应答后如何挂断来电。谢谢回复。
由于 DeadAGI 和 AGI 现在是同一个应用程序,因此该行为是正常的。
您负责检测通道挂断,例如您可以检查拨号命令响应代码或发出 CHANNEL(状态)检查。