Asterisk™: будущее телефонии Второе издание - Меггелен Джим Ван
Заметьте, что, если для этой опции задано значение yes, в случае неожиданного сбоя системы данные могут быть утрачены.
size
Устанавливает максимальное количество записей CDR, накапливаемых в буфере перед передачей на серверную часть систем хранения CDR. Эта настройка имеет смысл, только если для опции batch задано значение yes. Значение по умолчанию - 100 записей.
time
В качестве аргумента принимает целое число (количество секунд). Определяет, через какое время (в секундах) Asterisk очищает буфер и записывает CDR в базу данных, независимо от количества записей в буфере (что определено параметром size). Значение по умолчанию - 300 с (5 мин).
scheduleronly
Принимает аргументы yes и no. Если в системе создается и передается в удаленную базу данных большой объем CDR, может быть полезно задать для scheduleronly значение yes. Поскольку планировщик задач не может начать новую задачу, не завершив текущую, медленная запись CDR может неблагоприятно повлиять на остальные процессы, использующие планировщик. Эта настройка будет указывать Asterisk обрабатывать запись CDR в новом потоке, по сути, назначая специальный планировщик для этой функции. При нормальной работе это обеспечит очень незначительное преимущество.
safeshutdown
Принимает аргументы yes и no. Задание для safeshutdown значения yes не даст Asterisk полностью выключиться, пока буфер не будет полностью очищен и вся информация не будет записана в базу данных. Если для этого параметра задано значение no и происходит выключение Asterisk при наличии информации в буферах, эта информация, скорее всего, будет утрачена.
endbeforehexten
Обычно записи CDR не закрываются до тех пор, пока не будет завершено выполнение всех добавочных номеров. Если эта опция активирована, CDR будет завершаться перед выполнением добавочного номера h, так что такие значения CDR, как end и billsec, могут быть извлечены в этом добавочном номере. Значение по умолчанию - no.
Оставшаяся часть cdr.conf посвящена настройкам нескольких серверных механизмов хранения CDR. Для получения более подробной информации обратитесь к шаблону файла cdr.conf.
cdr_manager.conf
Файл cdr_manager.conf содержит только заголовок [general] и единственную опцию, enabled, с помощью которой можно определить, должен ли Asterisk Manager API формировать события CDR. Если требуется формировать события CDR, в файле cdr_manager.conf должны присутствовать следующие строки:
[general] enabled=yes
Тогда Manager API будет создавать CDR-события, содержащие следующие поля:
Event: Cdr
AccountCode:
Source:
Destination:
DestinationContext:
CallerID:
Channel:
DestinationChannel:
LastApplication:
LastData:
StartTime:
AnswerTime:
EndTime:
Duration:
BillableSeconds:
Disposition:
AMAFlags:
UniqueID:
UserField:
cdr_odbc.conf
Asterisk может хранить данные CDR в локальной или удаленной базе данных посредством интерфейса ODBC. Файл cdr_odbc.conf содержит информацию, необходимую Asterisk для соединения с базой данных. Модуль cdr_odbc.so будет пытаться загрузить файл cdr_odbc.conf, и в случае обнаружения информации для соединения с базой данных данные CDR будут записываться туда.
Если вы собираетесь использовать базу данных для хранения данных CDR, придется выбрать одну базу данных из нескольких доступных. Asterisk не любит, когда приходится соединяться с несколькими базами данных CDR, поэтому в папке конфигурации Asterisk не должно быть лишних файлов cdr_ <механизм БД>.есп1:.
cdr_pgsql.conf
Asterisk может хранить данные CDR в базе данных PostgreSQL с помощью модуля cdr_pgsql.so. При загрузке этого модуля необходимая информация считывается из файла cdr_pgsql.conf, и Asterisk устанавливает соединение с базой данных для записи и хранения данных CDR.
cdr_tds.conf
Asterisk также может хранить данные CDR в базе данных FreeTDS (включая СУБД MS SQL), используя модуль cdr_tds.so. При загрузке этого модуля используется конфигурационный файл cdr_tds.conf. После успешного установления соединения данные CDR записываются в эту базу данных.
codecs.conf
У большинства кодеков нет настраиваемых параметров; они просто такие, какие они есть.
Однако некоторые кодеки могут вести себя по-разному. Это, главным образом, означает, что они могут быть оптимизированы для конкретной цели, такой как сокращение задержки, оптимизация использования сети или, возможно, обеспечение высококачественного звука.
Файл codecs.conf появился в Asterisk достаточно недавно и на момент написания данной книги обеспечивал возможность конфигурации только параметров Speex. Эти настройки не требуют никаких объяснений, если вы знакомы с протоколом Speex (http://www.speex.org).
codecs.conf также позволяет конфигурировать сокрытие потерянных пакетов (Packet Loss Concealment, PLC). Вам необходимо определить раздел [plc] и указать genericplc => true. Это заставит Asterisk пытаться интерполировать потерянные пакеты. (Активация этой функциональности приведет к небольшому снижению производительности.)
dnsmgr.conf
Этот файл используется для настройки DNS-поиска: должна ли Asterisk выполнять его регулярно и как часто этот поиск должен осуществляться.
dundi.conf
Протокол DUNDi используется для динамического поиска VoIP-адреса телефонного номера в сети и для соединения с этим адресом. В отличие от стандарта ENUM, DUNDi не имеет централизованного управления. Файл dundi.conf содержит добавочные номера DUNDi, используемые для управления тем, какая информация предоставляется; также в нем указаны равноправные участники сети, которым вы предоставляете и от которых будете принимать запросы поиска. Протокол DUNDi рассматривался в главе 14.
enum.conf
Система электронной нумерации (Electronic Numbering, ENUM) в сочетании с интернет-системой DNS используется для преобразования стандартных номеров E.164 ITU (обычных телефонных) в адреса электронной почты и веб-сайтов, VoIP-адреса и т. п. В DNS ENUM-номер создается путем расположения цифр телефонного номера в обратном порядке, разделения их точками и добавления в начало e164.arpa (основная DNS-зона). Если требуется, чтобы Asterisk выполняла поиск ENUM, необходимо в файле enum.conf сконфигурировать домены, в которых должен осуществляться поиск. Кроме официального домена e164. arpa, можно настроить Asterisk на выполнение поиска в открытом доступном домене e164.org.
extconfig.conf
Asterisk может записывать конфигурационные данные в базу данных и загружать их оттуда, используя внешний механизм конфигурации (также известный как архитектура реального времени). Он обеспечивает интеграцию между внешними конфигурационными файлами (статические отображения) и базой данных, позволяя извлекать информацию из базы данных. Также с ним вы можете проецировать специальные записи реального времени, благодаря чему можно динамически создавать и загружать объекты, сущности, равноправных участников и т. д. без перезагрузки системы. Эти отображения назначаются и конфигурируются в файле extconfig.conf, который используется и res_odbc, и архитектурой реального времени.
extensions.conf
Диалплан - основа всего. Файл extensions.conf - это средство, с помощью которого вы указываете Asterisk, как должны обрабатываться вызовы. Диалплан содержит список инструкций, которые, в отличие от таковых в традиционных системах телефонной связи, являются полностью настраиваемыми. Диалплан набора имеет настолько большое значение, что мы посвятили ему главы 5 и 6, а также приложение В. Так что вперед, читайте и наслаждайтесь!
extensions.ael
Этот файл аналогичен extensions.conf, но только предназначается для диалпланов, написанных на языке AEL. Когда Asterisk загружает диалплан, она читает диалплан на AEL из файла extensions.ael и объединяет его с диалпланом из extensions.conf.