From f3a49366a13ddb08bda3384892c49042d64ec320 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 3 Jul 2012 08:05:41 -0500 Subject: [PATCH] FS-4331 please test and post a new log if necessary --- src/include/switch_types.h | 1 + src/mod/applications/mod_dptools/mod_dptools.c | 1 + src/switch_channel.c | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/src/include/switch_types.h b/src/include/switch_types.h index a9f17cb339..c5e1fab7b4 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -1224,6 +1224,7 @@ typedef enum { CF_CHANNEL_SWAP, CF_PICKUP, CF_CONFIRM_BLIND_TRANSFER, + CF_NO_PRESENCE, /* WARNING: DO NOT ADD ANY FLAGS BELOW THIS LINE */ /* IF YOU ADD NEW ONES CHECK IF THEY SHOULD PERSIST OR ZERO THEM IN switch_core_session.c switch_core_session_request_xml() */ CF_FLAG_MAX diff --git a/src/mod/applications/mod_dptools/mod_dptools.c b/src/mod/applications/mod_dptools/mod_dptools.c index 570d4ce286..0937b37c3c 100755 --- a/src/mod/applications/mod_dptools/mod_dptools.c +++ b/src/mod/applications/mod_dptools/mod_dptools.c @@ -3521,6 +3521,7 @@ static switch_call_cause_t pickup_outgoing_channel(switch_core_session_t *sessio pickup_add_session(nsession, pickup); switch_channel_set_flag(nchannel, CF_PICKUP); + switch_channel_set_flag(nchannel, CF_NO_PRESENCE); goto done; diff --git a/src/switch_channel.c b/src/switch_channel.c index c214cfd881..8c36f64fe7 100644 --- a/src/switch_channel.c +++ b/src/switch_channel.c @@ -606,6 +606,10 @@ SWITCH_DECLARE(void) switch_channel_perform_presence(switch_channel_t *channel, const char *call_info = NULL; char *call_info_state = "active"; + if (switch_channel_test_flag(channel, CF_NO_PRESENCE)) { + return; + } + if (!status) { type = SWITCH_EVENT_PRESENCE_OUT; }