asterisk/asterisk.patch.xfersips

Fri, 15 Oct 2010 19:06:09 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 15 Oct 2010 19:06:09 +0200
changeset 263
f4a0b439d0fb
permissions
-rw-r--r--

Correct shared library and plugin link logic, as well as informal text.
Update file server URL, update build resource estimations, correct RPATH
logic, allow for qmake(1) static to shared library changes via CONFIG
argument, correct documentation broken title and index links, correct
shared library install path, install only one set of (correct) plugins,
install the designer shared library (as required by QtCreator), announce
features related to shared linking using qmake(1), and correclty
substitute hard coded paths in prl and la library files.

     1 Index: channels/chan_sip.c
     2 diff -Nau channels/chan_sip.c.orig channels/chan_sip.c
     3 --- channels/chan_sip.c.orig	2009-04-24 00:48:57.000000000 +0200
     4 +++ channels/chan_sip.c	2009-04-24 00:49:21.000000000 +0200
     5 @@ -18771,6 +18771,7 @@
     6  \todo	Fix this function so that we wait for reply to the REFER and
     7  	react to errors, denials or other issues the other end might have.
     8   */
     9 +/* MSvB: Paramater dest may be SIPS encoded, having '@@' before host */
    10  static int sip_sipredirect(struct sip_pvt *p, const char *dest)
    11  {
    12  	char *cdest;
    13 @@ -18780,7 +18781,7 @@
    14  	cdest = ast_strdupa(dest);
    16  	extension = strsep(&cdest, "@");
    17 -	host = strsep(&cdest, ":");
    18 +	host = strsep(&cdest, ":");		/* MSvB: Could begin with '@' if SIPS */
    19  	port = strsep(&cdest, ":");
    20  	if (ast_strlen_zero(extension)) {
    21  		ast_log(LOG_ERROR, "Missing mandatory argument: extension\n");
    22 @@ -18813,7 +18814,13 @@
    23  		}
    24  	}
    26 -	ast_string_field_build(p, our_contact, "Transfer <sip:%s@%s%s%s>", extension, host, port ? ":" : "", port ? port : "");
    27 +	if (host && *host == '@') {
    28 +		ast_log(LOG_DEBUG, "Decoding TLS incapable Asterisk SIP URI to a standard SIPS URI before redirecting via 302 Moved Temporarily\n");
    29 +		ast_string_field_build(p, our_contact, "Transfer <sips:%s@%s%s%s>", extension, host + 1, port ? ":" : "", port ? port : "");
    30 +    }
    31 +	else
    32 +		ast_string_field_build(p, our_contact, "Transfer <sip:%s@%s%s%s>", extension, host, port ? ":" : "", port ? port : "");
    33 +
    34  	transmit_response_reliable(p, "302 Moved Temporarily", &p->initreq);
    36  	sip_scheddestroy(p, SIP_TRANS_TIMEOUT);	/* Make sure we stop send this reply. */

mercurial