| 1 | = SIP прокси-сервер в плате VE-01 = |
| 2 | |
| 3 | Эта статья описывает различия в архитектуре и функционировании платы VE-01 до и после появления в ней встроенного SIP прокси-сервера. |
| 4 | |
| 5 | == Различия в архитектуре == |
| 6 | |
| 7 | До появления встроенного SIP прокси-сервера плата VE-01 представляла собой VoIP шлюз, транслировавший вызовы из сети TDM в сеть IP и из сети IP в сеть TMD: |
| 8 | |
| 9 | [[Image(wiki:VeSipProxy:arch-old.png)]] |
| 10 | |
| 11 | Вызовы из сети IP поступали непосредственно в шлюз и транслировались в TDM. |
| 12 | |
| 13 | Наличие встроенного SIP registrar позволяет плате направлять вызовы в сеть IP используя не только статические адреса, но и динамические контакты SIP UA, получаемые в процессе регистрации. |
| 14 | |
| 15 | Начиная с ревизии !r22 в программном обеспечении платы VE-01 появился встроенный SIP-прокси сервер. При этом SIP шлюз перемещен на IP адрес/порт 127.0.0.1:6060. Таким образом, шлюз скрыт от внешнего мира и получает SIP сообщения только через прокси-сервер: |
| 16 | |
| 17 | [[Image(wiki:VeSipProxy:arch-new.png)]] |
| 18 | |
| 19 | Так как шлюз теперь получает и отправляет SIP сообщения только через SIP прокси, ему не требуются разные типы транспорта, между шлюзом и SIP прокси всегда используется транспорт UDP. В то же время SIP прокси имеет SIP транспорты разных типов. |
| 20 | |
| 21 | При получении SIP сообщения для локального домена, каковыми по умолчанию считаются публичный IP адрес платы VE-01 (212.33.12.1 на рисунке выше) и адрес 127.0.0.1, SIP прокси сначала проверяет, имеется ли пользователь из request URI запроса в списке SIP пользователей (список пользователей задается при конфигурации платы). Если пользователь найден в списке, прокси форвардит сообщение пользователю в соответствии с его контактами (если пользователь зарегистрирован на SIP REGISTRAR) или возвращает ответ с кодом 480 (если пользователь не зарегистрирован). Если же пользователь из request URI отсутствует в списке пользователей, прокси-сервер форвардит сообщение SIP шлюзу на адрес/порт 127.0.0.1:6060. |
| 22 | |
| 23 | == Различия в функционировании == |
| 24 | |
| 25 | Здесь рассмотрены различные типовые варианты использования платы VE-01 с и без встроенного SIP прокси. |
| 26 | |
| 27 | === Локальные вызовы === |
| 28 | |
| 29 | Благодаря наличию встроенного SIP прокси появилась возможность вызова одного SIP-пользователя другим SIP-пользователем без участия шлюза, а следовательно, без занятия для таких вызовов телефонных каналов TDM-сети. Так, раньше чтобы дать возможность двум IP телефонам, зарегистрированным в плате VE-01, вызывать друг друга, необходимо было на стороне TDM организовать пучки соединительных линий, замкнутые друг на друга (например два транка ISDN PRI): |
| 30 | |
| 31 | [[Image(wiki:VeSipProxy:call-1.png)]] |
| 32 | |
| 33 | Вызов от одного IP телефона проходит через шлюз в сеть TDM и передается в транк PRI1. Благодаря организованному замыканию вызов поступает обратно в шлюз через транк PRI2, транслируется шлюзом обратно в сеть IP и поступает на второй IP телефон. |
| 34 | |
| 35 | Наличие SIP прокси меняет описанную выше схему прохождения вызова: |
| 36 | |
| 37 | [[Image(wiki:VeSipProxy:call-2.png)]] |
| 38 | |
| 39 | Вызов, поступающий от первого абонента, перенаправляется SIP прокси-сервером непосредственно другому абоненту. Медиапоток RTP передается непосредственно между телефонами-участниками разговора. Таким образом, SIP шлюз и сеть TDM никак не задействованы в процессе обработки такого вызова, что минимизирует нагрузку на ресурсы аппаратуры. |
| 40 | |
| 41 | === Равноправие TDM и SIP абонентов === |
| 42 | |
| 43 | Благодаря тому, что любой вызов проходит через SIP прокси, появилась возможность единообразно работать как с TDM-окончаниями, так и в SIP-абонентами. Например, использовать различные виды ДВО (переадача вызова, переадресация, объединение в трехстороннюю конференцию и т.п.), что раньше в полном объеме поддерживалось только для канальных окончаний TDM. |
| 44 | |
| 45 | === Формирование CDR === |
| 46 | |
| 47 | Одновременно с появлением встроенного SIP прокси-сервера функция генерации [wiki:CDR] перенесена из шлюза в SIP прокси, а сами записи CDR теперь "привязаны" не к канальному окончанию шлюза, а к конкретному вызову. Этим достигнуто две цели: |
| 48 | |
| 49 | * для одного вызова генерируется одна запись CDR, даже если вызов, пришедший из сети TDM, направлен в другое канальное окончание TDM, то есть прошел через шлюз дважды (ранее для таких вызовов генерировалось сразу две записи); |
| 50 | |
| 51 | * генерируются CDR для вызовов между двумя SIP абонентами, например SIP-телефонами, регистрирующимися на плате VE-01 (ранее для таких вызовов записей CDR не формировалось). |
| 52 | |
| 53 | Теперь в каждой записи CDR содержится два поля типа окончания - одно для вызывающего абонента, и одно для вызываемого. Если абонент находится в сети TDM, это поле содержит тип канального окончания шлюза. Если абонент находится в сети IP, поле типа содержит пустую строку. |