Шрифт:
*CLI>
– - Executing VoiceMailMain("SIP/odbc_test_user-10228cac", "1000@default")
in new stack -- Playing 'vm-password' (language 'en') -- Playing 'vm-youhave' (language 'en') -- Playing 'digits/1' (language 'en') -- Playing 'vm-INB0X' (language 'en') -- Playing 'vm-message' (language 'en') -- Playing 'vm-onefor' (language 'en') -- Playing 'vm-INB0X' (language 'en') -- Playing 'vm-messages' (language 'en') -- Playing 'vm-opts' (language 'en') -- Playing 'vm-first' (language 'en') -- Playing 'vm-message' (language 'en') == Parsing '/var/spool/asterisk/voicemail/default/1000/INB0X/msg0000.txt': Found
Заключение
В данной главе мы рассмотрели несколько областей интеграции Asterisk с реляционной базой данных. Это полезно для систем, в которых необходимо реализовать масштабирование через кластеризацию нескольких серверов Asterisk, работающих с общей централизованной информацией, или когда требуется создавать внешние приложения для изменения информации без перезагрузки системы (то есть без необходимости изменения плоских файлов).13
Управление системой Asterisk
Это не будет рассматриваться в книге. Исходный код тоже должен на что-то сгодиться, в конце концов.
– Ларри Уолл
Вы наверняка полны массой интересных идей, которые собираетесь реализовать с помощью своей новой замечательной системы Asterisk, но есть и некоторые базовые, неинтересные, осмелимся даже сказать, скучные аспекты, которые необходимо обсудить.
Запись параметров вызовов
Даже без всяких указаний Asterisk предполагает, что вы хотите сохранять информацию CDR1.
По умолчанию Asterisk создает CSV-файл и помещает его в папку /var/log/asterisk/cdr-csv/2. На первый взгляд в этом файле ничего не
CDR (Call Detail Record) - запись параметров вызова. В телекоммуникационной сфере это файл, содержащий информацию о работе оборудования, такую как идентификатор источника звонка, идентификатор назначения, длительность и стоимость каждого звонка, общее время работы за тарифицированный период, оставшееся время и списанная за данный период сумма. Формат CDR определяется телекоммуникационным оператором или программой. Некоторые программы позволяют конфигурирование формата CDR пользователем.
– Примеч. науч.ред.
Файл в формате с разделяющими запятыми (Comma Separated Values, CSV) - общепринятый метод представления данных в текстовом файле. CSV-файл можно открыть в любом текстовом редакторе, но большинство программ обработки крупноформатных таблиц и баз данных также будут читать такие файлы и правильно разбивать их на строки и столбцы.
понятно1. Однако, если разделить его на строки соответственно расположению запятых, можно заметить, что в каждой строке содержится информация об отдельном вызове и что запятые разделяют следующие значения:
accountcode
Присваивается, если оно задано для канала в конфигурационном файле канала (то есть в sip.conf). Код счета задается для каждого канала. Это значение можно также менять из диалплана, задавая
CDR(accountcode).
Полученный идентификатор вызывающего абонента (строка, 80 символов).
Вызываемый добавочный номер.
dcontext
Вызываемый контекст.
clid
Идентификатор вызывающего абонента с текстом (80 символов).
channel
Используемый канал (80 символов).
dstchannel
Вызываемый канал, если требуется (80 символов).
lastapp
Последнее приложение, если требуется (80 символов).
lastdata
Данные последнего приложения (аргументы, 80 символов).
start
Начало звонка (дата/время).
answer
Ответ на звонок (дата/время).
end
Окончание звонка (дата/время).
duration
Общая продолжительность в системе, в секундах (целое число), от набора номера до разъединения.
Если вас удивляет, почему такая простая на вид вещь считается чем-то особенным, вспомните, что многие традиционные офисные АТС не обладают такой встроенной возможностью. Для этих систем даже для того, чтобы просто фиксировать данные вызовов, не обрабатывая их, необходимо приобретать оборудование сторонних производителей. Asterisk просто сохраняет их. Никаких мучений. Никаких затрат. Никаких шуток.