From: Anthony Minessale Date: Tue, 26 Feb 2013 20:03:37 +0000 (-0600) Subject: add presence_disable_early var to disable early on per call basis X-Git-Tag: v1.3.13~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32806de57c0a59f7f1a8267d53f63b3643ebfb10;p=thirdparty%2Ffreeswitch.git add presence_disable_early var to disable early on per call basis --- diff --git a/src/mod/endpoints/mod_sofia/sofia_presence.c b/src/mod/endpoints/mod_sofia/sofia_presence.c index 6ac946adf4..3547130446 100644 --- a/src/mod/endpoints/mod_sofia/sofia_presence.c +++ b/src/mod/endpoints/mod_sofia/sofia_presence.c @@ -2700,6 +2700,7 @@ static int sofia_presence_sub_callback(void *pArg, int argc, char **argv, char * const char *from_id = NULL, *from_name = NULL; const char *to_user = switch_str_nil(switch_event_get_header(helper->event, "variable_sip_to_user")); const char *from_user = switch_str_nil(switch_event_get_header(helper->event, "variable_sip_from_user")); + const char *disable_early = switch_str_nil(switch_event_get_header(helper->event, "variable_presence_disable_early")); char *clean_to_user = NULL; char *clean_from_user = NULL; int force_status = 0; @@ -2844,7 +2845,7 @@ static int sofia_presence_sub_callback(void *pArg, int argc, char **argv, char * } - if (sofia_test_pflag(profile, PFLAG_PRESENCE_DISABLE_EARLY) && + if ((sofia_test_pflag(profile, PFLAG_PRESENCE_DISABLE_EARLY) || switch_true(disable_early)) && (!zstr(call_info_state) && (!strcasecmp(call_info_state, "alterting") || !strcasecmp(call_info_state, "progressing")))) { goto end; }