В данной статье мы подробно расскажем об интеграции Asterisk и Avaya Communication Manager 6.X. Подробно опишем создание SIP и после этого H.323 транков. Как всегда, мы составим техническое задание и более того – его графическое исполнение. Не будем рассказывать про лицензионную политику Avaya и о том, что лицензии несомненно имеют свойство заканчиваться. Меньше слов – больше дел!
Техническое задание
Задача
Требуется настроить интеграцию Asterisk и Avaya, объединив пользователей в единый план нумерации. Подключение выполнить по протоколам SIP и H.323. После подключения настроить маршрутизацию между станциями.
Цель
- Подключение к оператору связи по SIP (дешевле);
- CDR-данные по всем соединениям хранятся на Asterisk – сервере (в БД);
- Вся маршрутизация и услуги для внутренних абонентов определяются в Asterisk;
- Демонтаж Avaya и полный переход на Asterisk (как перспектива).
Цель данной статьи показать настройку Avaya и Asterisk для подключения друг к другу по протоколам SIP и H323. Поэтому рисунок ниже показан именно в таком виде. Подключение к оператору связи по SIP мы выполнять не будем, так как рассматривали это ранее.
Исходные данные Asterisk и Avaya
Текущие протоколы сигнализации для подключения SIP и H.323. УПАТС Avaya подключена к ГАТС по протоколу EDSS PRI. На данный момент имеем:
- Asterisk 16 (Debian 10, MariaDB, ODBC);
- Avaya Communication Manager 6.2;
Телефонный план нумерации:
- Avaya – 79XX;
- Asterisk – 77XX.
Настройка Avaya
Глобальная конфигурация Avaya
Первым делом подключаемся к УПАТС AVAYA с помощью Site Administration. Переходим в режим конфигурации: Advanced → Start Emulation.
Функциональные клавиши Avaya
- F1 — отмена внесенные изменения и выход из текущего меню настроек. Набранная команда полностью стирается;
- F2 — обновление текущей страницы;
- F3 — применение внесенные изменений и выход из текущего меню настроек. Изменения сразу же сохраняются и вступают в силу, дополнительных манипуляций не требуется;
- F4 — очистка поля, в котором установлен курсор;
- F5 — справка по полю, в котором установлен курсор. Показывает возможные значения для данного поля;
- F6 — редактирование;
- F7 — следующая страница в таблице;
- F8 — предыдущая страница в таблице.
Вспомогательные команды:
- Shift+Tab — стереть одно слово;
- R+Enter — повтор последней введенной команды;
- logoff — выход из консоли;
- list — вывести список элементов, например «list trunk-group» выводит список транков;
- display — вывести настройки конкретного элемента, например «display trunk-group 10» выводит настройки транка 10;
- change — изменить настройки элемента;
- busyout trunk, busyout signaling-group — сделать недоступным указанный транк, сигнальную группу (необходимо для изменения настроек транка, сигнальной группы, находящихся в работе);
- release trunk, release signaling-group — вернуть в работу указанный транк, сигнальную группу.
IP NODE NAMES
В данной таблице создаются удаленные ноды (сервера), которые в дальнейшем будут использоваться для подключения SIP или H323.
- change node-names ip
Добавляем Name и IP Address, после чего выполняем подтверждение по нажатию F3 (сохранить).
IP Codec Set
Далее создадим таблицу кодеков. Смотрим текущие таблицы и выбираем свободную:
- list ip-codec-set
Мы будем использовать таблицу – 1 (созданная по умолчанию).
- change ip-codec-set 1
Нажимаем F5 для просмотра всех существующих в системе кодеков и заполняем таблицу.
F7 – переключаемся на следующую страницу. Следующим шагом также настраиваем параметры, как на рисунке.
F3 – применяем настройки.
IP NETWORK REGION
- change ip-network-region 1
Рекомендуем указывать поле Name, чтобы в дальнейшем понимать какие таблицы используются, а какие нет. Для просмотра списка таблиц, используем команду ниже:
- list ip-network-region monitor
Во первых, получим номер сетевого интерфейса:
- list ip-interface all
Указываем:
- Location – номер LAN-интерфейса;
- Name – уникальное имя таблицы медиа параметров;
- Authoritative Domain – доменное имя системы (по желанию);
- Codec Set – таблица кодеков. У нас создана таблица 1;
- UDP Port Min – начало RTP. Оставляем по умолчанию;
- UDP Port Max – конечное значение RTP. По умолчанию;
- 802.1P/Q PARAMETERS – значения устанавливаются совместно с параметрами сети, в которой установлена Avaya;
- Intra-region IP-IP Direct Audio – направление RTP трафика внутри Avaya (аналогично directmedia в Asterisk);
- yes – голосовые пакеты RTP направляются между абонентами;
- no – RTP проходит через Avaya;
- Inter-region IP-IP Direct Audio – проксирование RTP для внешней сети (directmedia в Asterisk);
- IP Audio Hairpinning – автоматическое определение кодеков.
Для навигации по страницам используем клавишу F7 ↔ F8 и переходим на 3-ю страницу. Следует установить параметры, как показано на рисунке ниже:
На странице 4 установлены следующие параметры:
SIGNALING GROUP
Данные таблицы служат для настройки сигнальных групп для EDSS PRI, SIP, H.323.
Для начала смотрим текущие таблицы и после этого выбираем свободную. У нас свободна таблица 1, которую и будем настраивать:
- list signaling-group
- add signaling-group 10
- Group Type – sip;
- Transport Method – TCP;
- Near-ena Node Name – procr сигнальный интерфейс Avaya;
- Far-end Listen Port – сигнальный порт ноды;
- Near-ena Listen Port – 5060 сигнальный порт транспорта (SIP) этой станции;
- Far-end Node Name – asterisk нода, которая прописана в node-names ip (удаленный сервер);
- Far-end Network Region – Указываем номер региона, созданного в IP NETWORK REGION;
- DTMF over IP – сигнал DTMF.
- Far-end Domain – IP адрес сервера Asterisk.
SIP
Аналогично, смотрим доступные группы и выбираем свободную:
- list trunk-group
- add trunk-group 10
- Group Type – sip;
- Group Name – Asterisk;
- Service Type – tie;
- Member Assignment Method – количество каналов на транке;
- Signaling Group – сигнальная группа. Мы ранее создали группу 10, её и указываем. У вас своя;
- Number of Members – 60. Количество используемых портов (количество одновременных вызовов);
- TAC – Номерной план или по другому код доступа к транку. Указывается в соответствии с номерным планом.
Маршрутизация в Avaya
На данном этапе мы настроили сигнальную группу, произвели общие настройки и создали SIP-транк. Далее приступим к созданию маршрутизации.
Исходящая маршрутизация с Avaya
Первым делом, как обычно ищем свободную таблицу маршрутизации, для этого выводим список всех таблиц. После чего создаем новую:
- list route-pattern
- change route-pattern 10
- Grp No – номер транковой группы. Мы ранее создали транковую группу 10;
- No Del Dgts – Сколько цифр удалить;
- Inserted Digits – какие цифры добавить.
Сохраняем настройки нажатием F3.
DIAL PLAN ANALYSIS TABLE – определяет начальные цифры и общую длину для каждого типа вызова, который Communication Manager должен интерпретировать. Таблица анализа абонентской группы и экран параметров абонентской группы работают вместе для определения абонентской группы системы. Более подробно описано в официальном руководстве.
- change dialplan analysis
Сохраняем настройки нажатием F3. Следующим шагом настроим таблицу анализа набранных цифр – AAR. О данной таблице мы подробно рассказывали в этой статье.
- change aar analysis 7
Входящая маршрутизация с Asterisk
Входящая маршрутизация описывается на этапе создания внутренних номеров в Avaya. Мы предполагаем, что внутренние номера у вас уже есть. Мы же на Avaya используем номера в диапазоне 79XX, маршрутизация которых описывается в DIAL PLAN ANALYSIS TABLE. По умолчанию маршрутизация со всех внешних линий (каналов) в Avaya создается именно в этой таблице.
H.323
Создание H323 транка
Выполняется точно также, как и SIP. Создание Node (ноды):
- change node-names ip
Создание транковой группы также по аналогии: смотрим все таблицы и выбираем незанятую.
Для использования следующей свободной таблицы можно использовать команду add trunk-group next.
- list trunk-group
- add trunk-group 13
Настройки страницы 2.
Наконец, настройки со страницы 3.
SIGNALING GROUP
Смотрим все группы и выбираем свободную:
- list signaling-group
- add signaling-group 13
Итак, возвращаемся обратно в транковую группу 13:
- change trunk-group 13
и указываем signalling Group 13, а также число каналов (30). Число каналов определяется вашей лицензией.
Маршрутизация H.323
Возвращаемся в 10-ю транковую группу, которая будет использоваться для SIP и H323 транков.
- change route-pattern 10
Настройка Asterisk
SIP
Параметры SIP-транка:
root@pro-pbx:~# vim /etc/asterisk/sip.conf
[AVAYA]
type=friend
context=from-avaya
host=192.168.77.49
dtmfmode=rfc2833
transport=tcp
nat=no
canreinvite=no
disallow=all
allow=alaw&h263&h264
t38pt_udptl=yes
qualify=yes
insecure=port,invite
directmedia=no
Для маршрутизации с Asterisk на Avaya мы прежде всего будем использовать H.323 транк. В процессе эксплуатации возникают проблемы, прежде всего связанные с зависанием каналов, различных переадресаций, трансляции АОН.
H.323
root@pro-pbx:~# vim /etc/asterisk/ooh323.conf
[general]
port=1720
bindaddr=192.168.77.51
;gateway=no
faststart=no
h245tunneling=yes
mediawaitforconnect=yes
h323id=ObjSysAsterisk
e164=100
callerid=CUCM11.5(1)SU3
aniasdni=no
gatekeeper=DISABLE
logfile=/var/log/asterisk/h323_log
context=from-ats
;rtptimeout=60
;tos=lowdelay
;amaflags = default
;accountcode=h3230101
disallow=all
allow=alaw
allow=ulaw
dtmfmode=rfc2833
;roundtrip=x,y
faxdetect=no
directmedia=no
directrtpsetup=no
[AVAYA_H323]
type=friend
context=from-avaya
ip=192.168.77.49
port=1720
disallow=all
allow=alaw,ulaw
t38pt_udptl=no
dtmfmode=rfc2833
dtmfcodec=97
Маршрутизация H.323
Далее настраиваем маршрутизацию с Asterisk, при условии, что в сторону Avaya настроен транк H.323.
exten => _79XX,1,Dial(OOH323/AVAYA_H323/${EXTEN},90,tr)
Заключение
Отметим следующие особенности, с точки зрения оптимизации настройки взаимодействия Asterisk и Avaya. Продолжительная эксплуатация показывает, что лучше использовать два транка Asterisk Avaya SIP trunk и Asterisk Avaya H323 trunk. При этом со стороны Asterisk в сторону Avaya лучше использовать H.323, а с Avaya лучше использовать SIP транк.