Kamailio interaction via evapi module¶
Scenario¶
- Kamailio default configuration modified for CGRateS interaction. For script maintainability and simplicity we have separated CGRateS specific routes in kamailio-cgrates.cfg file which is included in main kamailio.cfg via include directive.
- Considering the following users (with configs hardcoded in the kamailio.cfg configuration script and loaded in htable): 1001-prepaid, 1002-postpaid, 1003-pseudoprepaid, 1004-rated, 1005-rated, 1006-prepaid, 1007-prepaid.
- CGRateS with following components:
- CGR-SM started as translator between Kamailio and CGR-Rater for both authorization events as well as accounting ones.
- CGR-CDRS component processing raw CDRs from CGR-SM component and storing them inside CGR StorDB.
- CGR-CDRE exporting rated 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 Kamailio with custom configuration¶
/usr/share/cgrates/tutorials/kamevapi/kamailio/etc/init.d/kamailio start
To verify that Kamailio is running we run the console command:
kamctl moni
Starting CGRateS with custom configuration¶
/usr/share/cgrates/tutorials/kamevapi/cgrates/etc/init.d/cgrates start
Make sure that cgrates is running
cgr-console status
CDR processing¶
At the end of each call Kamailio will generate an CDR event via evapi and this will be directed towards the port configured inside cgrates.json. This event will reach inside CGRateS through the SM component (close to real-time). Once in-there it will be instantly rated and be ready for export.