我正在尝试在 Asterisk 中自动进行呼叫。第一步,我尝试通过 Asterisk CLI 拨打电话。然后我将通过 bash 脚本实现自动化。我想设置callerID并通过SIP Trunk拨打电话。我可以使用以下命令拨打电话。我如何在此命令中设置 callerID。
channel originate SIP/commpeak/${callingNumber}
我尝试了给定的命令,但它没有设置来电显示,但已拨打电话
channel originate SIP/commpeak/yyyyy Application Set(CALLERID(number)=xxxx
您可以通过本地渠道呼叫(通过拨号方案呼叫,而不是 sip)或使用上下文、分机、优先级作为命令的目的地(第二条腿)。
cli 上的频道发起命令不允许设置呼叫者 ID,您显示的命令示例的工作原理如下:
星号用
SIP/commpeak/yyyyy
发起一个频道,并在频道被应答后开始“拨号”该频道,然后执行 Application
选项。因此,执行该操作后,不允许在频道发起之前设置呼叫者 ID。
正如@arheops所说,您可以使用originate cli命令:
channel orignate Local/yyyy@context application Echo
在您的
extensions.conf
文件中,您必须创建一个上下文(拨号计划)来定义要执行的规则/步骤,例如:
[context]
exten=> _X.,1,Set(CALLERID(num)=xxxxx)
same=> n,Dial(SIP/commpeak/${EXTEN},35,rT)
same=> n,Hangup
还有另一种方式使用
Originate
方法,如AMI
(Asterisk Manager Interface)服务、call
文件等
希望这能让人一目了然