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.

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

mercurial