[asterisk-commits] dlee: branch 1.8 r380973 - /branches/1.8/channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Feb 6 14:10:20 CST 2013
Author: dlee
Date: Wed Feb 6 14:10:14 2013
New Revision: 380973
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=380973
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)
Modified:
branches/1.8/channels/chan_sip.c
Modified: branches/1.8/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/channels/chan_sip.c?view=diff&rev=380973&r1=380972&r2=380973
==============================================================================
--- branches/1.8/channels/chan_sip.c (original)
+++ branches/1.8/channels/chan_sip.c Wed Feb 6 14:10:14 2013
@@ -22857,6 +22857,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];
@@ -23452,19 +23453,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