Asterisk 无法使用ARI设置callerID

Asterisk 无法使用ARI设置callerID,asterisk,Asterisk,我在Asterisk 14上使用ari4java开发了一个java静态应用程序。它通常工作得很好。我现在正在尝试接收一个外部呼叫并将其转发出去。我做以下事情 来电进入停滞期 架桥 将第一个呼叫(频道)添加到网桥 创建频道 将第二个通道添加到桥接器 拨号(第二个“本地/2601”,30) 无论我怎么做,第二个出站呼叫都会使被叫方摆脱第一个入站呼叫。对于许多调用,这实际上是可以的,但在本例中,我想设置另一个callerId 在Dial()之前,我尝试设置channelvar(CALLERID(num

我在Asterisk 14上使用ari4java开发了一个java静态应用程序。它通常工作得很好。我现在正在尝试接收一个外部呼叫并将其转发出去。我做以下事情

  • 来电进入停滞期
  • 架桥
  • 将第一个呼叫(频道)添加到网桥
  • 创建频道
  • 将第二个通道添加到桥接器
  • 拨号(第二个“本地/2601”,30)
  • 无论我怎么做,第二个出站呼叫都会使被叫方摆脱第一个入站呼叫。对于许多调用,这实际上是可以的,但在本例中,我想设置另一个callerId

    在Dial()之前,我尝试设置channelvar(CALLERID(num)),我可以在来自Asterisk的所有事件中看到这个值。但是一旦SIP呼叫被接通,就没有我被叫人的迹象


    我怀疑是ari4java做错了什么,因为我在所有“拨号”事件中都看到了callerID。我想我可以在sip.conf中强制调用一个callerID,但也做不到。

    请从星号控制台添加日志可以在这里找到日志文件:如果在Dial()命令ari.channels()setChannelVar(secondChId,“SIPFROMUSER”,“22113344”)之前运行了这些命令;ari.channels().setChannelVar(secondChId,“SIPFROMDOMAIN”,“Teletopia.no”);ari.channels().setChannelVar(secondChId,“CALLERID(num)”,“22113366”);ari.channels().setChannelVar(secondChId,“CALLERID(name)”,“Teletopia TeleTorg1”);这两个号码都可以在附加的日志中看到,但在SIP消息中看不到。因此,您要显示的呼叫者id和实际看到的呼叫者id是什么?我希望看到SIPFROMUSER或我设置的CALLERID(num),不确定哪一个与本例相关,但我看到的是第一个传入呼叫的CALLERID。我在某个地方读到Asterisk将callId信息从一个呼叫复制到另一个呼叫(对于转接/转发场景),但我不明白为什么我不能覆盖它。