[asterisk-commits] oej: branch oej/pgtips-srv-and-outbound-stuff-1.8 r421671 - in /team/oej/pgti...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Aug 21 08:49:19 CDT 2014
Author: oej
Date: Thu Aug 21 08:49:12 2014
New Revision: 421671
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=421671
Log:
Getting there line by line.
Modified:
team/oej/pgtips-srv-and-outbound-stuff-1.8/channels/chan_sip.c
team/oej/pgtips-srv-and-outbound-stuff-1.8/channels/sip/include/sip.h
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=421671&r1=421670&r2=421671
==============================================================================
--- 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 Thu Aug 21 08:49:12 2014
@@ -4486,7 +4486,7 @@
break;
}
/* Make sure we set the port */
- ast_sockaddr_set_port(&dialog->sa, port);
+ ast_sockaddr_set_port(&p->sa, port);
ast_debug(3, "====>> SRV failover. Changing to host %s port %d\n", hostname, port);
res = 0; /* Fail over */
}
@@ -13852,12 +13852,13 @@
/* exit if we are already in process with this registrar ?*/
if (r == NULL || ((auth == NULL) && (r->regstate == REG_STATE_REGSENT || r->regstate == REG_STATE_AUTHSENT))) {
if (r) {
- ast_log(LOG_NOTICE, "Strange, trying to register %s@%s when registration already pending\n", r->username, r->hostname);
+ ast_log(LOG_NOTICE, "Strange, trying to register %s@%s when registration already pending\n", r->username, r->regdomain);
}
return 0;
}
if (!r->portconfigured && sip_cfg.srvlookup) {
dosrvlookup = TRUE;
+ r->srvattempts++;
}
if (r->dnsmgr == NULL) {
@@ -13882,7 +13883,7 @@
/*dnsmgr refresh disabled, no reference added! */
registry_unref(r, "remove reg ref, dnsmgr disabled");
}
- ast_debug(3, " --- Address set to %s port %d \n", ast_sockaddr_stringify_host(&r->us), ast_sockaddr_port(&r->us));
+ ast_debug(3, " --- Address for %s set to %s port %d \n", r->regdomain, ast_sockaddr_stringify_host(&r->us), ast_sockaddr_port(&r->us));
}
if (peer) {
peer = unref_peer(peer, "removing peer ref for dnsmgr_lookup");
@@ -13891,7 +13892,7 @@
if (r->call) { /* We have a registration */
if (!auth) {
- ast_log(LOG_WARNING, "Already have a REGISTER going on to %s@%s?? \n", r->username, r->hostname);
+ ast_log(LOG_WARNING, "Already have a REGISTER going on to %s@%s for %s?? \n", r->username, r->hostname, r->regdomain);
return 0;
} else {
p = dialog_ref(r->call, "getting a copy of the r->call dialog in transmit_register");
@@ -13916,20 +13917,21 @@
/* We have an existing SRV list from a previously failed attempt. Let's reuse that one */
/* This time we test the next SRV entry. */
- if(ast_srv_get_next_record(p->srvcontext, &host, &port, &prio, &weight)) {
+ if(ast_srv_get_next_record(r->srvcontext, &host, &port, &prio, &weight)) {
/* No more hosts to try. Let's give up and retry DNS again. */
ast_srv_context_free_list(r->srvcontext);
ast_free(r->srvcontext);
dialog_unlink_all(p);
p = dialog_unref(p, "unref dialog after unlink_all");
- ast_debug(3, " ---> No more SRV entries to play with. Giving up on REGISTER\n");
+ ast_debug(3, " ---> No more SRV entries to play with. Giving up on REGISTER for %s after trying %d servers.\n", r->regdomain, r->srvattempts);
return 0;
} else {
/* Let's try with another host */
- ast_string_field_set(p, hostname, host);
+ ast_string_field_set(r, hostname, host);
dosrvlookup = FALSE;
ast_sockaddr_set_port(&p->sa, port);
- ast_debug(3, " ---> REGISTER SRV failover on domain %s to host %s port %d \n", r->hostname, host, port);
+ r->srvattempts++;
+ ast_debug(3, " ---> REGISTER SRV failover #%d on domain %s to host %s port %d \n", r->srvattempts, r->regdomain, host, port);
}
//p->srvcontext = r->srvcontext;
//r->srvcontext = NULL;
@@ -13951,12 +13953,11 @@
/* Set transport and port so the correct contact is built */
set_socket_transport(&p->socket, r->transport);
if (r->transport == SIP_TRANSPORT_TLS || r->transport == SIP_TRANSPORT_TCP) {
- p->socket.port =
- htons(ast_sockaddr_port(&sip_tcp_desc.local_address));
+ p->socket.port = htons(ast_sockaddr_port(&sip_tcp_desc.local_address));
}
/* Find address to hostname */
- ast_debug(3, " --- Going to find address for %s\n", S_OR(r->peername, r->hostname));
+ ast_debug(3, " --- Going to find address for domain %s - host/peer %s\n", r->regdomain, S_OR(r->peername, r->hostname));
if (create_addr(p, S_OR(r->peername, r->hostname), dosrvlookup ? NULL : &r->us, 0)) {
/* we have what we hope is a temporary network error,
* probably DNS. We need to reschedule a registration try */
@@ -13970,7 +13971,7 @@
ast_log(LOG_WARNING, "Still have a registration timeout for %s@%s (create_addr() error), %d\n", r->username, r->hostname, r->timeout);
} else {
r->timeout = ast_sched_add(sched, global_reg_timeout * 1000, sip_reg_timeout, registry_addref(r, "add for REPLACE registry ptr"));
- ast_log(LOG_WARNING, "Probably a DNS error for registration to %s@%s, trying REGISTER again (after %d seconds)\n", r->username, r->hostname, global_reg_timeout);
+ ast_log(LOG_WARNING, "Probably a DNS error for registration to %s@% (host %s)s, trying REGISTER again (after %d seconds)\n", r->username, r->regdomain, r->hostname, global_reg_timeout);
}
r->regattempts++;
return 0;
@@ -14001,10 +14002,6 @@
peer = unref_peer(peer, "unref after find_peer");
}
}
- if (ast_sockaddr_isnull(&r->us)) {
- /* We have no addres to send to */
- ast_debug(3, " --- Address (p->us) is null. Null. Null. \n");
- }
/* Copy back Call-ID in case create_addr changed it */
ast_string_field_set(r, callid, p->callid);
@@ -14050,7 +14047,7 @@
internal network so we can register through nat
*/
ast_sip_ouraddrfor(&p->sa, &p->ourip, p);
- ast_debug(3, " --- 3. Address (p->sa) set to %s port %d \n", ast_sockaddr_stringify_host(&p->sa), ast_sockaddr_port(&p->sa));
+ ast_debug(3, " --- 3. REGISTER DOMAIN %s Host %s - Address (p->sa) set to %s port %d \n", r->regdomain, r->hostname, ast_sockaddr_stringify_host(&p->sa), ast_sockaddr_port(&p->sa));
build_contact(p);
}
@@ -14125,7 +14122,7 @@
if(!build_reply_digest(p, sipmethod, digest, sizeof(digest))) {
add_header(&req, "Authorization", digest);
} else {
- ast_log(LOG_NOTICE, "No authorization available for authentication of registration to %s@%s\n", r->username, r->hostname);
+ ast_log(LOG_NOTICE, "No authorization available for authentication of registration to %s@%s\n", r->username, r->regdomain);
}
}
@@ -14139,7 +14136,7 @@
}
r->regstate = auth ? REG_STATE_AUTHSENT : REG_STATE_REGSENT;
r->regattempts++; /* Another attempt */
- ast_debug(4, "SIP REGISTER attempt %d to %s@%s\n", r->regattempts, r->username, r->hostname);
+ ast_debug(4, "SIP REGISTER attempt %d to %s@%s\n", r->regattempts, r->username, r->regdomain);
res = send_request(p, &req, XMIT_CRITICAL, p->ocseq);
dialog_unref(p, "p is finished here at the end of transmit_register");
return res;
Modified: team/oej/pgtips-srv-and-outbound-stuff-1.8/channels/sip/include/sip.h
URL: http://svnview.digium.com/svn/asterisk/team/oej/pgtips-srv-and-outbound-stuff-1.8/channels/sip/include/sip.h?view=diff&rev=421671&r1=421670&r2=421671
==============================================================================
--- team/oej/pgtips-srv-and-outbound-stuff-1.8/channels/sip/include/sip.h (original)
+++ team/oej/pgtips-srv-and-outbound-stuff-1.8/channels/sip/include/sip.h Thu Aug 21 08:49:12 2014
@@ -1358,6 +1358,7 @@
int configured_expiry; /*!< Configured value to use for the Expires header */
int expiry; /*!< Negotiated value used for the Expires header */
int regattempts; /*!< Number of attempts (since the last success) */
+ int srvattempts; /*!< Number of hosts used */
int timeout; /*!< sched id of sip_reg_timeout */
int refresh; /*!< How often to refresh */
struct sip_pvt *call; /*!< create a sip_pvt structure for each outbound "registration dialog" in progress */
More information about the asterisk-commits
mailing list