Управление VoIP
VoIP (англ. Voice over IP) — набор протоколов, которые позволяют передавать речевую информацию посредством IP-сетей. В рамках данного устройства VoIP используется для подключения аналоговых телефонных аппаратов к IP-сети с возможностью совершения телефонных вызовов.
Алгоритм настройки SIP-профиля
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настройка SIP-профиля | esr(config)# sip profile <NUM> | <NUM> – номер SIP-профиля, задается в виде цифры от 1 до 5. |
2 | Настройка основного SIP proxy-сервера и сервера регистрации | esr(config-sip-profile)# proxy primary |
|
3 | Настройка адреса SIP proxy-сервера | esr(config-voip-sip-proxy)# ip address proxy-server <IP> | <IP> – IP-адрес proxy-сервера |
4 | Настройка порта SIP proxy-сервера | esr(config-voip-sip-proxy)# ip port proxy-server <PORT> | <PORT> – номер UDP-порта proxy-сервера, принимает значения [1..65535]. Если используется стандартный порт 5060, то его можно не указывать. |
5 | Настройка адреса сервера регистрации | esr(config-voip-sip-proxy)# ip address registration-server <IP> | <IP> – IP-адрес сервера регистрации. |
6 | Настройка порта сервера регистрации: | esr(config-voip-sip-proxy)# ip portregistration-server <PORT> | <PORT> – номер UDP-порта сервера регистрации, принимает значения [1..65535]. Если используется стандартный порт 5060, то его можно не указывать. |
7 | Активация регистрации | esr(config-voip-sip-proxy)# registration |
|
8 | Активация proxy-сервера и сервера регистрации: | esr(config-voip-sip-proxy)# enable |
|
9 | Настройка адреса сервера регистрации | esr(config-voip-sip-proxy)# ip address registration-server <IP> | <IP> – IP-адрес сервера регистрации. |
10 | Настройка порта сервера регистрации: | esr(config-voip-sip-proxy)# ip portregistration-server <PORT> | <PORT> – номер UDP-порта сервера регистрации, принимает значения [1..65535]. Если используется стандартный порт 5060, то его можно не указывать. |
11 | Указание SIP-домена, в котором находится устройство | esr(config-sip-profile)# sip-domain address <ADDRESS> | <ADDRESS> – SIP-домен, в котором находится устройство, задается ipv4-адресом или доменным именем. |
12 | Активация использования SIP domain при регистрации | esr(config-sip-profile)# sip-domain registration enable |
|
13 | Настройка SIP-профиля | esr(config)# sip profile <NUM> | <NUM> – номер SIP-профиля, задается в виде цифры от 1 до 5. |
14 | Назначение плана нумерации текущему SIP-профилю | esr(config-sip-profile)# dialplan pattern <DNAME> | <DNAME> – имя план нумерации, задается стройкой до 31 символа. |
15 | Активация SIP-профиля | esr(config-sip-profile)# enable |
|
Алгоритм настройки FXS/FXO-портов
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Переход в режим конфигурирования FXO-/FXS-портов. | esr(config)# interface voice-port <NUM> | <NUM> – номер порта, принимает значение от 1 до 4. |
2 | Назначение абонентского номера, закрепленного за телефонным портом. | esr(config-voice-port-fxs)# sip user phone <PHONE> | <PHONE> – абонентский номер, закрепленный за телефонным портом, задается до 50 символов. |
3 | Назначение имя пользователя, сопоставленное с портом. | esr-12v(config-voice-port-fxs)# sip user display-name <LOGIN> | <LOGIN> – имя пользователя, которое отображается в поле Display-Name, задается стройкой до 31 символа. |
4 | Выбор SIP-профиля для конкретного порта. | esr(config-voice-port-fxs)# profile sip <PROFILE> | <PROFILE> – номер SIP-профиля, задается от 1 до 5. |
5 | Настройка логина для аутентификации. | esr(config-voice-port-fxs)# authentication name <LOGIN> | <LOGIN> – логин для аутентификации, задается строкой до 31 символа |
6 | Настройка пароля для аутентификации. | esr(config-voice-port-fxs)# authentication password <PASS> | <PASS> – пароль для аутентификации, задается строкой до 16 символов. |
7 | Активация FXO-порта. | esr(config)# interface voice-port <NUM> | <NUM> – номер FXO-порта принимает значение от 1 до 4. |
8 | Назначение абонентского номера, закрепленного за телефонным портом. | esr(config-voice-port-fxo)# sip user phone <PHONE> | <PHONE> – абонентский номер, закрепленный за телефонным портом. |
9 | Указание UDP-порта, с которого и на который FXO-комплект будет отправлять и принимать SIP-сообщения. | esr(config-voice-port-fxo)# sip port <PORT> | <PORT> – номер UDP-порта. |
10 | Назначение имени пользователя, сопоставленное с портом. | esr(config-voice-port-fxo)# sip user display-name <LOGIN> | <LOGIN> – имя пользователя, которое отображается в поле Display-Name, задается строкой до 31 символа. |
11 | Настройка логина для аутентификации. | esr(config-voice-port-fxo)# authentication name <LOGIN> | <LOGIN> – логин для аутентификации, задается строкой до 31 символа. |
12 | Настройка пароля для аутентификации. | esr(config-voice-port-fxo)# authentication password <PASS> | <PASS> – пароль для аутентификации, задается строкой до 16 символов. |
13 | Разрешение передачи номера в ТфОП. | esr(config-voice-port-fxo)# pstn transmit-number |
|
14 | Запретить передачу префикса. | esr(config-voice-port-fxo)# no pstn transmit-prefix |
|
15 | Активация услуги «Hostline PSTN to IP». | esr(config-voice-port-fxo)# hotline ipt |
|
16 | Номер абонента, который будет получать вызовы с ТфОП. | esr(config-voice-port-fxo)# hotline number ipt <PHONE> | <PHONE> – номер телефона, на который осуществляется вызов при использовании услуги, принимает значение от 1 до 50. «Горячая/Теплая линия» в направлении из аналоговой телефонной линии в VoIP. |
Алгоритм настройки плана нумерации
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создание плана нумерации. | esr(config)# dialplan pattern <DNAME> | <DNAME> – имя плана нумерации, задается строкой до 31 символа. |
2 | Добавление правил нумерации. | esr(config-dial-ruleset)# pattern <REGEXP> | <REGEXP> – регулярное выражение, задающее план нумерации. Задаётся строкой до 1024 символов. Правила составления регулярных выражений описаны в разделе Пример настройки плана нумерации. |
3 | Активация плана нумерации. | esr(config-dial-ruleset)# enable |
Алгоритм настройки PBX-сервера
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настройка PBX-сервера. | esr(config)# pbx |
|
2 | Включение PBX-сервера. | esr(config-pbx)# enable |
|
3 | Создание плана маршрутизации. | esr(config-pbx)# ruleset <rule_name> | <rule_name> – имя плана маршрутизации, задается строкой до 31 символа. |
4 | Создание правила маршрутизации. | esr(config-pbx-ruleset)# rule <rule_index> | <rule_index> – номер правила в плане маршрутицации, принимает значение от 1 до 1000. |
5 | Создание паттерна в правиле маршрутизации. | esr(config-pbx-rule)# pattern <REGEXP> | <REGEXP> – регулярное выражение, задающее правило маршрутизации. Задаётся строкой до 256 символов. Правила составления регулярных выражений описаны в разделе Пример настройки плана нумерации. |
6 | Применение правила маршрутизации. | esr(config-pbx-rule)# enable |
|
7 | Создание SIP-профиля на PBX-сервере. | esr(config-pbx)# profile <PROFILE> | <PROFILE> – имя SIP профиля, используемого PBX – сервером, задается строкой до 31 символа. |
8 | Выбор кодека, поддерживаемого SIP-профилем. | esr(config-pbx-profile)# codec allow { G711A(alaw) | |
|
9 | Выбор типа SIP-профиля. | esr(config-pbx-profile)# client { peer | user | friend } |
|
10 | Выбор политики взаимодействия с NAT (не обязательно). | esr(config-pbx-profile)# nat { comedia | force-port | both } |
|
11 | Выбор плана маршрутизации, связанного с SIP-профилем. | esr(config-pbx-profile)# ruleset <NAME> | <NAME> – Имя плана маршрутизации, задается строкой до 31 символа. |
12 | Создание абонента. | esr(config-pbx)# user <user> | <user> – номер телефона или имя пользователя, задается строкой до 31 символа. |
13 | Создание пароля для абонента (не обязательно). | esr(config-pbx-user)# password <password> | <password> – пароль, который будет использоваться пользоватлем для аутентификации, задается строкой до 16 символов. |
14 | Применение SIP-профиля для абонента. | esr(config-pbx-user)# profile <SIPPROFILE> | <SIPPROFILE> – SIP - профиль, используемый для данного абонента, задается строкой до 31 символа. |
Алгоритм создания транка регистрации
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Настройка PBX-сервера. | esr(config)# pbx | |
2 | Создание транка. | esr(config-pbx)# register-server <name> | <name> – имя транка, задается строкой до 31 символа. |
3 | Настройка адреса сервера регистрации. | esr(config-pbx-reg-server)# ip address <IP> | <IP> – адрес сервера, на котором происходит регистрация, может принимать значение IP адреса или задаваться строкой до 31 символа. |
4 | Настройка порта сервера регистрации. | esr(config-pbx-reg-server)# ip port <PORT> | <PORT> – номер UDP-порта сервера регистрации, принимает значения [1..65535]. Если используется стандартный порт 5060, то его можно не указывать. |
5 | Задание аутентификационного имени. | esr(config-pbx-reg-server)# username <user> | <user> – имя пользователя для этого транка на вышестоящем домене, задается строкой до 31 символа. |
6 | Задание аутентификационного пароля. | esr(config-pbx-reg-server)# authentication password <password> | <password> – пароль для этого гранка на вышестоящем домене, задается строкой до 16 символов. |
7 | Применение SIP-профиля для транка. | esr(config-pbx-reg-server)# profile <PROFILE> | <PROFILE> – имя SIP профиля, используемое для данного транка, задается строкой до 31 символа. |
8 | Выбор транспортного протокола (не обязательно). | esr(config-pbx-reg-server)# protocol {tcp | udp } | По умолчанию используется udp. |
9 | Активация транка. | esr(config-pbx-reg-server)# enable |
|
Пример настройки VoIP
Задача:
Подключить аналоговые телефонные аппараты и факс-модемы к IP-сети посредством маршрутизатора ESR. В качестве proxy-сервера и сервера регистрации выступает SIP-сервер, находящийся на ESR.
Решение:
Настройка SIP-профиля:
esr(config)# sip profile 1
Настройка основного SIP proxy-сервера и сервера регистрации:
esr(config-sip-profile)# proxy primary
Настройка адреса SIP proxy-сервера (в качестве SIP proxy-сервера использовать встроенный SIP-сервер):
esr(config-voip-sip-proxy)# ip address proxy-server 192.0.2.5
Настройка порта SIP proxy-сервера:
esr(config-voip-sip-proxy)# ip port proxy-server 5080
Если используется стандартный порт 5060, то его можно не указывать.
Если необходимо использовать регистрацию, то необходимо выполнить следующие пункты:
Настройка адреса сервера регистрации (в качестве сервера регистрации использовать встроенный SIP-сервер):
esr(config-voip-sip-proxy)# ip address registration-server 192.0.2.5
Настройка порта сервера регистрации:
esr(config-voip-sip-proxy)# ip port registration-server 5080
Если используется стандартный порт 5060, то его можно не указывать.
Активация регистрации:
esr(config-voip-sip-proxy)# registration
Активация proxy-сервера и сервера регистрации:
esr(config-voip-sip-proxy)# enable
На этом конфигурация SIP proxy-сервера и сервера регистрации закончена:
esr(config-voip-sip-proxy)# exit
Далее продолжается настройка SIP-профиля.
Настройка SIP-домена:
esr(config-sip-profile)# sip-domain address sipdomain.com
Если необходимо использовать SIP Domain для регистрации:
esr(config-sip-profile)# sip-domain registration enable
В такой конфигурации все вызовы будут направлены SIP proxy-серверу. Если необходимо указать другое направление для исходящих вызовов, то необходимо проделать следующее:
Создать план нумерации, см. раздел Пример настройки плана нумерации.
Далее созданный план маршрутизации, необходимо присвоить SIP-профилю:
esr(config)# sip profile 1
esr(config-sip-profile)# dialplan pattern firstDialplan
На этом настройка плана нумерации для SIP-профиля закончена.
Активация SIP-профиля:
esr-12v(config-sip-profile)# enable
На этом минимально необходимая настройка SIP-профиля закончена:
esr(config-sip-profile)# exit
Следующим этапом является настройка абонентских портов:
esr(config)# interface voice-port 1
Указать абонентский номер:
esr(config-voice-port-fxs)# sip user phone 4101
Указать отображаемое имя:
esr(config-voice-port-fxs)# sip user display-name user-one
Используемый SIP-профиль:
esr(config-voice-port-fxs)# profile sip 1
Настройка логина и пароля для аутентификации:
esr(config-voice-port-fxs)# authentication name login-4101
esr(config-voice-port-fxs)# authentication password superpassword
На этом минимальная настройка абонентского порта закончена:
esr(config-voice-port-fxs)# exit
Пример настройки плана нумерации
Задача:
Настроить план нумерации так, чтобы вызовы на локальных (подключенных к данному ESR-12V) коммутировались локально, а вызовы на все остальные направления через SIP-proxy.
Решение:
Создать план нумерации:
esr(config)# dialplan pattern firstDialplan
План нумерации задается при помощи регулярных выражений:
esr(config-dial-ruleset)# pattern "<regular expressions>"
Для задачи, обозначенной выше "<regular expressions>" будет иметь вид:
“S5, L5 (410[1-3]@{local} | [xABCD*#].S)”
где:
- 410[1-3]@{ local} – вызовы на номера 4101, 4102, 4103 будут коммутироваться локально;
- [ xABCD*#]. S – вызовы на все остальные номера будут направлены к SIP-прокси.
Активировать план нумерации:
esr(config-dial-ruleset)# enable
Настройка плана нумерации закончена.
esr(config-dial-ruleset)# exit
Структура регулярного выражения:
Sxx, Lxx ( ),
где:
- хх – произвольные значения таймеров S и L;
- () – границы плана нумерации.
Основой являются обозначения для записи последовательности набранных цифр. Последовательность цифр записывается с помощью нескольких обозначений: цифры, набираемые с клавиатуры телефона: 0, 1, 2, 3, …, 9, # и *.
Использование символа # в плане нумерации может блокировать завершение набора с помощью этой клавиши!
Последовательность цифр, заключённая в квадратные скобки, соответствует любому из заключённых в скобки символу.
- Пример: ([1239]) – соответствует любой из цифр 1, 2, 3 или 9.
Через тире может быть указан диапазон символов. Чаще всего используется внутри квадратных скобок. - Пример 1: (1-5) – любая цифра от 1 до 5.
- Пример 2: ([1-39]) – пример из предыдущего пункта с иной формой записи.
Символ X соответствует любой цифре от 0 до 9. - Пример: (1XX) – любой трёхзначный номер, начинающийся на 1.
«.» – повторение предыдущего символа от 0 до бесконечности раз.
«+» – повторение предыдущего символа от 1 до бесконечности раз.
{a,b} – повторение предыдущего символа от a до b раз;
{a,} – повторение предыдущего символа не меньше a раз;
{,b} – повторение предыдущего символа не больше b раз.
- Пример: (810X.) – международный номер с любым количеством цифр.
Настройки, влияющие на обработку плана нумерации: - Interdigit Long Timer (буква «L» в записи плана нумерации) – время ожидания ввода следующей цифры в том случае, если нет шаблонов, подходящих под набранную комбинацию;
- Interdigit Short Timer (буква «S» в записи плана нумерации) – время ожидания ввода следующей цифры, если с набранной комбинацией полностью совпадает хотя бы один шаблон и при этом имеется еще хотя бы один шаблон, до полного совпадения с которым необходимо осуществить донабор номера.
Дополнительные возможности:
- Замена набранной последовательности
Синтаксис: <arg1:arg2>
Данная возможность позволяет заменить набранную последовательность на любую последовательность набираемых символов. При этом второй аргумент должен быть указан определённым значением, оба аргумента могут быть пустыми.
- Пример: (<83812:> XXXXXX) – данная запись будет соответствовать набранным цифрам 83812, но эта последовательность будет опущена и не будет передана на SIP-сервер.
- Вставка тона в набор
При выходе на межгород (в офисных станциях – на город) привычно слышать ответ станции, что можно реализовать вставкой запятой в нужную позицию последовательности цифр.- Пример: (8, 770) – при наборе номера 8770 после цифры 8 будет выдан непрерывный тон.
- Запрет набора номера
Если в конце шаблона номера добавить восклицательный знак ‘!’, то набор номеров, соответствующих шаблону, будет заблокирован.- Пример: (8 10X xxxxxxx ! | 8 xxx xxxxxxx ) – выражение разрешает набор только междугородних номеров и исключает международные вызовы.
- Замена значений таймеров набора номера
Значения таймеров могут быть назначены как для всего плана нумерации, так и для определённого шаблона. Буква «S» отвечает за установку «Interdigit Short Timer» , а «L» – за «Interdigit Long Timer» . Значения таймеров может быть указано для всех шаблонов в плане нумерации, если значения перечислены до открывающейся круглой скобки.- Пример: S4 (8XXX.) или S4,L8 (XXX)
Если эти значения указаны только в одной из последовательностей, то действуют только для неё. Также в этом случае не надо ставить двоеточие между ключом и значением таймаута, значение может быть расположено в любом месте шаблона. - Пример: (S4 8XXX. | XXX) или ([1-5] XX S0) – запись вызовет мгновенную передачу вызова при наборе трехзначного номера, начинающегося на 1,2, … , 5.
- Пример: S4 (8XXX.) или S4,L8 (XXX)
- Набор по прямому адресу (IP Dialing)
Символ «@», поставленный после номера, означает, что далее будет указан адрес сервера, на который будет отправлен вызов на набранный номер. Рекомендуется использовать «IP Dialing», а также приём и передачу вызовов без регистрации (« Call Without Reg », « Answer Without Reg »). Это может помочь в случае отказа сервера.
Кроме того, формат адреса с IP Dialing может быть использован в номерах, предназначенных для переадресации звонков.
- Пример 1: ( 8 xxx xxxxxxx ) – 11-значный номер, начинающийся на 8.
- Пример 2: ( 8 xxx xxxxxxx | <:8495> xxxxxxx ) – 11-значный номер, начинающийся на 8, если введён семизначный, то добавить к передаваемому номеру 8495.
- Пример 3: (0[123] | 8 [2-9]xx [2-9]xxxxxx) – набор номеров экстренных служб, а так же некоторого странного набора междугородних номеров.
- Пример 4: (S0 <:82125551234>) – быстрый набор указанного номера, аналог режима «Hotline» на других шлюзах.
- Пример 5: (S5 <:1000> | xxxx) – данный план нумерации позволяет набрать любой номер, состоящий из цифр, а если ничего не введено в течение 5 секунд, вызвать номер 1000 (допустим, это секретарь).
- Пример 6: (8, 10x.|1xx@10.110.60.51:5060) – данный план нумерации позволяет набирать номера начинающиеся на 810 и содержащие как минимум одну цифру после "810". После ввода 8 будет выдан сигнал "ответ станции". А также набор трехзначных номеров, начинающихся на "1", Invite на которые будет отправлен на IP-адрес 10.110.60.51 и порт 5060.
- Пример 7: (S3 *xx#|#xx#|#xx#|*xx*x+#) – управление и использование ДВО.
Иногда может потребоваться совершать звонки локально внутри устройства. При этом, если IP-адрес устройства не известен или периодически изменяется, удобно использовать в качестве адреса сервера зарезервированное слово «{local}», что означает отправку соответствующей последовательности цифр на собственный адрес устройства. - Пример: (123@{local}) – вызов на номер 123 будет обработан локально внутри устройства.
Настройка FXO-порта
Задача:
Добавить возможность совершения вызова абонента ТфОП через FXO-порт ESR-12V.
Решение:
Активировать FXO-порт:
esr(config)# interface voice-port 4
Указать номер FXO-порта, он же префикс выхода на ТфОП:
esr(config-voice-port-fxo)# sip user phone 9
Указать UDP-порт, с которого и на который FXO-комплект будет отправлять и принимать SIP-сообщения:
esr(config-voice-port-fxo)# sip port 5064
Указать отображаемое имя:
esr(config-voice-port-fxo)# sip user display-name user-one
Настройка логина и пароля для аутентификации:
esr(config-voice-port-fxo)# authentication name login-9
esr(config-voice-port-fxo)# authentication password superpassword
Назначить SIP-профиль FXO-порту:
esr(config-voice-port-fxo)# profile sip 1
Разрешить передачу номера в ТфОП:
esr(config-voice-port-fxo)# pstn transmit-number
Запретить передачу префикса:
esr(config-voice-port-fxo)# no pstn transmit-prefix
Для работы исходящих вызовов необходимо в настройках плана нумерации указать следующее правило, которое означает, что исходящие вызовы на номера имеющие префикс 9, маршрутизируются локально на FXO-комплект:
9x.@{local}:5064
На этом минимальная настройка исходящих вызовов на ТфОП закончена. Для того чтобы совершить вызов в ТфОП, нужно набрать номер вызываемого абонента с указанным префиксом (телефонный номер FXO-комплекта).
Для того чтобы принимать вызовы с ТфОП необходимо выбрать абонента, на которого будут поступать все вызовы их ТфОП, допустим, это будет абонент с номером 305.
Активировать услугу «Hostline PSTN to IP»:
esr(config-voice-port-fxo)# hotline ipt
Указать номер абонента, который будет получать вызовы с ТфОП:
esr(config-voice-port-fxo)# hotline number ipt 305