From 84dc0a66f00bc468fefcb11dbb54b4fb3350a10c Mon Sep 17 00:00:00 2001 From: dvossel Date: Tue, 8 Sep 2009 14:27:49 +0000 Subject: Merged revisions 216993 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ........ r216993 | dvossel | 2009-09-08 09:26:30 -0500 (Tue, 08 Sep 2009) | 14 lines caller id number empty parse_uri was not being given the correct scheme's, as a result, uri parsing did not parse the username correctly. One of the side effects of this is an empty caller id. (closes issue #15839) Reported by: ebroad Patches: blank_cidv2.patch uploaded by ebroad (license 878) parse_uri_fix.diff uploaded by dvossel (license 671) Tested by: ebroad, dvossel ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@216995 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/chan_sip.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'channels') diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 25bbf6655..b53758fd6 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -3755,7 +3755,7 @@ static char *get_in_brackets(char *tmp) * \note * - If scheme is specified, drop it from the top. * - If a component is not requested, do not split around it. - * - Multiple scheme's can be specified ',' delimited. ex: "sip,sips" + * - Multiple scheme's can be specified ',' delimited. ex: "sip:,sips:" * * This means that if we don't have domain, we cannot split * name:pass and domain:port. @@ -10919,7 +10919,7 @@ static int __set_address_from_contact(const char *fullcontact, struct sockaddr_i * We still need to be able to send to the remote agent through the proxy. */ - if (parse_uri(contact, "sip,sips", &contact, NULL, &host, &pt, NULL, &transport)) { + if (parse_uri(contact, "sip:,sips:", &contact, NULL, &host, &pt, NULL, &transport)) { ast_log(LOG_WARNING, "Invalid contact uri %s (missing sip: or sips:), attempting to use anyway\n", fullcontact); } @@ -11034,7 +11034,7 @@ static enum parse_register_result parse_register_contact(struct sip_pvt *pvt, st ast_string_field_build(pvt, our_contact, "<%s>", curi); /* Make sure it's a SIP URL */ - if (parse_uri(curi, "sip,sips", &curi, NULL, &host, &pt, NULL, &transport)) { + if (parse_uri(curi, "sip:,sips:", &curi, NULL, &host, &pt, NULL, &transport)) { ast_log(LOG_NOTICE, "Not a valid SIP contact (missing sip:) trying to use anyway\n"); } @@ -12829,7 +12829,7 @@ static enum check_auth_result check_user_full(struct sip_pvt *p, struct sip_requ /* ignore all fields but name */ - if (parse_uri(of, "sip,sips", &of, &dummy, &domain, &dummy, &dummy, NULL)) { + if (parse_uri(of, "sip:,sips:", &of, &dummy, &domain, &dummy, &dummy, NULL)) { ast_log(LOG_NOTICE, "From address missing 'sip:', using it anyway\n"); } -- cgit v1.2.3