[asterisk-commits] kharwell: trunk r434132 - in /trunk: ./ res/ res/res_pjsip/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Apr 6 14:24:02 CDT 2015
Author: kharwell
Date: Mon Apr 6 14:23:57 2015
New Revision: 434132
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=434132
Log:
res_pjsip: config option 'timers' can't be set to 'no'
When setting the configuration option 'timers' equal to 'no' the bit flag was
not properly negated. This patch clears all associated flags and only sets the
specified one. pjsip will handle any necessary flag combinations. Also went
ahead and did similar for the '100rel' option.
ASTERISK-24910 #close
Reported by: Ray Crumrine
Review: https://reviewboard.asterisk.org/r/4582/
........
Merged revisions 434131 from http://svn.asterisk.org/svn/asterisk/branches/13
Modified:
trunk/ (props changed)
trunk/res/res_pjsip.c
trunk/res/res_pjsip/pjsip_configuration.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.
Modified: trunk/res/res_pjsip.c
URL: http://svnview.digium.com/svn/asterisk/trunk/res/res_pjsip.c?view=diff&rev=434132&r1=434131&r2=434132
==============================================================================
--- trunk/res/res_pjsip.c (original)
+++ trunk/res/res_pjsip.c Mon Apr 6 14:23:57 2015
@@ -347,10 +347,11 @@
<synopsis>Session timers for SIP packets</synopsis>
<description>
<enumlist>
- <enum name="forced" />
<enum name="no" />
+ <enum name="yes" />
<enum name="required" />
- <enum name="yes" />
+ <enum name="always" />
+ <enum name="forced"><para>Alias of always</para></enum>
</enumlist>
</description>
</configOption>
Modified: trunk/res/res_pjsip/pjsip_configuration.c
URL: http://svnview.digium.com/svn/asterisk/trunk/res/res_pjsip/pjsip_configuration.c?view=diff&rev=434132&r1=434131&r2=434132
==============================================================================
--- trunk/res/res_pjsip/pjsip_configuration.c (original)
+++ trunk/res/res_pjsip/pjsip_configuration.c Mon Apr 6 14:23:57 2015
@@ -141,13 +141,14 @@
{
struct ast_sip_endpoint *endpoint = obj;
+ /* clear all */
+ endpoint->extensions.flags &= ~(PJSIP_INV_SUPPORT_100REL | PJSIP_INV_REQUIRE_100REL);
+
if (ast_true(var->value)) {
endpoint->extensions.flags |= PJSIP_INV_SUPPORT_100REL;
- } else if (ast_false(var->value)) {
- endpoint->extensions.flags &= ~PJSIP_INV_SUPPORT_100REL;
} else if (!strcasecmp(var->value, "required")) {
endpoint->extensions.flags |= PJSIP_INV_REQUIRE_100REL;
- } else {
+ } else if (!ast_false(var->value)){
return -1;
}
@@ -174,15 +175,18 @@
{
struct ast_sip_endpoint *endpoint = obj;
+ /* clear all */
+ endpoint->extensions.flags &= ~(PJSIP_INV_SUPPORT_TIMER | PJSIP_INV_REQUIRE_TIMER
+ | PJSIP_INV_ALWAYS_USE_TIMER);
+
+ /* set only the specified flag and let pjsip normalize if needed */
if (ast_true(var->value)) {
endpoint->extensions.flags |= PJSIP_INV_SUPPORT_TIMER;
- } else if (ast_false(var->value)) {
- endpoint->extensions.flags &= PJSIP_INV_SUPPORT_TIMER;
} else if (!strcasecmp(var->value, "required")) {
endpoint->extensions.flags |= PJSIP_INV_REQUIRE_TIMER;
- } else if (!strcasecmp(var->value, "always")) {
+ } else if (!strcasecmp(var->value, "always") || !strcasecmp(var->value, "forced")) {
endpoint->extensions.flags |= PJSIP_INV_ALWAYS_USE_TIMER;
- } else {
+ } else if (!ast_false(var->value)) {
return -1;
}
More information about the asterisk-commits
mailing list