0

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

实现通知主叫“用户在第一线通话请稍候或稍后回拨”功能时。使用 Asterisk 中的“呼叫等待”功能,我使用这个宏:

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 - 但不是你不应该,这是一个错误的问题解决方案,因为将来可能会一个问题!

也许有人面临类似的问题?

4

3 回答 3

1

您不需要在 from-internal-custom 上下文中包含部分,因为 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)


于 2016-11-09T12:59:46.463 回答
0

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

对于此类拨号方案的示例,您可以在 freepbx 项目中查看重新计算宏。然而,最简单的方法是使用不同的上下文进行环组/队列和直拨。

于 2016-05-18T14:06:40.863 回答
0

问题在电路中得到解决。由于我们为不超过 250 个成员的电话服务器提供服务,因此决定为组和队列创建一个四位数的号码。

于 2016-05-25T13:11:01.500 回答