Преобразование номера
Для преобразования номеров в AddPac существует несколько инструментов. Наиболее популярный из них т.н. правила преобразования «translation-rule». Возможно как полное, так и частичное преобразование номера. Ниже рассмотрены некоторые примеры использования правил трансляции.
Для создания правил преобразования номера необходимо:
- Создать группу правил и присвоить группе №:
translation-rule <№ группы> - В группе создать 1 или несколько правил:
rule <№ правила> <исходные цифры телефонного номера> <результат преобразования телефонного номера> - Проверка правила преобразования номера:
show translation-rule <№ группы> < исходные цифры телефонного номера >
Используемые символы:
0-9 | Соответствующие цифры |
# | Символ «#» |
* | Символ «*» |
ABCD | Соответствующие тоны |
[ ] | Указание используемых цифр, в каждой позиции телефонного номера. Например: [5,9]T означает что номер, начинается с цифр 5 или 9. |
. | Любой символ. Например: «…» означает номер, состоящий из 3х и более символов |
F | Строгое соответствие. Например: «…F» означает номер, состоящий из трех символов. |
T | Любая последовательность цифр, в т.ч. отсутствие цифр в номере абонента. |
! | Hook-flash. |
% | Порядковый номер цифры в исходном номере. Например: исходный номер 345, необходимо поменять местами первую и вторую цифру номера. Правило %02%01%03 изменит номер на 435. |
Пример 1
Преобразование номера «193» в «7892341»
translation-rule 1 — создать группу правил № 1
rule 0 193F 7892341 — в группу добавить правило № 0
rule 0 193F 7892341 — в группу добавить правило № 0
В данном случае символ «F» означает строгое соответствие, т.е. правило будет действовать только для номера «193». Если же исходный номер будет «19377», то преобразовываться он не будет.
show translation-rule 1 193 — проверка преобразования номера
The translation result is (7892341) — результат преобразования
show translation-rule 1 1934
The translation result is (1934)
The translation result is (7892341) — результат преобразования
show translation-rule 1 1934
The translation result is (1934)
Пример 2
Преобразование любого номера в «789234100»
translation-rule 1
rule 0 T 789234100%98
rule 0 T 789234100%98
Пример 3
Преобразование номеров, начинающихся с цифры «9» в номер «7892341»
translation-rule 1
rule 0 9T 7892341%98
rule 0 9T 7892341%98
Пример 4
Исключение первой цифры для всех номеров, начинающихся на «9»
translation-rule 1
rule 0 9T T
rule 0 9T T
Пример 5
Добавление к любому номеру цифр «810»
translation-rule 1
rule 0 T 810T
rule 0 T 810T
Пример 6
Исключение первых трех цифр из одиннадцатизначного номера
translation-rule 1
rule 0 ………..F %03%04%05%06%07%08%09%10%11
rule 0 ………..F %03%04%05%06%07%08%09%10%11
%03 — означает что необходимо подставить третью цифру исходного номера
Пример 7
Добавление к семизначному номеру цифр «8100»
translation-rule 1
rule 0 …….F 8100T
или
rule 0 …….F 8100…….
rule 0 …….F 8100T
или
rule 0 …….F 8100…….
Пример 8
Добавление цифр «8100» к семизначному номеру, начинающемуся на «1», в котором вторая цифра = «1» или «3» или «5»
translation-rule 1
rule 0 1[135]…..F 8100T
rule 0 1[135]…..F 8100T
Используя правила преобразования, возможно менять как номер вызываемого абонента, так и номер вызывающего абонента.
Пример 9
Преобразование номера «193» в «7892341»
translation-rule 1
rule 0 193F 7892341
rule 0 193F 7892341
После создания правила, необходимо применить его к dial-peer. Допустим необходимо преобразовать номер вызываемого абонента на вызывающей стороне, по схеме указанной ранее («193» в «7822341»):
dial-peer voice 10 voip
destination-pattern 193F
session target 10.0.10.1
translate-outgoing called-number 1
destination-pattern 193F
session target 10.0.10.1
translate-outgoing called-number 1
В данном случае вызывающий абонент набирает номер «193». AddPac, в соответствии с алгоритмами выбора dial-peer, выбирает «dial-peer voice 10 voip» применяет правило преобразования к номеру вызываемого абонента и отправляет вызов на адрес 10.0.10.1, номер телефона «7822341».
Пример 10
Преобразование номера «551» в «3333333»
translation-rule 1
rule 0 551F 333333
rule 0 551F 333333
После создания правила, необходимо применить его к dial-peer. Допустим необходимо преобразовать номер вызывающего абонента («calling number»/«АОН») на вызывающей стороне, по схеме указанной ранее («551» в «3333333»):
dial-peer voice 10 voip
destination-pattern 193F
session target 10.0.10.1
translate-outgoing calling-number 1
destination-pattern 193F
session target 10.0.10.1
translate-outgoing calling-number 1
В данном случае вызывающий абонент набирает номер «193». AddPac, в соответствии с алгоритмами выбора dial-peer, выбирает «dial-peer voice 10 voip» и отправляет вызов на адрес 10.0.10.1, номер телефона «193», при этом, если номер вызывающего абонента («calling number»/«АОН») равен «551» преобразует его в «333333».
Пример 11
Преобразование любого номера вызывающего абонента («calling number»/«АОН») в «113» на вызываемой стороне
translation-rule 1
rule 0 T 113%98
rule 0 T 113%98
После создания правила, необходимо применить его к dial-peer voip:
dial-peer voice 10 voip
destination-pattern 193F
session target 10.0.10.1
translate-outgoing calling-number 1
destination-pattern 193F
session target 10.0.10.1
translate-outgoing calling-number 1
В данном случае вызывающий абонент набирает номер «193». AddPac, в соответствии с алгоритмами выбора dial-peer, выбирает «dial-peer voice 10 voip» и отправляет вызов на адрес 10.0.10.1, номер телефона «193», при этом, любой номер вызывающего абонента«551» преобразуется в «113».
Допускается совместное использование правил преобразования вызывающего абонента («calling number»/«АОН») и вызываемого абонента («called number»/«набранный номер»). В одной группе правил преобразования номера может быть объединено до 65535 правил. Количество групп правил преобразования номера ограничено 65535.
Пример 12
В случае применения правила к dial-peer pots номер будет преобразовываться на вызываемой стороне аналогично приведенным выше примерам.
translation-rule 1
rule 0 T 113%98
rule 0 T 113%98
После создания правила, необходимо применить его к dial-peer voip:
dial-peer voice 10 pots
destination-pattern 193F
voice-port 0/0
translate-outgoing called-number 1
destination-pattern 193F
voice-port 0/0
translate-outgoing called-number 1
В данном случае, если AddPac примет вызов на номер «193», после применения правила преобразование, в телефонную сеть будет набран номер «113».
Аналогично примеру 12 преобразуется и номер вызывающего абонента на вызываемой стороне.
Пример 13
В некоторых случаях правило преобразования номера, применяется к порту, а не к dial-peer. Например в зависимости от порта, необходимо менять логику маршрутизации или выбора кодека.
Добавление префикса к исходному номеру
translation-rule 1
rule 1 T 3T
translation-rule 2
rule 1 T 2T
rule 1 T 3T
translation-rule 2
rule 1 T 2T
Удаление префикса из исходного номера
translation-rule 3
rule 1 3T T
translation-rule 4
rule 1 2T T
rule 1 3T T
translation-rule 4
rule 1 2T T
Применение правил добавление префикса к портам шлюза
voice-port 0/0
translate-incoming called-number 1
voice-port 0/1
translate-incoming called-number 2
translate-incoming called-number 1
voice-port 0/1
translate-incoming called-number 2
Настройка выбора маршрута в зависимости от префикса и применение правила перобразования (удаление префикса из исходного номера)
dial-peer voice 100 voip
destination-pattern 3T
session target sip-server1
session protocol sip
codec g.711
translate-outgoing called-number 3
destination-pattern 3T
session target sip-server1
session protocol sip
codec g.711
translate-outgoing called-number 3
dial-peer voice 101 voip
destination-pattern 2T
session target sip-server2
session protocol sip
codec g.729
translate-outgoing called-number 4
destination-pattern 2T
session target sip-server2
session protocol sip
codec g.729
translate-outgoing called-number 4
В данном примере, все вызовы с порта 0/0 маршрутизируются на sip-server1, а с порта 0/1 — на sip-server2.