在未应答呼叫文件上执行星号上下文

时间:2018-03-07 17:54:08

标签: asterisk voip dialplan

我正在使用这些调用文件:

Channel: SIP/TRUNK/1-111522282783163<br/>
CallerID: 522299308962<br/>
MaxRetries: 1<br/>
Data: GqFR7rubPw_10<br/>
Context: calls<br/>
Extension: s<br/>
Priority: 1 <br/>
Setvar: AUDIOFILE=GqFR7rubPw_10<br/>
Setvar: ID=BkzKlksau1<br/>
Setvar: DEST=522282783163<br/>
Archive: yes<br/>

正如我已经知道的那样,当应答呼叫时,拨号方案(在上下文中)被执行但没有“没有回答,拥塞,忙碌,失败”的呼叫。我想要做的是当呼叫处于非ANSWERED状态时执行拨号方案(在相同的上下文或默认上下文中),因为我在呼叫文件中添加了ID作为变量,我用它来识别呼叫。

我找到了这个链接Asterisk - executing agi script if call is not answerd?但是我不明白老实说。如果有人有这方面的例子,我会很感激。

拨号计划:

[calls]
exten => s,1,wait(2)
exten => s,n,Set(CDR(outbound_cnum)=${DEST})
exten => s,n,Set(CDR(userfield)=${ID})
exten => s,n,Playback(${AUDIOFILE})

1 个答案:

答案 0 :(得分:0)

首先,不仅是您将尝试编写自己的拨号核心的问题。 HIGHLY 建议使用已编写的核心/某些开源项目。

可以使用本地/ 频道修正此问题并通过拨号方式拨打电话。这样您就可以获得有关拨号方案的反馈,并可以在通话结束后检查DIALSTATUS变量。

https://wiki.asterisk.org/wiki/display/AST/Local+Channel