В этом материале мы рассмотрим особенности подключения и настройки VoIP шлюза (SIP шлюза). Разбирать все нюансы будем на примере аналоговых VoIP шлюзов с портами FXS/FXO.
Очень распространенная ситуация, когда в компании с аналоговой внутренней телефонной сетью есть филиал или несколько филиалов. Связь с филиалами осуществляется через телефонную сеть общего пользования (ТфОП), что при условии сильной удаленности филиалов может стоить очень дорого. Поэтому всё больше компаний организовывают VPN-каналы через сеть Интернет для того, что бы удаленные офисы могли пользоваться сетевыми ресурсами главного офиса (медиа ресурсы, файловые серверы, базы данных). Эти же Интернет-каналы могут использовать VoIP шлюзы (они же SIP шлюзы) для передачи голосового телефонного трафика.
Рассмотрим подключение удаленных филиалов компании с помощью VoIP/SIP шлюзов производства компании AddPac. Схема подключения выглядит следующим образом:
Как мы видим из этой схемы, полностью исключается ТфОП, как звено для связи между филиалами. К тому же появляется возможность выходить на городскую телефонную сеть (ГТС) удаленного офиса, минуя каналы ТфОП. Например, звонить из Екатеринбурга по Москве теперь можно бесплатно через московский офис.
Далее рассмотрим простой пример подключения аналоговых телефонов через VoIP/SIP шлюз AddPac AP1100.
Для этого нам понадобятся: шлюз AddPac AP1100C (8 портов FXO, для подключения к УАТС) и шлюз AddPac AP1100B (8 портов FXS, для подключения аналоговых телефонов).
Настройку VoIP/SIP шлюзов целесообразно производить из консоли. Для подключения через консольный кабель удобно воспользоваться бесплатным программным обеспечением Putty (скачать программу Putty можно тут по адресу: chiark.greenend.org.uk)
Начинаем с настройки VoIP/SIP шлюза AddPac AP1100C со стороны УАТС. Для начала зададим IP-адрес шлюзу и пропишем маршрут (Route) по умолчанию:
Router# configure terminal
Router(config)# interface FastEthernet 0/0
Router(config-if)# ip address 192.168.0.179 255.255.255.0
Router(config-if)# exit
Router(config)# ip route 0.0.0.0 0.0.0.0 192.168.0.1
Теперь сконфигурируем FXO порты. Включаем определитель номера:
Router(config)# voice-port 0/0
Router(config-voice-port-0/0)# caller-id enable
Router(config-voice-port-0/0)# exit
Router(config)# voice-port 0/1
Router(config-voice-port-0/1)# caller-id enable
Router(config-voice-port-0/1)# exit
Прописываем на портах горячую линию (connection plar), что бы вызов сразу отправлялся по указанному номеру и таймаут определения звонка
Router(config)# voice-port 0/0
Router(config-voice-port-0/0)#connection plar 101
Router(config-voice-port-0/0)# ring detect-timeout 50
Router(config-voice-port-0/0)#exit
Router(config)# voice-port 0/1
Router(config-voice-port-0/1)# connection plar 102
Router(config-voice-port-0/0)# ring detect-timeout 50
Router(config-voice-port-0/0)#exit
Создаем маршруты для входящих звонков для аналоговых портов FXO
Router(config)# dial-peer voice 101 pots
Router(config-dialpeer-pots-101)# destination-pattern 1101
Router(config-dialpeer-pots-101)#port 0/0
Router(config-dialpeer-pots-101)#exit
И для второго
Router(config)# dial-peer voice 102 pots
Router(config-dialpeer-pots-102)# destination-pattern 1102
Router(config-dialpeer-pots-102)#port 0/1
Router(config-dialpeer-pots-102)#exit
Мы не случайно добавили цифру «1» к номерам. С удаленной стороны тоже будет «connection plar», и чтобы вызов не заворачивался сам на себя, мы слегка изменяем номер. На физическое соединение с портом на АТС это никак не повлияет.
Теперь создадим маршрут на удаленный шлюз через VoIP
Router(config)# dial-peer voice 1000 VoIP
Router(config-dialpeer-VoIP-1000)# destination-pattern 10.F
Router(config-dialpeer-VoIP-1000)# session target 192.168.0.180
Router(config-dialpeer-VoIP-1000)# session protocol sip
Router(config-dialpeer-VoIP-1000)# dtmf-relay rtp-2833
Router(config-dialpeer-VoIP-1000)# exit
Здесь мы указали, чтобы все номера, похожие на 10Х отправлялись на IP адрес 192.168.0.180 по протоколу SIP, DTMF метод RFC2833 (важный параметр).
На этом настройка первого шлюза закончена. Сохраним конфигурацию в памяти.
Router# write
Proceed with write? [confirm]
Building configuration...
[OK] Configuration saved to flash:apos.cfg
Router#
Переходим к настройке второго (удаленного) шлюза. Таким же методом, как описано выше, делаем сетевые настройки. Также настраиваем порты:
Router(config)# voice-port 1/0
Router(config-voice-port-1/0)# caller-id enable
Router(config-voice-port-1/0)#connection plar 1101
Router(config-voice-port-0/0)# exit
Router(config)# voice-port 1/1
Router(config-voice-port-1/1)# caller-id enable
Router(config-voice-port-1/1)#connection plar 1102
Создаем маршруты для входящих звонко для аналоговых портов FXS
Router(config)# dial-peer voice 101 pots
Router(config-dialpeer-pots-101)# destination-pattern 101
Router(config-dialpeer-pots-101)#port 1/0
Router(config-dialpeer-pots-101)#exit
Router(config)# dial-peer voice 102 pots
Router(config-dialpeer-pots-102)# destination-pattern 102
Router(config-dialpeer-pots-102)#port 1/1
Router(config-dialpeer-pots-102)#exit
И маршрут в сторону VoIP
Router(config)# dial-peer voice 1000 VoIP
Router(config-dialpeer-VoIP-1000)# destination-pattern 110.F
Router(config-dialpeer-VoIP-1000)# session target 192.168.0.179
Router(config-dialpeer-VoIP-1000)# session protocol sip
Router(config-dialpeer-VoIP-1000)# dtmf-relay rtp-2833
Router(config-dialpeer-VoIP-1000)# exit
Сохраняем конфигурацию:
Router# write
Proceed with write? [confirm]
Building configuration...
[OK] Configuration saved to flash:apos.cfg
Router#
На этом настройка закончена. Теперь можно проверить прохождение звонков и разнести шлюзы по удаленным сторонам. Сетевую маршрутизацию необходимо настроить так, что бы шлюзы видели друг друга по IP адресу.
В настоящее время всё популярнее становятся операторы IP телефонии, предоставляющие услуги связи по протоколу SIP через сеть интернет. Уже практически все крупные операторы в дополнение к услугам IP телефонии предлагают прямой локальный входящий городской номер и организацию виртуальной АТС на своем оборудовании. В связи с этим для малых компаний, которые к тому же постоянно меняют адрес, отпадает надобность в прокладке телефонных линий по медной паре, а в случае с виртуальной АТС, в организации собственной телефонной сети. Но многие всё же оставляют свои старые аналоговые АТС и телефонные аппараты (хотя IP телефоны уже достаточно дёшевы), поскольку они стабильны и неприхотливо работают уже много лет.
Для подключения к VoIP-системам связи или оператору SIP также обычно используются VoIP/SIP шлюзы.
Рассмотрим пример подключения 2-х аналоговых телефонов через VoIP-шлюз AddPac AP1100F к популярному SIP-оператору связи SIPNET.
Для начала сетевые настройки VoIP/SIP шлюза. На этот раз дадим шлюзу получить IP адрес автоматически по DHCP:
Router# configure terminal
Router(config)# interface FastEthernet 0/0
Router(config-if)# ip address dhcp
После того, как интерфейс LAN0 поднялся и получил IP, приступим к настройке маршрутов и аккаунта. Создадим диал-пиры для аналоговых портов
Router(config)# dial-peer voice 0 pots
Router(config-dialpeer-pots-0)#destination-pattern 0041790267 (ваш ID в SIPNET)
Router(config-dialpeer-pots-0)#port 1/0
Router(config-dialpeer-pots-0)#exit
Router(config)# dial-peer voice 1 pots
Router(config-dialpeer-pots-1)#destination-pattern 0041790267 (ваш ID в SIPNET)
Router(config-dialpeer-pots-1)#port 1/1
Router(config-dialpeer-pots-1)#exit
Теперь диал-пир в сторону SIPNET
Router(config)# dial-peer voice 1000 VoIP
Router(config-dialpeer-VoIP-1000)# destination-pattern T
Router(config-dialpeer-VoIP-1000)# session target sip-server
Router(config-dialpeer-VoIP-1000)# session protocol sip
Router(config-dialpeer-VoIP-1000)# voice-class codec 0
Router(config-dialpeer-VoIP-1000)#exit
Добавим возможность удержания вызова (hold) и перевода звонка (transfer)
Router(config)# dial-peer call-hold h
Router(config)# dial-peer call-transfer h
Создадим класс кодеков с приоритетами
Router(config)# voice class codec 0
Router(config-vclass-codec#0)# codec preference 1 g711alaw
Router(config-vclass-codec#0)# codec preference 2 g729
Настройка sip user-agent
Router(config)# sip-ua
Router(config-sip-ua)# sip-username 0041790267 (ваш ID в SIPNET)
Router(config-sip-ua)# sip-password ******** (ваш пароль в SIPNET)
Router(config-sip-ua)# sip-server sipnet.ru
Router(config-sip-ua)# srv enable
Router(config-sip-ua)# register e164
Router(config-sip-ua)#exit
Сохраняем конфигурацию:
Router# write
Proceed with write? [confirm]
Building configuration...
[OK] Configuration saved to flash:apos.cfg
Router#
Подключение и настройка VoIP/SIP шлюза закончена. Теперь можно звонить с аналоговых телефонов через SIPNET. Входящие звонки из SIPNET будут приходить на порт FXS 1/0, а при его занятости на порт FXS 1/1. Также вместо телефонных аппаратов к портам FXS можно подключить линии от аналоговой мини-АТС.