Доброго времени суток, уважаемые коллеги и не коллеги тоже.
Пишу сюда, надеясь на совет.Что имею:
Mandriva 2008.0, freeradius2, mysql5.
Что нужно:
Сделать простую VoIP трафикосчиталку, которая собирает radius accounting с Cisco голосовых шлюзов. Данные для хранения: кто звонил, кому звонил, время коннекта, время дисконнекта, IP шлюза, ISDN порт шлюза, причина дисконнекта.
Что сделано:
Настроен сбор radius accounting и хранение в БД MySQL.
В чем проблема:
В accounting stop пакете есть инфа вида:
gw-rxd-cdn = "ton:0,npi:0,#:5989106018188"
gw-rxd-cgn = "ton:0,npi:0,pi:0,si:0,#:1234"
gw-final-xlated-cdn = "ton:0,npi:0,#:89106018188"
gw-final-xlated-cgn = "ton:2,npi:1,pi:0,si:0,#:4951234567"
Хранить в MySQL VALUE вида "ton:0,npi:0,#:89106018188" - это костыль.
Запрос SQL с параметром LIKE будет выполняться в разы дольше, чем если бы значение поля было просто 89106018188.
Как порезать средствами freeradius VALUE аттрибутов, чтобы в базу писался только номер?
Искренне Ваш.