[asterisk-commits] oej: branch oej/pgtips-srv-and-outbound-stuff-1.8 r421542 - in /team/oej/pgti...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Aug 20 08:18:51 CDT 2014


Author: oej
Date: Wed Aug 20 08:18:47 2014
New Revision: 421542

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=421542
Log:
Something is preventing us from sending REGISTER to the port in the SRV record,
and I'm going to catch that bug.

Modified:
    team/oej/pgtips-srv-and-outbound-stuff-1.8/README.pgtips-srv-records
    team/oej/pgtips-srv-and-outbound-stuff-1.8/channels/chan_sip.c
    team/oej/pgtips-srv-and-outbound-stuff-1.8/main/acl.c

Modified: team/oej/pgtips-srv-and-outbound-stuff-1.8/README.pgtips-srv-records
URL: http://svnview.digium.com/svn/asterisk/team/oej/pgtips-srv-and-outbound-stuff-1.8/README.pgtips-srv-records?view=diff&rev=421542&r1=421541&r2=421542
==============================================================================
--- team/oej/pgtips-srv-and-outbound-stuff-1.8/README.pgtips-srv-records (original)
+++ team/oej/pgtips-srv-and-outbound-stuff-1.8/README.pgtips-srv-records Wed Aug 20 08:18:47 2014
@@ -94,9 +94,9 @@
 
 How this works in combination with realtime is still to be explored.
 
-Failover
-========
-I see two situation for failover to the next host/ip in the SRV list:
+Failover on outbound requests
+=============================
+I see two situations for failover to the next host/ip in the SRV list:
 - sip_xmit fails (no destination, icmp unreachable etc)
 - timeout on Timer B
 
@@ -109,6 +109,14 @@
 
 We do need a function in main/srv.c to switch to the next entry and
 move the "current" pointer.
+
+Registrations
+=============
+First time registration selects a working server. If no response
+or a 5xx response, move to next server. (what to do with 3xx?)
+Stay with that server until it fails, which means re-registrations
+will stay on the same server. If server fails, restart with full
+SRV list and try from the top until a working server is found.
 
 Realtime out of scope
 =====================

Modified: team/oej/pgtips-srv-and-outbound-stuff-1.8/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pgtips-srv-and-outbound-stuff-1.8/channels/chan_sip.c?view=diff&rev=421542&r1=421541&r2=421542
==============================================================================
--- team/oej/pgtips-srv-and-outbound-stuff-1.8/channels/chan_sip.c (original)
+++ team/oej/pgtips-srv-and-outbound-stuff-1.8/channels/chan_sip.c Wed Aug 20 08:18:47 2014
@@ -13837,7 +13837,7 @@
 	if (r->dnsmgr == NULL) {
 		char transport[MAXHOSTNAMELEN];
 		peer = find_peer(r->hostname, NULL, TRUE, FINDPEERS, FALSE, 0);
-		snprintf(transport, sizeof(transport), "_%s._%s",get_srv_service(r->transport), get_srv_protocol(r->transport)); /* have to use static get_transport function */
+		snprintf(transport, sizeof(transport), "_%s._%s", get_srv_service(r->transport), get_srv_protocol(r->transport)); /* have to use static get_transport function */
 		r->us.ss.ss_family = get_address_family_filter(r->transport); /* Filter address family */
 
 		/* No point in doing a DNS lookup of the register hostname if we're just going to
@@ -13890,6 +13890,7 @@
 		/* Use port number specified if no SRV record was found */
 		if (!ast_sockaddr_isnull(&r->us)) {
 			if (!ast_sockaddr_port(&r->us) && r->portno) {
+				ast_debug(3, "  --- Changing port to %d from %d \n", r->portno, ast_sockaddr_port(&r->us));
 				ast_sockaddr_set_port(&r->us, r->portno);
 			}
 
@@ -13931,6 +13932,7 @@
 		if (!r->dnsmgr && r->portno) {
 			ast_sockaddr_set_port(&p->sa, r->portno);
 			ast_sockaddr_set_port(&p->recv, r->portno);
+			ast_debug(2, "Confusing code set port to %d\n", r->portno);
 		}
 		if (!ast_strlen_zero(p->fromdomain)) {
 			portno = (p->fromdomainport) ? p->fromdomainport : STANDARD_SIP_PORT;

Modified: team/oej/pgtips-srv-and-outbound-stuff-1.8/main/acl.c
URL: http://svnview.digium.com/svn/asterisk/team/oej/pgtips-srv-and-outbound-stuff-1.8/main/acl.c?view=diff&rev=421542&r1=421541&r2=421542
==============================================================================
--- team/oej/pgtips-srv-and-outbound-stuff-1.8/main/acl.c (original)
+++ team/oej/pgtips-srv-and-outbound-stuff-1.8/main/acl.c Wed Aug 20 08:18:47 2014
@@ -615,7 +615,7 @@
 		}
 	}
 
-	ast_debug(3, "==> Resolving %s \n", hostname);
+	ast_debug(3, "==> Resolving %s Using port %d\n", hostname, tportno);
 	if (resolve_first(addr, hostname, PARSE_PORT_FORBID, addr->ss.ss_family) != 0) {
 		return -1;
 	}




More information about the asterisk-commits mailing list