• IAX2 полностью бинарный протокол, что экономит трафик (например, заголовки SIP-протокола текстовые)
• IAX2 использует только один порт (UDP 4569), что упрощает настройку Firewall и улучшает работу через NAT
• IAX2 поддерживает транкинг – передача в каждом пакете данных нескольких параллельных каналов, что экономит трафик (до трехкратной экономии)
• при установлении соединения по протоколу IAX2 гарантируется прохождение голоса (в отличие от SIP-протокола, когда связь может установиться, но голоса не будет слышно)
Однако, IAX2 более уязвим к DDoS-атакам, поэтому настоятельно рекомендуется ограничивать подключения с использованием параметров deny, permit. Например, чтобы разрешить подключения только с адресов 216.207.245.40 и 216.207.245.45, в блоке USER Details укажите следующие параметры:
deny=0.0.0.0/0.0.0.0
permit=216.207.245.40/255.255.255.255
permit=216.207.245.45/255.255.255.255
Более того, чтобы злоумышленники даже не пытались взламывать Elastix, используйте встроенный Firewall для порта IAX2 (закладка Security/Firewall), указав для данного протокола только адреса доверенных серверов, которые могут связываться с вашим сервером Elastix по протоколу IAX2.
Нестандартные транзитные устройства (Custom Trunk)
При необходимости приема вызовов и совершения вызовов через нестандартные устройства можно использовать Custom Trunk.
• Local/$OUTNUM$@a2billing/n для маршрутизации вызовов через модуль A2Billing
• CAPI/ISDN1/$OUTNUM$/b для маршрутизации вызовов через плату ISDN
• H323/$OUTNUM$@X.X.X.X для маршрутизации вызовов через устройство X.X.X.X по протоколу H323
где $OUTNUM$ – вызываемый номер
Цифровые и аналоговые транзитные устройства (DAHDI Trunk, ZAP Trunk)
DAHDI Trunk, ZAP Trunk необходимы для использования специальных периферийных устройств, подключенных к серверу (цифровых и аналоговых соответственно). Протоколы были созданы задолго до массового появления шлюзов, позволяющих связывать ISDN и аналоговые сети с VoIP сетями по протоколу SIP.
Подключение к глобальным сетям (ENUM Trunk)
Чтобы упростить переход от Публичных Коммутируемых Телефонных Сетей (PSTN) к сетям VoIP был создан стандарт ENUM преобразования номеров E.164 (http://en.wikipedia.org/wiki/Telephone_number_mapping). Этот стандарт позволяет, зная городской/мобильный номер, определять альтернативные способы связи с абонентом (по протоколам SIP, Jabber, email и пр.). Таким образом можно устанавливать связь со станциями партнеров не выходя за пределы VoIP-сети. Что не только бесплатно, но обычно проходит с меньшими потерями качества, поскольку не требует многократной перекодировки речи на стыках сетей PSTN и VoIP.
Суть ENUM в том, что в DNS зоне e164.arpa создаются записи, соответствующие городским/мобильным номерам, указывающие альтернативные способы связи с абонентом. Например, номер +74951234567 будет представлен в ENUM как 7.6.5.4.3.2.1.5.9.4.7.e164.arpa. Оператор связи, обслуживающий номер +74951234567 и предоставляющий своему клиенту этот номер по протоколу SIP может внести запись в DNS, указывающую на «sip: call@elastix.club». Настроив на Elastix канал ENUM можно все вызовы сначала направлять через канал ENUM, а вторым выбором использовать каналы связи с вашими провайдерами.
Однако, для работы ENUM необходима поддержка операторов связи – регистрировать записи в DNS в домене e164.arpa могут только операторы связи. К сожалению, в России вот уже 6 лет не могут определить организацию, которая возьмет на себя обязанности по обслуживанию зон 3.7.e164.arpa, 4.7.e164.arpa, 8.7.e164.arpa, 9.7.e164.arpa. Наиболее вероятный кандидат на эту роль – Ассоциация документальной электросвязи. Но когда наконец ENUM начнет использоваться в России – не известно.
С одной стороны, переход на использование ENUM – это потери для операторов связи на снижении трафика. Но снижение трафика в коммутируемых сетях неизбежно и ENUM можно было бы использовать для продажи своим клиентам как услуги регистрации арендованных номеров в e164.arpa, так и услуги аренды клиентам субдоменов к арендованным номерам. Например, чтобы предоставить своим клиентам возможность адресации сотрудников без донабора: номер +74951234567123 может быть записан в DNS как 3.2.1.7.6.5.4.3.2.1.5.9.4.7.e164.arpa и указывать на «sip:123@elastix.club», что позволит вносить такие номера в мобильный телефон и связываться с нужным отделом/сотрудником напрямую (не все согласны выдавать своим сотрудникам мобильные телефоны, а использовать для корпоративных целей личные телефоны неудобно не только сотрудникам, но и компаниям – с уходом сотрудника партнеры продолжат названивать ему на личный мобильный номер и могут уйти вслед за сотрудником к конкуренту).
Динамический поиск абонентов на станциях Elastix (DUNDi Trunk)
При интеграции нескольких станций Elastix в единую сеть можно продумать систему префиксов, позволяющую по первым цифрам определить станцию, обслуживающую вызываемого абонента. Однако, однажды может потребоваться объединить телефонные станции, в которых используется одинаковая нумерация. Если процент абонентов, имеющие одинаковые номера не велик, то можно задействовать протокол DUNDi (http://ru.wikipedia.org/wiki/DUNDi), позволяющий динамически определять на какой станции находится требуемый абонент. Этот протокол работает поверх имеющихся каналов связи между станциями, обычно поверх каналов IAX2. Настройка протокола требует ручной правки конфигурационных файлов Asterisk и в данной версии книги эта процедура не описана.
Настройка правил исходящей связи (Outbound Routes)
Elastix позволяет настроить гибкие правила исходящей связи:
• по совпадению набранного номера с шаблоном (match pattern)
• по совпадению номера звонящего абонента с шаблоном (CallerID)
• по вводу абонентом пароля доступа к исходящей связи (Route Password / PIN Set)
• по времени суток на станции (Time Group)
• по приоритету правила маршрутизации (Route Position)
• с заменой или с удалением первых цифр номера для преобразования к нужному формату
• с выбором нескольких линий (Trunk) для поиска свободного канала связи
Пример правила исходящей связи
Route Name
Указываете удобное для администратора Elastix название правила.
Dial patterns
В полях prefix указываете первые цифры набираемого абонентами номера.
В полях prepend указываете как следует преобразовать набранный префикс в единый для вашей станции формат (рекомендую использовать E.164).
В полях match pattern указываете шаблоны оставшейся части номера (в примере – 8 и более цифр, следующих за префиксом).
В полях CallerID указываете шаблоны номеров абонентов, которым разрешено использование данного правила исходящей связи.
Поле prefix в примере предусматривает следующие варианты набора номера:
• «+792» на случай набора номера в формате E.164, как его обычно передают операторы мобильной связи;
• «+892» как обычно передает номер провайдер Энфорта;
• «792», «00792» – альтернативные варианты для формата E.164;
• «892» – как наберут номер большинство ваших коллег, как обычно запоминают номер в адресных книгах и в программах ERP, CRM и пр.;
• «9892» – как коллеги привыкли набирать номер при работе с офисной телефонной станцией.
Trunk Sequence for Matched Routes
Порядок перебора провайдеров для осуществления данных звонков, например, может быть следующим:
• multifonOffice – самый дешевый способ звонков на номера +792ХХХХХХХХ, при этом наиболее качественный, т. к. звонок сразу попадает в сеть провайдера вызываемого абонента;
• mangoCallback – следующий по удобству провайдер на случай, если по какой-то причине связь по каналу multifonOffice не установилась;
• enfortaCallback – резервный канал, на случай, если по первым двум каналам связь установить не получилось.
Настройка правил обработки входящих звонков (Inbound Routes)
Для обработки входящей связи Elastix предоставляет следующие возможности:
• основывать правила на набранном абонентом номере (DID Number), если этот номер транслируется провайдером
• основывать правила на номере звонящего абонента (Caller ID Number)
• направлять вызов (Set Destination) по направлениям разного типа: напрямую абоненту (Extension), на Объявление (Announcement), в Интерактивное меню (IVR), в Очередь (Queue), Группе (Ring Group), перенаправлять на Внешнюю линию (Trunk), в обработчик вызовов на основе времени суток (Time Conditions)
Description
Удобное для администратора Elastix название правила
DID Number
Набранный абонентом номер, если провайдер передает это поле. Поле можно оставить пустым, если не требуется анализировать для соответствующего переключения вызова.
Caller ID Number
Номер абонента или одно из следующих значений: private, blocked, unknown, restricted, anonymous, unavailable. Поле можно оставить пустым, если не требуется анализировать для переключения вызова.
CID Priority Route
Если входящий звонок удовлетворяет нескольким правилам входящей связи, маршрутизировать на основе Caller ID Number.
Alert Info
Тип звонка для телефона абонента. Не забудьте на телефонах абонентов настроить соответствующие рингтоны.
CID name prefix
Префикс на экране телефона абонента. Можно использовать, например, если требуется известить абонента, принимающего звонок, в какую компанию/отдел поступил вызов.
Music On Hold
Набор музыки, который будет проигрываться звонящему абоненту в режиме ожидания. Например, при звонке в отдел оптовых продаж – акции для оптовых покупателей, при звонке в отдел розничных продаж – адреса стоковых магазинов.
Signal RINGING
Включите опцию, если станция провайдера требует сигнала RINGING перед ответом. Например, если входящие звонки напрямую с абонентами соединяются, но при направлении вызовов на голосовое меню (IVR) соединения не устанавливаются.
Pause Before Answer
Пауза в секундах перед передачей звонка по направлению, заданному в Set Destination. Например, для аналоговых линий, параметр может быть задан, если этот же вызов может быть принят факсом или другим устройством, подключенным параллельно Elastix.
Privacy Manager
Включение режима обязывает звонящего представиться, если его номер скрыт или не передается оператором.
Detect Faxes
Включите опцию, если необходимо переадресовать звонки факсов:
Language