Asterisk и IP-телефония

Частный опыт установки и настройки Asterisk с нуля / IP-телефония / Хабрахабр

Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.

войти
зарегистрироваться
поиск по сайту
Посты
Q&A
Блоги
Люди
Компании
IP-телефония
индекс
103,86
Захабренные
Новые
Отхабренные
Частный опыт установки и настройки
Asterisk с нуля
из
песочницы
Во-первых, дисклаймер
Настройке Asterisk посвящены сайты, форумы и
целые порталы типа voip-info.org. Но всегда есть люди, для которых эта тема –
дремучий лес, а запустить продукт надо «вчера». Ещё полтора месяца назад я про
Asterisk знал только то что он есть. Данный труд призван лишь несколько
облегчить жизнь тем, кто окажется в такой же ситуации после меня. В нём могут
быть ошибки любой степени «чайниковости». Если вы гуру настройки Asterisk –
укажите на ошибку, я поправлю, потомки будут вам благодарны.
Сначала было слово
В некоторый момент времени моими усилиями
стратегия развития инфраструктуры компании была перевёрнута буквально с ног на
голову. Были очерчены цели и задачи и стало понятно, что нам нужна динамичная,
мобильная серверная инфраструктура, чтобы экономить деньги, чтобы можно было в
случае каких-то проблем быстро восстанавливаться и/или подниматься в другом
месте, чтобы проще было ухаживать за железом и т.п.
Затем было дело
В общем, на бумаге всё было красиво и легко. Дело
встало только за развёртыванием.
Сначала были закуплены два простеньких
сервера. Core i7-930, 12GB памяти и по 12ТБ на SATA-дисках. На эти серверы был
установлен бесплатный Xen Server и развёрнуты виртуальные серверы и рабочие
станции для удалённых сотрудников.
В качестве внешнего хранилища используется
QNAP-овский NAS, который достался в наследство.
Терабайтные локальные
хранилища нужны только для хранения медиа-банка, который довольно велик. Сами
серверы все вместе весят меньше 3-х терабайт.
Одним из серверов стал Asterisk
на замену старичку Panasonic TDE-200. Т.к. компании необходима дешёвая связь,
прямые номера в разных странах, и бесплатные переговоры между сотрудниками, то
альтернативы ему за 12 шекелей в общем-то нет.
День первый: Make World
Развёртывать Asterisk было решено на родной
для Citrix Xen операционной системе CentOS. Тот же RedHat, только сбоку.
Оговорюсь сразу: я всю жизнь админил Windows, а *nix-ами только “игрался” в
виртуалках, не считая пары веб-серверов на железе. Поэтому, данное развёртывание
Asterisk в Citrix Xen отдаёт некоторой наивностью с точки зрения умудрённых
опытом людей.
В общем, я пошел по проверенному пути: открывается на ноуте
подробная how-to инструкция для чайников из официальных мануалов и выполняется
на сервере буквально и безинициативно. Играть в героев-наладчиков можно будет
позже, когда всё будет настроено и работать в состоянии “по умолчанию” и будет
сделан первый full backup.
День второй: yum install asterisk -y
Не то чтобы я был очень
удивлён, но, тем не менее, я пошёл к знакомому связисту за советом, когда
обнаружил, что живых астерисков аж три практически самостоятельных форка: 1.4,
1,6 и 1.8. У каждого из них свои тараканы и примочки. Т.к. я не обольщался
надеждой одолеть астериск с наскоку, то решил поставить версию 1.4, как у друга,
дабы иметь максимально возможную совместимость конфигов. Хотя, впоследствии,
пришлось подниматься до 1.6 из-за отсутствия поддержки TCP в 1.4, когда возникла
такая потребность.
Для этого к CentOS был прилажен digium-овский репозиторий
и Asterisk ставился из него.
Установка прошла вполне ожидаемо, без сучка и
задоринки. В основном, использовался толковый пошаговый
roadmap
с voip-info
Сразу же были поправлены iptables, чтобы разрешить трафик по
SIP-портам.
Не сразу же, но будущим поколениям рекомендую установить и
настроить немедленно пакет по имени
fail2ban
Совершенно не лишняя программа на сервере, выставленном в интернет. У меня через
день после установки весь Тайвань в drop ушел, судя по iptables.
День третий: ТЗ на функционал АТС
Начинаем самое интересное –
планирование. Перед любым процессом настройки надо записать и структурировать
все пожелания заказчика и обязательно подписать соглашение, чтобы избежать в
дальнейшем конфликтов вида “нет, я говорил совсем другое”. В моём случае
заказчик — это компания, в которой я работаю, но это ничего не меняет. Пишем
техническое задание на функционал, обсуждаем его с ответственными людьми,
утрясаем разногласия и подписываем финальный вариант.
ТЗ на конфигурацию
получилось такое:
Нумерация телефонов четырёхзначная.
Первая цифра номера — признак страны расположения офиса.
Нумерация в каждом отделе начинается с первой цифры очередной сотни.
Каждый отдел является отдельной звонковой группой.
Если вызываемый абонент любым образом недоступен для вызова, то звонок
перекидывается на всю группу.
Логика обслуживания входящих вызовов:
1. Поднять трубку.
2.
Проиграть приветствие.
3. Проиграть рекламу про текущие акции.
4.
Проиграть варианты вызова различных отделов или предложить набрать номер
абонента.
5. Начиная с пункта 2 ожидать ввода каких-либо команд.
6.
После окончания п.4 ждать ввода команд ещё 10 секунд.
7. В случае
отсутствия команд снова проиграть варианты вызова.
8. Если абонент
всё-равно тупит, то перекинуть звонок на секретаря.
Пользователям, которым необходим такой сервис, прикрутить голосовую почту.
В этом случае, если пользователь любым образом недоступен для вызова,
перекинуть звонок на голосовую почту.
По умолчанию, разрешены вызовы только на Россию и Италию — страны, где в
основном работает наша компания. Остальные направления открываются по мере
надобности самыми узкими масками, т.к. все мы помним страшные истории про

Материал сокращён при переносе в новую базу знаний. Полная версия сохранена в архиве старого сайта.

Позвонить +7 (343) 382-33-16