Вот и перевалил номер ревизии за 100000, не обошлось без проблем в багтрекере, который отказался принимать записи с таким номером ревизии. Вообще эта неделя, на мой взгляд, внесла очень интересные функци. Одно только то, что на этой неделе было внесено багов с номером меньше чем 9000 4 штуки. А обычно так долго вносятся очень полезные возможности. Основные изменения:
- chan_sip теперь поддерживает работу через TCP/TLS
- Добавлен res_ldap для realtime конфигурации
- Поддержка SIP Sessin Timers (RFC 4028)
Подробнее под катом.
Новое:
- (#4903) Внедрена поддержка SIP через TCP/TLS. Brett Bryant во время летних каникул сделал основу внесённых в этот раз изменений, работа при этом была оплачена Digium. Теперь будет возможна передача SIP сигнализации по TCP, а так же шифрование сигнализации. Кроме того это открывает путь для внедрения некоторых RFC, которые могут работать только через TCP (например, подписка на состояние сразу множества устройств).
- (#5768) res_ldap включён в trunk. LDAP является хранилищем, оптимизированным для чтения информации, что несомненно позволит ускорить работу с realtime хранилищем, тем более что сейчас есть класс sip_regs, который позволит записывать данные по прежнему в SQL базу. Замечательно, может быть воспользуюсь, если переборю себя и разберусь с LDAP. (ветка /team/group/res_config_ldap)
- (#10665) Поддержка SIP Session Timers (RFC 4028), подробности — в sip.conf. Вкратце, мы получили поддержку механизма и прерывания «подвисших» сессий, которые могли возникнуть вследствии неполадок сети или эндпоинтов. (ветка /team/group/sip_session_timers)
- (#8952) Добавлен код из ветки strictrtp. RTP поток от постороннего IP адреса будет отбрасываться (если включена соответствующая опция).
- (#11747) Новый модуль res_config_curl. Realtime через HTTP запросы. Не разбирался как это работает, но в коммите, в конфигурации и документации должно быть описано.
- (#11310) поддержка в Skinny переадресации (по занятости и безусловной)
- (#10740) добавлена опция backupdeleted, для перемещения Voicemail сообщений в специальную папку, вместо полного удаления.
- Функции TOUPPER и TOLOWER для использования в диалплане
- Обновлён синтаксис для команды Dial для срфn_sip: SIP/extension[:password:[md5secret[:authname]]]@peer. Позволяет указывать данные для авторизации прямо в Dial, без использования sip.conf
- Новый конфигурационный файл cli.conf, в который можно занести CLI команды, которые будут выполняться при старте asterisk
- В конфигурацию cdr_odbc добавлено ключевое слово filter. Подробнее в конфиге.
- Поддержка нескольких устройств в chan_console
- (#11816) Передача значения Call-ID второй стороны в специальную переменную
Исправления:
- Добавлено предупреждение, в случае, если в команде Set имя переменной окружено пробелами
- Большие, даже огромные, изменения в Direcory. Добавленная ранее опция m вызвала добавление большого количества дублирующегося кода и нескольких проблем. (dimas)
- (#7904) Исправлено поведение опций t и T при передачи прав на трансфер. Правда поведение опции T вызывает много вопросов. (sergee)
- Для части опций в app_queue были не указаны значения по-умолчанию, поэтому релоад не сбрасывал значения, если они были закомментированы
- (#11749) Проверять, существует ли пароль пользователя, даже если он и пустой (в AMI)
- (#11736) Не отменять завершение вызова, в том случае если даже во время ожидания ответа на наш CANCEL пришёл 183
- (#11545) Не убирать старую запись о роуте, когда имеем дело с reINVITE
- (#11750) При некоторых условиях игнорировался SDP в INVITE с несколькими типами данных
- (#10983) Убран ненужный вызов DNS Lookup из sip_devicestate
- Добавлены новые имена в SDP для ulaw и alaw кодеков. Сделано для поддержки некоторых устройств, хотя идёт вразрез со стандартами.
- (#10500) Некоторые шаги для того чтобы избежать транскодинг в iax2
- (#11783) Расширен буфер для записей из поля VIA до 512 символов
- (#11798) Для res_odbc можно указать время, в течении которого возможен простой соединения
- (#11799) Исправления distinctive ring в chan_zap
- Исправлена проблема с мониторингом chan_local
- SIP не мог запуститься в случае, если на машине несколько сетевых интерфейсов и не установлен маршрут по-умолчанию (и не был указан конкретный адрес в bindaddr)
- (#11809) Не срабатывал сброс пароля в voicemail
- (#10497) Не работала индикация прогресса вызова в H.323 (sergee)
- (#11738) ChanSpy гораздо меньше будет надоедать сигналами в случае неудачного подключения к разговору
- Всевозможные исправления сборки на разных системах, традиционные исправления дедлоков (chan_local), утечек памяти и падений при различных условиях (app_dial). Такие изменения происходят каждую неделю, даже не буду о них упоминать.
Внутреннее:
- В CREDITS внесена информация о Sergey Tamkovich и внесённом им вкладе. Его можно найти и поздравить в IRC под ником sergee.
- Команда make update теперь записывает в лог так же и версию, с которой апгрейдились (update.log)
- res_features перенесён в features.c
- (#11693) обнаружение speexdsp для autoconf
- Различным модулям добавлены зависимости от chan_local, без него нормальная работа невозможна
- (#11769) Список параметров в ast_load_realtime должен заканчиваться NULL иначе — бух и всё 🙂 (dimas)