Loe raamatut: «Elastix – общайтесь свободно. Том 2»
Использование торговых марок
В книге были использованы следующие торговые марки:
Asterisk® – зарегистрированная торговая марка DIGIUM, Inc
FreePBX® – зарегистрированная торговая марка Bandwidth.com
Elastix® – зарегистрированная торговая марка Palosanto Solutions
Yealink® – зарегистрированная торговая марка Yealink Network Technology
Yeastar® – зарегистрированная торговая марка Yeastar Technology
Skype® – зарегистрированная торговая марка Microsoft
Об авторе
Юров Владислав – профессиональный IT-менеджер с более чем 20-тилетним стажем. В 1998 году защитил диплом магистра техники и технологий Московского Технического Университета Связи и Информатики. В 2002 году получил сертификат MCSE (Microsoft Certified Systems Engineer). В 2006 году защитил диплом MBA-CIO (Школа IT-менеджмента при Академии Народного Хозяйства).
В связи с отсутствием в Интернет структурированной информации по настройке и обслуживанию Elastix (как на русском, так и на английском языках), делались записи для собственных нужд и для сотрудников, обслуживающих Elastix в Айкрафт. В какой-то момент записей набралось настолько много, что до полноценной книги оставалось совсем чуть-чуть. При переработке материалов для книги постарался акцентировать внимание на наименее освещенных в сети особенностях настройки Elastix, а также максимально упростить описание необходимых настроек.
Отзывы
В целом книга хорошая! Несмотря на свой многолетний опыт работы с Asterisk, смог найти несколько неизвестных мне ранее деталей. Основной бизнес моей компании – Call-центры на Asterisk. Поэтому от себя хочу пожелать в следующих редакциях книги немного углубиться и расписать работу API-интерфейса, обеспечивающего взаимодейтсвие Elastix (Asterisk) с CRM и с модулями Call-центра.
Александр Гросс
Владелец CallService Communication Solutions
Уверен, что труд вложенный в создание книги, будет по достоинству оценен ИТ специалистами средних и крупных компаний (100 сотрудников и больше), заинтересованных в снижении затрат внутри своей организации.
Общаясь с заказчиками в России, в Украине и в Европе, рекомендую их ИТ директорам обязательно ознакомится с преимуществами собственной АТС на платформе Elastix VoIP.
Илья Захаров
Генеральный директор
ООО "Программы Лояльности"
Техническая часть по настройке несомненно хороша и полезна для читателя. Как справедливо замечено в книге, для Elastix крайне важно обеспечить защиту от взлома. Очень эффектным решением является рекомендация автора изменить порты WEB, SSH и SIP со стандартных 80, 22 и 5060 на порты в пределах 10000-65535. Тогда простое сканирование портов станет не эффективным. Забудьте идею эксплуатировать Elastix, не защитив ее от взлома! Не мало клиентов, использующих VoIP-станции, подвергается взлому, что приводит к крупным потерям с их стороны на оплату международного трафика взломщиков.
Стратегическая часть, где рассматриваются вопросы общего проектирования, у меня вызывает желание поспорить. Например, учитывая свой операторский опыт, не соглашусь с целесообразностью установки АТС в ЦОД. В крупных компаниях важной становится связь между сотрудниками, которая в таком случае будет невозможна при потере доступа в Интернет.
В следующих редакциях книги хотелось бы увидеть раздел, посвященный настройке локальных сетей для обеспечения высокого качества VoIP. Самая популярная ошибка начинающих – подключение каскадом большого количества Ethernet-устройств, что приводит к катастрофически низкому качеству голосовой связи. Не говоря уже о проблеме грамотной настройки приоритезации VoIP трафика. Также считаю полезным расширить тему защиты Elastix с использованием SBC (Session Border Controllers) для противодействиях атакам по SIP-протоколу.
Разработкичам дистрибутива Elastix рекомендую в следующих релизах системы улучшить защиту с использованием прав доступа, дабы минимизировать риски кражи важных паролей. В частности, ни к чему запускать CRM с правами пользователя Asterisk, имеющего доступ к паролям транков и абонентов – это весьма распространенный метод взлома Elastix.
Алексей Панкратов
Генеральный директор MosLine Communication
Elastix как платформа VoIP коммуникаций
Платформа Elastix программно не ограничивает число абонентов, и на недорогом сервере (Intel Core i3 3.2GHz/4Gb) может обеспечить около 500 одновременных разговоров, что при офисной нагрузке означает 1000-5000 абонентов (http://habrahabr.ru/post/145620/). Увеличить число абонентов можно либо выбором более производительного сервера, либо разделением абонентов между несколькими серверами.
Elastix использует в своей основе телекоммуникационный сервер Asterisk. Asterisk – самый распространенный и функциональный бесплатный VoIP-сервер. Основное удобство выбора Elastix простоте установки и использования. Все компоненты платформы интегрированы, «из коробки» пользователь получает готовую платформу, поддерживающую унифицированные коммуникации (Unified Communications). В комплект Elastix 2.4 (при обновлении до текущей версии) входят:
• IP-АТС Asterisk v11.5
• web-интерфейс Elastix 2.4
• встроенный доступ к магазину платных и бесплатных приложений для Elastix
• web-интерфейс FreePBX 2.8.1
• биллинговый модуль A2Billing
• Факс-сервер HylaFax 4.3.10
• Jabber чат-сервер OpenFire 3.7.1
• CRM-системы vTiger CRM 5.2.1, Sugar CRM 5.2
• Мультидоменный сервер электронной почты Postfix с web-интерфейсом RoundCube и антиспам-модулем SpamAssassin
• web-сервер Apache 2.2.3
• сервер баз данных mySQL 5.0
Бумажные и электронные версии книги
Электронную версию книги «Elastix – общайтесь свободно» можно купить и скачать в следующих магазинах:
• http://club-neformat.com (PDF, формат А5)
• http://ru.scribd.com (PDF, формат А5)
• https://play.google.com/ (PDF, формат А5)
Бумажная версия книги «Elastix – общайтесь свободно» представлена на полках и в интернет-магазинах с доставкой:
• Озон: http://www.ozon.ru/
• Библио-Глобус: http://www.biblio-globus.ru
• Лабиринт: http://www.labirint.ru
• Московский дом книги: http://mdk-arbat.ru
• Молодая гвардия: http://www.bookmg.ru
• Указка.ру: http://www.ukazka.ru
• Balka Book (Украина): http://balka-book.com
Актуальный список магазинов и прямые ссылки доступны на сайте http://elastix.club/buy
Подключение Elastix к глобальным телекоммуникационным сетям
Подключение к ТФОП через аналоговые линии
Многие телеком-провайдеры до сих пор не могут предложить своим абонентам подключение по протоколу SIP. Для подключения Elastix к таким провайдерам по аналоговым линиям используются шлюзы FXO-SIP или FXO-IAX2.
Порядок настройки Elastix и шлюзов FXO-SIP/IAX2
Для подключения Elastix к ТФОП (Телефонной сети Общего Пользования) через FXO-шлюз требуется:
• настроить в Elastix линию подключения (Trunk) по протоколу SIP или IAX2
• настроить в Elastix правила исходящей связи (Outbound Routes)
• настроить в Elastix правила обработки входящих звонков (Inbound Routes)
• настроить на FXO-шлюзе подключение к Elastix
• подключить FXO порты шлюза к аналоговым линиям, предоставленным провайдером
Также FXO-шлюзы могут быть полезны при переходе с аналоговой офисной станции на Elastix. Такие шлюзы предоставляют возможность абонентам Elastix вызывать абонентов аналоговой АТС без использования секретаря (живого или автоматического). Для подключения Elastix к аналоговой офисной станции через FXO-шлюз требуется:
• настроить в Elastix линию подключения (Trunk) по протоколу SIP или IAX2
• настроить в Elastix правила исходящей связи (Outbound Routes)
• настроить в Elastix правила обработки входящих звонков (Inbound Routes)
• настроить на FXO-шлюзе подключение к Elastix
• подключить FXO порты шлюза к портам аналоговых абонентов офисной АТС
Настройка Elastix для подключения к шлюзу FXO-IAX2
Чтобы настроить правила обработки входящей (Indound Routes) и исходящей связи (Outbound Routes) необходимо настроить в Elastix линию подключения (Trunk) для FXO-шлюза.
Некоторые VoIP-FXO шлюзы позволяют использовать для подключения к Elastix как протокол SIP, так и протокол IAX2. В таких случая лучше использовать протокол IAX2, имеющий следующие преимущества перед протоколом SIP: IAX2 проще проходит NAT, поскольку для передачи голоса и сигнальных пакетов использует один и тот же порт, IAX2 потребляет меньше трафика, так как для всех каналов соединения использует единый сигнальный пакет, IAX2 передает сигнальные пакеты в бинарном виде, а не в текстовом, IAX2 в режиме trunk передает все медиапотоки, используемых в данный момент каналов, в едином пакете, что повышает эффективность использования полосы пропускания канала между шлюзом FXO и Elastix.
Создайте в Elastix учетную запись типа IAX2:
и заполните следующие поля:
• General Settings/Trunk Name – имя соединения (например, название провайдера), которое будет видно в интерфейсе администрирования Elastix
• Outgoing Settings/Trunk Name – имя, которое будут сохраняться в логах звонков через эту линию
• Peer Detail– настройки для исходящих соединений:
host=dynamic
type=friend
username=fxo1
secret=m3GaPa$$w0rd
qualify=yes
canreinvite=no
disallow=all
allow=ulaw&alaw
где host=dynamic – означает, что FXO-шлюз сам установит соединение (самый удобный способ подключения, когда Elastix и шлюз находятся в разных сетях); username и secret – логин и пароль, по которому шлюз FXO будет подключаться к Elastix; qualify=yes – регулярно проверять соединение и задержку (по команде show peers в меню Elastix/PBX/Tools можно увидеть статусы линий и абонентов); canreinvite=no – устанавливать соединения через Elastix (для исключения односторонней слышимости, когда на пути между абонентами используется NAT); disallow=all, allow=ulaw&alaw – разрешить использовать только кодек G.711 (ulaw или alaw, позволяющие нормально передавать не только речь, но и факсы).
• User Context – контекст обработки входящих вызовов
• USER Detail– настройки для входящих соединений
Настройка Elastix для подключения к шлюзу FXO-SIP
Большинство FXO-шлюзов не поддерживают протокол IAX2, для подключения таких шлюзов к Elastix используется протокол SIP. В случае протокола SIP приходится каждый канал между шлюзом и Elastix настраивать отдельно, создавая линии SIP (Trunk) по числу портов FXO.
Создайте на Elastix линию (Trunk) типа SIP:
и заполните следующие поля:
• General Settings/Trunk Name – имя соединения (например, название провайдера), которое будет видно в интерфейсе администрирования Elastix.
• Outgoing Settings/Trunk Name – имя, которое будут сохраняться к логах звонков через эту линию
• Peer Detail– настройки для исходящих соединений:
host=dynamic
type=friend
username=fxo1
secret=m3GaPa$$w0rd
qualify=yes
canreinvite=no
disallow=all
allow=ulaw&alaw
где host=dynamic – означает, что FXO-шлюз сам установит соединение (самый удобный способ подключения, когда Elastix и шлюз находятся в разных сетях); username и secret – логин и пароль, по которому шлюз FXO будет подключаться к Elastix; qualify=yes – регулярно проверять соединение и задержку (по команде show peers в меню Elastix/PBX/Tools можно увидеть статусы линий и абонентов); canreinvite=no – устанавливать соединения через Elastix (для исключения односторонней слышимости, когда на пути между абонентами используется NAT); disallow=all, allow=ulaw&alaw – разрешить использовать только кодек G.711 (ulaw или alaw, позволяющие нормально передавать не только речь, но и факсы).
• User Context – контекст обработки входящих вызовов
• USER Detail– настройки для входящих соединений
По аналогии создайте линии (Trunk) по числу портов FXO (fxo2, fxo3 и т. д.).
Настройка правила исходящей связи через FXO
Чтобы предоставить абонентам Elastix возможность звонков через линии FXO требуется настроить правило исходящей связи (Outbound Route):
• Route Name – имя соединения, отобража-емое в интерфейсе Elastix
• Dial Patterns – фильтр подходящих номеров и алгоритм их преобразования (prefix – заменяемое начало номера, prepend – на что заменяется начало номера, match pattern – фильтр подходящих номеров; в данном примере позволяются звонки на московские номера в индексе 495 и на трехзначные номера, начинающиеся на 1 или 2)
• Trunk Sequence – последовательность поиска свободной линии
Настройка правила обработки входящих с FXO вызовов
Чтобы принимать звонки с линий FXO необходимо настроить правило обработки входящих вызовов (Inbound Route):
• Description – имя соединения, отображаемое в интерфейсе Elastix
• DID Number – логин (username), использованный в созданной для FXO-шлюза линии (Trunk)
• Set Destination – направление передачи вызова (Голосовое меню (IVR), Группа вызова (Ring Group), Очередь (Queue), Условие по времени (Time Condition), абонент (Extension), Собственная функция (Misc Destination) или другое направление)
Настройка FXO-шлюза Yeastar NeoGate для подключения к Elastix
Настройка FXO-шлюза Yeastar NeoGate состоит из следующих этапов:
• базовая настройка шлюза
• изменение пароля администратора
• настройка сетевых параметров
• настройка безопасности и прочее
• настройка соединения с Elastix
• настройка FXO портов
• подключение FXO портов к линиям провайдера
Базовые настройки подробно описаны в инструкции и сильно зависят от сети компании, при этом обычно не вызывают особых сложностей. Поэтому перейдем к настройке соединения шлюза с Elastix.
Откройте в FXO-шлюзе Yeastar NeoGate раздел Gateway , затем VoIP Server Settings, отредактируйте запись VoIPServer1:
• выберите IAX2 в поле Type
• укажите DNS-адрес своего сервера в полях Hostname/IP и Domain
• нажмите Save
Откройте ссылку FXO ports, выделите подключаемые к аналоговой станции порты и нажмите Modify the selected Port:
• отметьте галочку Password
• выберите опцию Fixed Password
• укажите пароль, который записали в Elastix в поле sercet
• нажмите Save
Подключите настроенные порты шлюза к линиям провайдера, проверьте звонки с подключенных линий абонентам Elastix и звонки с SIP-телефонов через настроенный шлюз.
Шлюз на 4 порта FXO-SIP/IAX2 Yeastar NeoGate TA410
Цена: 330 USD
(рекомендованная розничная)
Особенности модели:
• Высококачественная связь с подавлением эха (ITU-T G.168 LEC)
• Поддержка факса по протоколам T.38 и G.711
• Определение тона отбоя и переполюсовка
• Определитель номера: ETSI (V23), DTMF-based CID, BELL202
• Подключение по протоколам SIP (RFC3261) и IAX2
• Поддержка VLAN (IEEE 802.1p/q tagging), QOS, OpenVPN
• Передача DTMF: RFC 2833, SIP INFO, In-band
• Кодеки: G.711A/U-law, G.722 (HD Voice), G.726, G.729a, GSM, ADPCM, Speex
• Подключение к аналоговой АТС или подключение аналоговых телефонов и факсов: 4x RJ11
Шлюз на 8 портов FXO-SIP/IAX2 Yeastar NeoGate TA810
Цена: 440 USD
(рекомендованная розничная)
Особенности модели:
• Высококачественная связь с подавлением эха (ITU-T G.168 LEC)
• Поддержка факса по протоколам T.38 и G.711
• Определение тона отбоя и переполюсовка
• Определитель номера: ETSI (V23), DTMF-based CID, BELL202
• Подключение по протоколам SIP (RFC3261) и IAX2
• Поддержка VLAN (IEEE 802.1p/q tagging), QOS, OpenVPN
• Передача DTMF: RFC 2833, SIP INFO, In-band
• Кодеки: G.711A/U-law, G.722 (HD Voice), G.726, G.729a, GSM, ADPCM, Speex
• Подключение к аналоговой АТС или подключение аналоговых телефонов и факсов: 8x RJ11
Подключение к ТФОП по цифровым потокам PRI E1
Если используемый провайдер связи не может предложить подключение к своей сети по протоколу SIP, можно использовать подключение по цифровому потоку PRI E1. Для этих целей предназначены шлюзы VoIP-PRI. Цифровой поток PRI E1 обеспечивает передачу до 30 одновременных голосовых каналов в цифровом виде и защищен от многих искажений, присущих аналоговым каналам передачи голоса. Это наиболее распространенный цифровой способ подключения офисных станций к городской телефонной сети.
Также шлюз PRI-SIP может использоваться для подключения прежней офисной станции к Elastix по цифровому каналу. Такой способ подключения оправдан, если планируется долгое время одновременно эксплуатировать как Elastix, так и старую офисную станцию. Например, если многие сотрудники вашей компании привыкли к DECT-телефонам с поддержкой роуминга по всему офису. Следует признать, что пока DECT-связь работает стабильнее, чем программные SIP-телефоны на смартфонах.