diff options
Diffstat (limited to 'apps/app_agent_pool.c')
-rw-r--r-- | apps/app_agent_pool.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/apps/app_agent_pool.c b/apps/app_agent_pool.c index 956a97e3f..a9f256e3b 100644 --- a/apps/app_agent_pool.c +++ b/apps/app_agent_pool.c @@ -43,6 +43,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/bridging.h" #include "asterisk/bridging_internal.h" #include "asterisk/bridging_basic.h" +#include "asterisk/bridging_after.h" #include "asterisk/config_options.h" #include "asterisk/features_config.h" #include "asterisk/astobj2.h" @@ -1055,7 +1056,7 @@ static void agent_connect_caller(struct ast_bridge_channel *bridge_channel, stru if (!caller_bridge) { /* Reset agent. */ - ast_bridge_channel_leave_bridge(bridge_channel, AST_BRIDGE_CHANNEL_STATE_END); + ast_bridge_channel_leave_bridge(bridge_channel, BRIDGE_CHANNEL_STATE_END); return; } res = ast_bridge_move(caller_bridge, bridge_channel->bridge, bridge_channel->chan, @@ -1063,7 +1064,7 @@ static void agent_connect_caller(struct ast_bridge_channel *bridge_channel, stru if (res) { /* Reset agent. */ ast_bridge_destroy(caller_bridge); - ast_bridge_channel_leave_bridge(bridge_channel, AST_BRIDGE_CHANNEL_STATE_END); + ast_bridge_channel_leave_bridge(bridge_channel, BRIDGE_CHANNEL_STATE_END); return; } ast_bridge_channel_write_control_data(bridge_channel, AST_CONTROL_ANSWER, NULL, 0); @@ -1159,13 +1160,13 @@ static int bridge_agent_hold_heartbeat(struct ast_bridge *bridge, struct ast_bri if (deferred_logoff) { ast_debug(1, "Agent %s: Deferred logoff.\n", agent->username); - ast_bridge_channel_leave_bridge(bridge_channel, AST_BRIDGE_CHANNEL_STATE_END); + ast_bridge_channel_leave_bridge(bridge_channel, BRIDGE_CHANNEL_STATE_END); } else if (probation_timedout) { ast_debug(1, "Agent %s: Login complete.\n", agent->username); agent_devstate_changed(agent->username); } else if (ack_timedout) { ast_debug(1, "Agent %s: Ack call timeout.\n", agent->username); - ast_bridge_channel_leave_bridge(bridge_channel, AST_BRIDGE_CHANNEL_STATE_END); + ast_bridge_channel_leave_bridge(bridge_channel, BRIDGE_CHANNEL_STATE_END); } else if (wrapup_timedout) { ast_debug(1, "Agent %s: Wrapup timeout. Ready for new call.\n", agent->username); agent_devstate_changed(agent->username); @@ -1175,7 +1176,7 @@ static int bridge_agent_hold_heartbeat(struct ast_bridge *bridge, struct ast_bri } static void agent_after_bridge_cb(struct ast_channel *chan, void *data); -static void agent_after_bridge_cb_failed(enum ast_after_bridge_cb_reason reason, void *data); +static void agent_after_bridge_cb_failed(enum ast_bridge_after_cb_reason reason, void *data); /*! * \internal @@ -1252,7 +1253,7 @@ static int bridge_agent_hold_push(struct ast_bridge *self, struct ast_bridge_cha } if (swap) { - res = ast_after_bridge_callback_set(chan, agent_after_bridge_cb, + res = ast_bridge_set_after_callback(chan, agent_after_bridge_cb, agent_after_bridge_cb_failed, chan); if (res) { ast_channel_remove_bridge_role(chan, "holding_participant"); @@ -1270,7 +1271,7 @@ static int bridge_agent_hold_push(struct ast_bridge *self, struct ast_bridge_cha * agent will have some slightly different behavior in corner * cases. */ - ast_bridge_channel_leave_bridge(bridge_channel, AST_BRIDGE_CHANNEL_STATE_END); + ast_bridge_channel_leave_bridge(bridge_channel, BRIDGE_CHANNEL_STATE_END); return 0; } @@ -1620,7 +1621,7 @@ static void agent_after_bridge_cb(struct ast_channel *chan, void *data) ao2_ref(agent, -1); } -static void agent_after_bridge_cb_failed(enum ast_after_bridge_cb_reason reason, void *data) +static void agent_after_bridge_cb_failed(enum ast_bridge_after_cb_reason reason, void *data) { struct ast_channel *chan = data; struct agent_pvt *agent; @@ -1631,7 +1632,7 @@ static void agent_after_bridge_cb_failed(enum ast_after_bridge_cb_reason reason, } ast_log(LOG_WARNING, "Agent %s: Forced logout. Lost control of %s because: %s\n", agent->username, ast_channel_name(chan), - ast_after_bridge_cb_reason_string(reason)); + ast_bridge_after_cb_reason_string(reason)); agent_lock(agent); agent_logout(agent); ao2_ref(agent, -1); @@ -1704,7 +1705,7 @@ static void caller_abort_agent(struct agent_pvt *agent) } /* Kick the agent out of the holding bridge to reset it. */ - ast_bridge_channel_leave_bridge_nolock(logged, AST_BRIDGE_CHANNEL_STATE_END); + ast_bridge_channel_leave_bridge_nolock(logged, BRIDGE_CHANNEL_STATE_END); ast_bridge_channel_unlock(logged); } @@ -1714,7 +1715,7 @@ static int caller_safety_timeout(struct ast_bridge *bridge, struct ast_bridge_ch if (agent->state == AGENT_STATE_CALL_PRESENT) { ast_verb(3, "Agent '%s' did not respond. Safety timeout.\n", agent->username); - ast_bridge_channel_leave_bridge(bridge_channel, AST_BRIDGE_CHANNEL_STATE_END); + ast_bridge_channel_leave_bridge(bridge_channel, BRIDGE_CHANNEL_STATE_END); caller_abort_agent(agent); } |