
Asterisk поддерживает
Протоколы
Аудио кодеки
Название | Скорость передачи, Кбит/с | Необходимость лицензии |
---|---|---|
G.711 | 64 | Не нужна |
G.726 | 16, 24, 32 или 40 | Не нужна |
G.729A | 8 | Нужна (не нужна для транзита) |
GSM | 13 | Не нужна |
iLBC | 13,3 (кадры по 30 мс) или 15,2 (кадры по 20 мс) | Не нужна |
Speex | Переменная между 2,15 и 22,4 | Не нужна |
G.723.1 | 6.4 Кбит/с (кадр имеет размер 189 битов, дополненных до 24 байтов) и 5,3 Кбит/с (кадр имеет размер 158 битов, дополненных до 20 байтов). Режим работы может меняться динамически от кадра к кадру | Нужна (не нужна для транзита) |
MP3 |
Видео кодеки
Asterisk может работать как с аналоговыми линиями (FXO/FXS модули), так и цифровыми (ISDN BRI и PRI — потоки Т1/E1). С помощью компьютерных плат (наиболее известными производителями которых являются Digium, Sangoma, OpenVox, Rhino, AudioCodes) Asterisk можно подключить к высокопропускным линиям Т1/E1, которые позволяют работать с десятками и сотнями телефонных линий. По материалам Википедии
Asterisk работает с ОКС-7 (Общеканальная сигнализация №7, в Европе известной как SS7 – Signaling System №7) — это набор сигнальных телефонных протоколов, для организации мультисервисной (интеллектуальной) сети.
Презентация освещающая работу с SS7 с astricon.net Автор Мэттью Фредриксон (Matthew Fredrickson)An introduction to SS7 and its support in Asterisk — pdf
Важные моменты для выбора
Производительность Asterisk систем
Опытные данные производительности систем представлены на форуме [ru] и оригинальный текст [en].Основные рекомендации такие1
Назначение | Кол-во каналов | Минимальная конфигурация |
---|---|---|
Любительская система | не более 5 | 400 MГц, 256 МБ RAM |
SOHO-система | от 5 до 10 | 1 ГГц, 512 МБ RAM |
Малая бизнес система | до 25 | 3 ГГц, 1 ГБ RAM |
Средняя или большая система | более 25 | 2 ЦП или несколько серверов в распределенной архитектуре |
ОС
Asterisk – может работать практически на любой платформе Linux плюс некоторых других ОС, таких как Solaris, BSD, MacOS X и есть даже проект Asterisk for Win32. По поводу выбора ОС для Asterisk развивать холивар не хочу и предлагаю выбрать Вам самим, при этом не мешает прочитать ветку форма посвященному этому вопросу. В заключении, скажу, что сам использую CentOS – популярный дистрибутив, используемый с Asterisk (собран из сырцов RedHat) версии 5.2.
Подробное руководство по установке CentOS 5.2 из блога Linuxoid.
Иксы рекомендую не ставить, так как с Asterisk они будут конкурировать за ресурсы.
Установка и настройка Asterisk
Asterisk в базовой комплектации включает три основных пакета доступных к загрузке на официальном сайте:
- Сам Asterisk, доступна версия 1.6.0.6;
- Драйверы телефонии DAHDI – акроним Digium Asterisk Hardware Device Interface, бывший zaptel + DAHDI Tools;
- PRI – библиотеки Libpri.
ссылки на 32-bit версии, но доступны и 64–bit
Если планируется использовать только VoIP, то достаточно пакета Asterisk, но рекомендуется установить все пакеты.
Дополнительно, можно установить
- Asterisk GUI 2.0;
- Modules and addons, содержит модули для работы с MySQL и проигрывания mp3 – файлов, ИМХО не вошло в официальный дистрибутив и не надо. К примеру, Asterisk установлен с поддержкой ODBC и при установке аддона для работы с MySQL система может не работать, поэтому одновременно рекомендуется использовать только один из драйверов и отключить другой. Проигрывание mp3 – файлов, в свою очередь, вызовет дополнительную нагрузку на систему т.к. проигрываемый файл необходимо будет разжать.
Необходимые пакеты Linux
- GCC 3.x;
- ncurses-devel;
- libtermcap-devel;
- Kernel Development Headers;
- GCC C++ 3.x;
- OpenSSL (опционально) ;
- newt-devel (опционально) ;
- zlib-devel (опционально) ;
- unixODBC; unixODBC-devel (опционально) ;
- libtool (рекомендуется) ;
- GNU make (версия 3.80 и выше).
Небольшое отступление

Скриншоты можно посмотреть на официальном сайте.

На данный момент доступна версия 2.6.2. Этапы установки можно подсмотреть на сайте voiceip.com.ua.

