在 Asterisk 上使用带有自定义来电显示的 Originate 开始呼叫

问题描述 投票:0回答:3

尝试用 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

node.js asterisk asteriskami
3个回答
0
投票

Asterisk action Originate 具有 CallerID 字段,如文档中所述

https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+ManagerAction_Originate

注意,您使用的库可以使用其他变量表示法,请查阅源代码。

但是强烈不建议编写自己的拨号器核心,在负载下会有许多其他问题。检查已经创建的变体。


0
投票

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

0
投票

我和你有同样的问题,你解决了吗?你能开源你的代码吗?非常感谢

© www.soinside.com 2019 - 2024. All rights reserved.