为什么星号执行错误的挂断?

时间:2014-02-20 17:39:34

标签: asterisk

[contextall]

include => context5xx
include => context8xx

[context5xx]

exten => _5xx,1,Verbose(3,Call in context5xx)
same => n,Hangup()

exten => h,1,Verbose(3,Executing hangup in 5xx)


[context8xx]

exten => _8xx,1,Verbose(3,Call in context5xx)
same => n,Hangup()

exten => h,1,Verbose(3,Executing hangup in 8xx)

当我在5xx系列中调用任何扩展程序时,它会执行5xx挂起优先级并且呼叫已断开连接。

但是当我在8xx系列中调用任何扩展名时,再次执行5xx挂起优先级并且呼叫被断开,而我想执行相同的挂断优先级上下文即context8xx

我做错了吗?

1 个答案:

答案 0 :(得分:1)

是的,你不明白如何包含作品。

以上所有内容如下:

[contextall]

exten => _5xx,1,Verbose(3,Call in context5xx)
same => n,Hangup()
exten => _8xx,1,Verbose(3,Call in context5xx)
same => n,Hangup()

exten => h,1,Verbose(3,Executing hangup in 5xx)

exten => h,1,Verbose(3,Executing hangup in 8xx)

所以是的,它将首先执行包含h-extension。 如果你想让它像你描述的那样工作,你可以用goto

开始它
[context8xx]

exten => _8xx,1,Goto(${EXTEN},2)
same => n,Verbose(3,Call in context5xx)
same => n,Hangup()

exten => h,1,Verbose(3,Executing hangup in 8xx)

但真正正确的方法 - 将拨号方案重写为星号方式。你只是想错了。