[asterisk-commits] dlee: trunk r380977 - in /trunk: ./ channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Feb 6 14:18:09 CST 2013


Author: dlee
Date: Wed Feb  6 14:18:05 2013
New Revision: 380977

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=380977
Log:
Fixed failing test from r380696.

When I added my extensive suite of session timer unit tests, apparently one of
them was failing and I never noticed. If neither Min-SE nor Session-Expires is
set in the header, it was responding with a Session-Expires of the global
maxmimum instead of the configured max for the endpoint.

(issue ASTERISK-20787)
........

Merged revisions 380973 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 380974 from http://svn.asterisk.org/svn/asterisk/branches/11

Modified:
    trunk/   (props changed)
    trunk/channels/chan_sip.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-11-merged' - no diff available.

Modified: trunk/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/trunk/channels/chan_sip.c?view=diff&rev=380977&r1=380976&r2=380977
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Wed Feb  6 14:18:05 2013
@@ -24954,6 +24954,7 @@
 	int st_interval = 0;            /* Session-Timer negotiated refresh interval                */
 	enum st_refresher tmp_st_ref = SESSION_TIMER_REFRESHER_AUTO; /* Session-Timer refresher     */
 	int dlg_min_se = -1;
+	int dlg_max_se = global_max_se;
 	struct {
 		char exten[AST_MAX_EXTENSION];
 		char context[AST_MAX_CONTEXT];
@@ -25556,19 +25557,17 @@
 				tmp_st_ref = st_get_refresher(p);
 			}
 
+			dlg_max_se = st_get_se(p, TRUE);
 			if (uac_max_se > 0) {
-				int dlg_max_se = st_get_se(p, TRUE);
 				if (dlg_max_se >= uac_min_se) {
 					st_interval = (uac_max_se < dlg_max_se) ? uac_max_se : dlg_max_se;
 				} else {
 					st_interval = uac_max_se;
 				}
 			} else if (uac_min_se > 0) {
-				int dlg_max_se = st_get_se(p, TRUE);
 				st_interval = MAX(dlg_max_se, uac_min_se);
 			} else {
-				/* Set to default max value */
-				st_interval = global_max_se;
+				st_interval = dlg_max_se;
 			}
 			break;
 




More information about the asterisk-commits mailing list