Биллинг в Asterisk


Asterisk CDR Поля


Asterisk генерирует CDR (Call Detail Record) для каждого вызова. По умолчанию записи хранятся в текстовом файле с значениями разделёнными запятыми (,), файл будет создан в /var/log/asterisk/cdr-csv. Вы можете указать учетные коды и AMA (Automated Message Accounting) флаги на каждый канал (Zaptel et al) или каждого отдельного пользователя (IAX, SIP) для удобства учёта. В заголовке файла cdr/cdr_csv.c формат записей.

Поля


  1. accountcode: Какой учетный код используется: account, (строка, 20 символов)
  2. src: Номер Caller*ID (строка, 80 символов)
  3. dst: Направление (строка, 80 символов)
  4. dcontext: Контекст направления (строка, 80 символов)
  5. clid: Caller*ID с текстом (80 символов)
  6. channel: Используемый канал (80 символов)
  7. dstchannel: Канал направления, если подходит (80 символов)
  8. lastapp: Последнее приложение, если подходит (80 символов)
  9. lastdata: Дата последнего приложения (аргументы) (80 символов)
  10. start: Начало вызова (дата/время)
  11. answer: Ответ вызова (дата/время)
  12. end: Конец вызова (дата/время)
  13. duration: Полное время в системе, в секундах (целое), от набора номера до отключения
  14. billsec: Полное время вызова, в секундах (целое), от ответа до отключения
  15. disposition: Что случилось с вызовом: ANSWERED, NO ANSWER, BUSY, FAILED (на некоторых CDR выходных драйверах, например ODBC, они могут быть числовыми; заметьте, что более детальная инфа может быть найдена в переменной диалплана $HANGUPCAUSE)
  16. amaflags: Какой флаг используется: смотри amaflags: DOCUMENTATION, BILLING, IGNORE и т.д., указанного для каждого канала подобно accountcode.
  17. user field: Пользовательское поле, максимум 255 символов

В некоторых случаях появляется uniqueid:
  • uniqueid: Уникальный Идентификатор Канала (32 символа)

Asterisk варианты сохранения записей CDR


  • Asterisk cdr csv – Тестовый файл с значениями разделенными запятыми
  • Asterisk cdr mysql - CDR записи в базе данных MySQL
  • Asterisk cdr radius - Отправка CDR записей на сервер RADIUS
  • Asterisk cdr SQLite - CDR записи в SQLite базе данных
  • Asterisk cdr pgsql - CDR записи в PostgreSQL базе данных
  • Asterisk cdr odbc - CDR записи в базу данных, которые поддерживают unixODBC
  • Asterisk cdr FreeTDS - CDR Записи в MS SQL или Sybase БД через FreeTDS драйвера
  • Asterisk cdr yada - CDR записи в любые БД, которые поддерживают yada
  • Asterisk cdr manager - CDR Записи для программы управления API
  • cdr_shell – статья, которая опысывает скрипт работы с данными cdr ???
Учетные коды и флаги устанавливаются в различных канальных конфигурационных файлах ( channel.conf) или в Asterisk config extensions.conf.

Приложения


Asterisk cmd SetAccount- Устанавливает учетный код для биллинга
Asterisk cmd SetAMAFlags - Устанавливает AMAflags для определённого вызова
Asterisk cmd NoCDR - Указывает, что никакие CDR не будут сделаны для определённого вызова
Asterisk cmd ResetCDR - Сброс CDR
Asterisk cmd Authenticate – Идентифицирует и устанавливает учетный код
Asterisk cmd SetCDRUserField - Устанавливает Пользовательское поле CDR
Asterisk cmd AppendCDRUserField – Добавляет данные к Пользовательскому полю CDR

Ограничения


  • CDR запись не будет создана, если вы используете .call file, который вызывает приложение вместо расширения. Обход: Используйте расширение, которое затем стартанет требуемое приложение. Смотри также: Bug report 240
  • Не рекомендуется использовать exten => h, если у вас есть надежда получения верной биллинговой инфы. Разумно вызвать ResetCDR(w) в вашем exten => h, или не использовать его вовсе.

Приложения для биллинга сторонних разработчиков


Streamco Switchboard

Freeware система для управления, маршрутизации и биллинга VoIP-звонков, основанная на Asterisk. Оперируется из любой точки мира браузером через веб-интерфейс. Отлично подходит для оптовой перепродажи (wholesale) и PC2Phone бизнеса. Интуитивно понятный интерфейс. гибкая маршрутизация (lcr, длина кода, время недели, приоритеты...). Финансовый модуль позволяет автоматически отключать пользователя на основании его текущего баланса. Бухгалтеский учет(платежи, выставленные счета) тесно связаны с биллигом/маршрутизацией. Биллинг в режиме реального времени. Веб-интерфейс позволяет конфигурировать, проверять маршрутизацию, смотреть активные звонки и статистику. Высокая производительность. Написано на С++. Намного больше информации о продукте на нашем сайте!

источник: http://www.voip-info.org/wiki/view/Asterisk+billing

UTM5

Недорогой биллинг, нормально работающий при наличии пытливого ума и некривых рук. Документация весьма неоднозначна, но, в принципе, довольно гибкий рабочий инструмент.
Asterisk прикручивается к UTM5 через radius, аккаунтинг работает вполне вменяемо.
Краткий howto по этой теме: Скрещивание * и UTM5.