星号 Dial() 选项是什么,用于在从被叫方收到的"振铃"状态时调用子例程?



当发生以下事件时,我需要执行AGI脚本:

  1. 来电(只需调用AGI()函数即可(
  2. 当呼叫是"呼叫"时;"振铃";(我想不通!(。<-- Problem, how to do this?
  3. 当呼叫是"呼叫"时;回答";(我使用Dial()中的U(answer^${CALLID})选项执行此操作(
  4. 当一个电话挂断时(我使用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()

看,我已经调用了3fast-agi脚本:incomingansweredhangup。现在我需要调用类似的脚本CCD_;"振铃";。如何做到这一点?

振铃状态是通道(chan_pjsip.so(的状态,它没有发送到通道代码之外。

所以不,你无法在拨号应用程序中获得它。因为它不能为某些频道类型和拨号仍然应该为这些类型工作。

对于某些通道,您可以在NewState事件的事件侦听循环中通过AMI获得它。但并没有任何担保,当你们收到啜饮信息时,它将完全在同一时间。

https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+经理Event_Newstate

相关内容

  • 没有找到相关文章

最新更新