Функциональные изменения от версии Астериск 1.6.2 до версии Астериск 1.8

Огромное спасибо сайту pbxware.ru

Изменения в 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,) на каждый ответ. Такая возможность позволяет первичному каналу знать, как каждый из каналов набран в многоканальном наборе, отслеживая каждый канал индивидуально.
Добавлены опции 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) – это имя конференции.
Приложение 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” , используемый остальной частью системы.
Параметры 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

Последняя модифицированная версия mISDN v1.1.x доступна на ресурсах:

http://svn.digium.com/svn/thirdparty/mISDN/trunk

http://svn.digium.com/svn/thirdparty/mISDNuser/trunk

Различные версии, разделенные по релизам, доступны на ресурсах:

http://svn.digium.com/svn/thirdparty/mISDN/tags

http://svn.digium.com/svn/thirdparty/mISDNuser/tags
Канальный драйвер 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();
R Reverse charging indication.

Добавлена опция отправки/приема RCI (звонки, оплачиваемые вызываемым абонентом).
Отправка RCI в сообщении SETUP на канале chan_dahdi опцией R:
Dial(DAHDI/g1/extension/R)
Возможность принимать RCI в SETUP сообщение осуществляется таким образом: ${CHANNEL(reversecharge)} (требует последней версии libpri)
Добавлена возможность отправлять/принимать набранные цифры в SETUP сообщении. Отправка цифр в SETUP сообщении осуществляется при помощи опции K() на канале chan_dahdi:
Dial(DAHDI/g1/[extension]/K())
Получить доступ к любым цифрам в 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.
Для более подробной информации см. doc/CCSS_architecture.pdf и doc/tex/ccss.tex(asterisk.pdf).

Поддержка RTP мультикаста

Новый RTP механизм и канальный драйвер были добавлены для поддержки Multicast RTP. Канальный драйвер может быть использован с приложение номерного плана Page() для выполнения мультикастового RTP пересылки. Формат строки набора:

MulticastRTP///

где:

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 была упразднена. Теперь, для того чтобы передавать тишину во время записи разговора, должна быть использована опция transmit_silence. Тем не менее, опция transmit_silence_during_record остается валидной, но по умолчанию используется опция transmit_silence.
Добавлен Unit Test Framework API для управления регистрациями и выполнением единиц тестирования проверки работы C функций.
SendText реализован в chan_gtalk и chan_jingle. Приложение просто отправляет XMPP текстовые сообщения на удаленный JID (Jabber ID).
Модуль modules.conf имеет новую опцию require, которая метить модуль как критичный для работы Астериска. В случае отсутствия одного из критичных модулей, Астериск завершит работу с кодом возврата в вызывающую среду 2.
Опция “X” была добавлена в Астериск приложение, что позволяет использовать #exec. Это позволяет #exec быть использованным в asterisk.conf.
Файл jabber.conf поддерживает новую опцию auth_policy, которая включает авторегистрацию пользователей.
Новая опция lockconfdir была добавлена в asterisk.conf файл, для защиты каталога файлов конфигурации (/etc/asterisk по умолчанию) при перезагрузки Астериска.
Опция parkeddynamic была добавлена в features.conf, что позволяет создавать динамическую парковку.
chan_dahdi поддерживает передачу сообщений сигнала тревоги через интерфейс AMI, либо по-канально, либо на основании диапазона каналов через опцию reportalarms.
chan_dahdi поддерживает конфигурацию набора и посредством файла устройства. DAHDI/span-name!local!1 может использовать /dev/dahdi/span-name/local/1. Точно так же это доступно в chan_dahdi.conf как channel => span-name!local!1.
Новая опция chan_dahdi.conf ignore_failed_channels логического типа (boolean). По умолчанию false, но если установлена в истина, тогда chan_dahdi будет игнорировать поврежденные каналы. Удобный синтаксис на основании имен не зависит от порядка инициализации.
Realtime dialplan switch теперь кэширует запись на 1 секунду. Это позволяет увеличить его производительность в несколько раз (x3).
Распределенный devicestate теперь поддерживает XMPP протокол в дополнении к AIS. Более подробную информацию можно получить с doc/distributed_devstate-XMPP.txt
Поддержка режима pass-through для кодека G.719.
Добавлена поддержка 16khz Speex аудио кодека. Чтобы включить поддержку данного режима, можно воспользоваться опцией allow=speex16 во время конфигурирования устройства.
Обновлен UNISTIM канальный драйвер (chan_unistim) для поддержки устройств, которые имеют менее 3 строк на LCD дисплее.
Realtime теперь поддерживает отказ работы с БД (database failover). Более подробную информацию можно получить с файла extconfig.conf.
Улучшено преобразование широкополосных кодеков. Изменение частоты дискретизации во время преобразования удалось упразднить из-за отсутствия необходимости.
Добавлен модуль res_stun_monitor для отслеживания и взаимодействия с изменениями в сети при работе за NAT.

Изменения в CLI

Команды ‘core set debug’ и ‘core set verbose’ в предыдущей версии могли опционально принимать имя файла, чтобы применить настройки только для кода, генерируемого из исходного файла Астериска во время сборки. Тем не менее, некоторые модули Астериск состоят из нескольких исходных файлов, что не приводило к поведению, которое ожидает пользователь. В версии 1.8 Астериска, ‘core set debug’ и ‘core set verbose’ могут опционально принимать имя модуля (с расширением .so или даже без него), что применяет настройки ко всему модулю, не зависимо от того, с каких исходных файлов он был собран.
Новая команда ‘manager show settings’ отображает в CLI текущие настройки с файла manager.conf.
Добавление ключевого слова ‘all’ в CLI для команды “channel request hangup” заставляет завершить все звонки на всех каналах.
Добавлена команда “core reload”, которая выполняет перезагрузку глобальных настроек Астериска.

  1. No comments yet.

  1. No trackbacks yet.

You must be logged in to post a comment.