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, view it on GitHub, or mute the thread.