Browse code

modules/ims_registrar_scscf: correctly loop through contact parameters

Jason Penton authored on 16/02/2015 15:37:45
Showing 2 changed files
... ...
@@ -105,7 +105,7 @@ int lookup(struct sip_msg* _m, udomain_t* _d) {
105 105
 	i++;
106 106
     }
107 107
 
108
-    /* look first for an un-expired and suported contact */
108
+    /* look first for an un-expired and supported contact */
109 109
     if (ptr == 0) {
110 110
 	LM_INFO("No contacts founds for IMPU <%.*s>\n",aor.len,aor.s);
111 111
 	/* nothing found */
... ...
@@ -1592,7 +1592,11 @@ str generate_reginfo_full(udomain_t* _t, str* impu_list, int num_impus) {
1592 1592
 	    STR_APPEND(buf, uri_e);
1593 1593
 	    
1594 1594
 	    param = ptr->params;
1595
-	    while (param && supported_param(&param->name) == 0) {
1595
+	    while (param)
1596
+			if (supported_param(&param->name) != 0) { 
1597
+				param = param->next;
1598
+				continue;
1599
+			}
1596 1600
 		
1597 1601
 		if(param->body.len > 0) {
1598 1602
 		    LM_DBG("This contact has params name: [%.*s] body [%.*s]\n", param->name.len, param->name.s, param->body.len, param->body.s);