[sr-dev] [kamailio/kamailio] wrong $rU after add_uri_param() when user has "params" (#953)

Victor Seva notifications at github.com
Fri Jan 27 10:24:33 CET 2017


>From src/core/parser/parse_uri.c

```
		case SIP_URI_T:
			/* save the original sip: URI parameters in sip_params */
			uri->sip_params=uri->params;
			if ((phone2tel) &&
			     (uri->user_param_val.len == 5) &&
				 (strncmp(uri->user_param_val.s, "phone", 5) == 0)
				) {
				uri->type = TEL_URI_T;
				uri->flags |= URI_SIP_USER_PHONE;
				/* move params from user into uri->params */
				p=q_memchr(uri->user.s, ';', uri->user.len);
				if (p){
					/* NOTE: 
					 * specialized uri params (user, maddr, etc.) still hold
					 * the values from the sip-uri envelope
					 * while uri->params point to the params in the embedded tel uri
					 */
					uri->params.s=p+1;
					uri->params.len=uri->user.s+uri->user.len-uri->params.s;
					uri->user.len=p-uri->user.s;
				} else {
					uri->params.s=0;
					uri->params.len=0;
				}
			} else {
				uri->flags&=~URI_USER_NORMALIZE;
			}
			break;
```

So not an issue. the ``"user=phone" `` uri param changes the behavior of the parser.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/953#issuecomment-275622408
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20170127/ff3c15bf/attachment.html>


More information about the sr-dev mailing list