[asterisk-commits] rizzo: branch rizzo/astobj2 r47952 -
/team/rizzo/astobj2/channels/chan_sip.c
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Thu Nov 23 00:43:17 MST 2006
Author: rizzo
Date: Thu Nov 23 01:43:16 2006
New Revision: 47952
URL: http://svn.digium.com/view/asterisk?view=rev&rev=47952
Log:
don't consider as fatal the cases where the remote server refuses
our credentials. It could be a temporary issue e.g. a database
unavailability. In these case, just schedule a reregister.
Modified:
team/rizzo/astobj2/channels/chan_sip.c
Modified: team/rizzo/astobj2/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/team/rizzo/astobj2/channels/chan_sip.c?view=diff&rev=47952&r1=47951&r2=47952
==============================================================================
--- team/rizzo/astobj2/channels/chan_sip.c (original)
+++ team/rizzo/astobj2/channels/chan_sip.c Thu Nov 23 01:43:16 2006
@@ -12392,7 +12392,13 @@
ast_verbose("REGISTER %d %s@%s response %d state %s\n",
r->regattempts, r->username, r->hostname, resp, regstate2str(r->regstate));
+ /* Now handle the cases we know about */
switch (resp) {
+ default:
+ ast_log(LOG_WARNING, "Unknown response %d to REGISTER %d %s@%s state %s\n",
+ resp, r->regattempts, r->username, r->hostname, regstate2str(r->regstate));
+ break;
+
case 401: /* Unauthorized */
case 407: /* Proxy auth */
/* Possibly retransmit with proper auth credentials.
@@ -12464,8 +12470,15 @@
ast_log(LOG_DEBUG, "Registration successful\n");
reg_pvt_unlink(p);
-
- /* set us up for re-registering */
+ break;
+ }
+
+ if (r->timeout == -1) {
+ /* Unless someone has set up a new timeout, prepare for a re-register.
+ * Normally we get here in the OK case, but it could be that the
+ * remote party is (temporarily) refusing our credentials, and we want to
+ * retry.
+ */
/* according to section 6.13 of RFC, contact headers override
expires headers, so check those first */
expires = 0;
More information about the asterisk-commits
mailing list