Archive for February 03, 2008

New * Age

В последнее время все больше и больше людей присоединяется к разработкам в области *. Вышло API для разработки приложений и удобного описания сложной логики dialplan’ов в Ruby. Кроме того можно запросто прикрутить все к ROL. Специальный дистрибутив AsteriskNOW + adhearsion - это мощный прорыв вперед.

Cмотрим

Getting started

Пример плана дозвона

Writing dialplans

Все это здорово, а теперь о самом вкусном на мой взгляд.

В новой версии Asterisk 1.4 все больше внимания уделяется GUI для администрирования и автоматизации бизнес приложений на базе *. Одна из проблем - производительность такого IP-PBX. Представьте что у нас есть 1000 одновременных звонков которые надо обработать сложным сценарием плана дозвона. Заносить все в AGI не решение, т.к. это тяжелые и ресурсоемкие процессы для сервера, что влияет на производительность программной АТС при декодировании сигнала и как следствие ухудшает качество канала связи.

Решение не ново - FastAGI. Приложения которые запускаются в сессии отдельного сетевого сервиса. * в свою очередь может обращаться к ним:

 agi://host:port/?param0=val&param1=val
   

Теперь подробнее. Не секрет что существует окружение для разработки быстрых асинхронных сетeвых приложений на базе Python.

Twisted в студию! Вот пример реализованного API протокола FastAGI, а также некоторые вкусности на этой базе - StarPy. Все еще альфа на протяжении двух лет :).

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