#include <switch.h>
Include dependency graph for switch_channel.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Data Structures | |
| struct | switch_channel_timetable |
Defines | |
| #define | switch_channel_ready(_channel) switch_channel_test_ready(_channel, SWITCH_TRUE, SWITCH_FALSE) |
| #define | switch_channel_media_ready(_channel) switch_channel_test_ready(_channel, SWITCH_TRUE, SWITCH_TRUE) |
| #define | switch_channel_media_up(_channel) (switch_channel_test_flag(_channel, CF_ANSWERED) || switch_channel_test_flag(_channel, CF_EARLY_MEDIA)) |
| #define | switch_channel_up(_channel) (switch_channel_check_signal(_channel, SWITCH_TRUE) || switch_channel_get_state(_channel) < CS_HANGUP) |
| #define | switch_channel_down(_channel) (switch_channel_check_signal(_channel, SWITCH_TRUE) || switch_channel_get_state(_channel) >= CS_HANGUP) |
| #define | switch_channel_up_nosig(_channel) (switch_channel_get_state(_channel) < CS_HANGUP) |
| #define | switch_channel_down_nosig(_channel) (switch_channel_get_state(_channel) >= CS_HANGUP) |
| #define | switch_channel_media_ack(_channel) (!switch_channel_test_cap(_channel, CC_MEDIA_ACK) || switch_channel_test_flag(_channel, CF_MEDIA_ACK)) |
| #define | switch_channel_set_running_state(channel, state) switch_channel_perform_set_running_state(channel, state, __FILE__, __SWITCH_FUNC__, __LINE__) |
| #define | switch_channel_set_state(channel, state) switch_channel_perform_set_state(channel, __FILE__, __SWITCH_FUNC__, __LINE__, state) |
| Set the current state of a channel. | |
| #define | switch_channel_presence(_a, _b, _c, _d) switch_channel_perform_presence(_a, _b, _c, _d, __FILE__, __SWITCH_FUNC__, __LINE__) |
| #define | switch_channel_set_variable_safe(_channel, _var, _val) switch_channel_set_variable_var_check(_channel, _var, _val, SWITCH_FALSE) |
| #define | switch_channel_set_variable(_channel, _var, _val) switch_channel_set_variable_var_check(_channel, _var, _val, SWITCH_TRUE) |
| #define | switch_channel_set_variable_partner(_channel, _var, _val) switch_channel_set_variable_partner_var_check(_channel, _var, _val, SWITCH_TRUE) |
| #define | switch_channel_export_variable(_channel, _varname, _value, _ev) switch_channel_export_variable_var_check(_channel, _varname, _value, _ev, SWITCH_TRUE) |
| #define | switch_channel_get_variable(_c, _v) switch_channel_get_variable_dup(_c, _v, SWITCH_TRUE, -1) |
| #define | switch_channel_set_flag(_c, _f) switch_channel_set_flag_value(_c, _f, 1) |
| #define | switch_channel_set_cap(_c, _cc) switch_channel_set_cap_value(_c, _cc, 1) |
| #define | switch_channel_answer(channel) switch_channel_perform_answer(channel, __FILE__, __SWITCH_FUNC__, __LINE__) |
| Answer a channel (initiate/acknowledge a successful connection). | |
| #define | switch_channel_mark_answered(channel) switch_channel_perform_mark_answered(channel, __FILE__, __SWITCH_FUNC__, __LINE__) |
| Mark a channel answered with no indication (for outbound calls). | |
| #define | switch_channel_mark_pre_answered(channel) switch_channel_perform_mark_pre_answered(channel, __FILE__, __SWITCH_FUNC__, __LINE__) |
| Mark a channel pre_answered (early media) with no indication (for outbound calls). | |
| #define | switch_channel_ring_ready(channel) switch_channel_perform_ring_ready_value(channel, SWITCH_RING_READY_RINGING, __FILE__, __SWITCH_FUNC__, __LINE__) |
| Send Ringing message to a channel. | |
| #define | switch_channel_ring_ready_value(channel, _rv) switch_channel_perform_ring_ready_value(channel, _rv, __FILE__, __SWITCH_FUNC__, __LINE__) |
| #define | switch_channel_pre_answer(channel) switch_channel_perform_pre_answer(channel, __FILE__, __SWITCH_FUNC__, __LINE__) |
| Indicate progress on a channel to attempt early media. | |
| #define | switch_channel_mark_ring_ready(channel) switch_channel_perform_mark_ring_ready_value(channel, SWITCH_RING_READY_RINGING, __FILE__, __SWITCH_FUNC__, __LINE__) |
| Indicate a channel is ready to provide ringback. | |
| #define | switch_channel_mark_ring_ready_value(channel, _rv) switch_channel_perform_mark_ring_ready_value(channel, _rv, __FILE__, __SWITCH_FUNC__, __LINE__) |
| #define | switch_channel_hangup(channel, hangup_cause) switch_channel_perform_hangup(channel, __FILE__, __SWITCH_FUNC__, __LINE__, hangup_cause) |
| Hangup a channel flagging it's state machine to end. | |
| #define | switch_channel_expand_variables(_channel, _in) switch_channel_expand_variables_check(_channel, _in, NULL, NULL, 0) |
| #define | switch_channel_stop_broadcast(_channel) for(;;) {if (switch_channel_test_flag(_channel, CF_BROADCAST)) {switch_channel_set_flag(_channel, CF_STOP_BROADCAST); switch_channel_set_flag(_channel, CF_BREAK); } break;} |
| #define | switch_channel_audio_sync(_c) switch_channel_perform_audio_sync(_c, __FILE__, __SWITCH_FUNC__, __LINE__) |
| #define | switch_channel_set_app_flag(_c, _f) switch_channel_set_app_flag_key(__FILE__, _c, _f) |
| #define | switch_channel_clear_app_flag(_c, _f) switch_channel_clear_app_flag_key(__FILE__, _c, _f) |
| #define | switch_channel_test_app_flag(_c, _f) switch_channel_test_app_flag_key(__FILE__, _c, _f) |
| #define | switch_channel_set_callstate(channel, state) switch_channel_perform_set_callstate(channel, state, __FILE__, __SWITCH_FUNC__, __LINE__) |
Typedefs | |
| typedef switch_channel_timetable | switch_channel_timetable_t |
Functions | |
| switch_channel_state_t | switch_channel_get_state (switch_channel_t *channel) |
| Get the current state of a channel in the state engine. | |
| switch_channel_state_t | switch_channel_get_running_state (switch_channel_t *channel) |
| int | switch_channel_check_signal (switch_channel_t *channel, switch_bool_t in_thread_only) |
| int | switch_channel_test_ready (switch_channel_t *channel, switch_bool_t check_ready, switch_bool_t check_media) |
| Determine if a channel is ready for io. | |
| void | switch_channel_wait_for_state (switch_channel_t *channel, switch_channel_t *other_channel, switch_channel_state_t want_state) |
| void | switch_channel_wait_for_state_timeout (switch_channel_t *other_channel, switch_channel_state_t want_state, uint32_t timeout) |
| switch_status_t | switch_channel_wait_for_flag (switch_channel_t *channel, switch_channel_flag_t want_flag, switch_bool_t pres, uint32_t to, switch_channel_t *super_channel) |
| switch_channel_state_t | switch_channel_perform_set_state (switch_channel_t *channel, const char *file, const char *func, int line, switch_channel_state_t state) |
| switch_channel_state_t | switch_channel_perform_set_running_state (switch_channel_t *channel, switch_channel_state_t state, const char *file, const char *func, int line) |
| switch_call_cause_t | switch_channel_str2cause (_In_ const char *str) |
| return a cause code for a given string | |
| switch_call_cause_t | switch_channel_get_cause (_In_ switch_channel_t *channel) |
| return the cause code for a given channel | |
| switch_call_cause_t | switch_channel_cause_q850 (switch_call_cause_t cause) |
| switch_call_cause_t | switch_channel_get_cause_q850 (switch_channel_t *channel) |
| switch_call_cause_t * | switch_channel_get_cause_ptr (switch_channel_t *channel) |
| const char * | switch_channel_cause2str (_In_ switch_call_cause_t cause) |
| return a cause string for a given cause | |
| switch_channel_timetable_t * | switch_channel_get_timetable (_In_ switch_channel_t *channel) |
| View the timetable of a channel. | |
| switch_status_t | switch_channel_alloc (_In_ switch_channel_t **channel, _In_ switch_call_direction_t direction, _In_ switch_memory_pool_t *pool) |
| Allocate a new channel. | |
| switch_status_t | switch_channel_init (switch_channel_t *channel, switch_core_session_t *session, switch_channel_state_t state, switch_channel_flag_t flag) |
| Connect a newly allocated channel to a session object and setup it's initial state. | |
| void | switch_channel_perform_presence (switch_channel_t *channel, const char *rpid, const char *status, const char *id, const char *file, const char *func, int line) |
| Fire A presence event for the channel. | |
| void | switch_channel_uninit (switch_channel_t *channel) |
| Uninitalize a channel. | |
| void | switch_channel_set_caller_profile (switch_channel_t *channel, switch_caller_profile_t *caller_profile) |
| Set the given channel's caller profile. | |
| switch_caller_profile_t * | switch_channel_get_caller_profile (switch_channel_t *channel) |
| Retrieve the given channel's caller profile. | |
| void | switch_channel_set_originator_caller_profile (switch_channel_t *channel, switch_caller_profile_t *caller_profile) |
| Set the given channel's originator caller profile. | |
| void | switch_channel_set_hunt_caller_profile (switch_channel_t *channel, switch_caller_profile_t *caller_profile) |
| switch_caller_profile_t * | switch_channel_get_originator_caller_profile (switch_channel_t *channel) |
| Retrieve the given channel's originator caller profile. | |
| void | switch_channel_set_originatee_caller_profile (switch_channel_t *channel, switch_caller_profile_t *caller_profile) |
| Set the given channel's originatee caller profile. | |
| switch_caller_profile_t * | switch_channel_get_originatee_caller_profile (switch_channel_t *channel) |
| Retrieve the given channel's originatee caller profile. | |
| void | switch_channel_set_origination_caller_profile (switch_channel_t *channel, switch_caller_profile_t *caller_profile) |
| Set the given channel's origination caller profile. | |
| switch_caller_profile_t * | switch_channel_get_origination_caller_profile (switch_channel_t *channel) |
| Retrieve the given channel's origination caller profile. | |
| char * | switch_channel_get_uuid (switch_channel_t *channel) |
| Retrieve the given channel's unique id. | |
| switch_status_t | switch_channel_set_profile_var (switch_channel_t *channel, const char *name, const char *val) |
| Set a variable on a given channel. | |
| switch_status_t | switch_channel_set_variable_var_check (switch_channel_t *channel, const char *varname, const char *value, switch_bool_t var_check) |
| switch_status_t | switch_channel_add_variable_var_check (switch_channel_t *channel, const char *varname, const char *value, switch_bool_t var_check, switch_stack_t stack) |
| switch_status_t | switch_channel_set_variable_printf (switch_channel_t *channel, const char *varname, const char *fmt,...) |
| switch_status_t | switch_channel_set_variable_name_printf (switch_channel_t *channel, const char *val, const char *fmt,...) |
| switch_status_t | switch_channel_set_variable_partner_var_check (switch_channel_t *channel, const char *varname, const char *value, switch_bool_t var_check) |
| const char * | switch_channel_get_variable_partner (switch_channel_t *channel, const char *varname) |
| const char * | switch_channel_get_hold_music (switch_channel_t *channel) |
| const char * | switch_channel_get_hold_music_partner (switch_channel_t *channel) |
| uint32_t | switch_channel_del_variable_prefix (switch_channel_t *channel, const char *prefix) |
| switch_status_t | switch_channel_export_variable_var_check (switch_channel_t *channel, const char *varname, const char *val, const char *export_varname, switch_bool_t var_check) |
| void | switch_channel_process_export (switch_channel_t *channel, switch_channel_t *peer_channel, switch_event_t *var_event, const char *export_varname) |
| switch_status_t | switch_channel_export_variable_printf (switch_channel_t *channel, const char *varname, const char *export_varname, const char *fmt,...) |
| void | switch_channel_set_scope_variables (switch_channel_t *channel, switch_event_t **event) |
| switch_status_t | switch_channel_get_scope_variables (switch_channel_t *channel, switch_event_t **event) |
| const char * | switch_channel_get_variable_dup (switch_channel_t *channel, const char *varname, switch_bool_t dup, int idx) |
| Retrieve a variable from a given channel. | |
| switch_status_t | switch_channel_get_variables (switch_channel_t *channel, switch_event_t **event) |
| switch_status_t | switch_channel_pass_callee_id (switch_channel_t *channel, switch_channel_t *other_channel) |
| switch_event_header_t * | switch_channel_variable_first (switch_channel_t *channel) |
| Start iterating over the entries in the channel variable list. | |
| void | switch_channel_variable_last (switch_channel_t *channel) |
Stop iterating over channel variables.
| |
| void | switch_channel_restart (switch_channel_t *channel) |
| switch_status_t | switch_channel_caller_extension_masquerade (switch_channel_t *orig_channel, switch_channel_t *new_channel, uint32_t offset) |
| void | switch_channel_set_caller_extension (switch_channel_t *channel, switch_caller_extension_t *caller_extension) |
| Assign a caller extension to a given channel. | |
| void | switch_channel_flip_cid (switch_channel_t *channel) |
| void | switch_channel_sort_cid (switch_channel_t *channel, switch_bool_t in) |
| switch_caller_extension_t * | switch_channel_get_caller_extension (switch_channel_t *channel) |
| Retrieve caller extension from a given channel. | |
| uint32_t | switch_channel_test_flag (switch_channel_t *channel, switch_channel_flag_t flag) |
| Test for presence of given flag on a given channel. | |
| void | switch_channel_set_flag_value (switch_channel_t *channel, switch_channel_flag_t flag, uint32_t value) |
| Set given flag(s) on a given channel. | |
| void | switch_channel_set_flag_recursive (switch_channel_t *channel, switch_channel_flag_t flag) |
| void | switch_channel_set_cap_value (switch_channel_t *channel, switch_channel_cap_t cap, uint32_t value) |
| void | switch_channel_clear_cap (switch_channel_t *channel, switch_channel_cap_t cap) |
| uint32_t | switch_channel_test_cap (switch_channel_t *channel, switch_channel_cap_t cap) |
| uint32_t | switch_channel_test_cap_partner (switch_channel_t *channel, switch_channel_cap_t cap) |
| switch_bool_t | switch_channel_set_flag_partner (switch_channel_t *channel, switch_channel_flag_t flag) |
| Set given flag(s) on a given channel's bridge partner. | |
| switch_bool_t | switch_channel_clear_flag_partner (switch_channel_t *channel, switch_channel_flag_t flag) |
| Clears given flag(s) on a given channel's bridge partner. | |
| uint32_t | switch_channel_test_flag_partner (switch_channel_t *channel, switch_channel_flag_t flag) |
| void | switch_channel_set_state_flag (switch_channel_t *channel, switch_channel_flag_t flag) |
| Set given flag(s) on a given channel to be applied on the next state change. | |
| void | switch_channel_clear_state_flag (switch_channel_t *channel, switch_channel_flag_t flag) |
| void | switch_channel_clear_flag (switch_channel_t *channel, switch_channel_flag_t flag) |
| Clear given flag(s) from a channel. | |
| void | switch_channel_clear_flag_recursive (switch_channel_t *channel, switch_channel_flag_t flag) |
| switch_status_t | switch_channel_perform_answer (switch_channel_t *channel, const char *file, const char *func, int line) |
| switch_status_t | switch_channel_perform_mark_answered (switch_channel_t *channel, const char *file, const char *func, int line) |
| void | switch_channel_check_zrtp (switch_channel_t *channel) |
| switch_status_t | switch_channel_perform_ring_ready_value (switch_channel_t *channel, switch_ring_ready_t rv, const char *file, const char *func, int line) |
| switch_status_t | switch_channel_perform_pre_answer (switch_channel_t *channel, const char *file, const char *func, int line) |
| switch_status_t | switch_channel_perform_mark_pre_answered (switch_channel_t *channel, const char *file, const char *func, int line) |
| switch_status_t | switch_channel_perform_mark_ring_ready_value (switch_channel_t *channel, switch_ring_ready_t rv, const char *file, const char *func, int line) |
| int | switch_channel_add_state_handler (switch_channel_t *channel, const switch_state_handler_table_t *state_handler) |
| add a state handler table to a given channel | |
| void | switch_channel_clear_state_handler (switch_channel_t *channel, const switch_state_handler_table_t *state_handler) |
| clear a state handler table from a given channel | |
| const switch_state_handler_table_t * | switch_channel_get_state_handler (switch_channel_t *channel, int index) |
| Retrieve an state handler tablefrom a given channel at given index level. | |
| switch_status_t | switch_channel_set_private (switch_channel_t *channel, const char *key, const void *private_info) |
| Set private data on channel. | |
| void * | switch_channel_get_private (switch_channel_t *channel, const char *key) |
| Retrieve private from a given channel. | |
| void * | switch_channel_get_private_partner (switch_channel_t *channel, const char *key) |
| switch_status_t | switch_channel_set_name (switch_channel_t *channel, const char *name) |
| Assign a name to a given channel. | |
| char * | switch_channel_get_name (switch_channel_t *channel) |
| Retrieve the name of a given channel. | |
| switch_channel_state_t | switch_channel_perform_hangup (switch_channel_t *channel, const char *file, const char *func, int line, switch_call_cause_t hangup_cause) |
| switch_size_t | switch_channel_has_dtmf (_In_ switch_channel_t *channel) |
| Test for presence of DTMF on a given channel. | |
| switch_status_t | switch_channel_queue_dtmf (_In_ switch_channel_t *channel, _In_ const switch_dtmf_t *dtmf) |
| Queue DTMF on a given channel. | |
| switch_status_t | switch_channel_queue_dtmf_string (_In_ switch_channel_t *channel, _In_ const char *dtmf_string) |
| switch_status_t | switch_channel_dequeue_dtmf (_In_ switch_channel_t *channel, _In_ switch_dtmf_t *dtmf) |
| Retrieve DTMF digits from a given channel. | |
| void | switch_channel_flush_dtmf (_In_ switch_channel_t *channel) |
| switch_size_t | switch_channel_dequeue_dtmf_string (_In_ switch_channel_t *channel, _Out_opt_bytecapcount_(len) char *dtmf_str, _In_ switch_size_t len) |
| const char * | switch_channel_state_name (_In_ switch_channel_state_t state) |
| Render the name of the provided state enum. | |
| switch_channel_state_t | switch_channel_name_state (_In_ const char *name) |
| Render the enum of the provided state name. | |
| void | switch_channel_event_set_data (_In_ switch_channel_t *channel, _In_ switch_event_t *event) |
| Add information about a given channel to an event object. | |
| void | switch_channel_event_set_basic_data (_In_ switch_channel_t *channel, _In_ switch_event_t *event) |
| void | switch_channel_event_set_extended_data (_In_ switch_channel_t *channel, _In_ switch_event_t *event) |
| char * | switch_channel_expand_variables_check (switch_channel_t *channel, const char *in, switch_event_t *var_list, switch_event_t *api_list, uint32_t recur) |
| Expand varaibles in a string based on the variables in a paticular channel. | |
| char * | switch_channel_build_param_string (_In_ switch_channel_t *channel, _In_opt_ switch_caller_profile_t *caller_profile, _In_opt_ const char *prefix) |
| switch_status_t | switch_channel_set_timestamps (_In_ switch_channel_t *channel) |
| void | switch_channel_perform_audio_sync (switch_channel_t *channel, const char *file, const char *func, int line) |
| void | switch_channel_set_private_flag (switch_channel_t *channel, uint32_t flags) |
| void | switch_channel_clear_private_flag (switch_channel_t *channel, uint32_t flags) |
| int | switch_channel_test_private_flag (switch_channel_t *channel, uint32_t flags) |
| void | switch_channel_set_app_flag_key (const char *app, switch_channel_t *channel, uint32_t flags) |
| void | switch_channel_clear_app_flag_key (const char *app, switch_channel_t *channel, uint32_t flags) |
| int | switch_channel_test_app_flag_key (const char *app, switch_channel_t *channel, uint32_t flags) |
| void | switch_channel_set_bridge_time (switch_channel_t *channel) |
| void | switch_channel_set_hangup_time (switch_channel_t *channel) |
| switch_call_direction_t | switch_channel_direction (switch_channel_t *channel) |
| switch_core_session_t * | switch_channel_get_session (switch_channel_t *channel) |
| char * | switch_channel_get_flag_string (switch_channel_t *channel) |
| char * | switch_channel_get_cap_string (switch_channel_t *channel) |
| int | switch_channel_state_change_pending (switch_channel_t *channel) |
| void | switch_channel_perform_set_callstate (switch_channel_t *channel, switch_channel_callstate_t callstate, const char *file, const char *func, int line) |
| switch_channel_callstate_t | switch_channel_get_callstate (switch_channel_t *channel) |
| const char * | switch_channel_callstate2str (switch_channel_callstate_t callstate) |
| switch_call_cause_t | switch_channel_str2callstate (const char *str) |
| void | switch_channel_mark_hold (switch_channel_t *channel, switch_bool_t on) |
| switch_status_t | switch_channel_execute_on (switch_channel_t *channel, const char *variable_prefix) |
| switch_status_t | switch_channel_api_on (switch_channel_t *channel, const char *variable_prefix) |
| switch_caller_extension_t * | switch_channel_get_queued_extension (switch_channel_t *channel) |
| void | switch_channel_transfer_to_extension (switch_channel_t *channel, switch_caller_extension_t *caller_extension) |
Definition in file switch_channel.h.
| typedef struct switch_channel_timetable switch_channel_timetable_t |
Definition at line 58 of file switch_channel.h.
| switch_status_t switch_channel_api_on | ( | switch_channel_t * | channel, | |
| const char * | variable_prefix | |||
| ) |
Definition at line 3162 of file switch_channel.c.
References switch_event_header::array, do_api_on(), switch_event::headers, switch_event_header::idx, switch_event_header::name, switch_event_header::next, switch_channel_get_variables(), switch_event_destroy(), SWITCH_STATUS_FALSE, SWITCH_STATUS_SUCCESS, and switch_event_header::value.
Referenced by switch_channel_perform_mark_answered(), switch_channel_perform_mark_pre_answered(), switch_channel_perform_mark_ring_ready_value(), and tone_on_dtmf().
03163 { 03164 switch_event_header_t *hp; 03165 switch_event_t *event; 03166 int x = 0; 03167 03168 03169 switch_channel_get_variables(channel, &event); 03170 03171 for (hp = event->headers; hp; hp = hp->next) { 03172 char *var = hp->name; 03173 char *val = hp->value; 03174 03175 if (!strncasecmp(var, variable_prefix, strlen(variable_prefix))) { 03176 if (hp->idx) { 03177 int i; 03178 for (i = 0; i < hp->idx; i++) { 03179 x++; 03180 do_api_on(channel, hp->array[i]); 03181 } 03182 } else { 03183 x++; 03184 do_api_on(channel, val); 03185 } 03186 } 03187 } 03188 03189 switch_event_destroy(&event); 03190 03191 return x ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_FALSE; 03192 }
| switch_status_t switch_channel_execute_on | ( | switch_channel_t * | channel, | |
| const char * | variable_prefix | |||
| ) |
Definition at line 3222 of file switch_channel.c.
References switch_event_header::array, do_execute_on(), switch_event::headers, switch_event_header::idx, switch_event_header::name, switch_event_header::next, switch_channel_get_variables(), switch_event_destroy(), SWITCH_STATUS_FALSE, SWITCH_STATUS_SUCCESS, and switch_event_header::value.
Referenced by switch_channel_perform_mark_answered(), switch_channel_perform_mark_pre_answered(), switch_channel_perform_mark_ring_ready_value(), and tone_on_dtmf().
03223 { 03224 switch_event_header_t *hp; 03225 switch_event_t *event; 03226 int x = 0; 03227 03228 switch_channel_get_variables(channel, &event); 03229 03230 for (hp = event->headers; hp; hp = hp->next) { 03231 char *var = hp->name; 03232 char *val = hp->value; 03233 03234 if (!strncasecmp(var, variable_prefix, strlen(variable_prefix))) { 03235 if (hp->idx) { 03236 int i; 03237 for (i = 0; i < hp->idx; i++) { 03238 x++; 03239 do_execute_on(channel, hp->array[i]); 03240 } 03241 } else { 03242 x++; 03243 do_execute_on(channel, val); 03244 } 03245 } 03246 } 03247 03248 switch_event_destroy(&event); 03249 03250 return x ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_FALSE; 03251 }
| switch_caller_extension_t* switch_channel_get_queued_extension | ( | switch_channel_t * | channel | ) |
Definition at line 2776 of file switch_channel.c.
References switch_mutex_lock(), and switch_mutex_unlock().
Referenced by switch_core_standard_on_routing().
02777 { 02778 switch_caller_extension_t *caller_extension; 02779 02780 switch_mutex_lock(channel->profile_mutex); 02781 caller_extension = channel->queued_extension; 02782 channel->queued_extension = NULL; 02783 switch_mutex_unlock(channel->profile_mutex); 02784 02785 return caller_extension; 02786 }
| void switch_channel_transfer_to_extension | ( | switch_channel_t * | channel, | |
| switch_caller_extension_t * | caller_extension | |||
| ) |
Definition at line 2788 of file switch_channel.c.
References CF_TRANSFER, CS_ROUTING, switch_channel_set_flag, switch_channel_set_state, switch_mutex_lock(), and switch_mutex_unlock().
Referenced by switch_ivr_parse_event().
02789 { 02790 switch_mutex_lock(channel->profile_mutex); 02791 channel->queued_extension = caller_extension; 02792 switch_mutex_unlock(channel->profile_mutex); 02793 02794 switch_channel_set_flag(channel, CF_TRANSFER); 02795 switch_channel_set_state(channel, CS_ROUTING); 02796 }
1.4.7