【问题标题】:Asterisk determine which phone number was answered when making simultaneous calls?星号确定同时拨打电话时接听了哪个电话号码?
【发布时间】:2015-06-18 04:12:20
【问题描述】:

我正在使用星号同时拨打多个号码的电话

拨号(SIP/XXXXX&SIP/YYYYY&SIP/ZZZZZ)

这将同时拨打所有三个号码,并且首先接听的号码会接通,而其他号码则挂断。

我正在努力解决的问题是,拨号计划中是否有确定哪些号码是接听电话的号码?

更多信息:

发生的情况是通过 SIP 从外部 DID 号码打进来的电话,我在我的数据库中查找并获取系统在上面使用的振铃的号码列表(同样是外部 PSTN 类型的号码)。

XXXX 可以是 0712345678@provider

YYYY 可能是 0412345678@provider

【问题讨论】:

    标签: asterisk


    【解决方案1】:

    您可以使用以下变量来获取该信息:

    ${DIALEDPEERNAME} * Dialed peer name ${DIALEDPEERNUMBER} * Dialed peer number

    第一个将保存所使用的对等方的名称 - 如果您正在拨号到 SIP 设备,那就是您要查找的内容。如果您使用运营商拨号,则需要使用第二个。

    祝你好运。

    【讨论】:

    • 我很快就会给出那个,干杯。会让你知道结果如何。
    【解决方案2】:

    一种方法是查看 CDR 配置和 dstchannel 值,如下所示:

    exten=>h,1,NoOp( -- ${CDR(disposition)} -- ${CDR(dstchannel)} -- )

    【讨论】:

    • 不幸的是,这只是给了我频道标识符,而不是被调用的号码。 NoOp("SIP/*providename*-00000000", " -- NO ANSWER -- SIP/*providename*-00000001 -- ") 我真正希望得到的是 0712345678 或 0412345678
    • 您可以将 U 或 M 添加到拨号选项,一旦呼叫被应答,这会将呼叫移动到您定义的上下文。在那里您可以设置一个变量,并在调用结束后在 exten=>h 中检查它。检查这个例子forums.asterisk.org/viewtopic.php?f=13&t=88570
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 1970-01-01
    • 2016-08-11
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多