Main Page | Modules | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

switch_cpp.cpp File Reference


Functions

void consoleLog (char *level_str, char *msg)
void consoleCleanLog (char *msg)
void console_log (char *level_str, char *msg)
void console_clean_log (char *msg)
void bridge (CoreSession &session_a, CoreSession &session_b)
 bridge the audio of session_b into session_a
 SWITCH_DECLARE_NONSTD (switch_status_t) hanguphook(switch_core_session_t *session_hungup)
 the actual hangup hook called back by freeswitch core which in turn gets the session and calls the appropriate instance method to complete the callback.

Variables

void * input
void switch_input_type_t itype
void switch_input_type_t void * buf


Function Documentation

void bridge CoreSession session_a,
CoreSession session_b
 

bridge the audio of session_b into session_a

NOTE: the stuff regarding the dtmf callback might be completely wrong and has not been reviewed or tested

00975 {
00976     switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "bridge called, session_a uuid: %s\n", session_a.get_uuid());
00977         switch_input_callback_function_t dtmf_func = NULL;
00978         switch_input_args_t args;
00979 
00980         session_a.begin_allow_threads();
00981         args = session_a.get_cb_args();  // get the cb_args data structure for session a
00982         dtmf_func = args.input_callback;   // get the call back function
00983         switch_ivr_multi_threaded_bridge(session_a.session, session_b.session, dtmf_func, args.buf, args.buf);
00984         session_a.end_allow_threads();
00985 
00986 }

Here is the call graph for this function:

void console_clean_log char *  msg  ) 
 

00969 {
00970     switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN,SWITCH_LOG_DEBUG, "%s", switch_str_nil(msg));
00971 }

Here is the call graph for this function:

void console_log char *  level_str,
char *  msg
 

00957 {
00958     switch_log_level_t level = SWITCH_LOG_DEBUG;
00959     if (level_str) {
00960         level = switch_log_str2level(level_str);
00961                 if (level == SWITCH_LOG_INVALID) {
00962                         level = SWITCH_LOG_DEBUG;
00963                 }
00964     }
00965     switch_log_printf(SWITCH_CHANNEL_LOG, level, "%s", switch_str_nil(msg));
00966 }

Here is the call graph for this function:

void consoleCleanLog char *  msg  ) 
 

00952 {
00953         return console_clean_log(msg);
00954 }

Here is the call graph for this function:

void consoleLog char *  level_str,
char *  msg
 

00947 {
00948         return console_log(level_str, msg);
00949 }

Here is the call graph for this function:

SWITCH_DECLARE_NONSTD switch_status_t   ) 
 

the actual hangup hook called back by freeswitch core which in turn gets the session and calls the appropriate instance method to complete the callback.

00989 {
00990         switch_channel_t *channel = switch_core_session_get_channel(session_hungup);
00991         CoreSession *coresession = NULL;
00992         switch_channel_state_t state = switch_channel_get_state(channel);
00993 
00994         switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "hangup_hook called\n");
00995         
00996 
00997         if ((coresession = (CoreSession *) switch_channel_get_private(channel, "CoreSession"))) {
00998                 if (coresession->hook_state != state) {
00999                         coresession->hook_state = state;
01000                         coresession->check_hangup_hook();
01001                 }
01002         }
01003 
01004         return SWITCH_STATUS_SUCCESS;
01005 }

Here is the call graph for this function:


Variable Documentation

void switch_input_type_t void* buf
 

void* input
 

void switch_input_type_t itype
 


Generated on Mon May 26 22:06:52 2008 for FreeSWITCH by  doxygen 1.3.9.1