尝试用 NodeJS 做一个简单的拨号器。想要使用 AMI 通过 originate 命令开始呼叫,然后将此呼叫移至队列。 Asterisk 负责剩下的工作。使用以下命令,我可以做我想做的,但问题是 CallerID 参数不起作用。
我设置了trunk的callerid,当我尝试拨打manuel出站电话时。它的工作但不工作起源命令。我怎样才能使这项工作?不喜欢玩配置文件,但如果需要我们可以编辑它们。
ami.action('Originate',{
Channel: 'PJSIP/'+req.params.callee+'@'+req.params.caller,
Exten: req.params.ext,
Context: 'ext-queues',
Priority: 1,
Async: 'false',
Variable: req.params.actid,
ActionID:req.params.actid,
CallerID:req.params.callee+' <'+req.params.callee+'>'}
Channel: 'PJSIP/number@trunkname', 扩展:1099, 上下文:'分机队列', 优先级:1, 异步:“假” 动作 ID:'123', 来电显示:9876543210
Asterisk action Originate 具有 CallerID 字段,如文档中所述
https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+ManagerAction_Originate
注意,您使用的库可以使用其他变量表示法,请查阅源代码。
但是强烈不建议编写自己的拨号器核心,在负载下会有许多其他问题。检查已经创建的变体。
要在呼出电话上显示正确的呼叫者 ID,您需要在发起操作上设置
connectedline
变量
ami.action('Originate',{
Channel: 'PJSIP/'+req.params.callee+'@'+req.params.caller,
Exten: req.params.ext,
Context: 'ext-queues',
Priority: 1,
Async: 'false',
Variable: 'actid='+req.params.actid+',CONNECTEDLINE(all,i)='+req.params.callee+' <'+req.params.callee+'>',
ActionID:req.params.actid,
CallerID:req.params.callee+' <'+req.params.callee+'>'}
我和你有同样的问题,你解决了吗?你能开源你的代码吗?非常感谢