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) |
G711U(ulaw) | G722 | G726 }

 

9

Выбор типа SIP-профиля.

esr(config-pbx-profile)# client { peer | user | friend }

  • peer – входящие и исходящие звоки разрешены без авторизации.
  • user – разрешены только входящие звонки.                 
  • friend – комбинирует типы профилей peer и user.

10

Выбор политики взаимодействия с NAT (не обязательно).

esr(config-pbx-profile)# nat { comedia | force-port | both }

  • comedia – отправить медиа поток на порт PBX, независимо от указаний SDP.
  • force-port – использовать rport, даже если его нет.
  • both – объединяет comedia и force-port.

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)”

где:

Активировать план нумерации:

esr(config-dial-ruleset)# enable

Настройка плана нумерации закончена.

esr(config-dial-ruleset)# exit

Структура регулярного выражения:

Sxx, Lxx ( ),

где:

Основой являются обозначения для записи последовательности набранных цифр. Последовательность цифр записывается с помощью нескольких обозначений: цифры, набираемые с клавиатуры телефона: 0, 1, 2, 3, …, 9, # и *.

Использование символа # в плане нумерации может блокировать завершение набора с помощью этой клавиши!

Последовательность цифр, заключённая в квадратные скобки, соответствует любому из заключённых в скобки символу.

Дополнительные возможности:

  1. Замена набранной последовательности

    Синтаксис: <arg1:arg2>

    Данная возможность позволяет заменить набранную последовательность на любую последовательность набираемых символов. При этом второй аргумент должен быть указан определённым значением, оба аргумента могут быть пустыми.

  2. Вставка тона в набор
    При выходе на межгород (в офисных станциях – на город) привычно слышать ответ станции, что можно реализовать вставкой запятой в нужную позицию последовательности цифр.
  3. Запрет набора номера
    Если в конце шаблона номера добавить восклицательный знак ‘!’, то набор номеров, соответствующих шаблону, будет заблокирован.
  4. Замена значений таймеров набора номера
    Значения таймеров могут быть назначены как для всего плана нумерации, так и для определённого шаблона. Буква «S» отвечает за установку «Interdigit Short Timer» , а «L» – за «Interdigit Long Timer» . Значения таймеров может быть указано для всех шаблонов в плане нумерации, если значения перечислены до открывающейся круглой скобки.
  5. Набор по прямому адресу (IP Dialing)

    Символ «@», поставленный после номера, означает, что далее будет указан адрес сервера, на который будет отправлен вызов на набранный номер. Рекомендуется использовать «IP Dialing», а также приём и передачу вызовов без регистрации Call Without Reg », « Answer Without Reg »). Это может помочь в случае отказа сервера.

    Кроме того, формат адреса с IP Dialing может быть использован в номерах, предназначенных для переадресации звонков.

Настройка 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

Пример настройки voip для регистрации FXS-портов на внешнем sip-сервере

Схема:

Задача: 

Настроить voip для регистрации FXS-портов на внешнем sip-сервере.

Решение:

Настроим sip-профиль. Необходимо настроить proxy-server для регистрации телефонов, подключенных к FXS-портам:

esr(config)# sip profile 1
esr(config-sip-profile)# enable
esr(config-sip-profile)# sip-domain address 198.51.100.1
esr(config-sip-profile)# proxy primary
esr(config-voip-sip-proxy)# enable
esr(config-voip-sip-proxy)# ip address proxy-server 198.51.100.1
esr(config-voip-sip-proxy)# registration
esr(config-voip-sip-proxy)# ip address registration-server 198.51.100.1 
esr(config-voip-sip-proxy)# exit
esr(config-sip-profile)# exit
esr(config)#

Настроим fxs-порты. Укажем номер, параметры для аутентификации на внешнем сервере и sip-профиль:

esr(config)# interface voice-port 1
esr(config-voice-port-fxs)# sip user phone 6101
esr(config-voice-port-fxs)# authentication name as-phone
esr(config-voice-port-fxs)# authentication password password
esr(config-voice-port-fxs)# profile sip 1
esr(config-voice-port-fxs)# exit
esr(config)# interface voice-port 2
esr(config-voice-port-fxs)# sip user phone 6102
esr(config-voice-port-fxs)# authentication name as-phone
esr(config-voice-port-fxs)# authentication password password
esr(config-voice-port-fxs)# profile sip 1
esr(config-voice-port-fxs)# exit
esr(config)# 

Для регистрации и прохождения voip-трафика за nat необходимо включить на маршрутизаторе tracking и nat для sip, и включить service-voip routing на интерфейсе, через который доступен sip-сервер:

