[SR-Users] Ro_CCR function

Shane Harrison Shane.Harrison at imgtec.com
Tue Feb 3 05:09:25 CET 2015


A little more digging showed that get_dlg() checks callID, fromTag and toTag - clearly this is going to fail if the check is done on an INVITE since the dialog is not yet formed.

So now I am confused - how can the ims_charging function Ro_CCR() be called in my kamailio config script upon receipt of an INVITE and be dependent on having a dialog....... What am I missing here?

Cheers
Shane

> -----Original Message-----
> From: sr-users [mailto:sr-users-bounces at lists.sip-router.org] On Behalf Of
> Shane Harrison
> Sent: Tuesday, 3 February 2015 1:40 p.m.
> To: Kamailio (SER) - Users Mailing List
> Subject: Re: [SR-Users] Ro_CCR function
> 
> 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.htm
> > l
> >
> > 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.
> >
> 
> 
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-
> users at lists.sip-router.org http://lists.sip-router.org/cgi-
> bin/mailman/listinfo/sr-users



More information about the sr-users mailing list