【问题标题】:add prefix to asterisk inbound trunk on certain conditions在某些条件下为星号入站中继添加前缀
【发布时间】:2016-05-26 04:18:13
【问题描述】:

任务很简单,但我还没弄明白。

一个中继线在德国有一个本地号码.. 因此,如果来自德国的人拨打 CID 是没有国家代码的号码。 但是如果有人从外面打来电话,国家代码会附带 CID(如果您位于德国境内,这完全可以)

我的拨出规则是使用国家代码 0049 来选择呼叫来自的 voip 中继。 但由于 0049 不用于呼入电话.. 它永远不会被选中.. 你必须手动编辑号码(这对模拟电话来说很痛苦)并且经常被错误地忘记。

是否有可能对入站 CID 进行简单改造

像这样:

  • 如果入站 CID 是 _00。然后将 CID 转发到响铃组
  • 如果入站 CID 为 _0Z。然后从原始 CID 中删除第一个数字(0),前缀 0049 并发送到响铃组。

知道怎么做吗?

【问题讨论】:

    标签: asterisk


    【解决方案1】:

    将您的主干路由到自定义启动上下文并在那里进行规范化。示例:

    [globals]
    LOCAL_PREFIX=511  ; Hannover local prefix for example
    
    ; trunk A starts here
    [inbound_trunk_A]
    ; 123 is your extension, everything after "/" is an extension filter on CALLERID(num)
    exten => 123/_00X.,1,NoOp(CallerID is just fine)
    exten => 123/_0ZX.,1,Set(CALLERID(num)=0049${CALLERID(num):1})
    exten => 123/_ZX.,1,Set(CALLERID(num)=0049${LOCAL_PREFIX}${CALLERID(num)})
    ; after CallerID normalization, jump to the real context
    exten => 123,2,Goto(real_context,${EXTEN},1)
    
    ; all other trunks start here
    [real_context]
    exten => 123,1,DoRingGroupStuff()
    

    【讨论】:

    • 那太好了(抱歉回复晚了)...我怎么把这个规则“绑定”到某个 Trunk 上(入站)?
    • @Nullx8 via contexts .. 将此特定主干路由到特定上下文并在那里进行规范化...我将更新我的帖子以反映我的意思。
    • 我确实像这样添加它 exten=s/_0ZX.,2,Set(CALLERID(num)=0049${${CALLERID(num)}:1}) 但它确实改变了数字到 JUST "0049" .. 这很奇怪
    • one $ too much this did it .. exten=s/_0ZX.,2,Set(CALLERID(num)=0049${CALLERID(num):1}) 现在从德国干线呼叫正确标记了德国国家代码,非常感谢您的提示
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 2019-11-03
    相关资源
    最近更新 更多