Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Программное обеспечение для Linux

Постройте свою собственную АТС с помощью Asterisk и Linux

Оригинал: "Build Your Own PBX With Asterisk and Linux"
Автор: Пауль Рубенс (Paul Rubens)
Дата публикации: 8 / 09 / 2009
Перевод: Н.Ромоданов
Дата перевода: октябрь 2009 г.

Создание своей собственной телефонной системы при помощи пакета с открытым кодом Asterisk может привести к существенной экономии средств в вашей компании, но это дело – не для слабонервных: Asterisk – сложная система и если Вы запутались в телефонной системе, это, в итоге, может сказаться на стоимости вашей работы.

Лично я бы порекомендовал пройти курс Asterisk Fast Start (Быстрое знакомство с Asterisk) с тем, чтобы быстро войти в тему, но если Вы хотите сначала опробовать Asterisk с тем, чтобы решить, подходит ли он для вашей организации, то ниже изложено все, что нужно для начала знать.

Прежде всего, вам нужен Linux компьютер для установки на нем Asterisk – компьютер, которым я пользуюсь, работает под Ubuntu Jaunty, но Вы можете запустить Asterisk практически под любым дистрибутивом с ядром версии 2.6 или выше.

Для компиляции вам нужен компилятор GCC версии 3.x или выше, а также следующие системные библиотеки и приложения:

  • openSSL и библиотеки для его разработки (комплект devel – прим.пер.)
  • ncurses и ncurses-devel для поддержки работы с командной строкой (ncurses – библиотека для управления вводом/выводом на терминал, позволяет писать портируемый код – прим пер.)
  • zlib (библиотека для создания архивов)
  • библиотеки newt и newt-devel (библиотеки для работы с цветом в текстовом режиме – прим.пер.) для использования с утилитами DAHD (драйверы для работы с цифровыми телефонными платами – прим.пер.)
  • пакет curl (для передачи файлов по различным протоколам с синтаксом URL. – прим.пер.) для того, чтобы позволить Asterisk взаимодействовать с различными веб сайтами
  • sendmail или postfix (для отсылки голосового сообщения на ваш почтовый ящик)

Как только Вы соберете все необходимое, перейдите по ссылке www.asterisk.org/downloads и скачайте четыре tar-архива: Asterisk (код самого Asterisk), библиотеку libpri (которая осуществляет обработку ISDN телефонии), пакет dahdi-linux (пакет, ранее называвшийся zaptel, который осуществляет обработку аналоговых и цифровых интерфейсов) и инструментальный пакет dahdi-tools, который используется совместно с утилитами dahdi.

На этом этапе хорошо было бы скопировать все это в директорий /usr/src/.

Теперь откройте окно терминала и с помощью команды cd перейдите в /usr/src/

В этом директории наберите команду ls –l, которая выдаст список всех имеющихся у вас архивов tar; вероятно Вы увидите нечто, похожее на следующее:

libpri-1.4.10.tar.gz
dahdi-linux-2.2.0.tar.gz
dahdi-tools-2.0.0.tar.gz
asterisk-1.6.1.1.tar.gz

Не беспокойтесь, если версии не такие, как указано выше. Теперь, имея привилегии пользователя root, распакуйте tar-архивы следующим образом:

# tar –zxvf libpri-1.4.10.tar.gz
# tar –zxvf dahdi-linux-2.2.0.tar.gz
# tar –zxvf dahdi-tools-2.0.0.tar.gz
# tar –zxvf asterisk-1.6.1.1.tar.gz

Снова наберите команду ls –l с тем, чтобы удостовериться, что в /usr/src/ у вас появились следующие четыре директория:

libpri-1.4.10
dadhdi-linux-2.2.0
dahdi-tools-2.0.0
asterisk-1.6.1.1

Следующий шаг – компилирование исходного кода, сначала – библиотеки libpri, затем DAHDI и инструментарий DAHDI (пакет tools), и, наконец – сам Asterisk.

Для того, чтобы откомпилировать libpri, перейдите в командную строку и наберите:

# cd libpri-1.4.10
# make clean
# make install
# cd ..

Затем откомпилируйте DAHDI:

# cd dahdi-linux-2.2
# make all
#make install
#cd ..

