代码之家  ›  专栏  ›  技术社区  ›  JustLogin

在Asterisk中创建两个具有相同regexp和优先级的外部行

  •  0
  • JustLogin  · 技术社区  · 12 年前

    我正在运行Asterisk 11.4.0,我需要做一个功能:当我呼叫与特定掩码匹配的号码时,可以使用2(或3)条外部线路中的一条,因此每次呼叫的线路必须随机选择。

    例如,我有A行和B行,我有数字掩码_XXXX。这意味着,当我拨打一个与这个掩码匹配的号码时,它必须随机使用a或B线。

    我可以在拨号计划中创建规则:

    exten => _XXXX,1,Dial(SIP/${EXTEN}@A,30,r)
    

    星号拒绝创建行:

    exten => _XXXX,1,Dial(SIP/${EXTEN}@B,30,r)
    

    如何对此功能进行编码?

    1 回复  |  直到 12 年前
        1
  •  2
  •   ederwander    12 年前

    您不能使用相同的扩展名和相同的优先级。

    通常,外线(FXO,E1)被放在一个组中,您可以在拨号计划中呼叫这个组。

    但您可以使用RAND函数执行以下拨号计划:

    exten => _XXXX,1,Goto(${RAND(2,3)})
    exten => _XXXX,2,Dial(SIP/${EXTEN}@A,30,r)
    exten => _XXXX,3,Dial(SIP/${EXTEN}@B,30,r)
    

    RAND函数将随机选择优先级为2或3