Как построить «бюджетную» с точки зрения затрат телефонную сеть небольшого офиса, но с большими возможностями? Выходом в городскую сеть, возможностью совершать междугородние переговоры, голосовой почтой, … Asterisk – система телефонии, обладающая такими фантастическими возможностями, о которых обычная офисная коммутируемая АТС может только мечтать. Голосовая почта, конференц-связь, очереди вызовов и агенты, музыка во время ожидания и парковка вызовов – это лишь часть функций, обеспечиваемых Asterisk. И так:
- Определяем необходимую производительность сервера и устанавливаем Linux и IP АТС Asterisk
- Подключаем сотрудников (выбираем sip- soft/hardphone)
- Организовываем входящие и исходящие вызовы на ТФОП с использованием DVG-6004s
- Подключаем Asterisk к Sipnet (для междугородней связи)
- Предоставляем инструмент администрирования
- Побочный эффект ( или бонус на последок)
DVG-6004s — VoIP Router с четырьмя портами FXO. Что вполне достаточно для организации работы в небольшом офисе. Рассмотрим следующую схему.
«Asterisk – это конвергированная платформа для телефонии с открытым исходным кодом, разработанная, главным образом, для выполнения на Linux. Более чем 100-летний опыт телефонной связи позволил создать надежный пакет тесно интегрированных телекоммуникационных приложений. Мощь Asterisk – в ее настраиваемой природе в сочетании с не имеющим аналогов соответствием стандартам. Ни одна другая офисная АТС не предоставляет такие широкие возможности по вариантам ее развертывания.» — «AsteriskTM: будущее телефонии.» Поэтому Asterisk это все что нам надо, плюс DVG-6004s (~200 $), если не считать головы и рук. Примерные рекомендации по выбору производительности серверного оборудования:
- SOHO-система (малый офис), от 5 до 10 каналов ………………… 1 ГГц ×86, 512 Mб оперативной памяти
- Малая бизнес-система до 25 каналов ………………………………… 3 ГГц ×86, 1 Гб оперативной памяти
- Средняя или большая система более 25 каналов………………… Два ЦП, возможно также несколько серверов в распределенной архитектуре
И так:
Подключаем абонентов.
Приобретаем IP телефоны с поддержкой протокола -SIP. Полностью бесплатный вариант -программный телефон X-Lite компании CounterPath. Из недостатков (или достоинств?) — требуется ПК и гарнитура. Доступен X-Lite для Microsoft Windows, Mac и Linux. Копию X-Lite можно скачать по адресу http://www.counterpath.com/index.php?menu=download. Скачиваем и инсталлируем. В обоих вариантах будет необходимо настроить IP адрес телефона, шлюз, IP адрес proxy,»логин» и пароль. Вносим необходимые изменения для каждого абонента в файл /etc/asterisk/sip.conf.
- [1000]
- type=friend
- context=office
- host=dynamic
- disallow=all
- allow=ulaw
- dtmfmode=rfc2833
- maibox=1000
- secret=****
- [1001]
- type=friend
- context=office
- host=dynamic
- disallow=all
- allow=ulaw
- dtmfmode=rfc2833
- maibox=1001
- secret=****
- [1002]
- type=friend
- context=office
- host=dynamic
- disallow=all
- allow=ulaw
- dtmfmode=rfc2833
- maibox=1002
- secret=****
Но более красивый вариант использовать шаблон и не делать слишком много ввода текста, копирования и вставки.
- [sets](!)
- type=friend
- context=office
- host=dynamic
- disallow=all
- allow=ulaw
- dtmfmode=rfc2833
- [1000](sets)
- secret=****
- maibox=1000
- [1001](sets)
- secret=****
- maibox=1001
- [1002](sets)
- secret=****
- maibox=1002
Теперь мы можем зарегистрироваться на нашей АТС.
Мне больше нравится другой клиент, качаем здесь — http://www.sjphone.org/sjp.html .
Чтобы не возвращаться, сразу добавляем необходимую конфигурацию и регистрируем 4 абонента DVG-6004s, которые будут служить нам соединительными линиями.
Регистрировать необходимо как каждую линию индивидуально, так и FXO Representative Number. При совершении в дальнейшем исходящего звонка эту линию можно использовать для автоматического выбора свободного номера.
Осталось определиться как Asterisk будет обрабатывать входящие и исходящие вызовы. Для этого нам необходим файл extensions.conf и изменения в конфигурации DVG-6004s. Включаем режим HotLine и определяем на какой внутренний номер будет поступать вызов по внешней линии.
И добавляем следующие строки в план нумерации (как пример, для прямого набора московского номера).
- exten => _NXXXXXX,1,Dial(SIP/3406${EXTEN}@3400)
- exten => _NXXXXXX,n,BackGround(vm-sorry)
- exten => _NXXXXXX,n,HangUp()
Таким образом для совершения звонка в офисе необходимо набирать номер 1001, 1002 …,а для внешнего звонка просто набрать 123-45-67. Маршрутизация произойдет автоматически. А как быть с «меж городом»? Забегая вперед, и отвечая на вопрос а где же «человеко-любивый интерфейс». Неужели необходим администратор, знающий например что делать, после ввода команды » vi /etc/asterisk/sip.conf «?!
GUI — графический пользовательский интерфейс, который помогает работать с Asterisk. Соответственно эксплуатировать IP АТС на базе Asterisk, (добавлять абонентов, менять СЛ и т.д.) может любой связист. Установка:
- cd /usr/src
- svn co http://svn.digium.com/svn/asterisk-gui/trunk asterisk-gui
На что получим новую ссылку — svn co http://svn.digium.com/svn/asterisk-gui/branches/2.0 , произведем сборку интерфейса:
- cd 2.0/
- ./configure
- make
- make install
- make samples
В файл /etc/asterisk/http.conf необходимо раскомментировать следующие строки:
- [general]
- enabled=yes
- enablestatic=yes ; без этого вы можете только посылать команды AMI, но не отображать html-содержимое
- bindaddr=0.0.0.0 ; адрес, на который HTTP-сервер Asterisk должен отвечать
- bindport=8088 ; порт, по которому HTTP-сервер Asterisk должен отвечать
- prefix=asterisk ; будет формировать часть URI, соответствующую имени папки
Чтобы веб-клиент мог посылать команды в Asterisk, необходимо внести некоторые изменения в Asterisk Manager Interface (AMI). Для этого добавим несколько строк в раздел [general] файла manager.conf и учетную запись пользователя с набором разрешений config. Откроем файл manager.conf и отредактируем его следующим образом:
- [general]
- enabled=yes ; возможно, AMI уже активирован, если используется для других целей
- webenabled=yes ; это активирует взаимодействие между веб-сервером Asterisk и AMI
- [admin_http] ; пользователю может быть присвоено любое имя
- secret = secret
- read = system,call,log,verbose,command,agent,user,config
- write = system,call,log,verbose,command,agent,user,config
В результате должно получиться подключение к в веб-серверу Asterisk посредством следующегоURI:http://localhost:8088/asterisk/static/config/index.htmlНастроим «межгород»! Создадим trunk используя регистрационные данные полученные от sipnet и GUI (существует вариант работы и со skype).
Определим правила маршрутизации.
Создадим правила набора.
Подключаем наших абонентов к данному плану набора.
И получаем альтернативный «меж город».
И обещанный бонус!
Вы — босс, отдыхаете на пляже после тяжелых трудов (должен же босс когда нибудь отдыхать), но сердце «не на месте». Заботы… жизнь не останавливается, в офисе сотрудники не справляются без мудрого наставления. И что? тратить 70 руб за минуту? или вообще затрачивать хоть рубль когда в отеле бесплатный WI-FI ? А сотрудники не обращают внимания на входящий вызов, потому что там «аноним» или что то в этом роде? Конечно нет!!! Подключаемся к своей офисной АТС Asterisk с ноутбука и «оказываемся в офисе», а сотрудники удивленно смотрят на кабинет шефа, когда к ним приходит вызов с номера «1000» ( в нашем варианте- номер боса)!