Мы сравнили фуинкционал и изменения в Asterisk версии 1.8 по сравнению с Asterisk 1.6
Изменения в SIP
- Добавлена опция preferred_codec_only в sip.conf. Эта возможность ограничивает пересечение множества кодеков, отправляемых в ответе на INVITE сообщение единственным, наиболее предпочтительным кодеком.
- Добавлена переменная номерного плана SIP_CODEC_OUTBOUND, которая может быть использована для установки кодека на исходящие вызовы. Это должен быть один из кодеков, сконфигурированных для устройства.
- Добавлена опция tlsprivatekey в sip.conf. Опция позволяет хранить private key в отдельном .pem файле. Если опция tlsprivatekey не используется, то поиск файла tlscertfile будет выполнен как для public, так и для private key.
- Добавлена опция tlsclientmethod, позволяющая определить протокол для исходящих клиентских соединений.
- Параметр sendrpid был расширен и позволяет включить опции “rpid” и “ pai ”. Установка sendrpid в rpid заставит установить заголовок Remote-Party-ID (эквивалентно установке sendrpid=yes) и установка sendrpid в значение pai заставит установить поле заголовка P-Asserted-Identity.
- Режим ignoresdpversion может быть установлен автоматически, когда принятый SDP является ответом на T.38 re-INVITE, который инициировал Астериск. В такой ситуации, в виду того, что установление звонка претерпит неудачу, так как Астериск не обработает входящий SDP. Астериск должен принят SDP даже в том случае, если версия SDP неправильно инкрементирована, но должен сгенерировать предупреждающее сообщение (WARNING) в log файл, сообщающий что SIP пир, который отправил SDP, должен иметь установленную опцию ignoresdpversion.
- Опция nat была изменена и теперь может принимать значения: yes, no, force_rport и comedia. Установка в yes заставит обрабатывать NAT в соответствии с RFC 3581 и разрешит симметричную поддержку RTP. Установка в значение no разрешит поведение обработки NAT в соответствии с RFC 3581, только в том случае, если удаленная сторона запроса запретила использование симметричного RTP. Установка в force_rport заставит обрабатывать NAT в соответствии с RFC 3581 и запретит симметричную поддержку RTP. Установка опции в comedia разрешит RFC 3581, если это удаленная сторона запроса и разрешит симметричный RTP.
- Вторичные SIP каналы сейчас устанавливаются при помощи HASH(SIP_CAUSE,<slave-channel-name>) на каждый ответ. Такая возможность позволяет первичному каналу знать, как каждый из каналов набран в многоканальном наборе, отслеживая каждый канал индивидуально.
- Добавлены опции externtcpport и xterntlsport, позволяющие подобрать конфигурацию порта для externip и externhost опций, когда используется транспорт tcp или шифрованный транспорт tls.
- Добавлена поддержка тела сообщения (сохраняется в переменной контента) для SIP NOTIFY сообщений, которое можно принять при помощи AMI команды или через консоль Астериска CLI.
- Добавлена опция media_address, которая может быть использована для явного описания ip адреса, используемого в SDP сообщении для медиа потоков (аудио, видео и текст).
- Добавлена опция unsolicited_mailbox, которая определяет виртуальный почтовый ящик, для которого новый/старый номер должен быть сохранен, если принято незатребованное MWI NOTIFY сообщение.
- Добавлена опция use_q850_reason для генерирования и синтаксического разбора заголовка Reason: Q.850. Это реализовано в некоторых шлюзах для лучшего прохождения PRI/SS7 кода состояния.
- Когда набираются SIP пиры, новый компонент может быть добавлен в конец строки набора (dialstring), что позволяет сообщить определенный ip адрес или хост удаленной стороны, который должен быть использован во время набора отдельного пира. Формат dialstring следующий: SIP/peer/exten/host_или_IP.
- SRTP SDES поддержка для шифрованных звонков с/в Астериск с применением SIP протокола сигнализации. Также реализована возможность выборочно заставить бриджевать шифрованные каналы. Ветвление в номерном плане может быть выполнено на основании проверки факта, имеет ли канал зашифрованный медиа поток и/или сигнализацию.
- Добавлены опции directmediapermit/directmediadeny, позволяющие ограничить пиры, которые могут или не могут отправлять медиа потоки друг другу напрямую.
- Добавлена опция snom_aoc_enabled, включающая поддержку отправления сообщений Advice of Charge в телефоны SNOM.
- Добавлена поддержка голосового кодека G.719.
- Добавлена поддержка
SIP протокол может быть связан и взаимодействовать с IPv6 адресами. Более того, RTP протокол имеет такие же возможности. - Добавлена поддержка добавления поля SIP заголовка Max-Forward. Такая поддержка доступна в конфигурации устройства, а также в номерном плане.
- Добавлена опция subscribe_network_change для включения/выключения модуля res_stun_monitor в chan_sip.
- Добавлена опция auth_options_requests для включения/выключения аутентификации OPTIONS запросов в канале chan_sip.
Изменения в IAX2
- В файл конфигурации iax.conf добавлена опция rtsavesysname, которая позволяет сохранить systname при realtime обновлении.
- Добавлена опция в канал chan_iax2, позволяющая информировать номерной план о том, было ли использовано шифрование. Это взаимодействует с SIP RTP имплементацией, таким образом, безопасный SIP вызов может быть бриджован с IAX вызовом, когда в номерном плане указано, что бриджованные каналы должен быть защищены шифрованием.
- Добавлена опция subscribe_network_change для включения/выключения поддержки модуля res_stun_monitor канала chan_iax.
Изменения в MGCP
- Добавлена возможность заранее задавать канальные переменные на указанных линиях при помощи опции setvar. Также, clearvars=all устанавливает список переменных назад в значение none.
Поддержка PacketCable NCS 1.0 добавлена для Docsis/Eurodocsis сетей. Смотрите файл configs/res_pktccops.conf для более подробной информации.
Изменения в XMPP Google Talk/Jingle
- Добавлена опция externip в файл конфигурации gtalk.conf
- Добавлена опция stunaddr в файл gtalk.conf, позволяющая автоматически извлечь внешний ip адрес с stun сервера.
Приложения
- Добавлена опция p в приложение PickupChan(), что позволяет поднимать канал по первому совпадению отдельного имени канала.
- Добавлена поддержка .m3u для Mp3Player приложения.
- Добавлена опция прохождения D() в app_dial. Во время прохождения DTMF, это значение сразу отправляется после приема сообщения PROGRESS, не зависимо от того, был ли принят звонок или нет.
- Добавлена опция F() в приложение app_dial для продолжения выполнения в текущем контексте, если не предоставлены параметры.
- Добавлена опция ‘a’ в приложение app_dial для ответа в вызывающем канале до любого сигнального извещения в канале или до выполнения какого-либо макроса.
- Модифицировано приложение app_dial установкой опции answertime, когда с вызываемого канала был ответ, но звонок был завершен во время проигрывания звукового извещения.
- Добавлена опция ‘r’ в app_dial для проигрывания тонального сигнала из файла indications.conf
- Добавлена опция c() в app_chanspy, позволяющая вручную установить DTMF цифру для перехода на следующий канал для прослушивания. По умолчанию это по-прежнему “*”.
- Добавлена опция x() в app_chanspy для выхода из приложения ChanSpy().
- Приложение Voicemail было усовершенствовано игнорировать сообщения, которые содержат молчание. Если вы устанавливаете maxmsg равное 0 в файле voicemail.conf, приложение Voicemail должно рассматривать связанный почтовый ящик(-ки) только для приветствия.
- Приложение ChanSpy() имеет опцию ‘S’, которая заставляет завершить приложение прослушивания, когда для прослушивания нет ни одного канала. Опция E() позволяет прослушать один канал и завершить свою работу после того, как звонок будет завершен.
- Приложение MeetMe() включает функцию DENOISE() по умолчанию для каждого участника. В нашем тестировании, эта функция позволила значительно снизить фоновый шум (в честности, шум центра обработки данных).
- Приложение Voicemail позволяет хранить пароли в отдельном файле, размещенном в каталоге /spool для каждого пользователя. Управления конфигурацией доступно через опцию passwordlocation файла voicemail.conf. Пожалуйста, для более подробной информации смотрите конфигурационный файл.
- Приложение ChanIsAvail возвращает в отдельную переменную AVAILCAUSECODE результат своей работы, вместо того, чтобы переписать переменную AVAILSTATUS статуса устройства.
- Добавлена опция ‘d’ в приложение app_followme. Опция позволяет запретить извещение “Please hold” (“Пожалуйста, ожидайте”).
- Добавлена опция ‘y’ в приложение app_record. Опция позволяет включить режим завершения записи разговора по появлению в канале любого DTMF сигнала.
- Приложение Voicemail() теперь поддерживает настройки, индивидуальные для каждого каталога, в котором сохранены почтовые ящики IMAP протокола. Предыдущий каталог мог быть настроен по-контекстно, но сейчас расширен при помощи опции imapfolder.
- Приложение Voicemail() теперь поддерживает опции nextaftercmd и minsecs, применимы на каждый почтовый ящик.
- Приложение Voicemail() сейчас позволяет формат даты пейджера описать отдельно от почтового формата даты.
- Добавлены новые приложения: JabberJoin, JabberLeave и JabberSendGroup позволяющие присоединиться, покинуть и оправить текст в групповой чат.
- Приложение MeetMe() имеет опцию ‘G’, позволяющая проиграть сообщение участнику конференции до присоединения к кофнеренции.
- Приложение Page() имеет опцию A(x), которая проигрывает извещение одновременно всем пронумерованным телефонам. Опционально исключает телефон звонящего, если используется опция ‘h’ перед бридживанием вызова.
- Опция ‘f’ приложения Dial() была дополнена опциональным аргументом. Когда аргумента нет, опция ‘f’ работает как обычно. Если аргумент есть, значит, информация, о всех соединенных исходящих каналах, созданных во время выполнения приложения Dial(), будет установлена в качестве аргумента, переданного в опцию ‘f’.
- Приложение Dial() теперь наследует GOSUB_RETVAL от пира, когда включена опция U(), запускается Gosub на пире.
- Приложение OSPlookup добавляет входящий/исходящий идентификатор сети, дополнительную безопасность, номер мобильности, QoS уведомление, ip адрес получателя, пользовательские данные и особенности типа службы.
- Добавлено новое приложение VMSayName, которое проигрывает записанное имя пользователя голосовой почты, если оно существует. В противном случае сообщает номер почтового ящика.
- Добавлено специальное состояние устройства для приложения ConfBridge. Можно использовать 'confbridge:<name>' для извлечения информации о заданном бридже, где имя (name) – это имя конференции.
- Приложение app_directory сейчас позволяет выходить в любое время, используя оператор или клавишу #.
- Приложение Voicemai() сейчас поддерживает локали на каждый почтовый ящик.
- Добавлены приложения SayCountedNoun и SayCountedAdj.
- Приложение Voicemail() теперь запускает сценарий externnotify, когда pollmailboxes активирован и извещает об изменении.
- Приложение Voicemail() теперь включает rdnis в файл msgXXXX.txt.
- Добавлена опция ‘D’ к приложению ExternalIVR (для полной информации см. файл doc/externalivr.txt).
Функции номерного плана
- Добавлены функции SRVQUERY и SRVRESULT. Это может быть использована для выполнения запроса и перебора SRV записей, связанных со специфическим сервисом. С консоли CLI, введите команду “core show function SRVQUERY” и “core show function SRVRESULT” для более детальной информации о том, как они могут быть использованы.
- Добавлена функция PITCH_SHIFT в номерной план. Функция может быть использована для изменения уровня сигнала tx и rx на голосовом потоке.
- Добавлены функции CONNECTEDLINE и REDIRECTING, позволяющие установить различную информацию на соединенных и перенаправленных линиях.
- Функции CALLERID и CONNECTEDLINE расширены поддержкой ISDN субадресации.
- Функция CHANNEL() теперь поддерживает опции “name” и "checkhangup".
- Для канала DAHDI, функция CHANNEL() позволяет внести изменения в конфигурацию активного эхоподавителя на канале (если он есть), только для текущего звонка. Синтаксис следующий:
exten => s,n,Set(CHANNEL(echocan_mode)=off)
Возможные значения:
on – обычный режим (эходав инициализируется заново);
off – отключить эхоподавление на текущий момент;
fax – FAX/data режим (NLP отключено, если это возможно, в противном случае полностью отключено);
voice – режим передачи голоса (возвращает с режима FAX, возвращая в режим, который имел место до включения режима FAX). - Добавлена новая функция номерного плана MASTER_CHANNEL(), которая позволяет извлекать и устанавливать переменную на канале, который создан текущим каналом. Администратор должен позаботиться о том, чтобы не было конфликта имен переменных, когда несколько каналов создается одновременно, в особенности, когда используется локальный канал (все переменные устанавливаются на мастер канале). Использование функции номерного плана HASH() с ключом имени вторичного канала может быть одним из решений избежать конфликта имен.
- Добавлена новая функция номерного плана MUTEAUDIO(), позволяющая регулировать громкость входящего и исходящего звука на канале.
- Функция func_odbc позволяет извлекать несколько записей без использования func_odbc. Если установлен лимит на количество строк (rowlimit), дополнительные строки могут быть извлечены из того же запроса, используя имя функции, которая извлекала первую запись в качестве аргумента функции ODBC_FETCH().
- Добавлена функция JABBER_RECEIVE, позволяющая принимать XMPP сообщения прямо из номерного плана. Функция возвращает содержимое сообщения.
- Добавлена функция REPLACE, которая заменяет набор символов в строке на другой символ.
- Добавлена функция PASSTHRU, которая буквально передает тот же самый аргумент назад в качестве результата работы. Функция позволяет другим функциям номерного плана принимать имя переменной в качестве строкового значения.
HASH-переменные теперь могут быть унаследованы через несколько каналов, посредством предварения префикса имени хеша при присвоении соответствующего количества символов нижнего подчеркивания. - Усовершенствована функция GROUP_MATCH_COUNT, позволяющая выполнить сопоставление с регулярным выражением по категории.
- Функции CHANNEL(secure_bridge_signaling) и CHANNEL(secure_bridge_media) устанавливают/ получают информацию о том, должны ли каналы, которые бриджуются с текущим каналом, иметь защищенную сигнальную информацию или медиа данные.
- Функции CHANNEL(secure_signaling) и CHANNEL(secure_media) позволяю узнать, имеет или нет текущий канал безопасную сигнализацию и/или медиа данные.
- Для каналов CHANNEL(secure_media), функция CHANNEL() номерного плана теперь поддерживает опцию “no_media_path”. Возвращает “0”, если канал B канал связан со звонком. Возвращает “1”, если с B каналом не связано ни одного звонка. Звонок либо на удержании, либо на ожидании.
- Добавлена опция “f” в функцию номерного плана CDR(), которая позволяет установить таймер с высоким разрешением для полей billsec и duration.
- Функция FILE() сейчас поддерживает строковый режим (line-mode) и запись. Строковый режим подразумевает, что смещение (offset) выражено не в байтах, а строках.
- Добавлена функция FIELDNUM(), которая возвращает смещение на 1 поля в списке.
- Функция FRAME_TRACE(), которая отслеживает внутреннее состояние ast_frames на канале.
Переменные номерного плана
- Добавлена переменная DYNAMIC_FEATURENAME, которая хранит последнее включенное динамическое свойство (features).
- Добавлена переменная DYNAMIC_PEERNAME, которая хранит уникальное имя канала на другой стороне и устанавливается, когда динамическое свойство сработает.
- Добавлена переменная PARKINGLOT, которая может быть использована с опцией parkeddynamic в features.conf файле конфигурации для динамического создания парковки, которая соответствует значению, установленному в этой переменной.
- Добавлена переменная PARKINGDYNAMIC, которая представляет шаблон парковки, определенный в features.conf, который должен быть основан на динамических парковках.
- Добавлена переменная PARKINGDYNCONTEXT, которая сообщает, какой контекст должна иметь новосозданная динамическая парковка.
- Добавлена переменная PARKINGDYNPOS, которая хранит позицию динамической парковки.
Изменения в очереди
- Добавлена опция “ready” в функцию QUEUE_MEMBER, которая подсчитывает свободных агентов для определенной очереди, готовых ответить на звонок.
- Добавлена опция “R”в приложении app_queue. Опция останавливает moh и указывает сигнал вызова вызывающему, когда телефон агента получает сигнал вызова. Это позволяет сообщить звонящему, что его вызов вот-вот будет принят.
- Новая опция “penaltymemberslimit” добавлена в фай queues.conf. Эта опция позволяет игнорировать настройки penalty, когда очередь имеет небольшое количество членов.
- Добавлена новая опция 'I', которая добавлена как в приложение app_queue, так и в приложение app_dial. Установка данной опции позволяет Астериску игнорировать любые обновления на соединенной линии или изменения на перенаправленной части, когда они возникают.
- Опция “relative-peroidic-announce” в queues.conf, когда она включена, позволяет подсчитывать периодическое время извещения, начиная с конца извещения, а не с начала.
- Опция “autopause” в queues.conf может принимать новое значение “all”. В результате, если участник очереди автоматически приостановлен, он будет приостановлен во всех очередях, участником которых он является.
- Добавлена функция номерного плана QUEUE_EXISTS, которая проверяет существование очереди.
- Регистратор очереди позволяет опционально записывать события в файл, даже когда включена регистрация событий в реальном времени. Дополнительно, регистрация в реальном времени поддерживает отправку аргументов событий в 5 различных полей. Это может быть альтернативой предыдущему определению данных, если не найдена новая таблица.
Изменения в mISDN канальном драйвере (chan_misdn)
- Добавлен display_connected параметр в misdn.conf для размещения отображаемой строки в сообщение CONNECT, содержащее имя и/или номер, если настройки отображения позволяют это сделать.
- Добавлен параметр display_setup в misdn.conf, позволяющий размещать отображаемую строку в сообщение SETUP, которое содержит имя звонящего абонента и/или его номер, если это разрешено настройками отображения.
- В misdn.conf параметры localdialplan и cpndialplan могут принимать -1, чтобы сообщить, что настройки номерного плана должны быть получены с Астериск канала.
- В misdn.conf параметр callerid принимает формат "name" <number>, используемый остальной частью системы.
- Параметры ationalprefix и internationalprefix в файле misdn.conf позволяют ставить в начале префикс любым принятым с ISDN канала номерам, если такие номера имеют соответствующий Type-Of-Number (тип номера). Примечание: это включает процедуру сопоставления входящего номера с MSN списком.
- Добавлены следующие параметры: unknownprefix, netspecificprefix, subscriberprefix, и abbreviatedprefix в misdn.conf, которые позволяют ставить префикс к любым принятым номерам с канала ISDN, если такой номер имеет соответствующий Type-Of-Number (тип номера).
- Добавлено новое приложение misdn_command номерного плана, которое позволяет управлять CCBS/CCNR.
- Добавлена новая функция mISDN_CC номерного плана, позволяющая извлекать различные значения с записи завершенного вызова.
- Для PTP вы должны вручную отправить COLR перенаправленной части для входящего перенаправленного вызова, если последний может претерпеть дальнейшие перенаправления. Достаточно установить REDIRECTING(to-num,i) = ${EXTEN} и REDIRECTING(to-pres) в COLR. Звонок будет перенаправлен, если REDIRECTING(from-num) не будет равное nul.
- Для исходящего PTP перенаправленного вызова, необходимо использовать опцию inhibit(i) для всех операторов REDIRECTING до набора перенаправленной части. Необходимо использовать REDIRECTING(to-xxx,i) и REDIRECTING(from-xxx,i) значения. PTP звонок может обновить COLR, если он станет доступен.
- Добавлен параметр outgoing_colp для misdn.conf для фильтрации исходящей информации COLP.
Доработки mISDN выполненные компанией Digium
- mISDN был модифицирован компанией Digium, что позволило расширить функционал:
- Расширена COLP поддержка для изменения маршрута вызова и перевода звонка;
- Поддержка CCBS/CCNR
Канальный драйвер libpri (chan_dahdi). Изменения в DAHDI
- Канальная переменная PRIREDIRECTREASON теперь является просто переменной статуса и является устаревшей. Вместо нее необходимо использовать функцию номерного плана REDIRECTING(reason) для чтения и изменения причины (reason).
- Для Q.SIG и ETSI PRI/BRI-PTP необходимо вручную отправить COLR перенаправляемой стороны входящего перенаправленного вызова, если входящий звонок может испытать дальнейшие перенаправления. Необходимо просто установить REDIRECTING(to-num,i) = CALLERID(dnid) и REDIRECTING(to-pres) в COLR. Звонок будет перенаправлен, если REDIRECTING(count) не равен nul.
Для исходящих Q.SIG и ETSI PRI/BRI-PTP перенаправленных вызовов необходимо использовать опцию inhibit(i) во всех операторах REDIRECTING перед набором перенаправленной стороны. Вам все еще необходимо использовать REDIRECTING(to-xxx,i) и REDIRECTING(from-xxx,i) значения. Звонок может обновить COLR, когда это станет доступным. - Добавлена возможность игнорировать вызовы, которые не находятся в списке MSN (Multiple Subscriber Number) для интерфейсов PTMP CPE.
- Добавлен динамический диапазон сжатия для dahdi каналов. Эта возможность настраивается через rxdrc и txdrc параметры в файле chan_dahdi.conf.
- Добавлена поддержка для ISDN вызываемого и вызывающего subaddress с частичной поддержкой subaddress для соединенной линии.
- Добавлена поддержка BRI PTMP NT режима (требует последней версии libpri).
- Добавлена обработка принятых HOLD/RETRIEVE сообщений и опционально возможность перевода удержанных вызовов подобно аналоговым телефонам.
- Добавлена поддержка CallRerouting/CallDeflection для Q.SIG, ETSI PTP, ETSI PTMP. Позволяет маршрутизировать/отклонять маршрут для исходящих звонков при приеме сообщения. Можно менять сообщение при помощи DAHDISendCallreroutingFacility для поддерживаемой коммутации.
- Добавлены опции в приложение Dial() для канала DAHDI:
Dial(DAHDI/g1[/extension[/options]])
Текущие опции:
K(<keypad_digits>);
R Reverse charging indication. - Добавлена опция отправки/приема RCI (звонки, оплачиваемые вызываемым абонентом).
Отправка RCI в сообщении SETUP на канале chan_dahdi опцией R:
Dial(DAHDI/g1/extension/R)
Возможность принимать RCI в SETUP сообщение осуществляется таким образом:${CHANNEL(reversecharge)}
(требует последней версии libpri) - Добавлена возможность отправлять/принимать набранные цифры в SETUP сообщении. Отправка цифр в SETUP сообщении осуществляется при помощи опции K(<keypad_digits>) на канале chan_dahdi:
Dial(DAHDI/g1/[extension]/K(<keypad_digits>))
Получить доступ к любым цифрам в SETUP сообщении возможно при наличии последней версии libpri:
${CHANNEL(keypad_digits)}
- Добавлена возможность принимать/отправлять ETSI Explicit Call Transfer (ECT) сообщения для исключения двусторонних звонков (tromboned calls). Такой звонок уходит с интерфейса и приходить назад на тот же интерфейс. Двусторонний звонок появляется при маршрутизации вызова, отражении вызова, перенаправлении вызова и переадресации вызова.
- Добавлена возможность принимать/отправлять ETSI Advice-Of-Charge сообщения.
- Добавлена возможность ожидания вызова (сообщение SETUP не имеет связанного B канала).
- Добавлено событие о злоумышленном идентификаторе вызова (MCID, Malicious Call ID), посылаемое в AMI интерфейс.
- Добавлен идентификатор ожидания сообщения (MWI, Message Waiting Indication) для ISDN PTMP телефонов.
Изменения в интерфейсе управления AMI
- Действие Hangup теперь принимает заголовок Cause (причина), который может быть использован для получения информации о причине завершения звонка.
- Добавлена опция sslprivatekey в manager.conf и http.conf. Это позволило определить отдельный .pem файл, который хранит секретный ключ (private key). По умолчанию sslcert используется для хранения как секретного, так и публичного ключа (public key).
- Все опции в manager.conf и http.conf с префиксом “ssl” заменены на опции с префиксом “tls”. Например, опция “sslenable” заменена на “tlsenable”. Такие изменения коснулись всех .conf файлов. Все sample.conf файлы были модифицированы для отображения всех изменения. Опция “sslenable” все еще используется , но предпочтительней использовать опции с префиксом “tls”.
- Добавлено действие AMI MuteAudio для приглушения входящего/исходящего аудиопотока во входящем/исходящем канале (res_mutestream.so).
Файл конфигурации manager.conf теперь поддерживает опцию channelvars, которая определяет список канальных переменных, включенных в каждое канало-ориентированное событие. - Команда redirect (перенаправление) теперь имеет новые параметры: parameters ExtraContext, ExtraExtension, и ExtraPriority, что позволяет перенаправлять второй канал в отличное от первого канала место.
- Добавлено событие JabberStatus в модуле Jabber для мониторинга статуса списка контактов.
- Добавлено действие MixMonitorMute в AMI, которое позволяет приглушить звук на входящем/исходящем аудиоканале при записи разговора функцией MixMonitor.
- Вывод iax2 show peers вывод теперь подобен выводу sip show peers.
- Добавлено событие Advice-Of-Charge (AOCMessage) для генерирования AOC-D и AOC-E событий в канале.
- Событие DBGetComplete сейчас сопровождается DBGetResponse, что позволит сделать DBGet действие соответствовать подобным событиям.
- Добавлена новая опция eventfilter для каждого пользователя, что позволяет накладывать фильтры whitelisting и blacklisting на события.
- Добавлена переменная parkinglot для парковки команды.
Регистрация событий канала (CEL)
- Новый интерфейс CEL (Channel Event Logging) позволяет регистрировать одно событие, на подобии AMI, но отличается от AMI тем, чтоCEL протоколирует события в базу данных, как это делает CDR. События происходят на основании подсистемы событий, которая введена Расселом и позволяет использовать использовать в качестве БД разные СУБД, как это сделано в CDR. CEL специализируется на событиях, которые интересны для биллинговых систем, например CDR. Базы данных для регистрации событий и ведения учета звонков уже разработаны, но все еще находятся на стадии доработки.
CDR
- Новые поля linkedid и peeraccount были добавлены в CDR для приверженцев linkedid на основании uniqueID, но распространяется на другие каналы как перевод, набор и прочее. Таким образом, части CDR могут быть сгруппированы в многоплечевые наборы (multilegged sets).
- В файле cdr_custom.conf могут быть описаны несколько файлов и форматов.
cdr_syslog добавлена для записи CDR непосредственно в syslog. Для более подробной информации см. configs/cdr_syslog.conf.sample. - Поле sequence добавлено в CDR, что в комбинации с linkedid или uniqueid позволяет уникально идентифицировать CDR.
- Обработка поле billsec и duration были изменены. Если в описании таблицы эти поля определены как float,double, другими словами можно выполнить логирование в микросекундах, вместо целых чисел.
Ведения календаря в Астериске
- Новые модули были добавлены для интеграции календаря с Астериском. Функции номерного плана для чтения/записи в календарь экспортируются этими модулями. Также предоставлена возможность выполнять логику номерного плана Астериска на основании календарных событий. iCalendar, CalDAV, и Exchange Server календари (посредством res_calendar_exchange для Exchange Server 2003 без поддержки записи или присутствия) и res_calendar_ews для Exchange Server 2007+ с полным функционалом записи или присутствия. Поддержка Exchange Server 2003 не позволяет выполнять аутентификацию на основании форм.
Дополнительный сервис завершения звонка в Астериске
- Поддержка завершения вызова была добавлена в Астериск для SIP DAHDI/ISDN и DAHDI/analog. DAHDI/ISDN поддержка завершения вызова для следующих типов коммутации:
- EuroIsdn(ETSI) для PTP и PTMP режимов и QSIG.
Поддержка RTP мультикаста
- Новый RTP механизм и канальный драйвер были добавлены для поддержки Multicast RTP. Канальный драйвер может быть использован с приложение номерного плана Page() для выполнения мультикастового RTP пересылки. Формат строки набора:
MulticastRTP/<type>/<destination>/<control address>
где:
Type может быть либо basic или linksys;
Destination это ip адрес и порт для RTP пакетов;
Control address определен для типа linksys и используется для отправки управляющих пакетов, уникальных для него.
Фреймворк событий безопасности
- Астериск теперь имеет новый C API для сообщения событий, связанных с безопасностью. Модуль res_security_log отправляет события на уровень протоколирования “security”. На сегодняшний день, AMI является единственным компонентом для сообщения о событиях связанных с безопасностью системы. Тем не менее, в обозримом будущем будет реализована поддержка для SIP. Для более подробной информации необходимо обратиться к главе Security Events (события, связанные с безопасностью), которая находиться в doc/tex/asterisk.pdf.
Fax
- В Астериск добавлена независимая от технологии клиентская часть факса (res_fax).
- Серверная часть факса (fax backend) выполнена на базе spandsp (res_fax_spandsp).
- Модуль app_fax был убран в пользу res_fax модуля и нового res_fax_spandsp серверной части реализации поддержки факса.
- Приложения SendFAX и ReceiveFAX теперь отправляют на уровень регистрации “fax”, вместо записи событий, связанных с приемом/передаче факсимильных сообщений в общий интерфейс учета событий. Чтобы увидеть эти события, конфигурационному файлу logger.conf необходимо направить уровень регистрации fax событий в одно или несколько мест назначения. Собственно файл logger.conf содержит примеры, как это сделать.
- Следует заметить, что если уровень регистрации сообщений не описывает, как минимум одно место назначения, протоколирование сообщений, генерируемых приложением, может быть утеряно. Если fax уровень протоколирования направлен в консоль, команда core set verbose и core set debug в консоли Астериска не влияет на то, будут ли сообщения появляться в консоли.
Разное
- Опция transmit_silence_during_record в asterisk.conf.sample была упразднена. Теперь, для того чтобы передавать тишину во время записи разговора, должна быть исп