Asterisk 带M或U选项静音呼叫的星号拨号命令

Asterisk 带M或U选项静音呼叫的星号拨号命令,asterisk,amd,dialplan,Asterisk,Amd,Dialplan,我想用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,

我想用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\u 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.
MACRO\u RESULT-如果设置,则将在宏完成执行后执行此操作。
中止-挂断呼叫的两个分支
拥塞-表现为遇到线路拥塞
忙碌-表现为遇到忙碌信号
继续-挂断被叫方并允许被叫方以下一优先级继续拨号计划执行
转到:[[^]^]-将呼叫转移到指定的目标。
所以你有两个选择

  • 在宏中执行AMD,如果不适合您(机器或其他),请将宏结果设置为繁忙或拥塞
  • 在B段拨号计划中执行AMD(不使用宏),如果可以,请拨打代理
大多数拨号器使用第二个选项,因为它更容易监控

您可以阅读开源拨号程序代码,如vicidial或wombat。你也可以授权某人使用内核


PS写你自己的核心有很多问题。

伙计,非常感谢!我会试试你对拨号器的建议看看!