esr(config)# ip firewall sessions tracking sip
esr(config)# nat alg sip 
esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# service-voip routing
esr(config-if-gi)# exit
esr(config)# 

Пример настройки voip на внутреннем pbx-сервере

Схема:

Задача: 

Настроить регистрацию телефонов, подключенных к FXS-порту, а также настроить регистрацию номера телефонной линии, подключенной к FXO-порту. Также необходимо настроить перевод звонков с FXO-порта на телефон с номером 5200.

Решение:

Настройка PBX.

Создадим pbx-сервер:

esr(config)# pbx 
esr(config-pbx)#


Структура регулярного выражения pattern описана "Пример настройки плана нумерации".


Настроим контекст маршрутизации для FXO-порта (пример плана нумерации для перевода вызова на 5200-5202):

esr(config-pbx)# ruleset FXO
esr(config-pbx-ruleset)# rule 1
esr(config-pbx-rule)# pattern '_X.,1,Dial(SIP/5200&SIP/5201&SIP/5202)'
esr(config-pbx-rule)# enable
esr(config-pbx-rule)# exit
esr(config-pbx-ruleset)# exit
esr(config-pbx)#

Настроим контекст маршрутизации для FXS-портов (пример плана нумерации для набора номера 5200-5202):

esr(config-pbx)# ruleset main_rule
esr(config-pbx-ruleset)# rule 1
esr(config-pbx-rule)# pattern '_520[0-3],1,Dial(SIP/${EXTEN},,t)'
esr(config-pbx-rule)# enable
esr(config-pbx-rule)# exit
esr(config-pbx-ruleset)# exit
esr(config-pbx)#

Настроим sip-профиль для FXS-портов. Необходимо указать тип клиента, включить необходимые кодеки и подключить контекст маршрутизации:

esr(config-pbx)# profile fxs_ports
esr(config-pbx-profile)# client friend
esr(config-pbx-profile)# codec allow g711a
esr(config-pbx-profile)# codec allow g711u
esr(config-pbx-profile)# codec allow g729
esr(config-pbx-profile)# ruleset main_rule
esr(config-pbx-profile)# exit
esr(config-pbx)# 

Настроим sip-профиль для FXO-портов. Необходимо указать тип клиента, включить необходимые кодеки, настроить invite-port, подключить контекст маршрутизации:

esr(config-pbx)# profile fxo_ports
esr(config-pbx-profile)# client friend
esr(config-pbx-profile)# codec allow g711a
esr(config-pbx-profile)# codec allow g711u
esr(config-pbx-profile)# security level invite-port
esr(config-pbx-profile)# ruleset FXO
esr(config-pbx-profile)# exit
esr(config-pbx)# 

Настроим абонентов на сервере PBX:

esr(config-pbx)# user 5200
esr(config-pbx-user)# profile fxs_ports
esr(config-pbx-user)# exit
esr(config-pbx)# user 5201
esr(config-pbx-user)# profile fxs_ports
esr(config-pbx-user)# exit
esr(config-pbx)# user 5202
esr(config-pbx-user)# profile fxs_ports
esr(config-pbx-user)# exit
esr(config-pbx)# user 333
esr(config-pbx-user)# profile fxo_ports
esr(config-pbx-user)# exit
esr(config-pbx)# 

Включим PBX-сервер:

esr(config-pbx)# enable 
esr(config-pbx)# exit 
esr(config)#

Настроим FXS-порты. Укажем номер и sip-профиль:

esr(config)# interface voice-port 1
esr(config-voice-port-fxs)# sip user phone 5200
esr(config-voice-port-fxs)# profile pbx fxs_ports
esr(config-voice-port-fxs)# exit
esr(config)# interface voice-port 2
esr(config-voice-port-fxs)# sip user phone 5201
esr(config-voice-port-fxs)# profile pbx fxs_ports
esr(config-voice-port-fxs)# exit
esr(config)# interface voice-port 3
esr(config-voice-port-fxs)# sip user phone 5202
esr(config-voice-port-fxs)# profile pbx fxs_ports
esr(config-voice-port-fxs)# exit
esr(config)#

Настроим FXO-порт. Укажем номер и sip-profile, выключим caller-id, активируем услугу «Hostline PSTN to IP»: и укажем номер абонента, который будет получать вызовы с ТфОП:

esr(config)# interface voice-port 4
esr(config-voice-port-fxo)# sip user phone 333
esr(config-voice-port-fxo)# profile pbx fxo_ports
esr(config-voice-port-fxo)# caller-id mode off
esr(config-voice-port-fxo)# hotline ipt
esr(config-voice-port-fxo)# hotline number ipt 5200
esr(config-voice-port-fxo)# exit
esr(config)#