Browse Source

ims_charging: In case of Tel-URIs, use type END_USER_E164 and STRIP tel: (Bugfix)

Carsten Bock 10 years ago
parent
commit
e42c4401a7
1 changed files with 9 additions and 0 deletions
  1. 9 0
      modules/ims_charging/ims_ro.c

+ 9 - 0
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
     //getting subscription id type
     if (strncasecmp(subscr.id.s, "tel:", 4) == 0) {
     if (strncasecmp(subscr.id.s, "tel:", 4) == 0) {
 	subscr.type = Subscription_Type_MSISDN;
 	subscr.type = Subscription_Type_MSISDN;
+	// Strip "tel:":
+	subscr.id.s += 4;
+	subscr.id.len -= 4;
     } else {
     } else {
 	subscr.type = Subscription_Type_IMPU; //default is END_USER_SIP_URI
 	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
     //getting subscription id type
     if (strncasecmp(subscr.id.s, "tel:", 4) == 0) {
     if (strncasecmp(subscr.id.s, "tel:", 4) == 0) {
 	subscr.type = Subscription_Type_MSISDN;
 	subscr.type = Subscription_Type_MSISDN;
+	// Strip "tel:":
+	subscr.id.s += 4;
+	subscr.id.len -= 4;
     } else {
     } else {
 	subscr.type = Subscription_Type_IMPU; //default is END_USER_SIP_URI
 	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
     //getting subscription id type
     if (strncasecmp(subscription_id.s, "tel:", 4) == 0) {
     if (strncasecmp(subscription_id.s, "tel:", 4) == 0) {
 	subscription_id_type = Subscription_Type_MSISDN;
 	subscription_id_type = Subscription_Type_MSISDN;
+	// Strip "tel:":
+	subscription_id.s += 4;
+	subscription_id.len -= 4;
     } else {
     } else {
 	subscription_id_type = Subscription_Type_IMPU; //default is END_USER_SIP_URI
 	subscription_id_type = Subscription_Type_IMPU; //default is END_USER_SIP_URI
     }
     }