FreeSWITCH generating http-json CDRs¶
Scenario¶
- FreeSWITCH with vanilla configuration adding mod_json_cdr for CDR generation.
- Modified following users (with configs in etc/freeswitch/directory/default): 1001-prepaid, 1002-postpaid, 1003-pseudoprepaid, 1004-rated, 1006-prepaid, 1007-rated.
- Have added inside default dialplan CGR own extensions just before routing towards users (etc/freeswitch/dialplan/default.xml).
- FreeSWITCH configured to generate default http-json CDRs.
- CGRateS with following components:
- CGR-SM started as prepaid controller, with debits taking place at 5s intervals.
- CGR-CDRS component receiving raw CDRs from FreeSWITCH, storing them and attaching costs inside CGR StorDB.
- CGR-CDRE exporting processed CDRs from CGR StorDB (export path: /tmp).
- CGR-History component keeping the archive of the rates modifications (path browsable with git client at /tmp/cgr_history).
Starting FreeSWITCH with custom configuration¶
/usr/share/cgrates/tutorials/fs_evsock/freeswitch/etc/init.d/freeswitch start
To verify that FreeSWITCH is running we run the console command:
fs_cli -x status
Starting CGRateS with custom configuration¶
/usr/share/cgrates/tutorials/fs_evsock/cgrates/etc/init.d/cgrates start
Check that cgrates is running
cgr-console status
CDR processing¶
At the end of each call FreeSWITCH will issue a http post with the CDR. This will reach inside CGRateS through the CDRS component (close to real-time). Once in-there it will be instantly rated and it is ready to be exported:
cgr-console 'cdrs_export CdrFormat="csv" ExportDir="/tmp"'