NodeJS 使用Asterisk上的自定义呼叫者ID发起呼叫

tyu7yeag  于 2023-04-05  发布在  Node.js
关注(0)|答案(2)|浏览(213)

尝试使用NodeJS制作一个简单的拨号器。想要使用AMI使用originate命令启动呼叫,然后将此呼叫移动到队列中。星号负责其余部分。使用以下命令,我可以做我想要的,但问题是CallerID参数不起作用。
我设置了中继的callerid,当我尝试进行manuel出站呼叫时。它的工作但不工作originate命令。我如何才能使其工作?它不是首选的配置文件,但我们可以编辑它们,如果必要的话。

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+'>'}

频道:'PJSIP/number@ trunkname',分机:1099,上下文:'ext-queues',优先级:1,Async:'false' ActionID:'123',CallerID:9876543210

gopyfrb3

gopyfrb31#

星号操作发起方具有文档中描述的CallerID字段
https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+ManagerAction_Originate
请注意,您正在使用的库可以使用其他变量表示法,请参阅源代码。
但是,强烈建议不要编写自己的拨号器核心,在负载下会有许多其他问题。检查已经创建的变体。

wxclj1h5

wxclj1h52#

要在出站呼叫上显示正确的呼叫者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+'>'}

相关问题