Asterisk

Материал из Xgu.ru

Перейти к: навигация, поиск


Asterisk — программная АТС с открытым кодом, распространяемая под лицензией GPL[1], её разработка была начата в 1999 году Марком Спенсером (Digium). Станцией могут коммутироваться не только VoIP-вызовы, но и вызовы между VoIP и традиционными телефонными сетями.

Asterisk logo.png

Основные поддерживаемые протоколы: IAX, SIP, H.323, Skinny, UNIStim.

Поддерживает кодеки: G.711 (ulaw и alaw), G.722, G.723, G.729, GSM, iLBC, LPC-10, Speex

Работа с цифровыми каналами связи ISDN PRI осуществляется посредством подсистемы DAHDI (раннее zaptel).

Используя интерфейс AGI (Asterisk Gateway Interface), функционал станции может быть расширен внешними программными модулями, написанными на C, Perl, PHP, Python, Ruby, Bash или других языках программирования.

Управление станцией возможно через CLI или специализированный интерфейс AMI.

Последней версией на данный момент является версия Asterisk 11[2], выпущенная 31 октября 2012 года.

Содержание

[править] Введение

Многие годы телефония была областью требующей огромных финансовых и временных ресурсов. При этом возможности аппаратных АТС оставляли желать лучшего: множество ограничений, высокая стоимость инсталляции и сложность эксплуатации. Каждое, даже незначительное, изменение функциональности сопровождалось финансовыми затратами, а иногда и простоями.

С появлением и развитием систем IP-телефонии ситуация начала меняться: возможности системы расширяются теперь покупкой дополнительных лицензий и/или обновлением программ, а иногда и даже просто перенастройкой программного обеспечения. И в Asterisk все преимущества систем IP-телефонии выражены ещё сильнее.

Во-первых, Asterisk полностью бесплатен. Не нужно платить ни за что: ни за инсталляцию, ни за лицензии, ни за подключаемые устройства. Во-вторых, Asterisk полностью свободен и распространяется с открытым исходным кодом. Это позволяет изучать и видоизменять его внутренности. В-третьих, система в своей основе модульна и построена по принципу: одна программа — одна задача, только вместо программы в этом случае — модуль Астериск. В результате исходный код системы и её возможности очень быстро развиваются.

В Астериске реализованы сотни различных приложений, как необходимых в любой АТС, так и довольно специфических: голосовая почта, конференц-связь, голосовые меню, автоматический обзвон и звонки по требованию, очереди звонков и работа с агентами, музыкальное сопровождение абонента, управление звонками, такое как перехват и передача звонка, автоматическая запись и многие-многие другие.

Астериск хорошо масштабируется. Телефонная АТС на базе Астериск может быть центром телефонии в системах от двух и даже одного абонента до систем, где число абонентов насчитывает десятки тысяч.

Возможности по интеграции Астериск с другими системами также очень развиты: он интегрируется как с существующими системами традиционной телефонии (интерфейсы T1/E1, FXS/FXO, GSM), так и системами IP-телефонии (SIP, H.323, IAX).

С появлением же и распространением смартфонов, поддерживающих открытые стандарты коммуникаций (протоколы SIP и XMPP) возможности развернуть свою собственную систему телефонии стала ещё интереснее и популярнее: теперь это можно сделать даже дома, связав квартирный городской телефон, телефоны членов семьи, мобильные сети и Интернет в единое целое.

[править] Рассматриваемые темы

