Некоторое время назад, я задумался о присоединении Астериска к обычной телефонии, которая представляла из себя 6 (шесть) АТС Avaya 500, объединённых друг с другом, и несколько десятков IP телефонов, расположенных в различных офисах по стране и за рубежом. Учитывая совершенно негуманную цену на SIP лицензии для телефонов у Avaya, соединение с Астериском и использование его бесплатных лицензий, выглядело весьма вкусно.

Для теста у меня было 3 «лишних» лицензии на SIP транк Avaya и куча свободного пространства на гипервизоре, для выбора сборки Астериска. Начав с весьма симпатичной сборки от 3CX, я в конце концов вернулся на православный Астериск в варианте FreePBX Distro 10.13.66-64bit. Установка Астериска не представляет собой большой сложности и занимает в среднем время, эквивалентное 2 кружкам кофе с плюшками.

Основные условия, по которым я делал объединение, были следующими:

  1. Нумерация Avaya – (100-599)
  2. Нумерация Астериск – (700-799)
  3. Астериск находится в той же подсети, что и головная станция Avaya. (только внутренняя сеть)
  4. Выход в город для Астериска заблокирован. Только внутренние звонки.

При этом должно соблюдаться главное условие – а именно работа АОН в оба конца.

Настройка со стороны Avaya 500

  1. Разрешаем SIP Trunk (Закладка System, LAN, VoIP)
  2. Создаем SIP Line (у меня это 200 линия)
  3. Указываем в закладке SIP Line, ITSP Domain Name адрес Астериска (и в закладке Transport, ITSP Proxy Address – его же)Avaya1
  4. В закладке SIP Credentials создаем параметры аутентификации. У меня это 2001 и без пароля (с паролем фокус не получился, возможно «недокрутил» чего нибудь)Avaya2
  5. Заполняем SIP URI и выбираем нужную регистрацию (у нас она числится как 2001). Здесь же указываем входящую и исходящую группу для звонка и количество одновременных звонков в транке. В нашем случае количество ограничено тремя.Avaya3
  1. Создаем исходящее правило через Short Code.
    Code                                7xx
    Feature                            Dial 3K1
    Telephone Number          7N”@IP адрес Астериска”
    Line Group ID                  200
  1. Создаем входящие правила (Incoming Call Route)

Bearer Capability                      Any voice
Line Group ID                           200


остальное без изменений

В закладке Destinations ставим . (да, да, большую жирную точку и жмем ок)

Настройка со стороны Астериска

  1. Переходим в меню Подключение, Транки и Добавляем SIP (chan_pjsip) транк
  2. В общих настройках:
    Название транка: IPO
    Скрыть CallerID: нет
    Исходящий CallerID: 2001
    Опции CallerID (CID): Разрешить любые CID
    Максимально каналов: 3
    Опции команды Dial .. : (оставить как есть)
    Продолжить если занято: (оставить как есть)
    Выключить транк: (оставить как есть)

В закладке pjsip Общие настройки
Имя пользователя: 2001
Секрет: пусто (без пароля)
Аутентификация: исходящий
Регистрация: послать
Language Code: По умолчанию
SIP сервер: IP адрес AVAYA 500
Порт SIP сервера: 5060
Контекст: from-internal
Транспорт: 0.0.0.0-udp

  1. Создаем исходящее правило. Переходим в меню Подключение, Исходящая маршрутизация, Добавить исходящий маршрут
    В закладке Настройка маршрутов заполняем только 2 поля
    Название маршрута: IP office
    Последовательность транков для совпавших маршрутов: выбираем IPO
    В закладке правила набора создаем нужное количество маршрутов (заполняем поле «совпадение шаблона»)
    (приставка) префикс | [1xx / Caller ID]
    (приставка) префикс | [2xx / Caller ID]
  2. Создаем внутренний телефон с генерацией пароля, и установив SIP клиент на смартфон – регистрируемся на Астериске.
    Телефон естественно должен быть той же подсети, что и Avaya с Астериском (по WiFi)
  3. Пробуем звонить 🙂

В качестве SIP клиента на мой взгляд, лучше использовать Zoiper Gold (в данной редакции есть возможность переадресовывать звонок и возвращать по необходимости при «неответе» абонента).