From e42c4401a73f3707db4d0146a6cdf3adcd45699f Mon Sep 17 00:00:00 2001 From: Carsten Bock Date: Mon, 8 Jun 2015 13:47:55 +0200 Subject: [PATCH] ims_charging: In case of Tel-URIs, use type END_USER_E164 and STRIP tel: (Bugfix) --- modules/ims_charging/ims_ro.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/modules/ims_charging/ims_ro.c b/modules/ims_charging/ims_ro.c index 721503683c4..ab2488ac68b 100644 --- a/modules/ims_charging/ims_ro.c +++ b/modules/ims_charging/ims_ro.c @@ -547,6 +547,9 @@ void send_ccr_interim(struct ro_session* ro_session, unsigned int used, unsigned //getting subscription id type if (strncasecmp(subscr.id.s, "tel:", 4) == 0) { subscr.type = Subscription_Type_MSISDN; + // Strip "tel:": + subscr.id.s += 4; + subscr.id.len -= 4; } else { subscr.type = Subscription_Type_IMPU; //default is END_USER_SIP_URI } @@ -780,6 +783,9 @@ void send_ccr_stop(struct ro_session *ro_session) { //getting subscription id type if (strncasecmp(subscr.id.s, "tel:", 4) == 0) { subscr.type = Subscription_Type_MSISDN; + // Strip "tel:": + subscr.id.s += 4; + subscr.id.len -= 4; } else { subscr.type = Subscription_Type_IMPU; //default is END_USER_SIP_URI } @@ -996,6 +1002,9 @@ int Ro_Send_CCR(struct sip_msg *msg, struct dlg_cell *dlg, int dir, int reservat //getting subscription id type if (strncasecmp(subscription_id.s, "tel:", 4) == 0) { subscription_id_type = Subscription_Type_MSISDN; + // Strip "tel:": + subscription_id.s += 4; + subscription_id.len -= 4; } else { subscription_id_type = Subscription_Type_IMPU; //default is END_USER_SIP_URI }