switch_channel.h File Reference

Media Channel Interface. More...

#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_tswitch_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_tswitch_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_tswitch_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_tswitch_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_tswitch_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_tswitch_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_tswitch_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.
Remarks:
Unlocks the profile mutex initially locked in switch_channel_variable_first.

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_tswitch_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_tswitch_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_tswitch_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_tswitch_channel_get_queued_extension (switch_channel_t *channel)
void switch_channel_transfer_to_extension (switch_channel_t *channel, switch_caller_extension_t *caller_extension)


Detailed Description

Media Channel Interface.

See also:
switch_channel

Definition in file switch_channel.h.


Typedef Documentation

typedef struct switch_channel_timetable switch_channel_timetable_t

Definition at line 58 of file switch_channel.h.


Function Documentation

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 }


Generated on Sun May 20 04:00:07 2012 for FreeSWITCH API Documentation by  doxygen 1.4.7