Техническое задание
Задача
Требуется настроить интеграцию Avaya VoIP транк с Asterisk, объединив пользователей в единый план нумерации. Подключение выполнить по протоколам SIP и H.323. После подключения настроить маршрутизацию между станциями.
Цель
- Подключение к оператору связи по SIP (дешевле);
- CDR-данные по всем соединениям хранятся на Asterisk – сервере (в БД);
- Вся маршрутизация и услуги для внутренних абонентов определяются в Asterisk;
- Демонтаж Avaya и полный переход на Asterisk (как перспектива).
Цель данной статьи показать настройку Avaya VoIP транк с Asterisk для подключения друг к другу по протоколам SIP и H323. Поэтому рисунок ниже показан именно в таком виде. Подключение к оператору связи по SIP мы выполнять не будем, так как рассматривали это ранее.
Исходные данные Asterisk и Avaya
Текущие протоколы сигнализации для подключения SIP и H.323. УПАТС Avaya подключена к ГАТС по протоколу EDSS PRI. На данный момент имеем:
- Asterisk 16 (Debian 10, MariaDB, ODBC);
- ГАТС Элком-НТ 4.0;
- Avaya Communication Manager 6.2;
- VoIP-шлюз Eltex SMG-4.
Телефонный план нумерации:
- Avaya – 79XX;
- Asterisk – 77XX.
Использование промежуточного SIP URI Calltouch
Для отслеживания звонков с вашего номера, они могут быть перехвачены по следующей схеме:
Ваш номер «A» => Промежуточный SIP URI Calltouch => Ваш SIP-trunk / SIP URI
Таким образом клиент будет звонить на ваш номер «A», но переадресовываться на ваш SIP-trunk через наш SIP URI, с помощью которого мы и перехватим звонок, отобразив статистику по нему в личном кабинете Calltouch. Переадресация занимает доли секунды и для клиента она будет незаметна. От вас потребуется техническая возможность настроить переадресацию с вашего номера «A» на наш SIP URI и зарегистрировать SIP-trunk, если у вас его ещё нет.
Обращаем внимание на то, что номер «A» должен быть передан на сторону Calltouch в международном формате (7ХХХХХХХХХХ).
Для подключения вашего номера через промежуточный SIP URI Calltouch необходимо сообщить вашему аккаунт-менеджеру или технической поддержке Calltouch следующую информацию:
- Список номеров, которые требуется подключить
- IP-адрес оборудования, с которого будут приходить звонки (можно узнать у оператора ваших номеров из списка выше)
- Ваш SIP-trunk / SIP URI, который будет конечной точкой приёма звонков
Подробнее о том, что такое SIP URI, SIP-trunk и преимуществах их использования можно изучить в статье Переадресация: Управление сценариями.
Подключение номеров Телфин для использования в Calltouch
Отслеживать в Calltouch звонки на номера, подключенные в ВАТС Телфин, можно с помощью переадресации с использованием SIP-протокола. Переадресация происходит в два этапа.
Первый: звонки с номеров Телфин переадресуются на учетные записи SIP, предоставляемые техподдержкой Calltouch, а затем возвращаются обратно на ВАТС Телфин или на клиентское оборудование по sip-протоколу.
Ваш номер «A» => Промежуточный SIP URI Calltouch => Ваш SIP-trunk / SIP URI
- Настройка передачи SIP потока с Телфин в Calltouch.
Вы имеете подключенный номер в кабинете Телфин 71111111111, который необходимо подключить к отслеживанию в Calltouch
1.1 Необходимо обратится к менеджеру Сalltouch c просьбой предоставить sip-адрес для подключения номера Телфин 71111111111 и учетную запись SIP и DID-номер для возврата потока на Телфин. Схема Телфин -> Calltouch -> Телфин.
В ответе на запрос будут предоставлены sip адрес для маршрутизации на calltouch вида:71111111111@sip000.sip-gate.telemir.netИ регистрационные данные учётной записи SIPа для обратного приема вызова в Телфин:Сервер: sip00.sitnet.ruЛогин: loginПароль: XXXXXDID-номер: 711122222222
1.2 Для маршрутизации потока с внешнего номера на выданный sip-адрес, необходимо на службу технической поддержки Телфин (отправка доступна из ЛК Телфин) отправить обращение следующего содержания:
Прошу настроить безусловную переадресацию с номера 71111111111 на учетную запись:71111111111@sip000.sip-gate.telemir.net, с внутреннего номера 101 (любой из незанятых в ЛК Телфин) и подключить входящую линию от оператора ООО «Телемир» для приема звонков по sip-протоколуСервер: sip00.sitnet.ruЛогин: loginПароль: XXXXXПодключаемый номер: 71112222222»
После выполнения настроек технической поддержкой Телфин, в ЛК Телфин должен появится еще один внешний номер 711122222222.
2. Настройка кабинета Телфин.
Настройка маршрутизации Телфин – Calltouch. Выбрать пункт Маршрутизация – Новая схема и настроить перевод вызова с внешнего номера 71111111111 на внутренний 101
Настройку маршрутизации до конечного абонента произвести путём добавления схемы для номера 711122222222. На картинке предоставлена настройка вызова на номер 103.
Меню маршрутизация в ЛК Телфин будет выглядеть следующим образом
Результатом такой настройки будет следующая схема прохождения вызова: вызов, поступивший на номер клиента 71111111111 транзитом через сервисы Calltouch поступит на внутренний номер 103.
Обратите внимание: если к отслеживанию подключается несколько номеров Телфин, то для каждого из них будет предоставлен отдельный sip-адрес, а учетная запись и DID-номер все равно будет предоставлен один. В запросе на техподдержку Телфин, нужно будет указать все номера и соответствующие sip-адреса для настройки переадресации
Для каждого номера будет использован отдельный внутренний номер, которые настраиваются по описанной схеме.
Настройка исходящих маршрутов (шаблон для исходящей связи)
Для того, чтобы АТС понимала как обрабатывать исходящие звонки, необходимо произвести добавление и настройку правил исходящих маршрутов.
Переходим в Расширение/транк —-> Исходящие маршруты и добавляем новый новый маршрут. В открывшемся окне производим необходимые настройки:
Даём имя исходящему маршруту. В нашем случае ALL с понимаем, что данное правило маршрутизирует исходящие звонки для всех внутренних номеров на любые номера. В поле Шаблон добавляем 11 символов X, что позволяет производить набор номера в формате 8 7172 97 84 70.
В поле Транк выбираем созданный нами SIPNET. Это означает, что все вызовы будут производится через выбранный транк. В случае необходимости создания нескольких правил и использования других транков, вы сможете это сделать, создав новые правила. Сохраняем и применяем настройки.
Как работает переадресация через SIP Trunk
В случае использования сценария переадресации на SIP trunk, мы поднимаем SIP-сервер на своей АТС, после чего вы сможете подключиться к нему из своей АТС по авторизованным данным, указанных в настройках сценария: адрес SIP-сервера, логин и пароль.
При настройке регистрации нашего SIP trunk’а на своей АТС используйте SIP Invite Format в формате username@ip.address.
Если у Вас нет своей АТС, то SIP trunk можно зарегистрировать и на обычном софт-фоне, например, Zoiper (для Windows) или Telephone (для Mac). Зарегистрировав в них авторизационные данные SIP trunk, Вы сможете отвечать на звонки прямо со своего компьютера.
Перечень IP-адресов для внесения на оборудование, с которого будут приходить вызовы от Calltouch
Calltouch будет слать вызовы со следующих IP-адресов:
31.184.230.107, 31.184.230.108, 31.184.230.109, 31.184.230.110, 31.184.230.111, 31.184.230.112, 31.184.230.113, 1.184.230.114, 31.184.230.115, 31.184.230.116, 31.184.230.117, 31.184.230.118, 31.184.230.119
Добавление этих адресов на вашем оборудовании необходимо для корректной работы телефонии.
Настройка группы номеров
В любой средней или крупной компании есть различные отделы. К примеру, если в отдете продаж работает 3 человека и у каждого есть внутренний номер, то входящие звонки нужно пропускать по установленному правилу.
Для настройки группы номеров необходимо пройти в Опции вызова —-> Группы вызова. После этого нажать Добавить и появится форма:
Присваиваем имя группе, в нашем случае Sales, выбираем внутренние номера сотрудников для данной группы. Далее необходимо выбрать один из вариантов Стратегии входящего звонка. В случае, если вы хотите, чтобы звонящий слышал музыку в режиме ожидания, необходимо в списке Музыка при удержании выбрать По умолчанию. Также поставьте галочку в поле Автоматическая запись в случае, если вы желаете сохранять все разговоры. Сохраняем и применяем настройки.
Статус оплаты
Статус | Описание |
Оплачен | Номер числится оплаченным, ограничений по использованию нет |
Ожидает оплаты, осталось N дней | Номер необходимо оплатить перед началом использования (переадресация не настроена). Где N – это количество дней, прошедших с момента добавления номера, которые остались до отключения номера, если не будет произведена оплата |
Задолженность, будет приостановлен через N дней | Номер необходимо оплатить, чтобы продолжить его использование. Где N – это количество дней, прошедших с момента просрочки оплаты, которые остались до приостановки номера (снятия переадресации), если не будет произведена оплата |
Просрочен, будет отключен через N дней | Номер необходимо оплатить, чтобы вновь его использовать (переадресация не настроена). Где N – это количество дней, которые остались до отключения номера |
Платеж обрабатывается | Была совершена оплата данного номера, ожидается ответ системы биллинга. |
Удаление номера
Удаление номера происходит по нажатию на иконку в самом правом столбце. При нажатии на кнопку удаления вам будет необходимо подтвердить ваше действие во всплывающем окне.
После подтверждения, строка с удаленным номером не исчезнет, а будет подсвечена серым цветом. Для окончательного удаления номера необходимо нажать кнопку «Сохранить изменения».
Важно: Удалить можно только свободный номер, не привязанный ни к одному из пулов. Статистика по удаленному номеру останется в вашем кабинете.
Статистика по удаленному номеру останется в вашем кабинете.
Клиентские номера
По умолчанию сервис Calltouch отслеживает источники звонков только с собственных отслеживаемых номеров. Однако, если вам необходимо отслеживать звонки с уже имеющихся у вас номеров, которые давно размещены на многих рекламных площадках, это можно реализовать 3 способами.
Тип и вид пула
В зависимости от площадки, где размещается отслеживаемый номер Calltouch, подмену номеров можно квалифицировать следующими типами:
- Онлайн – номера сайта при переходе посетителя по отслеживаемому трафику подменяются на номера Calltouch при помощи заранее установленного скрипта при подключении сервиса.
- Офлайн – номера Calltouch размещены на какой-либо рекламной площадке, например, банеры, журналы, партнерские сайты и т.п. Подмена номера в этом случае не происходит, ведь отслеживаемый номер жестко прописан на рекламной площадке.
Источник звонка пользователя может отслеживаться как с помощью одного номера, так и с помощью одновременно нескольких. Таким образом, пулы номеров и сами номера, помимо квалифицирования на типы, можно разделить и на два вида:
- Динамический – для определения источника звонка используется пул из нескольких номеров, минимум из 4 номеров.
- Статический – для определения источника звонка используется только один подменный номер Calltouch.
Чем отличаются эти типы и виды друг от друга, подробно рассказано далее.
Настройка Asterisk
SIP
Параметры SIP-транка:
root@pro-pbx:~# vim /etc/asterisk/sip.conf 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 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 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)
Пример
Рассмотрим такой пример:
У нас есть 4 транка:
Gateway — голосовой шлюз, который подключён через обычные телефонные линии в городскую сеть (ТФоП), используется 7мизначная нумерация, код выхода на межгород 8. Выгодно использовать для звонков внутри города, но абсолютно не выгодно использовать для всех остальных направлений.
Trunk L — провайдер, использует международный набор номера (т.е. через 7), его выгодно использовать для звонков в Москву и вполне можно использовать для звонков в город, если голосовой шлюз занят или не работает, также будем использовать как резервный для звонков на мобильники.
Trunk M — провайдер, использует международный набор номера (т.е. через 7), его выгодно использовать для звонков на мобильные телефоны и для звонков по России.
Trunk T — провайдер, использует наш местный формат набора номера (т.е. через 8), его можно использовать как резервный для звонков в Москву и по России.
В рассматриваемом примере можно выделить 4 направления, т.е. будем использовать 4 маршрута — это город, мобильники, Москва и Россия. В примере в маршрутах я буду приводить формат набора номера к международному, а в самом транке выворачивать в формат который требует сам транк. Первыми настраиваются транки, затем исходящие маршруты.
Информацию о том как создать транк и настроить его Вы можете прочитать в статье по настройке мультифона для FreePBX Distro
Я же сосредоточу внимание только на шаблонах и правилах
Транки
Итак транк Gateway:
Тут всё просто. Преобразуем номер из международного в местный, больше ничего не пропускаем, 9 будем убирать в маршруте.
Trunk L:
Тут всё просто, никаких манипуляций нам делать не нужно, но мы хотим пропустить через этот транк только звонки в Москву и звонки в город.
Trunk M:
Опять таки, никаких манипуляций, но разрешаем звонить через этот транк в любую точку России. Поскольку маска в транке определяет не направление звонков, а только разрешение на прохождение определённых номеров то добавлять маску мобильников (79XXXXXXXXX) нет смысла, ибо она входит в маску России.
Trunk T:
Как и в предыдущем случае задаём маску которая разрешает звонить по всем направления в России. Мы не добавляем маску мобильников и Москвы, маска этих направлений уже перекрывается маской России. Исключение составляет только то что мы убираем 7ку и добавляем 8ку, поскольку наш провайдер пропускает номера так как это привычно делать с обычного телефона — через 8ку, 8 код города, номер телефона.
Маршруты
Переходим к маршрутам, маршруты надо составлять по принципу чем уже шаблон тем он выше. Самые узкие шаблоны у нас город и Москвы. Друг друга они не перекрывают поэтому нет разницы в каком порядке их размещать, начнём с города. Чтобы добавить новый маршрут выбираем раздел Подключения (Connectivity) — Исходящая маршрутизация (Outbound Routes) и там жмём кнопку Добавить маршрут (Add Route).
Задаём название маршрута
Задаём шаблон номера, помним что абоненты будут набирать либо просто 7 знаков либо 7знаков с 9кой. Врядли будут набирать номер с кодом города, но мы будем приводить номер в международный формат.
Следующим шагом выбираем транки через которые будет звонить Астер по этому маршруту. В случае с городом буде транк Gateway и Trunk L. И жмём кнопку Сохранить изменения (Submit Changes).
Этот маршрут готов, переходим к Москве. Помним что абоненты скорее всего будут набирать по привычке код Москвы через 8ку, а может быть даже через 9-8.
Задаём транки, выше я писал что для этого направления будем использоваться Trunk L и Trunk T. Не забываем сохраняться.
Остаются ещё два маршрута Россия и мобильники. Россия имеет более широкую маску чем мобильники, поэтому сначала добавляем маршрут на мобильники, иначе маршрут Россия перекроет маршрут для мобильников.
Для этого направления мы договорились использовать Trunk M и Trunk L
Последний маршрут — Россия.
Ну вот и всё. Не забываем применить настройки (большая красная кнопка). Должно получиться примерно как-то так:
Чем SIP-телефония лучше аналоговой?
Из всех возможных сценариев переадресации мы рекомендуем использовать сценарий переадресации с использованием виртуальной IP-телефонии – SIP. Чтобы наглядно представить и понять чем SIP-телефония лучше аналоговой, достаточно вспомнить каким мы пользовались телевидением раньше и каким пользуемся сейчас. Раньше телевидение было аналоговым – через кабель к нам в квартиру поступал сигнал с антенн, монтаж и проводка которых были на авось выполнены электриками десятки лет назад. Отсюда помехи и некачественный сигнал. Сейчас в большинстве крупных городов используется цифровое телевидение через приставку, подсоединенную к интернету. И теперь, вместо помех и некачественного сигнала, в наших домах FullHD видео с идеальной картинкой и тысячами каналов, переключающихся мгновенно.
Аналогично и SIP-телефония, работающая через интернет, несоразмерно лучше, качественнее, быстрее и главное надежнее, чем аналоговая, работающая по технологии прошлого века. Вот лишь некоторые преимущества SIP-телефонии:
- Безопасность: Если для того, чтобы перехватить звонок по аналоговому соединению, злоумышленнику достаточно вклинится в линию, то SIP-телефония надежно защищена современными алгоритмами шифрования на уровне АТС. Зашифрованный сигнал идет от АТС к АТС и не может быть перехвачен.
- Надежность: Цифровые АТС надежно защищены как на аппаратном уровне так и на программном от всех возможных проблем.
- Скорость: В эпоху гигабитного интернета даже видео в формате 4K загружается мгновенно в режиме онлайн, не говоря уже об обычных голосовых звонках.
- Неограниченная канальность номеров: Пропускная способность интернет-канала позволяет передавать/принимать одновременно неограниченное количество звонков.
- Высокое качество: Голосовой трафик кодируется современными звуковыми кодеками, в результате чего оператор и клиент будут кристально четко слышать друг друга.
Важно: качество связи при использовании SIP сильно зависит от качества интернет-канала. Ниже перечислены важные параметры для обеспечения качественной работы переадресации по SIP:
- Минимальная полоса пропускания для одного разговора – 100 кбит/с
- Потерь пакетов должно быть не более 5% от общего общего количества отправляемых пакетов
- Максимальная задержка при передаче IP-пакетов – 100-150 миллисекунд
- Отклонения от среднего уровня задержки – не более 100-150 миллисекунд
Статус номера
Статус | Описание |
Новый | Номер зарезервирован за проектом, но его настройка ещё не завершена |
Идет подключение | Номер в процессе резервирования за проектом |
Ошибка подключения | Отображается после добавления нового номера или редактирования существующего, когда оператор не вернул успешный ответ или вернул неуспешный. В таком случае обратитесь в техническую поддержку |
Активен | Номер настроен и закреплен за пулом |
Идет удаление | Номер в процессе удаления, когда он завершится номер будет отключен, и строка с ним пропадет из списка номеров |
Ошибка удаления | Отображается после попытки удаления, когда оператор не вернул успешный ответ или вернул неуспешный. В таком случае обратитесь в техническую поддержку |
Приостановлен | Отображается, когда есть задолженность по оплате, по этому номеру нельзя дозвониться |
Свободный | Отображается при отсутствии пула у номера |
Использование промежуточного номера Calltouch
Если на Вашей стороне отсутствует техническая возможность настроить переадресацию с вашего номера «A» на наш SIP URI, то вместо SIP URI мы выделим вам дополнительный номер Calltouch. Схема перехвата звонка аналогично предыдущей, разница лишь в использование обычного номера вместо SIP URI:
Ваш номер «A» => Промежуточный номер Calltouch => Ваш номер «B» или SIP-trunk / SIP URI
В этом случае от вас потребуется настроить переадресацию с вашего номера «A» на наш промежуточный номер. А мы в свою очередь настроим переадресацию с нашего промежуточного номера на ваш номер «B» или SIP-trunk. Переадресация будет так же осуществляться за доли секунд и не будет заметна клиенту.
Обратите внимание! В качестве номеров «В» не используются бесплатные номера в коде 8 800