星号拨号命令与 M 或 U 选项静音呼叫



我正在尝试将AMD与DAHDI中继一起使用。

我将宏放在默认拨号上,但这会使通话静音。

如何执行 AMD?

如果我的代码正确,如何启用声音(无静音呼叫(?

提前谢谢。

[macro-amd-detect]
exten=> s,1,Answer()
exten=> s,n,NoOp("AMD Detect Invocado")
exten=> s,n,AMD()
exten=> s,n,NoOp(${AMDSTATUS})
[macro-dialout-trunk]
exten => s,n,Dial(${OUT_${DIAL_TRUNK}}/${OUTNUM},${TRUNK_RING_TIMER},M(amd-detect))

您应该了解星号通道的工作原理。

它有两条腿。

一条腿正在呼叫一个(A(,另一个(B(可以转到拨号计划和/或呼叫者。

当 A 腿报告回答时,它转到 B 并桥接

调用中宏做什么。它延迟桥接,而是执行您的操作(是的,可以是包括AMD在内的任何操作(。当操作结束时,它会检查状态和桥接,除非您设置了退出变量MACRO_RESULT

MACRO_RESULT - If set, this action will be taken after the macro finished executing.
    ABORT - Hangup both legs of the call
    CONGESTION - Behave as if line congestion was encountered
    BUSY - Behave as if a busy signal was encountered
    CONTINUE - Hangup the called party and allow the calling party to continue dialplan execution at the next priority
    GOTO:[[<CONTEXT>^]<EXTEN>^]<PRIORITY> - Transfer the call to the specified destination.

所以你有两个选择

  • 在宏中做AMD,如果不适合你(机器或其他东西(,MACRO_RESULT设置为繁忙或拥塞
  • 在B腿拨号计划中做AMD(不使用宏(,如果适合您,请拨打代理。

大多数 dialler 使用第二种选择,因为它更容易监测。

你可以阅读开源的diallers代码,如vicidial或wombat。您还可以许可某人核心。

PS 编写自己的核心确实存在很多问题。

相关内容

  • 没有找到相关文章

最新更新