Обзор и установку можно подсмотреть в статье Linuxoid.
Продолжим
Загружать статью общими вопросами установки и настройки Asterisk не буду, тем более, что в сети есть замечательные статьи, подробно рассказывающие о каждом из этапов. Не смотря на то, что статьи написаны 3 – 4 года назад, поверьте, они не теряют своей актуальности, не спорю, версии сменились с 1.2 аж до 1.6, сменилось даже название телефонного драйвера и функционал существенно расширился, но Вас это не должно пугать.
Моя рекомендация – MUST READ:
Статьи о Asterisk в журнале «Системный администратор»
Автор Михаил Платов:
- Asterisk и Linux – миссия IP-телефония – рассматриваются основные возможности Asterisk, настройка и работа по протоколу SIP;
- Asterisk и Linux: миссия IP-телефония. Действие 2 – рассматривается работа по протоколу H323 и обеспечение связи с ТфОП;
- Asterisk и Linux: миссия IP-телефония. Действие 3 – заключительная из этого цикла статья, рассматривающая вопросы голосовой почты, конференций и web–интерфейсов, значительно облегчающих работу, как пользователей, так и администраторов Asterisk.
Примечание: в статьях используются утилиты zaptel, который сменил название на DAHDI
ztcfg -> dahdi_cfg
ztmonitor -> dahdi_monitor
ztscan -> dahdi_scan
ztspeed -> dahdi_speed
zttest -> dahdi_test
zttool -> dahdi_tool
zapconf -> dahdi_genconf ранее известная, как genzaptelconf)
И изменились пути:
- Системный файл конфигурации был переименован из /etc/zaptel.conf в /etc/dahdi/system.conf
- Утилита dahdi_cfg теперь может использоваться для выбора эхо-подавителя для каждого из канала или группы каналов на основании настроек из файла конфигурации: system.conf; Полный перечень изменений на svn-транке разработчиков или по-русски на сайте voip.rus.net.
Asterisk: организуем автоматическое распределение поступающих вызовов – рассматриваются вопросы организации очереди обработки вызовов, так необходимой в службах работающих с клиентами. Автор Сергей Яремчук
Марк Спенсер: «Это Asterisk привлекает пользователей к Linux, а не наоборот!»
Интервью с Марком Спенсером 2006 год, текст: Дмитрий Шурупов, фото: Йон Холл
Вопросы безопасности Asterisk обсуждаются в статье Безопасный Asterisk Автор Максим Литницкий — ПРОШУ УДЕЛИТЬ ЭТОМУ БОЛЬШОЕ ВНИМАНИЕ
К сожалению, в статьи по разным причинам, не вошли важные аспекты Asterisk, поэтому попробую обратить Ваше внимание на них.
AGI, EAGI, DeadAGI и FastAGI
Asterisk Gateway Interface (AGI) – это шлюзовой интерфейс посредством которого внешние программы(сценарии) могут влиять на логику диалплана Asterisk. Сценарии AGI (по аналогии с CGI для http серверов) могут быть написаны практически на любом языке программирования, взаимодействуют с Asterisk посредством описателей файлов STDIN (стандартный ввод), STDOUT(стандартный вывод) и STDERR(стандартная ошибка) и реализуют расширенную логику работы с БД и внешними ресурсами.
EAGI – это AGI, который помимо всего дает возможность сценарию читать входящий аудиопоток, к примеру, для нужд распознавания речи.
DeadAGI – это AGI который корректно исполняется для «мертвого» — разъединенного канала.
FastAGI – позволяет запустить удаленный AGI сценарий через TCP сокет – это уменьшает нагрузку системы и перекладывает её на другой сервер, к примеру, множество серверов Asterisk, могут использовать единые AGI – сценарии.
Наиболее популярными языками программирования для AGI являются Perl, Python и PHP.
Скажу только, то, что для этих и других языков программирования существуют “обёртки” – фрэймворки, позволяющие абстрагироваться от логики запрос-ответ AGI и программировать на более высоком уровне абстракции.
AMI
Asterisk Manager Interface (AMI) – это программный интерфейс, позволяющий соединиться с Asterisk через TCP/IP и полностью контролировать Asterisk, используется для связи c CRM–системами.
AJAM
Aynchronous Javascript and XML (AJAM) – доступен с Asterisk версии 1.4, предоставляет web-браузеру или любому другому приложению связаться с AMI через HTTP. Используется в web–based GUI для Asterisk плюс в том, что он использует библиотеку Prototype, что избавляет разработчиков от многих кросбраузерных проблем.
Интеграция с Базами Данных
Важным моментом является способность Asterisk хранить свою конфигурацию и состояние в БД. Эта ключевая особенность позволяет строить, по истине, потрясающие распределенные телефонные системы.
Asterisk архитектуры реального времени
Это метод хранения конфигурационных файлов не в файловой системе, а в таблицах Базы Данных. Существуют два типа архитектур реального времени:
- Статическая – аналогична методу хранения в конфигурационных файлах, но чтение данных происходит из БД и любое изменение опций конфигурации влечет за собой необходимость перезагрузки сервера Asterisk;
- Динамическая – используется для хранения конфигураций файлов SIP, IAX2, голосовой почты и загружает данные по необходимости и соответственно не требует перезагрузки.
Хранение файлов CDR в Базе Данных
Call Detail Records (CDR) – файл записи параметров вызовов прошедших через систему. Asterisk позволяет хранить CDR файлы в:Важная часть диалплана, обеспечивающая ему мощь и динамичность – это func_odbc, она позволяет создавать и применять в диалплане функции извлечения и использования информации из БД.
IVR
Interactive Voice Response (IVR) – это уже неотъемлемая часть любой платформы и бизнеса занимающимся обслуживанием клиентов. Стоимость коммерческих IVR систем (Avaya, Cisco, Genesys, Nortel или Dialogic) достаточна, высока, а Asterisk просто создан для этого.
К сожалению, русского женского голоса для Asterisk нет (бесплатного). После инсталляции Asterisk говорит с нами голосом Эллисон Смит (Allison Smith) — это порядка 300 промтов, плюс еще 600 в дополнении asterisk–sounds.
Доступен текстовый перевод голосовых промтов для Asterisk версий 1.4, 1.6А также мужской русский голос от romik_g для Asterisk 1.4.
На ресурсе ivrvoice.ru можно скачать и использовать в любых мирных целях, включая бизнес, русские промты для Asterisk.
Если Вы решитесь самостоятельно записать промты, то основное требование – это нормализация записей до -3дБ с паузами в начале и завершении записи. Для конвертации аудио файла используется утилита SoX (Sound eXchange).
Однако, системы IVR – это “не только ценный мех” и DTMF, но и системы Automatic Speech Recognition(ASR – системы распознавания речи) и Text–to–speech(TTS) движки речевого воспроизведения. Правда, с русским тут пока туго.
Но знать должны:
- Оpen source TTS – engine Festival [ru] и [en-оригинал];
- Оpen source ASR – engine Sphinx. Описание как связать Asterisk со Sphinx [en].
Видео и Asterisk
Ссылки по работе с Видео в Asterisk [ru] и [en – оригинал].
Интересный ресурс sip.fontventa.com, жаль, что последнее обновление 19 января 2007 года, содержащий исходный код библиотеки для работы с протоколом H.324 использующимся в UMTS 3G видео звонках.
DUNDi
Distributed Universal Number Discovery(DUNDi), создан Марком Спенсером – “это одноранговая система для поиска интернет–шлюзов в сервисы телефонии, является полностью распределенным и вообще не имеет никакой централизованной службы”. В некотором роде – это протокол маршрутизации для VoIP.
DUNDi – позволяет запрашивать у равноправных участников сети альтернативный VoIP маршрут к добавочному номеру или телефонному номеру ТфОП. DUNDi можно использовать как в локальной сети – для упрощения управления добавочными номерами в системах Asterisk крупной компании, так и в глобальной сети, но тут для доступа нужно подписать Общее Пиринговое Соглашение (General Peering Agreement — GPA), его также можно найти в подпапке исходного кода doc/. GPA имеет обязательную юридическую силу, для защиты участников сети от людей злоупотребляющих протоколом.
Для изучения рекомендую статью How to use DUNDi to distribute calls among the DUNDi Peering Network.
Подробности — это темы будущих статей.
Книги
1[en] Asterisk: The Future of Telephony, Авторы: Jim Van Meggelen, Jared Smith, Leif Madsen
или на books.google.ru
[ru] к сожалению, книга вышла не так давно, но все ж и за это БОЛЬШОЕ СПАСИБО!
Можно заказать на books.ru в 2-х вариантах:
- Asterisk: будущее телефонии — 700 руб.
- Asterisk: будущее телефонии (файл PDF) — 350 руб.
(Максим, чтоб мы без тебя делали ;)
[в последний момент нашел ru] Asterisk: будущее телефонии — DRAFT-copy
[en] trixbox Without Tears The Dumb-Me guide — свободна для скачивания
Видеоматериалы
[en]Free Video Tutorials for trixbox FreePBX and Asterisk Systems
Информационные ресурсы
- [ru] voip.rus.net;
- [en – оригинал] voip-info.org;
- [ru] asteriskpbx.ru;
- [ru] Блог одного из русских разработчиков Asterisk — IgorG.
Форумы (малый список)
Магазины (малый список)
Компании предлагающие Asterisk — решения
Для интересующихся вопросами сертификации и лицензирования телекоммуникационных платформ, прошу на форум Астериск и сертификация, где i1 – Ваш покорный слуга.
Официальный mailing lists для тех, кому интересен Asterisk.