CallWeaver
CallWeaver (ранее известный как OpenPBX.org) — это проект с открытым исходным кодом, предназначенный для создания решений IP-телефонии. Приложение работает на операционных системах Linux, FreeBSD, NetBSD, OpenBSD, Mac OS X и Solaris.
CallWeaver | |
---|---|
Тип | сервер IP-телефонии |
Разработчик | сообщество |
Операционная система | UNIX-подобные |
Последняя версия | 1.2.0.1 (27 мая 2008 года) |
Тестовая версия | 1.2.1-rc1 (31 марта 2009 года) |
Лицензия | GNU GPL |
Сайт | callweaver.org |
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).