На практике иногда возникает необходимость соединить несколько АТС. Например, у нас имеются две АТС Askozia: АТС Москва и АТС Санкт-Петербург. Абоненты Москвы должны иметь возможность набрать абонентов Санкт-Петербурга и наоборот.

В одной из своих инструкций мы подробно описали каким образом объединить эти две станции. Возьмём эту статью за основу и в дальнейшем будем не раз ссылаться на настройки АТС, приведенные в ней.

В этом блоге мы разберемся, как из панели телефонии осуществить переадресацию вызова на внешний номер. Например, как абоненту Орлову из офиса Москвы переадресовать внутренний звонок Петрова (сотрудник офиса Москвы) абоненту Савельеву из офиса Санкт-Петербурга?

Настройка панели телефонии 1С

Для АТС Москва (192.168.1.84) все внутренние номера назначены по шаблону 3ХХ.

Для АТС Санкт-Петербург (192.168.1.85) все внутренние номера назначены по шаблону 5ХХ.

Для каждой АТС настроена учетная запись провайдера. В панели телефонии производим настройки телефонных станций для Москвы и Санкт-Петербурга (подробности здесь).

Затем настраиваем параметры доступа к панели телефонии для пользователей информационной базы (подробности здесь).

Мы замечаем, что контакты для офиса Санкт-Петербург отмечены серым цветом. Нам недоступен лишь статус данных абонентов, однако звонить абонентам Санкт-Петербурга мы можем, также как и они могу звонить абонентам Москвы.

Изменение файла extensions.conf

Для того, чтобы мы могли следить за статусами абонентов офиса Санкт-Петербург и в последующим переадресовать на них вызовы, нам необходимо внести изменения в конфигурационный файл extensions.conf.

Для АТС Москва (192.168.1.84) выполняем следующие действия:

  • открываем административную панель (нажатие Esc)
  • переходим в Configuration Files
  • выбираем файл extensions.conf и нажимаем Edit
  • переключатель устанавливаем на Append и в текстовое поле вводим следующее: [internal](+) exten => 502,hint,SIP/502&SIP/SIP-PROVIDER-157329807358579d6856209
    exten => 504,hint,SIP/504&SIP/SIP-PROVIDER-157329807358579d6856209
    exten => 501,hint,SIP/501&SIP/SIP-PROVIDER-157329807358579d6856209

  • нажимаем save file contents.

В нашем примере мы добавили в контекст [internal] диалплана добавочные номера абонентов Санкт-Петербург: 502, 504 и 501. Приоритет "hint" используется для определения состояния канала (недоступен, в использовании, занято, посылка вызова, и т.д.). В нашем примере мы работаем с SIP телефонами, поэтому используем SIP каналы.

В качестве SIP провайдера указываем логин учетной записи провайдера Moscow для АТС Санкт-Петербург.

Второй способ определения SIP провайдера:

  • перейти в web-интерфейс АТС Москва (192.168.1.84)
  • перейти в Учетные записи -> Провайдеры
  • выбрать провайдера для офиса Санкт-Петербург
  • в адресной строке браузера находим логин SIP провайдера

Для того, чтобы мы могли переадресовать звонок на добавленные нами номера, дополним файл extensions.conf: [internal-caller-transfer](+) exten => _5XX,1,Dial(SIP/SIP-PROVIDER-157329807358579d6856209/${EXTEN},60,Tto)

Мы внесли изменения в контекст [internal-caller-transfer], который отвечает за переадресацию вызовов. Чтобы понять, какие действия мы определили в данном конктекста, разберем команду Dial.

Dial пытается установить новое исходящее соединение и связать его с текущим каналом (по которому поступил вызов). В общем случае формат команды Dial выглядит примерно так:

Dial(type/identifier,timeout,options)

  • Для каналов SIP, параметр type всегда имеет значение - SIP.

  • Параметр identifier - "номер телефона" (текущий екстеншен ${EXTEN}), который вызывается через канал SIP-PROVIDER-157329807358579d6856209.

  • Параметр timeout определяет максимальное время в секундах, указывающий, сколько времени команда Dial будет ждать ответа на вызов

  • Параметр options - это строка, содержащая несколько нижеприведенных флагов:

  • T: Разрешает звонящему пользователю перевести звонок

  • t: Разрешает ответившему пользователю перевести звонок.

Таким образом для всех звонков, удовлетворяющих шаблону _5ХХ (X соответствует любому числу от 0 до 9) с обычным приоритетом 1 выполняется команда Dial.

Для применения наших изменений в файл extensions.conf необходимо нажать save file contents и обновить dialplan. Для этого выполняем команду dialplan relaod.

Далее переподключитесь в панели телефонии и осуществите переадресацию вызовов на сотрудников не только офиса Москвы, но и на сотрудников Санкт-Петербурга.

Демонстрация переадресации вызовов в панели телефонии приведена здесь.

Полезные ссылки

Подробнее узнать о модуле SIP канала Asterisk и использовании команды Dial для SIP каналов можно здесь.

Подробности о файле extensions.conf можно узнать здесь.

О контекстах и екстеншенах сервера Asterisk можно узнать здесь.