CallWeaver

CallWeaver (ранее известный как OpenPBX.org) — это проект с открытым исходным кодом, предназначенный для создания решений IP-телефонии. Приложение работает на операционных системах Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X и Solaris.

CallWeaver является форком аналогичного по назначению проекта Asterisk и основан на коде версии 1.2. Основными причинами создания проекта явилось желание создать проект, не зависящий от влияния какой-либо компании, преследующей свои интересы, а также необходимость создать проект без применения двойного лицензирования.

В данный момент проект мёртв и практически невозможно получить исходный код и/или двоичные коды приложения. Большинство изменений интегрировано в Asterisk версии 1.8+

Сравнение с Asterisk 
Сходства:
 Это также публичный проект, основанный на исходных кодах Asterisk.
 Фактически идентичные конфигурационные файлы

Отличия:
 Чистка проекта от «родовых болезней» Asterisk, которые были связаны с историей развития проекта, но не могли быть исправлены в рамках Asterisk.
 Возможность работы без драйвера Zaptel.
 Невозможна поддержка перекодирования в кодеки, защищённые патентами (G.729, G.723, AMR и пр.)

Проект CallWeaver значительно менее известен, чем Asterisk. Несмотря на очень серьёзные внутреннее отличия, сделанные для повышения его надёжности и добавления новых функций, практически на 100 % совместим с Asterisk. Для переноса конфигурационных файлов из Asterisk в CallWeaver есть специальная программа, которая делает этот процесс практически безболезненным.

Манифест основателей проекта 
 Нам нужен полный контроль над проектом со стороны его участников. Ни один человек не должен иметь возможность затормозить его развитие.
 Мы не должны быть привязаны к старому программному коду только потому, что он уже есть — мы должны использовать всё самое прогрессивное, что придумало человечество и заменять своё старое на чужое новое, если оно лучше решает данную задачу.
 Мы не должны тратить время и силы на изобретение колеса.
 Мы не должны иметь проблемы с развитием проекта из-за системы двойных лицензий.
 Мы не должны позволять ограничивать развитие проекта из-за тех или иных деловых или маркетинговых соображений компании — владельца проекта.
 Любой квалифицированный специалист может подключиться к проекту не нарушая авторских прав.
 Мы не хотим соревноваться с нашими пользователями — мы уверены что их квалификация не хуже нашей.

Некоторые из новых возможностей 
 Встроенная поддержка протокола STUN.
 В случаях, когда требуется анализ звукового потока (анализ DTMF или факсимильных сигналов), используется независимая библиотека SpanDSP, что даёт возможность значительно повысить качество звука и обработки факсов.
 В качестве внутренней базы данных используется Sqlite. Это даёт возможность одновременно использовать базу данных другим приложениям, например системам конфигурирования и управления IP-АТС, что значительно упрощает их работу и повышает надёжность системы.
 Реализован независимый от типа канала джиттер-буфер, что повышает качество передаваемого голоса.
 Использует таймер POSIX, который присутствует в любой UNIX-совместимой системе.
 CallWeaver работает значительно быстрее за счёт компиляции кода, управляющего процессом обработки вызова (dialplan), во внутренний двоичный код. Это решение значительно повышает надёжность системы за счёт раннего обнаружения ошибок в этом коде на этапе компиляции.
 CallWeaver анализирует корректность и связность конфигурации до её загрузки в систему.
 Работает в среде виртуальной машины — под Xen или VMware.
 Модули RxFax/TxFax (виртуальный факс) поддерживают факсимильный режим c коррекцией ошибок ECM (Error Correct Mode) и протокол T.38.
 Так же, как и в Asterisk, существует поддержка протокола T.38 в прозрачном режиме пропускания трафика.
 Является программным T.38-шлюзом, что позволяет при передаче факса через IP-PBX запускать 2 независимых канала с протоколом T.38 — от передающего шлюза к IP-PBX и от IP-PBX к принимающему шлюзу. Это даёт гарантированную работоспособность T.38 в случае, когда один из шлюзов находится за NAT или когда шлюзы не могут работать напрямую в силу различий реализации протокола T.38.
 CallWeaver может работать как шлюз передачи факсов между IP-сетью и PSTN. Это важно, так как в настоящее время появилось большое количество шлюзов, поддерживающих этот протокол (например: Linksys, Grandstream, Welltech).

Ссылки 
 Официальный сайт программы 
 Домашняя страница библиотеки SpanDSP

Свободное программное обеспечение для VoIP