Asterisk IP-АТС — свободное решение компьютерной телефонии с открытым исходным кодом. В комплексе с необходимым оборудованием, обладает всеми возможностями классической АТС и многими другими, поддерживает множество VoIP протоколов. Работает с любыми устройствами.
   Поговорим об архитектуре.
   Программное обеспечение Asterisk было разработано с целью учета факторов максимальной доступности и гибкости. Специальные интерфейсы программирования (API), начиная от ядра системы (Core) и до функциональных модулей (Loadable Module), позволяют создавать прикладные решения, не принимая во внимание протоколы соединения, голосовые или видео кодеки и приемлемые интерфейсы для подсоединения к другим телекоммуникационным решениям.
рис. 1. Архитектура проекта Asterisk.
Ядро системы Asterisk обеспечивает следующие функциональные уровни:
  • Коммутация - позволяет выполнять коммутацию каналов (вызовов, прикладных задач), как это делает обычная АТС или коммутатор. Задача этого уровня - создание соединения между двумя или несколькими направлениями, не учитывая наличия и специфичности многих аппаратных или программных интерфейсов.
  • Выполнение прикладных задач - этот уровень обеспечивает выполнение задач (как встроенных, так и задач пользователя) для создания заданного сервисного обслуживания для абонента, например, таких как голосовая почта, конференц-связь, проигрывание голосовых файлов, а также работа с базой данных.
  • Преобразование кодирования - благодаря загружаемым функциональным модулям уровень гарантирует совместимость коммутируемых каналов по типу кодирования речи или видеоизображения.
  • Менеджер планирования задач и каналов ввода/вывода - программные блоки этого уровня выполняют обработку данных, передаваемых в каналах, на разном уровне, управляют работой системы в среде операционной системы, учитывая многогранность задач, и оптимизируют их выполнение.
Ядро использует 4 интерфейса API:
  • Аппаратный интерфейс - выполняет обработку сигнальной информации и информации пользователя, специфичной к физическому и логическому уровню канала, при использовании которого создается входящий или исходящий вызов. Библиотеки этого уровня обеспечивают такие виды соединений, как VoIP (H.323, SIP, MGCP, SCCP, T.38), TDM/TDMoE (FXS, FXO, MF/MFC-R2, ISDN-BRI, ISDN-PRI, SS7) .
  • Интерфейс модульной загрузки приложений телефонии - выполняет загрузку соответствующих библиотек для обеспечения сервисного обслуживания пользователя или предоставления необходимой функциональности (голосовая почта, конференц-связь).
  • Интерфейс обработки кодеков - на этом уровне библиотеки, которые будут загружены в соответствии с возможными превращениями речи или видео в системе, например, такие типы кодирования как G.711A/Mu, GSM, LPC, G.723, G.726, G.729, MP3, H.261/263/p.
  • Интерфейс обработки форматов файлов - набор библиотек, которые возобновляют соответствующие форматы сбережения голосовой, графической или видео информации на жестком диске (также компакт-диске) в системе. Поддерживаются такие форматы, как RAW, MP3, WAV, WAV49 (GSM), VOX (ADPCM), JPG, PNG.
   Благодаря такой архитектуре системы, программное обеспечение Asterisk работает на определенном уровне абстракции между функциональностью ядра платформы и многими, как существующими технологиями, так и технологиями которые находятся в разработке.
   Как было сказано, Asterisk работает с множеством протоколов VoIP, такими как IAX, H.323, SIP и др.
   Итак, IAX – протокол обмена VoIP данными между IP-АТС Asterisk. Протокол позволяет совмещать множество голосовых потоков и передавать их внутри единого транка, уменьшая накладные расходы, связанные с передачей заголовков IP пакетов. Недостатком является пока что недостаточная поддержка видео.
   H.323 -  был разработан как средство передачи голоса, видео, данных и факсов по IP-сетям с возможностью подключения к PSTN. Он стал стандартом для оборудования видеоконференц-связи, работающего по IP-протоколу, и также некоторое время  пользовался популярностью как VoIP-протокол. Хотя еще ведутся жаркие дебаты по поводу того, какой из протоколов, SIP или H.323 (или IAX), будет доминировать в мире VoIP-протоколов, Asterisk почти отказалась от H.323 в пользу IAX и SIP. H.323 не завоевал особой популярности среди пользователей и компаний, хотя по-прежнему является, наверное, самым широко используемым VoIP-протоколом среди поставщиков услуг связи.
    SIP - это сигнальный протокол уровня приложений. SIP используется для установления, корректировки и завершения сеансов обмена мультимедийной информацией, таких как звонки интернет-телефонии. SIP не передает речевые данные между конечными точками. Для передачи речевых данных (то есть голоса) между конечными точками применяется RTP.
рис. 2. Топология, иллюстрирующая SIP и RTP.
   Asterisk поддерживает с большим количеством кодеков, такими как G.711, G.726, G.729A, GSM, iLBC, Speex, MP3 и др. Для сравнения приведем таблицу.
табл. 1. Таблица сравнения некоторых кодеков.
   Многие из этих кодеков учитывают способность человеческого мозга формировать законченное впечатление по неполной информации. Все мы видели оптические иллюзии; точно так же алгоритмы сжатия голоса используют нашу способность представлять то, что, как нам кажется, мы должны слышать, а не то, что мы фактически слышим. Цель различных алгоритмов кодирования – обеспечить баланс между эффективностью и качеством.
   Качество обслуживания, или, как чаще всего говорят, QoS (Quality of Service), – характеристика, определяющая качество и класс услуг по передаче потока данных, предоставляемой пользователю сетью и являющейся критичной по времени. Жестких норм здесь не существует, но обычно считается, что нормальное плавное течение беседы возможно, если звук, производимый говорящим, доставляется к уху слушателя в течение 150 мс. Если задержка превышает 300 мс, участники беседы начнут перебивать друг друга. При задержке выше 500 мс нормальный разговор невозможен. Кроме выполнения требований по времени, необходимо гарантировать, что передаваемая информация приходит неповрежденной. Потеря слишком большого количества пакетов обусловит невозможность полного восстановления дискретизированного аудиосигнала на дальнем конце, и пробелы в данных будут слышаться как помехи или, в более тяжелых случаях, пропуски целых слов или предложений.
Список используемой литературы:
1.)Меггелен Дж., Мадсен Л., Смит Дж. Asterisk: будущее телефонии, 2-е издание. -Пер. с англ. -СПб:Символ-Плюс,2009.-656с.,ил. ;
2.)http://www.svr.kiev.ua/index.php?page=asterisk ;
3.)http://ru.wikipedia.org/wiki/ .