sip - Asterisk : originate call doesn't set the CALLERID in the dialplan

标签 sip asterisk

我正在使用 Asterisk PBX 调用软电话,我使用这个命令:“发起 SIP/100 分机 4004”,在拨号方案中,我必须获取 CALLERID 变量,但在这种情况下,它总是空的!

P.S:如果我从软电话(100)调用分机(4004),则设置了 CALLERID,我可以通过以下方式获取它:${CALLERID(num)} .

如何在发起案例中获取来电显示?

最佳答案

当您发起调用时,您可以自己设置调用者 ID。有两种方法可以做到这一点——要么在你自己的发起应用程序中,要么在拨号方案中。下面是一个例子。

Action: Originate
Channel: local/12345@outgoing
Application: Echo
CallerID: Asterisk <12345>

extensions.conf:
[outgoing]
exten => 12345,1,NoOp()
same => n,Verbose(1, Outgoing Caller ID: {$CALLERID(all)})
same => n,Dial(SIP/${EXTEN})
same => n,Hangup()

或者您可以执行以下操作:
exten => 12345,1,NoOp()
same => n,Set(CALLERID(num)=54321)
same => n,Set(CALLERID(name)=Asterisk)
same => n,Verbose(1, Outgoing Caller ID: {$CALLERID(all)})
same => n,Dial(SIP/${EXTEN})
same => n,Hangup()

您应该看到您的调用者 ID 在 AMI 发起中设置,或者,如果您选择在拨号计划中覆盖它,这些值。

如需更多信息,请参阅 Manager Action OriginateCallerID Function .

关于sip - Asterisk : originate call doesn't set the CALLERID in the dialplan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10045451/

相关文章:

java - 如何使用 Android Pjsua 2 暂停和取消暂停视频传输?

linux - Asterisk动态Lua拨号方案

java - 如何使用 Android SIP API 向 SIP 服务器注册 SIP 配置文件?

Asterisk Manager API SIPPeers - 权限被拒绝

sip - SIP VoIP 软件在网络上的合规性如何?

uri - URI 中不同的查询/参数分隔符

Android SipProfile Uri UDP 端口错误

javascript - 使用文本转语音消息发起调用

azure - 在 Windows Azure 上设置 Asterisk 问题并打开端口范围 10000 :20000

android - SIP注册失败