В этой статье мы рассмотрим основные вопросы связанные с использованием программной АТС Астериск, начиная с её инсталляции и начальной конфигурации и дальше, останавливаясь в том числе на таких вопросах как:

  • Соединение двух и более SIP-систем между собой;
  • Маршрутизация звонков между системами;
  • Подключение к внешним системам IP-телефонии (провайдерам услуг);
  • Разделение прав доступа абонентов;
  • Голосовая почта;
  • Целенаправленная запись и проигрывание голоса, автоматическая запись разговора, управление записью разговора;
  • Интерактивное голосовое меню (IVR);
  • Русификация и управление языковыми настройками АТС;
  • Программная генерация голоса;
  • Конференц-связь;
  • Традиционные функции АТС, такие как перехват звонка, звонок на группу, парковка вызова и так далее;
  • Управление очередью звонков и организация работы центра обработки звонков (call center);
  • Генерация исходящих звонков (автоматизированный обзвон);
  • Управление компьютером с помощью телефона;
  • Интеграция VoIP-сетей с сетями традиционной телефонии (аналоговая телефония, цифровая телефония, мобильная связь);
  • Написание программ для управления программной АТС через специальный программный интерфейс (интерфейс AGI);
  • Интеграция VoIP-сервера с различными другими системами, такими как СУБД, ActiveDirectory, системы мгновенного обмена сообщениями и другими;
  • Отправка и получение факсов поверх систем IP-телефонии;
  • Учёт длительности и стоимости звонков, автоматическое управление счетами абонентов.

[править] Необходимое оборудование

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

  • программный софтфон на любой операционной системе;
  • IP-телефон, вместо которого можно использовать мобильный телефон с поддержкой SIP или второй софтфон;
  • Linux-система на которой установлен (или может быть установлен) Астериск;
  • (для некоторых заданий) PRI-карта и PRI-поток (для организации PRI-потока может использоваться вторая Linux-система с Астериском и PRI-картой);
  • (для некоторых заданий) FXS-карта и подключение к аналоговой АТС;
  • (для некоторых заданий) FXO-карта и аналоговый телефон;
  • (для некоторых заданий) GSM-модем и SIM-карта.

[править] Возможности IP-телефонии

[править] Обзор систем IP-телефонии: проприетарные и открытые решения

[править] Программная АТС Asterisk

[править] Базовые возможности программной АТС Asterisk

[править] Инсталляция и начальное конфигурирование программной АТС Asterisk

Основная страница: Инсталляция Asterisk
Основная страница: Инсталляция Asterisk из исходников‎
Основная страница: Начальная конфигурация Asterisk‎

[править] Организация голосовой связи между компьютерами и IP-телефонами

[править] Основы диалплана

Основная страница: Диалплан
Основная страница: extensions.conf

[править] Совершение международных звонков на традиционные телефоны

[править] Управление правами абонентов

[править] Соединение нескольких программных АТС между собой с помощью протокола SIP

Основная страница: SIP
Основная страница: sip.conf
Основная страница: SIP-транк‎

[править] Соединение нескольких программных АТС между собой с помощью протокола IAX

Основная страница: IAX
Основная страница: iax.conf

[править] Расширенные возможности программной АТС Asterisk

[править] Запись голосовых файлов

Основная страница: Запись голосовых файлов

[править] Голосовая почта

Основная страница: Голосовая почта
Основная страница: voicemail.conf

[править] Русификация и локализация

Основная страница: Русификация Asterisk

[править] Звонок на группу

Основная страница: Звонок на группу

[править] Перехват звонка

Основная страница: Перехват звонка

[править] Перевод звонка

Основная страница: Перевод звонка

[править] Парковка вызова

Основная страница: Парковка вызова

[править] Запись звонков (автоматическая и по требованию)

Основная страница: Запись разговора

[править] Музыкальные возможности программной АТС (музыка на удержании, перекодировка музыки)

Основная страница: Музыка на удержании

[править] Организация конференц-связи

Основная страница: Телефонная конференция

[править] Программная генерация голоса

Основная страница: Festival

[править] AGI-скрипты

Основная страница: AGI

[править] Управление операционной системой с помощью АТС

[править] Расширенная работа с диалпланом

Основная страница: Диалплан
Основная страница: extensions.conf

[править] Использование встроенной базы данных Asterisk

Основная страница: База данных Asterisk

[править] Организация голосовых меню

Основная страница: IVR

[править] Очереди звонков и агенты

Основная страница: Очереди звонков

