[SR-Users] Ro_CCR function

Shane Harrison Shane.Harrison at imgtec.com
Tue Feb 3 01:39:36 CET 2015


Well further reading :-) and digging has allowed me to understand that the 'location' table is used because of the save('location') call.  The ims_charging_module assumes that a table will exist with the same name as the domain specified in the Ro_CCR().

Interestingly, I wasn't successful in using a table called ' voip.we-rcs.flowcloud.systems' as the db_check_table_version() didn't seem to like the '.' or the '-'.  I guess back ticks aren't being used in the SQL query.  Anyway, for the time being I am specifying a domain that doesn't have either periods or dashes.

My problem now is that no dialog is being found and hence no charging requests are generated.  I have set the dialog flag:
modparam("dialog_ng", "dlg_flag", 2)
if (is_method("INVITE"))
{
                dlg_setflag("2");
                xlog("L_DBG","Sending initial CCR Request for call\n");
                Ro_CCR("CHARGING_CCR_REPLY", "orig", "SCUR", "", "30","CCR_location");
}

but still get:
dialog_ng [dlg_hash.c:924]: get_dlg(): no dialog callid='6428867e-2 at 192.168.148.30' found

kamcmd does show the dialog with dlg2_list but of course that is later in the SIP messaging flow by the time I look at it.

Anything obvious I am doing wrong that means the dialog isn't found?  I am assuming that on reception of the INVITE is when I should do the initial CCR request even though the dialog is not fully formed yet.

Cheers
Shane


On 2 February 2015 2:43 p.m, Shane Harrison wrote:
> From: sr-users [mailto:sr-users-bounces at lists.sip-router.org] On Behalf Of Shane Harrison
> Sent: Monday, 2 February 2015 2:43 p.m.
> To: sr-users at lists.sip-router.org
> Subject: [SR-Users] Ro_CCR function
> 
> Hi all,
> 
> In a previous post I was alerted to the (perhaps obvious) fact that that ims_charging module is design to run within an IMS environment:
> http://lists.sip-router.org/pipermail/sr-users/2015-January/086675.html
> 
> I have subsequently attempted to modify the module to work with the standard usrloc Kamailio module.  I decided to branch from the 4.2.2 release rather than the master since I was unsure of the state of the ims_charging module in the master.   It now compiles fine and installs.  I also have the cdp module talking watchdog_requests to a freeDiameter server so at that level things seem OK.
> 
> However inserting the Ro_CCR() call into the kamailio cfg file shows up some problems, primarily:
> Feb  2 01:05:52 hh-rcs-sipproxy3 /usr/sbin/kamailio[6473]: WARNING: usrloc [dlist.c:624]: register_udomain(): Registering a new domain called 'voip.we-rcs.flowcloud.systems' with usrloc
> Feb  2 01:05:52 hh-rcs-sipproxy3 /usr/sbin/kamailio[6473]: ERROR: <core> [db.c:443]: db_check_table_version(): invalid version 0 for table voip.we-rcs.flowcloud.systems found, expected 6 (check table structure and table "version")
> 
> Exploring this error leads me to a few questions:
> 1) The 4.2.2 Ro_CCR() has the diameter domain as a parameter.  The addition of this function to my kamailio.cfg file causes ro_fixup() ->  domain_fixup() -> ul.register_domain which as per the log above, attempts to look for a table with the same name as the domain.  Is it expected that such a table exists, for standard Kamailio I thought all usrloc records simply go into the Location table , regardless of the domain.
> 2) What is the purpose of the ro_fixup()
> 3) I notice that the 4.3 module documentation for ims_charging module has 6 parameters for the function call while the example code given in the same section as only 5 (missing domain).  The code from the master branch for the function is different again  - not sure if 4.3 is still in quite a bit of flux or not for the ims_charging module?
> 4) Should I be using 4.3 ims_charging module as a starting point or is 4.2.2 good enough i.e are there major changes?
> 
> At this stage I am going to create a table for the domain but would like some clarity on how the usrloc and domains relate to table names.
>




More information about the sr-users mailing list