Схема
Пояснения
- С биллингом можно интегрировать много серверов телефонии, включая классические АТС, цифровые АТС, софтсвичи и тп.
- Звонки могут поступать по 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
- Тарифицирует и добавляет в расход абонента.