]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 216993 via svnmerge from
authorDavid Vossel <dvossel@digium.com>
Tue, 8 Sep 2009 14:27:49 +0000 (14:27 +0000)
committerDavid Vossel <dvossel@digium.com>
Tue, 8 Sep 2009 14:27:49 +0000 (14:27 +0000)
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@216995 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 25bbf6655045cf5067bed42fec3fabbf83546806..b53758fd6eb084df9665c53d0d64e7e005833cb9 100644 (file)
@@ -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");
        }