Практически каждую неделю появляется новые идеи по расширению и так уже большого функционала Asterisk. Практически каждые две недели эти идеи воплощаются в том или ином виде в код, доступный к тестированию. Проходит месяц другой, прежде чем этот код действительно станет пригоден к использованию и тестированию рядовыми администраторами и пользователями. В очередной (второй) раз представляю список проектов, проходящих сейчас третью часть пути 🙂
API для взаимодействия с календарями
Источники: branch
Собственно это то, что побудило меня дописать это сообщение и отложить перевод списка изменений 1.6.0. Буквально вчера появилось сообщение о ведущейся разработке в направлении более тесной интеграции Asterisk с ещё одним классом корпоративных приложений (поддержка LDAP уже появилась в 1.6) — календарями.
Такая интеграция позволить добавить динамическую логику обработки вызовов в зависимости от времени дня. Множество конструкций вида GoToIfTime могут быть заменены на проверку занятости и получения подробностей о характере запланированного в календаре мероприятия.
Вот список текущих возможностей API:
- Функция CALENDAR_BUSY, возвращающая занятость указанного времени в календаре. Позволяет делать переадресации на основании запланированных встреч
- Предоставление информации о присутствии (presense) по данным из календаря
- Модуль на подобии pbx_sppol позволяющий создавать и планировать вызовы на основании записей в календаре
- Функция CALENDAR_EVENT, позволяющая получить подробности о том или ином событии. например по месту встречи можно точно переадресовать вызов.
В сочетании с синтезом речи наличие такой интеграции «из-коробки» может сделать многое.
В данный момент поддерживаются только форматы iCal и MS Exchange календарей. В дальнейшем будет добавлена поддержка CalDAV, а так же возможности записи и изменения календарей (если будет такая необходимость). Работа с календарями осуществляется с помощью библиотек libneon и libical, доступных под лицензией LGPL.
Обновления информации о подключенном абоненте
Всегда ли экран телефона отображает действительную информацию о текущем диалоге? Нет, обычно на нём отображается только набранный номер и, может быть, если номер был в телефонной книге IP телефона — имя собеседника.
Протокол SIP предоставляет множество способов для контроля состояния сессии, и обновления во время диалога. Давно уже развивающаяся серия патчей, а теперь и отдельная ветвь в SVN добавляет поддержку такой функциональности в Asterisk. Вот список улучшений в работе офисной станции:
- При звонке на внешний номер, можно будет по внешней базе получить имя вызываемой организации (или страну) и подставить в CallerIdName
- При подборе вызова сразу же будет отображен номер собеседника и его имя
- При переводе вызовов всегда можно будет видеть имя собеседника
Поддержка реализована для для chan_sip и chan_skinny (возможно частично для PRI, не уследил) и протестирован с телефонами многих производителей. Как часто это бывает вопрос остаётся в полноте поддержки нужных RFC VoIP телефоном.
Поддержка новых кодеков
Источники: трекер (G.711 HD), трекер (AMR)
На трекере давно содержатся патчи для поддержки новых кодеков. В том числе это поддержка G.711 с дискретизацией 16KHz. Поддержка этого кодека есть в телефонах Polycom. Так же есть патч для пропускания потока, использующего кодек AMR (полноценная поддержка упирается в вопросы лицензирования, но модуль имеется в свободном доступе). Однако принятие этих патчей упирается в тот факт, что в структуре, содержащей информацию о кодеках закончилось место. Просто расширение этой битовой маски не имеет смысла и новые кодеки будут добавлены в рамках усовершенствования общего усовершенствования. Переработка механизма согласования кодеков обсуждалась на Astricon 2008, работа вскоре начнётся.
Прямая передача RTP
Новое приложение app_rtpstream позволяет напрямую, без установления связи, передать голос на телефоны. По функциональности это практически приложение Page, за исключением того, что голос может быть передан единожды с сервера Астериск и передан с помощью мультикаста до каждого телефона. Поддержка имеется в телефонах таких как Snom, Linksys, Cisco и Barix