Asterisk

匹配星號撥號方案中的分機號中的 2 個號碼

  • September 5, 2011

有沒有一種簡單的方法來匹配這樣的東西:

exten => _+380XXXXXXXXX,1,NoOp(hint that)
exten => _0XXXXXXXXX,1,NoOp(hint that)

這兩個擴展匹配帶有或不帶有 +38 前綴的相同號碼。有什麼規則可以這樣_[(+38)]0XXXXXXXX說嗎?

AFAIK Asterisk 不提供可以適應這種情況的撥號計劃匹配語法(FreeSWITCH提供)。

您必須對號碼進行清理,以便您可以在撥號計劃的下方以規範格式匹配它。我認為這樣的事情可能對你有用:

[dialplan]
exten => _+380XXXXXXXXX,1,Goto(dialplan,${EXTEN:3:10},1)

這樣,您可以將國際 +380XX..XX 號碼轉換為國家(?) 0XX..XX 格式,然後只使用一個匹配項。(前段時間我切換到 FreeSWITCH 時,我自己沒有嘗試過這個例子,但它應該給你一個提示,你需要做什麼)。

編輯添加:

顯然,如果您想使用國際格式作為您的規範數字格式,您也可以做相反的事情:

[dialplan]
exten => _0XXXXXXXXX,1,Goto(dialplan,+38${EXTEN},1)

引用自:https://serverfault.com/questions/307113