当发生下列事件时,我需要执行AGI脚本:
function).
AGI(),AGI(),电话就是“铃声”)(我搞不懂!)<-- Problem, how to do this?Dial()).U(answer^${CALLID})选项执行呼叫挂起(我使用h特殊分机)。我的拨号计划是这样的:
[from_origin]
exten => _X.,1,NoOp(${CALLER_USERNAME} from ${CHANNEL(pjsip,remote_addr)})
same => n,AGI(agi://127.0.0.1/incoming)
same => n,Dial(${DIALSTR},45,U(answer^${CALLID}))
exten => h,1,AGI(agi://127.0.0.1/hangup,${CDR(uniqueid)})
[answer]
exten => s,1,Set(theCallID=${ARG1})
same => n,AGI(agi://127.0.0.1/answered)
same => n,Return()听着,我已经调用了3 fast-agi脚本:incoming、answered和hangup。现在,我需要调用类似的脚本,如ringing,当被调用方正在“铃声”。如何做到这一点?
发布于 2021-04-06 16:11:27
振铃状态是信道(chan_pjsip.so)的状态,它不是在信道代码之外发送的。
所以不,你不能在拨号应用程序中找到它。因为对于某些频道类型是无法获得的,而拨号仍然应该适用于这些类型。
对于某些通道,您可以通过NewState事件中的事件侦听循环中的AMI获得它。但没有任何保障,这将是完全在同一时间,当你收到响亮的sip信息。
https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+ManagerEvent_Newstate
https://stackoverflow.com/questions/66970929
复制相似问题