Когда завершите, откомпилируйте и установите инструментарий DAHDI

# cd dahdi-tools-2.0.0
# ./configure
# make
# make install
# make config
# cd ..

Наконец, настало время откомпилировать Asterisk:

# cd asterisk-1.6.1.1
#./configure
# make menuselect

Вы перейдете в текстовое меню, где вам будет предложено выбрать различные модули для компиляции, а также указать различные другие настройки. Пока Вы лишь обучаетесь использованию Asterisk, отмените выбор pbx_ael для того, чтобы предотвратить выдачу ненужных сообщений об ошибках. Сохраните изменения, нажав для этого на x, а затем продолжайте следующим образом:

# make
#make install
#make samples 
// (для установки примеров конфигурационных файлов, которые пригодятся вам на этапе 
// обучения конфигурированию Asterisk)
# make config

Наконец, перезагрузите систему.

Когда система перезагрузится, Asterisk должен запуститься автоматически. Для того чтобы убедиться, что все работает, проверьте, загружены ли драйвера DAHDI. Для этого откройте терминальное окно и, имея права пользователя root, наберите:

# lsmod | grep dahdi

Вы должны увидеть несколько ссылок на модули dahdi, в том числе - dahdi_dummy, dahdi_transcode, crc_ccitt и dahdi_voicebus.

Проверьте, работает ли Asterisk и зарегистрируйтесь в Asterisk в командной строке следующим образом:

#asterisk –r

Вы должны увидеть информацию о номере версии и лицензию, должно также появиться сообщение "Connected to Asterisk" ("Подключены к Asterisk") и приглашение для продолжения работы.

Для того, чтобы из самого Asterisk остановить Asterisk, наберите в командной строке:

CLI> stop now

либо в командной строке Linux наберите:

# service asterisk stop

Дальнейшие указания

Конфигурирование системы Asterisk и доведение ее до полнофункционального рабочего состояния выходит за рамки настоящей статьи, однако мы здесь укажем на некоторые дальнейшие действия.

Когда Вы используете Asterisk, то предполагается, что вызовы состоят из двух частей: вызов системы Asterisk и еще один вызов, который будет перенаправлен по назначению. Сопряжение этих вызовов так, чтобы Вы могли договорить до конца с абонентом, с которым хотите, задается в конфигурационных файлах Asterisk, которые расположены, главным образом, в директории /etc/asterisk/.

Чтобы указать системе обрабатывать вызовы, идущие на устройства SIP и ли от них (аппаратно реализованные SIP-телефоны, либо программные SIP-софтфоны), надо сначала зарегистрировать SIP-устройства в соответствующем конфигурационном файле, который, что совершенно логично, называется sip.conf. Вы можете отредактировать многие конфигурационные файлы Asterisk при помощи любого текстового редактора, такого как nano или gedit.

Вы можете также отредактировать файл extensions.conf и назначить устройству добавочный номер. Это укажет Asterisk, что когда придет вызов, например, на номер 6001, он должен перенаправить его на выход, к которому подключен соответствующий телефон. Дополнительно Вы можете задать другие варианты действий, например, еще один добавочный номер, который будет вызываться в случае, если первый телефон не ответит в течение заданного периода времени, либо, возможно, указать перенаправление в почтовую систему.

Смущены? Это неизбежная действительность: от того, что было лишь затронуто в настоящей статье, может закружится голова , но если Вы упорны и делаете, понимая смыл, все получится удивительно быстро.

Если Вы хотите изучить, как сконфигурировать вашу работающую систему Asterisk так, чтобы она делала вызовы и принимала их, вам нужно купить книгу, такую как Asterisk The Future of Telephony, опубликованную издательством by 0’Reilly, найти в сети Интернет руководство, либо, как уже упоминалось ранее, пройти трехдневные курсы Asterisk Fast Start (Быстрое знакомство с Asterisk). (Прим.пер.: Имеется русский перевод указанной выше книги - Меггелен, Мадсен, Смит "Asterisk: Будущее телефонии", изд. "Символ-Плюс", ноябрь 2008 г.)

Не ожидайте, что Вы быстро станете мастером в Asterisk, но не забывайте, что в случае успеха Вы будете на очень хорошем счету в вашей компании, поскольку существенно сократите ее расходы на связь.