[SR-Users] - w_ro_ccr(): Unable to find dialog and cannot do Ro charging without it

Angelo Colucci angelo.colucci at welcomeitalia.it
Thu Feb 8 18:33:29 CET 2018

Hello Everyone,

I’m new in Kamailio environment. We trying to setup a  IMS Credit Control Client as per RFC 4006. 

We’ve trying to implement the suggesting configuration in ims_charging module doc.

The Kamailio version is 5.1.1 Stable.

The Server is configured with two local users (A and B) registered on local mysql database.

The scenario is the following:

1.       In the request_route object we trying to intercept the first INVITE and trigger

a diameter credit control request using Ro_CCR function.

2.       When A calls B without triggering mechanism the call is fine.

3.       When A calls B with credit control triggering, the calls failed and the diamater request is not generated.

In the debug we find the following error:

exec: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=540 a=25 n=xlog

ERROR: <script>: Individuato primo INVITE: generata nuova transazione

exec: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=541 a=63 n=assign

exec: *** cfgtrace:request_route=[DEFAULT_ROUTE] c=[/etc/kamailio/kamailio.cfg] l=541 a=29 n=Ro_CCR

DEBUG: ims_charging [ims_charging_mod.c:494]: w_ro_ccr(): Ro CCR initiated: direction:orig, reservation_units:30, route_name:CHARGING_CCR_REPLY, incoming_trunk_id:1 outgoing_trunk_id:1

DEBUG: ims_dialog [dlg_hash.c:926]: internal_get_dlg(): no dialog callid='yH5kdBGSrM6CowdkkRHTUw..' found

DEBUG: ims_dialog [dlg_hash.c:956]: get_dlg(): no dialog callid='yH5kdBGSrM6CowdkkRHTUw..' found

DEBUG: ims_dialog [dlg_handlers.c:1950]: dlg_get_msg_dialog(): dlg with callid 'yH5kdBGSrM6CowdkkRHTUw..' not found

ERROR: ims_charging [ims_charging_mod.c:511]: w_ro_ccr(): Unable to find dialog and cannot do Ro charging without it

The error indicates that w_ro_ccr function doesn’t find any dialog.

Following you can find the relative configuration of kamailio.cfg. The request_route block is equal to default configuration except the following command:

#!define WITH_MYSQL

#!define WITH_AUTH


#!define WITH_DEBUG

loadmodule "cdp"

loadmodule "cdp_avp"

loadmodule "ims_charging"

loadmodule "ims_dialog"

modparam("ims_charging", "origin_host", "kcc-t-lu-03.mnc049.mcc222.3gppnetwork.org") 

modparam("ims_charging", "origin_realm", "mnc049.mcc222.3gppnetwork.org")

modparam("ims_charging", "destination_realm", "mnc049.mcc222.3gppnetwork.org")



# -- ims_dialog params --

modparam("ims_dialog", "dlg_flag", FLT_DIALOG)

request_route {

if (is_method("INVITE")) {

setflag(FLT_ACC); # do accounting


            $var(cc_ret) = Ro_CCR("CHARGING_CCR_REPLY", "orig", 30, "1", "1");

            if ($var(cc_ret) < 0) {

                xlog("Chiamata a Ro_CCR() fallita\n");

                sl_send_reply("402","Payment required");






    xlog("cca_return code is $avp(s:cca_return_code): $avp(s:cca_result_code)\n");

    switch ($avp(s:cca_return_code)){

        case 1: #success


        case -1: #failure

            switch ($avp(s:cca_result_code)){

                case 4010:

                    send_reply("402", "Payment required - Unsufficient funds");


                case 5006:

                    send_reply("486", "Line limit exceeded");



                    send_reply("402","Payment required ($avp(s:cca_result_code))");




            xlog("L_ERR", "Unknown return code from CCR: [$avp(s:cca_return_code)] \n");

            send_reply("500", "Charging Error");




What's goes wrong?

Thanks in advance

Angelo Colucci

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20180208/8e17763b/attachment.html>

More information about the sr-users mailing list