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_USRLOCDB

#!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")

modparam("ims_charging","interim_update_credits",30)

modparam("ims_charging","timer_buffer",5)

# -- ims_dialog params --

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

 
request_route {

 
…
if (is_method("INVITE")) {

setflag(FLT_ACC); # do accounting

            t_newtran();

            $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");

                exit;

            }

     }  

…
}

 
route[CHARGING_CCR_REPLY]{

    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

            break;

        case -1: #failure

            switch ($avp(s:cca_result_code)){

                case 4010:

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

                    break;

                case 5006:

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

                    break;

                default:

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

                    break;

            }

        default:

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

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

            break;

        }

}

 
What's goes wrong?

Thanks in advance

Angelo Colucci

 
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to