[править] Генерация исходящих звонков (автоматизированный обзвон)

Основная страница: Исходящий звонок

[править] Использование аппаратного обеспечения с программной АТС Asterisk

[править] Подключение цифровых линий связи (E1/T1)

Основная страница: T1
Основная страница: E1
Основная страница: PRI
Основная страница: DAHDI
Основная страница: zapata.conf

[править] Подключение аналоговых линий связи (FXS/FXO)

Основная страница: FXO
Основная страница: FXS
Основная страница: DAHDI
Основная страница: zapata.conf

[править] Подключение к GSM-сети

Основная страница: Asterisk GSM-шлюз

Существует несколько возможных вариантов соединения Asterisk-сервера с GSM-сетью. Один из наиболее распространённых и наиболее дешёвых — использование USB-модема Huawei и модуля Datacard.

Для того чтобы перенаправлять и получать звонки через USB-модем Huawei и программный модуль Datacard, необходимо:

  1. Подключить USB-модем;
  2. Установить модуль Datacard;
  3. Настроить модуль Datacard;
  4. Настроить диалплан для выполнения исходящих звонков через USB-модем;
  5. Настроить диалплан для обработки входящих звонков.

Установка модуля Datacard:

$ sudo apt-get install asterisk-dev
$ svn checkout http://chan-datacard.googlecode.com/svn/trunk/ chan-datacard-read-only
$ cd chan-datacard-read-only
$ ./configure
$ sudo make install
$ cp etc/datacard.conf /etc/asterisk/datacard.conf

Конфигурация модуля datacard (/etc/asterisk/datacard.conf):

[E1550_t](!)
context=incoming-datacard
rxgain=3
txgain=-3
autodeletesms=yes
resetdatacard=yes
u2diag=0

[datacard0](E1550_t)
audio=/dev/ttyUSB1
data=/dev/ttyUSB2
group=1

Изменение диалплана:

exten => _X.,1,Dial(Datacard/g1/${EXTEN})

Все исходящие звонки этого контекста уходят через GSM-модем.

[datacard-incoming]
exten => s,1,Dial(SIP/2001@othersipserver) 
exten => s,n,Hangup()

Все входящие, поступающие на GSM-модем передаётся на номер SIP 2001 на сервер othersipserver.

Подробнее о настройке GSM-шлюза на основе Asterisk:

[править] Звонки через локальные устройства (звуковая карта, bluetooth-устройства)

[править] Видео

[править] Организация видео-связи

[править] Сведение нескольких видеопотоков, организация видеоконференций

[править] Управление (Web-интерфейс)

[править] Web-интерфейс для администрирование программной АТС Asterisk

[править] Web-интерфейс для управления звонками

[править] Учёт и тарификация звонков

[править] Организация учёта телефонных звонков

Основная страница: CDR

[править] Автоматическая тарификация звонков

Основная страница: Биллинг звонков через Asterisk

[править] Безопасность программной АТС

[править] Шифрование звонков

Основная страница: Шифрование звонков в Asterisk

[править] Автоматическая блокировка подозрительных подключений

[править] Защита Asterisk с помощью брандмауэра

[править] Отказоустойчивость и масштабируемость Астериск

[править] HA-кластер (кластер отказоустойчивости) Астериск

[править] Масштабирование Астериск

[править] Интеграция

[править] Интеграция IP-телефонии и традиционной телефонии

[править] Интеграция IP-телефонии и мобильной связи

[править] Интеграция IP-телефонии и почты

[править] Интеграция IP-телефонии и систем мгновенного обмена сообщениями (jabber)

Основная страница: Jabber и Asterisk‎

[править] Интеграция SIP-телефонии и Skype

[править] Интеграция IP-телефонии и службы каталога предприятия

[править] Дополнительная информация

[править] Примечания

  1. существует возможность двойного лицензирования для включения проприетарных компонент
  2. http://blogs.digium.com/2012/10/31/asterisk-11-now-available/
Источник — «http://xgu.ru/wiki/Asterisk»