Changes between Version 3 and Version 4 of VeSipRouting


Ignore:
Timestamp:
Oct 4, 2017, 12:24:14 PM (7 years ago)
Author:
alx
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • VeSipRouting

    v3 v4  
    11= Функция маршрутизации SIP в плате VE-01 =
    22
    3 == Описание функции ==
    4 
    5 Плата VE-01 содержит в себе шлюз, позволяющий работать с различными типами канальных окончаний. Среди них есть канальные окончания (например R2, 1IND, FXS, PRI), которые могут принимать со стороны канала TDM вызовы, адресованные множеству разных абонентов - номер вызываемого абонента передается в соответствии с используемым протоколом сигнализации. Вызов, полученный от канала TDM, превращается шлюзом в сообщение INVITE и направляется хосту, на котором зарегистрировано канальное окончание (предполагается, что это телефонный коммутатор).
    6 
    7 Рассмотрим пример такой схемы:
    8 
    9 [[Image(dia1.png)]]
    10 
    11 В этой схеме канальное окончание PRI платы VE-01 регистрируется на АТС 10.0.0.1 как шлюз и все вызовы, поступающие по линии ISDN PRI, направляются в эту АТС.
    12 
    13 Но что делать, если требуется, например, вызовы абонентов, номера которых начинаются с цифры 1, направлять в одну АТС, вызовы абонентов, номера которых начинаются с цифры 9 - в другую АТС, а все остальные вызовы - в третью? В этом случае поможет функция маршрутизации SIP.
    14 
    15 Прокси-сервер платы VE-01 имеет таблицу маршрутов SIP. Каждый маршрут состоит из двух основных частей - регулярного выражения, на совпадение с которым проверяется цель (target) запроса SIP, и строки, которой заменяется цель в случае совпадения. Благодаря этому механизму можно организовать желаемую схему подключения:
    16 
    17 [[Image(dia2.png)]]
    18 
    19 В этой схеме канальное окончание PRI регистрируется на АТС3 с адресом 10.0.0.3, которая является получателем вызовов по умолчанию. Для вызовов абонентов, номера которых начинаются с цифры 1, создается маршрут, заменяющий в цели адрес 10.0.0.3 на адрес 10.0.0.1. Для номеров, начинающихся с цифры 9, создается аналогичный маршрут, заменяющий адрес на 10.0.0.2.
    20 
    21 == Конфигурация ==
    22 
    23 Поддержка загрузки таблицы маршрутизации SIP в плату VE-01 появилась начиная с прошивки версии 31. В веб-интерфейсе конфигурации платы VE-01 имеется вкладка "Маршруты SIP":
    24 
    25 [[Image(ss1.jpg)]]
    26 
    27 На этой вкладке отображается таблица маршрутов, содержащая регулярное выражение URI, замену URI и комментарий. Также для случаев, когда требуется определенный порядок проверки маршрутов, у каждого маршрута имеется поле "Порядок", значение которого определяет приоритет маршрута: проверки выполняется в порядке возрастания значения. Для добавления маршрутов в таблицу служит кнопка "Добавить маршрут" над таблицей. Также для каждого маршрута в таблице имеются кнопки "Редактировать маршрут" и "Удалить маршрут".
    28 
    29 В данном примере в таблице маршрутизации установлено два маршрута. Первый маршрут имеет регулярное выражение `^sip:(1.*)@10.0.0.3`, которому удовлетворяют SIP URI, имя пользователя которых начинается с цифры 1, а имя хоста - "10.0.0.3". Имя пользователя в этом выражении заключено в круглые скобки для того чтобы подставить его в новый URI в процессе замены. В качестве замены в этом маршруте указана строка `sip:\1@10.0.0.1`. Вместо имени пользователя в этом URI стоит комбинация "\1", предписывающая подставить вместо нее подстроку, соответствующую фрагменту регулярного выражения, заключенного в круглые скобки.
    30 
    31 Рассмотрим пример. Канальным окончанием PRI принят вызов номера 143. Шлюз формирует сообщение INVITE с URI "sip:143@10.0.0.3". Прокси сервер платы VE-01, получив это сообщение, последовательно проверяет URI "sip:143@10.0.0.3" на совпадение с регулярными выражениями маршрутов из таблицы маршрутизации. При проверке регулярного выражения `^sip:(1.*)@10.0.0.3` будет обнаружено совпадение. Прокси сервер заменит исходный URI в сообщении INVITE на URI из найденного маршрута, подставив на место "\1" исходное имя пользователя. На этом поиск в таблице маршрутизации будет закончен, и сообщение INVITE будет направлено на URI "sip:143@10.0.0.1".
    32 
    33 Аналогичным образом таблицу маршрутов можно использовать для модификации имени пользователя. Например, для удаления префикса "9" можно создать маршрут с регулярным выражением `^sip:9(.*)` и заменой URI `sip:\1`.
     3Статья перенесена в другой проект: ve:FunctionsSipRouting