呼叫等待星号中的播放文件

时间:2016-05-18 11:10:35

标签: asterisk telephony freepbx elastix

请帮助解决我最近遇到的问题。

实现通知来电者的功能“用户在第一线通话请稍候或稍后再回电”。使用星号中的“呼叫等待”功能,我使用此宏:

extensions_custom.conf

[from-internal-custom]
exten => _XXX,1,Macro(check-number,${EXTEN})
include => macro-check-number

[macro-check-number]
exten => s,1,NoOp(Enter in macro-check-number)
exten => s,n,Set(devst=${DEVICE_STATE(SIP/${ARG1})})
exten => s,n,ExecIf($["${devst}" = "INUSE"]?Playback(ml))
exten => s,n,NoOp(Exit from macro-check-number)

ml - 播放文件名

此功能有效!

但是这个宏适用于整个Asterisk,这个队列调用,组调用 - 这就是问题所在。

我有一个想法 - 一组调用和队列调用来分配数字四位数扩展,例如:2222 - 但不是你不应该,这是一个错误的解决方案,因为在未来可能是个问题!

也许有人遇到过类似的问题?

3 个答案:

答案 0 :(得分:1)

您不需要在from-internal-custom上下文中包含section 由于extensions_custom.conf文件包含在拨号计划中。

您需要更改扩展模式:

[from-internal-custom]
exten => _99XXX,1,Macro(check-number,${EXTEN:2})

[macro-check-number]
exten => s,1,NoOp(Enter in macro-check-number)
exten => s,n,Set(devst=${DEVICE_STATE(SIP/${ARG1})})
exten => s,n,ExecIf($["${devst}" = "INUSE"]?Playback(ml))
exten => s,n,NoOp(Exit from macro-check-number)


答案 1 :(得分:0)

您已根据拨号方案分析呼叫环境。

有关此类拨号方案的示例,您可以在freepbx项目中看到记录宏。然而,最简单的方法是使用不同的上下文组/队列和直接拨号。

答案 2 :(得分:0)

问题在电路中解决了。 由于我们服务的电话服务器不超过250个成员 - 因此决定为组和队列创建一个四位数字。

相关问题