acc module is used to account transactions information to different backends like syslog, SQL databases, RADIUS and DIAMETER (beta version). OpenSER/OpenSIPS does event based accounting, that means it can log details for start and stop events of a call, or details for other type of SIP events, like Instant Message, Presence event, a.s.o.
Starting with v1.2.0, OpenSER/OpenSIPS logs a set of minimal details for each event, additional data can be recorded using log_extra (db_extra, rad_extra, …) parameter. Also, OpenSER/OpenSIPS can do muli-leg call accounting — if there is a redirect in place for a call, A calling B, B redirecting to C, OpenSER/OpenSIPS can write two records, A => B, B => C.
Minimal accounting data are:
- Request Method name
- From header TAG parameter
- To header TAG parameter
- Call-Id
- 3-digit Status code from final reply
- Reason phrase from final reply
- Time stamp when transaction was completed
If a value is not present in request, the empty string is accounted instead.
Syslog and SQL DB accounting are enabled by default. To do RADIUS accounting, you have to edit module/acc/Makefile and uncomment DEFS+=-DRAD_ACC. For Diameter uncomment DEFS+=-DDIAM_ACC.