|
IP АТС CallWeaver. -
CallWeaver - Это публичный проект, основанный на исходных кодах Asterisk.
-
CallWeaver появился как результат недовольства большой группы независимых разработчиков проекта Asterisk политикой компании Digum – хозяина проекта Asterisk.
-
Целью этой группы было очистить Asterisk от «родовых болезней», которые были связаны с историей развития проекта и с политикой Digium, навязывающей свой путь развития этого программного обеспечения, что в ряде случаев не совпадало с мнением многих авторитетных независимых участников проекта. -
Так например Asterisk не может полноценно работать при отсутствии так называемого Zaptel – драйвера интерфейсных карт, которые выпускает Digium и ряд других производителей, необходимого для стыковки IP АТС с аналоговыми и цифровыми телефонными линиями.
-
В Asterisk этот драйвер требуется, даже если таких интерфейсных карт в системе нет, поскольку Zaptel используется как источник временной синхронизации, необходимой для корректного воспроизведения в IP АТС фоновой музыки и речевых приглашений. -
В тоже время Zaptel – основной источник проблем совместимости в разных операционных системах, что затрудняет использование Asterisk в нестандартных конфигурациях и понижает надежность системы в целом. -
В CallWeaver эту зависимость убрали, переделав механизм временной синхронизации так, чтобы он работал в ЛЮБОЙ unix-системе. Манифест основателей проекта CallWeaver созвучен идеям Линуса Торвальдса – создателя проекта Linux. -
Нам нужен полный контроль над проектом со стороны его участников. Ни один человек не должен иметь возможность затормозить его развитие. -
Мы не должны быть привязаны к старому программному коду только потому, что он уже есть – мы должны использовать все самое прогрессивное, что придумало человечество, заменив свое старое на чужое новое, если оно лучше решает данную задачу. -
Мы не должны тратить время и силы на изобретение колеса. -
Мы не должны иметь проблемы с развитием проекта из-за системы двойных лицензий (на самом деле Asterisk существует в двух ипостасях – есть бесплатная версия под лицензией GNU и есть платная, которая в настоящий момент делается на основе тех же кодов. Это создает опасения, что в один прекрасный момент компания Digium может заморозить бесплатную версию и полностью переключить силы своих разработчиков на платную. -
Мы не должны позволять ограничивать развитие проекта из-за тех или иных деловых или маркетинговых соображений компании – владельца проекта. -
Любой квалифицированный специалист может подключиться к проекту, не нарушая copyright – лицензионных прав. -
Мы не хотим соревноваться с нашими пользователями – мы уверены, что их квалификация не хуже нашей. -
Проект CallWeaver конечно значительно менее известен, чем Asterisk, однако он очень быстро развивается. Этот программный продукт, несмотря на очень серьезные внутреннее отличия, сделанные для повышения его надежности и добавления новых функций, практически на 100% совместим с Asterisk. Для переноса конфигурационных файлов из Asterisk в CallWeaver есть специальная программа, которая делает этот процесс практически безболезненным. Некоторые из новых возможностей CallWeaver. -
Встроенная поддержка протокола STUN, который значительно облегчает жизнь, когда ваша IP АТС установлена за NAT, т.е. не имеет прямого («белого») адреса Интернет. -
Во всех случаях, когда в IP АТС требуется анализ звукового потока (анализ DTMF – тонального донабора, или факсимильных сигналов) CallWeaver вместо собственного кода использует независимую библиотеку SpanDSP, что дает возможность значительно повысить качество звука и обработку факсов. -
В качестве внутренней базы данных CallWeaver использует независимую библиотеку Sqlite вместо устаревшего кода Berkeley DB, используемого в Asterisk, который уже давно не поддерживается и не развивается. Использование Sqlite также дает возможность одновременно использовать эту базу данных другим приложениям, например системам конфигурирования и управления IP АТС, что значительно упрощает их работу и повышает надежность системы в целом. -
В CallWeaver используется независимый от типа канала jitterbuffer, что также повышает качество голоса. -
CallWeaver основан на таймере POSIX, который присутствует в любой UNIX-совместимой системе – соответственно отпала необходимость в наличии драйвера Zaptel. -
CallWeaver работает значительно быстрее за счет компиляции кода, управляющего процессом обработки вызова (dialplan) во внутренний двоичный код – в Asterisk все эти команды хранятся в памяти системы в исходном текстовом виде и система вынуждена постоянно разбирать их синтаксис в процесс работы. Более того, это решение значительно повышает надежность системы за счет раннего обнаружения ошибок в этом коде на этапе компиляции – в Asterisk этой компиляции в принципе нет. -
CallWeaver анализирует корректность и связность конфигурации ДО ее загрузки в систему – это также значительно повышает надежность системы в целом. -
Как следствие «отвязки» от драйвера Zaptel система CallWeaver прекрасно работает в среде виртуальной машины – под Xen или VmWare. -
Одним из главных разработчиков проекта CallWeaver является Steve Underwood (www.soft-switch.org) – автор библиотеки SpanDSP, используемой в Asterisk, CallWeaver и множестве других проектов ip телефонии для обработки факсимильных сигналов и протоколов. В результате все компоненты CallWeaver, связанные с обработкой факсов, имеют значительно больше возможностей, чем аналогичные компоненты Asterisk – в частности модуль RxFax/TxFax (виртуальный факс – шлюз факс-email) поддерживает факсимильный режим ECM (коррекция ошибок) и протокол T38.
-
Что касается протокола Т38, который является единственным решением, обеспечивающим стабильное прохождение факсов через ip телефонию, то он реализован в CallWeaver максимально полно в отличие от Asterisk, в котором он возможен только в режиме ReINVITE – когда IP АТС заставляет шлюзы работать друг с другом напрямую, что далеко не всегда технически осуществимо. -
CallWeaver сам является программным T38 шлюзом, что позволяет при передаче факса через IP АТС запускать 2 независимых канала с протоколом T38 – от передающего шлюза к IP АТС и от IP АТС к принимающему шлюзу. Это дает гарантированную работоспособность T38 в случае, когда один из шлюзов находится за NAT, или когда шлюзы в принципе не могут работать напрямую в силу различий реализации протокола T38. -
Более того, CallWeaver может работать как шлюз между T38 и PSTN (традиционными телефонными цифровыми или аналоговыми каналами), что позволяет организовать надежную передачу факсов при отсутствии у вас дорогостоящих аппаратных шлюзов VOIP PSTN с поддержкой T38. Это очень важно, поскольку в настоящее время появилось много бюджетных шлюзов, поддерживающих этот протокол (Linksys, Grandstream, Welltech).
| | |