【问题标题】:Changing the caller number in an incoming call in asterisk更改来电中的来电号码(星号)
【发布时间】:2014-07-03 14:11:19
【问题描述】:

我正在使用星号。我有 DID,其中映射了 4 个号码(存储在我的数据库中),因此当用户呼叫该 DID 号码时,呼叫将被转发到该号码上映射的任何一个号码。 我的问题是,当用户呼叫 DID 时,四个执行人员之一收到来自 DID 号码而不是用户号码的呼叫。这是我的拨号计划代码的一部分,呼叫从另一个上下文(下面未给出)路由到直接上下文

[direct]
exten => start,1,noop(######START######)
same => n,mysql(Query resultid ${connid} SELECT number from database);;;DDDDDD
same => n,MYSQL(Fetch fetchid ${resultid} number )
same => n,mysql(clear ${resultid})
same => n,set(__NUMBER=${number})
same => n,dial(DAHDI/g0/0${NUMBER},20,mM(ANSWEREDED))


[macro-ANSWEREDED]
exten => s,1,noop(CALL_ANSWERED)
exten => s,n,Mixmonitor(/recordings/record.wav)

如何将行政号码(DID上映射的号码)上闪烁的号码更改为来电号码? 提前致谢。

【问题讨论】:

    标签: asterisk voip ivr


    【解决方案1】:

    1) 每本星号书都有示例。不看书就做星号编码 - 不是个好主意

    2) callerid 可以这样设置

    same => n,set(__NUMBER=${number})
    same => n,set(CALLERID(num)=123445678)
    same => n,dial(DAHDI/g0/0${NUMBER},20,mM(ANSWEREDED))
    

    3) 如果您使用 pstn dahdi 连接(FXO 卡),那将无法正常工作。如果您使用数字连接,如果提供商支持,它可以工作。

    4) 不推荐使用 app_mysql。使用 func_odbc 或实时。

    5) 在 on-call 宏中使用 mixmonitor 是非常糟糕的做法。在调用前使用带有“b”选项的 mixmonitor。

    【讨论】:

    • 感谢 arheops,我正在使用pstn dahdi connection,我已经尝试了上面的代码,但它无法像你说的那样工作(它不适用于 pstn dahdi 连接)但我已经在拨出电话中使用调用文件,它在那里工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    相关资源
    最近更新 更多