Просмотр Исходного

{toc}

h1. Схема

!Учёт телефонии.png|border=0,width=100%!

h1. Пояснения

* С биллингом можно интегрировать много серверов телефонии, включая классические АТС, цифровые АТС, софтсвичи и тп.
* Звонки могут поступать по RADIUS или из CDR.
* RADIUS-сервер и FTP-сервер встроены в биллинге.
* По RADIUS можно авторизовать звонок, в ответ биллинг отправит Acces-Accept или Access-Reject:
** Если у абонента есть услуга по выбранному направлению и абонент не заблокирован, в ответ будет отправлен Accept;
** Если у абонента не настроены услуги телефонии или нет цены на выбранное направление, или же абонент заблокирован, будет отправлен Reject.
* По завершении звонка, NAS должен отправить пакет Accounting-Request с типом "stop". При получении пакета, биллинг запишет звонок в базу и отправит Accounting-Response.
* Вместо RADIUS или параллельно с ним, можно тарифицировать вызовы по CDR:
** CDR должны отправляться NAS-сервером на FTP-сервер биллинга;
** Звонки от каждого NAS-сервера должны сохраняться в своей, отдельной папке
** Биллинг постоянно забирает CDR из всех папок и обрабатывает звонки.
** Записи о звонках, которые получилось разобрать, сохраняет в базу данных, а CDR переносит в архив.
** Записи о звонках, которые разобрать не удалось, кладёт в подпапку *bad* в исходной папке
** Архив разбивается на подпапки по месяцам, все невалидные звонки хранятся все в папке *bad* без разбиения по месяцам.
* При добавлении звонков в базу, биллинг производит целый ряд действий:
** Преобразование телефонных номеров и транков
** Вычисляет уникальный ID звонка, если он не был передан источником: в CDR или RADIUS
** Проверяет по ID, нет ли звонка уже в базе, то есть можно авторизовать звонки по RADIUS и на всякий случай дублировать в CDR
** Тарифицирует и добавляет в расход абонента.