[Asterisk-cvs] asterisk/channels chan_sip.c,1.557,1.558

markster at lists.digium.com markster at lists.digium.com
Thu Nov 11 15:12:05 CST 2004


Update of /usr/cvsroot/asterisk/channels
In directory mongoose.digium.com:/tmp/cvs-serv4043/channels

Modified Files:
	chan_sip.c 
Log Message:
SIP fix for full contact in OPTIONS (bug #2836)


Index: chan_sip.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v
retrieving revision 1.557
retrieving revision 1.558
diff -u -d -r1.557 -r1.558
--- chan_sip.c	11 Nov 2004 15:08:57 -0000	1.557
+++ chan_sip.c	11 Nov 2004 20:13:22 -0000	1.558
@@ -4462,7 +4462,7 @@
 	}
 }
 
-/*--- build_route: Build route headers ---*/
+/*--- build_route: Build route list from Record-Route header ---*/
 static void build_route(struct sip_pvt *p, struct sip_request *req, int backwards)
 {
 	struct sip_route *thishop, *head, *tail;
@@ -7891,6 +7891,8 @@
 }
 
 /*--- sip_poke_peer: Check availability of peer, also keep NAT open ---*/
+/*	This is done with the interval in qualify= option in sip.conf */
+/*	Default is 2 seconds */
 static int sip_poke_peer(struct sip_peer *peer)
 {
 	struct sip_pvt *p;
@@ -7916,6 +7918,12 @@
 	}
 	memcpy(&p->sa, &peer->addr, sizeof(p->sa));
 	memcpy(&p->recv, &peer->addr, sizeof(p->sa));
+
+	/* Send options to peer's fullcontact */
+	if (!ast_strlen_zero(peer->fullcontact)) {
+		strncpy (p->fullcontact, peer->fullcontact, sizeof(p->fullcontact));
+	}
+
 	if (!ast_strlen_zero(p->tohost))
 		strncpy(p->tohost, peer->tohost, sizeof(p->tohost) - 1);
 	else




More information about the svn-commits mailing list