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

switch_types.h File Reference


Detailed Description

Data Types.


Data Structures

struct  switch_dtmf_t
struct  switch_bitpack_t
struct  switch_directories
struct  switch_rtp_hdr_t
struct  switch_input_args_t
struct  switch_loadable_module_function_table

Defines

#define SWITCH_BLANK_STRING   ""
#define SWITCH_SEQ_ESC   "\033["
#define SWITCH_SEQ_HOME_CHAR   'H'
#define SWITCH_SEQ_HOME_CHAR_STR   "H"
#define SWITCH_SEQ_CLEARLINE_CHAR   '1'
#define SWITCH_SEQ_CLEARLINE_CHAR_STR   "1"
#define SWITCH_SEQ_CLEARLINEEND_CHAR   "K"
#define SWITCH_SEQ_CLEARSCR_CHAR0   '2'
#define SWITCH_SEQ_CLEARSCR_CHAR1   'J'
#define SWITCH_SEQ_CLEARSCR_CHAR   "2J"
#define SWITCH_SEQ_DEFAULT_COLOR   SWITCH_SEQ_ESC SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_AND_COLOR   ";"
#define SWITCH_SEQ_END_COLOR   "m"
#define SWITCH_SEQ_F_BLACK   "30"
#define SWITCH_SEQ_F_RED   "31"
#define SWITCH_SEQ_F_GREEN   "32"
#define SWITCH_SEQ_F_YELLOW   "33"
#define SWITCH_SEQ_F_BLUE   "34"
#define SWITCH_SEQ_F_MAGEN   "35"
#define SWITCH_SEQ_F_CYAN   "36"
#define SWITCH_SEQ_F_WHITE   "37"
#define SWITCH_SEQ_B_BLACK   "40"
#define SWITCH_SEQ_B_RED   "41"
#define SWITCH_SEQ_B_GREEN   "42"
#define SWITCH_SEQ_B_YELLOW   "43"
#define SWITCH_SEQ_B_BLUE   "44"
#define SWITCH_SEQ_B_MAGEN   "45"
#define SWITCH_SEQ_B_CYAN   "46"
#define SWITCH_SEQ_B_WHITE   "47"
#define SWITCH_SEQ_FBLACK   SWITCH_SEQ_ESC SWITCH_SEQ_F_BLACK SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_FRED   SWITCH_SEQ_ESC SWITCH_SEQ_F_RED SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_FGREEN   SWITCH_SEQ_ESC SWITCH_SEQ_F_GREEN SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_FYELLOW   SWITCH_SEQ_ESC SWITCH_SEQ_F_YELLOW SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_FBLUE   SWITCH_SEQ_ESC SWITCH_SEQ_F_BLUE SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_FMAGEN   SWITCH_SEQ_ESC SWITCH_SEQ_F_MAGEN SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_FCYAN   SWITCH_SEQ_ESC SWITCH_SEQ_F_CYAN SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_FWHITE   SWITCH_SEQ_ESC SWITCH_SEQ_F_WHITE SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_BBLACK   SWITCH_SEQ_ESC SWITCH_SEQ_B_BLACK SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_BRED   SWITCH_SEQ_ESC SWITCH_SEQ_B_RED SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_BGREEN   SWITCH_SEQ_ESC SWITCH_SEQ_B_GREEN SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_BYELLOW   SWITCH_SEQ_ESC SWITCH_SEQ_B_YELLOW SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_BBLUE   SWITCH_SEQ_ESC SWITCH_SEQ_B_BLUE SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_BMAGEN   SWITCH_SEQ_ESC SWITCH_SEQ_B_MAGEN SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_BCYAN   SWITCH_SEQ_ESC SWITCH_SEQ_B_CYAN SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_BWHITE   SWITCH_SEQ_ESC SWITCH_SEQ_B_WHITE SWITCH_SEQ_END_COLOR
#define SWITCH_SEQ_HOME   SWITCH_SEQ_ESC SWITCH_SEQ_HOME_CHAR_STR
#define SWITCH_SEQ_CLEARLINE   SWITCH_SEQ_ESC SWITCH_SEQ_CLEARLINE_CHAR_STR
#define SWITCH_SEQ_CLEARLINEEND   SWITCH_SEQ_ESC SWITCH_SEQ_CLEARLINEEND_CHAR
#define SWITCH_SEQ_CLEARSCR   SWITCH_SEQ_ESC SWITCH_SEQ_CLEARSCR_CHAR SWITCH_SEQ_HOME
#define SWITCH_DEFAULT_DTMF_DURATION   2000
#define SWITCH_MAX_DTMF_DURATION   192000
#define SWITCH_DEFAULT_DIR_PERMS   SWITCH_FPROT_UREAD | SWITCH_FPROT_UWRITE | SWITCH_FPROT_UEXECUTE | SWITCH_FPROT_GREAD | SWITCH_FPROT_GEXECUTE
#define SWITCH_PATH_SEPARATOR   "/"
#define SWITCH_URL_SEPARATOR   "://"
#define SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE   "proto_specific_hangup_cause"
#define SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE   "execute_on_answer"
#define SWITCH_CALL_TIMEOUT_VARIABLE   "call_timeout"
#define SWITCH_HOLDING_UUID_VARIABLE   "holding_uuid"
#define SWITCH_API_BRIDGE_END_VARIABLE   "api_after_bridge"
#define SWITCH_API_HANGUP_HOOK_VARIABLE   "api_hangup_hook"
#define SWITCH_PROCESS_CDR_VARIABLE   "process_cdr"
#define SWITCH_BRIDGE_CHANNEL_VARIABLE   "bridge_channel"
#define SWITCH_CHANNEL_NAME_VARIABLE   "channel_name"
#define SWITCH_BRIDGE_UUID_VARIABLE   "bridge_uuid"
#define SWITCH_PLAYBACK_TERMINATORS_VARIABLE   "playback_terminators"
#define SWITCH_CACHE_SPEECH_HANDLES_VARIABLE   "cache_speech_handles"
#define SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME   "__cache_speech_handles_obj__"
#define SWITCH_BYPASS_MEDIA_VARIABLE   "bypass_media"
#define SWITCH_PROXY_MEDIA_VARIABLE   "proxy_media"
#define SWITCH_ENDPOINT_DISPOSITION_VARIABLE   "endpoint_disposition"
#define SWITCH_HOLD_MUSIC_VARIABLE   "hold_music"
#define SWITCH_EXPORT_VARS_VARIABLE   "export_vars"
#define SWITCH_R_SDP_VARIABLE   "switch_r_sdp"
#define SWITCH_L_SDP_VARIABLE   "switch_l_sdp"
#define SWITCH_B_SDP_VARIABLE   "switch_m_sdp"
#define SWITCH_BRIDGE_VARIABLE   "bridge_to"
#define SWITCH_SIGNAL_BRIDGE_VARIABLE   "signal_bridge_to"
#define SWITCH_SIGNAL_BOND_VARIABLE   "signal_bond"
#define SWITCH_ORIGINATOR_VARIABLE   "originator"
#define SWITCH_ORIGINATOR_CODEC_VARIABLE   "originator_codec"
#define SWITCH_LOCAL_MEDIA_IP_VARIABLE   "local_media_ip"
#define SWITCH_LOCAL_MEDIA_PORT_VARIABLE   "local_media_port"
#define SWITCH_REMOTE_MEDIA_IP_VARIABLE   "remote_media_ip"
#define SWITCH_REMOTE_MEDIA_PORT_VARIABLE   "remote_media_port"
#define SWITCH_REMOTE_VIDEO_IP_VARIABLE   "remote_video_ip"
#define SWITCH_REMOTE_VIDEO_PORT_VARIABLE   "remote_video_port"
#define SWITCH_LOCAL_VIDEO_IP_VARIABLE   "local_video_ip"
#define SWITCH_LOCAL_VIDEO_PORT_VARIABLE   "local_video_port"
#define SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE   "hangup_after_bridge"
#define SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE   "exec_after_bridge_app"
#define SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE   "exec_after_bridge_arg"
#define SWITCH_MAX_FORWARDS_VARIABLE   "max_forwards"
#define SWITCH_DISABLE_APP_LOG_VARIABLE   "disable_app_log"
#define SWITCH_SPEECH_KEY   "speech"
#define SWITCH_UUID_BRIDGE   "uuid_bridge"
#define SWITCH_BITS_PER_BYTE   8
#define SWITCH_MAX_STACKS   32
#define SWITCH_THREAD_STACKSIZE   240 * 1024
#define SWITCH_MAX_INTERVAL   120
#define SWITCH_INTERVAL_PAD   10
#define SWITCH_MAX_SAMPLE_LEN   32
#define SWITCH_BYTES_PER_SAMPLE   2
#define SWITCH_RECOMMENDED_BUFFER_SIZE   (SWITCH_BYTES_PER_SAMPLE * SWITCH_MAX_SAMPLE_LEN * (SWITCH_MAX_INTERVAL + SWITCH_INTERVAL_PAD))
#define SWITCH_MAX_CODECS   30
#define SWITCH_MAX_STATE_HANDLERS   30
#define SWITCH_CORE_QUEUE_LEN   100000
#define SWITCH_MAX_MANAGEMENT_BUFFER_LEN   1024 * 8
#define SWITCH_ACCEPTABLE_INTERVAL(_i)   (_i && _i <= SWITCH_MAX_INTERVAL && (_i % 10) == 0)
#define SWITCH_RTP_CNG_PAYLOAD   13
#define SWITCH_CHANNEL_LOG   SWITCH_CHANNEL_ID_LOG, __FILE__, __SWITCH_FUNC__, __LINE__, NULL
#define SWITCH_CHANNEL_LOG_CLEAN   SWITCH_CHANNEL_ID_LOG_CLEAN, __FILE__, __SWITCH_FUNC__, __LINE__, NULL
#define SWITCH_CHANNEL_EVENT   SWITCH_CHANNEL_ID_EVENT, __FILE__, __SWITCH_FUNC__, __LINE__, NULL
#define SWITCH_STANDARD_APP(name)   static void name (switch_core_session_t *session, const char *data)
#define SWITCH_STANDARD_DIALPLAN(name)   static switch_caller_extension_t * name (switch_core_session_t *session, void *arg, switch_caller_profile_t *caller_profile)
#define SWITCH_STANDARD_SCHED_FUNC(name)   static void name (switch_scheduler_task_t *task)
#define SWITCH_STANDARD_API(name)   static switch_status_t name (_In_opt_z_ const char *cmd, _In_opt_ switch_core_session_t *session, _In_ switch_stream_handle_t *stream)
#define SWITCH_API_VERSION   1
#define SWITCH_MODULE_LOAD_ARGS   (switch_loadable_module_interface_t **module_interface, switch_memory_pool_t *pool)
#define SWITCH_MODULE_RUNTIME_ARGS   (void)
#define SWITCH_MODULE_SHUTDOWN_ARGS   (void)
#define SWITCH_MODULE_LOAD_FUNCTION(name)   switch_status_t name SWITCH_MODULE_LOAD_ARGS
#define SWITCH_MODULE_RUNTIME_FUNCTION(name)   switch_status_t name SWITCH_MODULE_RUNTIME_ARGS
#define SWITCH_MODULE_SHUTDOWN_FUNCTION(name)   switch_status_t name SWITCH_MODULE_SHUTDOWN_ARGS
#define SWITCH_MODULE_DEFINITION(name, load, shutdown, runtime)

Typedefs

typedef uint8_t switch_byte_t
typedef switch_directories switch_directories
typedef apr_pool_t switch_memory_pool_t
typedef uint16_t switch_port_t
typedef uint8_t switch_payload_t
typedef switch_app_log switch_app_log_t
typedef switch_rtp switch_rtp_t
typedef switch_core_session_message switch_core_session_message_t
typedef switch_event_header switch_event_header_t
typedef switch_event switch_event_t
typedef switch_event_subclass switch_event_subclass_t
typedef switch_event_node switch_event_node_t
typedef switch_loadable_module switch_loadable_module_t
typedef switch_frame switch_frame_t
typedef switch_channel switch_channel_t
typedef switch_file_handle switch_file_handle_t
typedef switch_core_session switch_core_session_t
typedef switch_caller_profile switch_caller_profile_t
typedef switch_caller_extension switch_caller_extension_t
typedef switch_caller_application switch_caller_application_t
typedef switch_state_handler_table switch_state_handler_table_t
typedef switch_timer switch_timer_t
typedef switch_codec switch_codec_t
typedef switch_core_thread_session switch_core_thread_session_t
typedef switch_codec_implementation switch_codec_implementation_t
typedef switch_buffer switch_buffer_t
typedef switch_codec_settings switch_codec_settings_t
typedef switch_odbc_handle switch_odbc_handle_t
typedef switch_io_routines switch_io_routines_t
typedef switch_speech_handle switch_speech_handle_t
typedef switch_asr_handle switch_asr_handle_t
typedef switch_directory_handle switch_directory_handle_t
typedef switch_loadable_module_interface switch_loadable_module_interface_t
typedef switch_endpoint_interface switch_endpoint_interface_t
typedef switch_timer_interface switch_timer_interface_t
typedef switch_dialplan_interface switch_dialplan_interface_t
typedef switch_codec_interface switch_codec_interface_t
typedef switch_application_interface switch_application_interface_t
typedef switch_api_interface switch_api_interface_t
typedef switch_file_interface switch_file_interface_t
typedef switch_speech_interface switch_speech_interface_t
typedef switch_asr_interface switch_asr_interface_t
typedef switch_directory_interface switch_directory_interface_t
typedef switch_chat_interface switch_chat_interface_t
typedef switch_management_interface switch_management_interface_t
typedef switch_core_port_allocator switch_core_port_allocator_t
typedef switch_media_bug switch_media_bug_t
typedef switch_bool_t(* switch_media_bug_callback_t )(switch_media_bug_t *, void *, switch_abc_type_t)
typedef switch_status_t(* switch_core_codec_encode_func_t )(switch_codec_t *codec, switch_codec_t *other_codec, void *decoded_data, uint32_t decoded_data_len, uint32_t decoded_rate, void *encoded_data, uint32_t *encoded_data_len, uint32_t *encoded_rate, unsigned int *flag)
typedef switch_status_t(* switch_core_codec_decode_func_t )(switch_codec_t *codec, switch_codec_t *other_codec, void *encoded_data, uint32_t encoded_data_len, uint32_t encoded_rate, void *decoded_data, uint32_t *decoded_data_len, uint32_t *decoded_rate, unsigned int *flag)
typedef switch_status_t(* switch_core_codec_init_func_t )(switch_codec_t *, switch_codec_flag_t, const switch_codec_settings_t *codec_settings)
typedef switch_status_t(* switch_core_codec_destroy_func_t )(switch_codec_t *)
typedef void(* switch_application_function_t )(switch_core_session_t *, const char *)
typedef void(* switch_event_callback_t )(switch_event_t *)
typedef switch_caller_extension_t *(* switch_dialplan_hunt_function_t )(switch_core_session_t *, void *, switch_caller_profile_t *)
typedef switch_scheduler_task switch_scheduler_task_t
typedef void(* switch_scheduler_func_t )(switch_scheduler_task_t *task)
typedef switch_status_t(* switch_state_handler_t )(switch_core_session_t *)
typedef switch_stream_handle switch_stream_handle_t
typedef switch_status_t(* switch_stream_handle_write_function_t )(switch_stream_handle_t *handle, const char *fmt,...)
typedef switch_status_t(* switch_stream_handle_raw_write_function_t )(switch_stream_handle_t *handle, uint8_t *data, switch_size_t datalen)
typedef switch_status_t(* switch_api_function_t )(_In_opt_z_ const char *cmd, _In_opt_ switch_core_session_t *session, _In_ switch_stream_handle_t *stream)
typedef switch_status_t(* switch_input_callback_function_t )(switch_core_session_t *session, void *input, switch_input_type_t input_type, void *buf, unsigned int buflen)
typedef switch_status_t(* switch_read_frame_callback_function_t )(switch_core_session_t *session, switch_frame_t *frame, void *user_data)
typedef switch_say_interface switch_say_interface_t
typedef switch_status_t(* switch_say_callback_t )(switch_core_session_t *session, char *tosay, switch_say_type_t type, switch_say_method_t method, switch_input_args_t *args)
typedef switch_xmlswitch_xml_t
typedef switch_core_time_duration switch_core_time_duration_t
typedef switch_xml_t(* switch_xml_search_function_t )(const char *section, const char *tag_name, const char *key_name, const char *key_value, switch_event_t *params, void *user_data)
typedef switch_hash switch_hash_t
typedef HashElem switch_hash_index_t
typedef switch_network_list switch_network_list_t
typedef switch_status_t(* switch_module_load_t )(switch_loadable_module_interface_t **module_interface, switch_memory_pool_t *pool)
typedef switch_status_t(* switch_module_runtime_t )(void)
typedef switch_status_t(* switch_module_shutdown_t )(void)
typedef switch_loadable_module_function_table switch_loadable_module_function_table_t

Enumerations

enum  switch_bind_flag_t {
  SBF_DIAL_ALEG = (1 << 0), SBF_EXEC_ALEG = (1 << 1), SBF_DIAL_BLEG = (1 << 2), SBF_EXEC_BLEG = (1 << 3),
  SBF_EXEC_OPPOSITE = (1 << 4), SBF_EXEC_SAME = (1 << 5)
}
enum  switch_dtmf_direction_t { SWITCH_DTMF_RECV = 0, SWITCH_DTMF_SEND = 1 }
enum  switch_originate_flag_t { SOF_NONE = 0, SOF_NOBLOCK = (1 << 0), SOF_FORKED_DIAL = (1 << 1) }
enum  switch_port_flag_t { SPF_NONE = 0, SPF_ODD = (1 << 0), SPF_EVEN = (1 << 1) }
enum  switch_eavesdrop_flag_t { ED_MUX_READ = (1 << 0), ED_MUX_WRITE = (1 << 1), ED_DTMF = (1 << 2) }
enum  switch_core_flag_t {
  SCF_NONE = 0, SCF_USE_SQL = ( 1 << 0), SCF_NO_NEW_SESSIONS = (1 << 1), SCF_SHUTTING_DOWN = (1 << 2),
  SCF_CRASH_PROT = (1 << 3)
}
enum  switch_module_interface_name_t {
  SWITCH_ENDPOINT_INTERFACE, SWITCH_TIMER_INTERFACE, SWITCH_DIALPLAN_INTERFACE, SWITCH_CODEC_INTERFACE,
  SWITCH_APPLICATION_INTERFACE, SWITCH_API_INTERFACE, SWITCH_FILE_INTERFACE, SWITCH_SPEECH_INTERFACE,
  SWITCH_DIRECTORY_INTERFACE, SWITCH_CHAT_INTERFACE, SWITCH_SAY_INTERFACE, SWITCH_ASR_INTERFACE,
  SWITCH_MANAGEMENT_INTERFACE
}
enum  switch_unicast_flag_t { SUF_NONE = 0, SUF_THREAD_RUNNING = (1 << 0), SUF_READY = (1 << 1), SUF_NATIVE = (1 << 2) }
enum  switch_bool_t { SWITCH_FALSE = 0, SWITCH_TRUE = 1 }
enum  switch_say_method_t { SSM_NA, SSM_PRONOUNCED, SSM_ITERATED, SSM_COUNTED }
enum  switch_say_type_t {
  SST_NUMBER, SST_ITEMS, SST_PERSONS, SST_MESSAGES,
  SST_CURRENCY, SST_TIME_MEASUREMENT, SST_CURRENT_DATE, SST_CURRENT_TIME,
  SST_CURRENT_DATE_TIME, SST_TELEPHONE_NUMBER, SST_TELEPHONE_EXTENSION, SST_URL,
  SST_IP_ADDRESS, SST_EMAIL_ADDRESS, SST_POSTAL_ADDRESS, SST_ACCOUNT_NUMBER,
  SST_NAME_SPELLED, SST_NAME_PHONETIC
}
enum  switch_management_action_t { SMA_NONE, SMA_GET, SMA_SET }
enum  switch_scheduler_flag_t { SSHF_NONE = 0, SSHF_OWN_THREAD = (1 << 0), SSHF_FREE_ARG = (1 << 1), SSHF_NO_DEL = (1 << 2) }
enum  switch_media_flag_t {
  SMF_NONE = 0, SMF_REBRIDGE = (1 << 0), SMF_ECHO_ALEG = (1 << 1), SMF_ECHO_BLEG = (1 << 2),
  SMF_FORCE = (1 << 3), SMF_LOOP = (1 << 4), SMF_HOLD_BLEG = (1 << 5)
}
enum  switch_bitpack_mode_t { SWITCH_BITPACK_MODE_RFC3551, SWITCH_BITPACK_MODE_AAL2 }
enum  switch_abc_type_t {
  SWITCH_ABC_TYPE_INIT, SWITCH_ABC_TYPE_READ, SWITCH_ABC_TYPE_WRITE, SWITCH_ABC_TYPE_WRITE_REPLACE,
  SWITCH_ABC_TYPE_READ_REPLACE, SWITCH_ABC_TYPE_READ_PING, SWITCH_ABC_TYPE_CLOSE
}
enum  switch_caller_profile_flag_t { SWITCH_CPF_SCREEN = (1 << 0), SWITCH_CPF_HIDE_NAME = (1 << 1), SWITCH_CPF_HIDE_NUMBER = (1 << 2) }
enum  switch_audio_col_t {
  SWITCH_AUDIO_COL_STR_TITLE = 0x01, SWITCH_AUDIO_COL_STR_COPYRIGHT = 0x02, SWITCH_AUDIO_COL_STR_SOFTWARE = 0x03, SWITCH_AUDIO_COL_STR_ARTIST = 0x04,
  SWITCH_AUDIO_COL_STR_COMMENT = 0x05, SWITCH_AUDIO_COL_STR_DATE = 0x06
}
enum  switch_xml_section_t {
  SWITCH_XML_SECTION_RESULT = 0, SWITCH_XML_SECTION_CONFIG = (1 << 0), SWITCH_XML_SECTION_DIRECTORY = (1 << 1), SWITCH_XML_SECTION_DIALPLAN = (1 << 2),
  SWITCH_XML_SECTION_PHRASES = (1 << 3)
}
enum  switch_vad_flag_t { SWITCH_VAD_FLAG_TALKING = (1 << 0), SWITCH_VAD_FLAG_EVENTS_TALK = (1 << 1), SWITCH_VAD_FLAG_EVENTS_NOTALK = (1 << 2), SWITCH_VAD_FLAG_CNG = (1 << 3) }
 RTP Related Flags. More...
enum  switch_rtp_flag_t {
  SWITCH_RTP_FLAG_NOBLOCK = (1 << 0), SWITCH_RTP_FLAG_IO = (1 << 1), SWITCH_RTP_FLAG_USE_TIMER = (1 << 2), SWITCH_RTP_FLAG_TIMER_RECLOCK = (1 << 3),
  SWITCH_RTP_FLAG_SECURE_SEND = (1 << 4), SWITCH_RTP_FLAG_SECURE_RECV = (1 << 5), SWITCH_RTP_FLAG_AUTOADJ = (1 << 6), SWITCH_RTP_FLAG_RAW_WRITE = (1 << 7),
  SWITCH_RTP_FLAG_GOOGLEHACK = (1 << 8), SWITCH_RTP_FLAG_VAD = (1 << 9), SWITCH_RTP_FLAG_BREAK = (1 << 10), SWITCH_RTP_FLAG_MINI = (1 << 11),
  SWITCH_RTP_FLAG_DATAWAIT = (1 << 12), SWITCH_RTP_FLAG_BUGGY_2833 = (1 << 13), SWITCH_RTP_FLAG_PASS_RFC2833 = (1 << 14), SWITCH_RTP_FLAG_AUTO_CNG = (1 << 15),
  SWITCH_RTP_FLAG_SECURE_SEND_RESET = (1 << 16), SWITCH_RTP_FLAG_SECURE_RECV_RESET = (1 << 17), SWITCH_RTP_FLAG_PROXY_MEDIA = (1 << 18), SWITCH_RTP_FLAG_SHUTDOWN = (1 << 19)
}
 RTP Related Flags. More...
enum  switch_priority_t { SWITCH_PRIORITY_NORMAL, SWITCH_PRIORITY_LOW, SWITCH_PRIORITY_HIGH }
 Priority Indication. More...
enum  switch_ivr_option_t { SWITCH_IVR_OPTION_NONE = 0, SWITCH_IVR_OPTION_ASYNC = (1 << 0), SWITCH_IVR_OPTION_FILE = (1 << 1) }
 Possible options related to ivr functions. More...
enum  switch_core_session_message_types_t {
  SWITCH_MESSAGE_REDIRECT_AUDIO, SWITCH_MESSAGE_TRANSMIT_TEXT, SWITCH_MESSAGE_INDICATE_ANSWER, SWITCH_MESSAGE_INDICATE_PROGRESS,
  SWITCH_MESSAGE_INDICATE_BRIDGE, SWITCH_MESSAGE_INDICATE_UNBRIDGE, SWITCH_MESSAGE_INDICATE_TRANSFER, SWITCH_MESSAGE_INDICATE_RINGING,
  SWITCH_MESSAGE_INDICATE_MEDIA, SWITCH_MESSAGE_INDICATE_NOMEDIA, SWITCH_MESSAGE_INDICATE_HOLD, SWITCH_MESSAGE_INDICATE_UNHOLD,
  SWITCH_MESSAGE_INDICATE_REDIRECT, SWITCH_MESSAGE_INDICATE_RESPOND, SWITCH_MESSAGE_INDICATE_BROADCAST, SWITCH_MESSAGE_INDICATE_MEDIA_REDIRECT,
  SWITCH_MESSAGE_INDICATE_DEFLECT, SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ, SWITCH_MESSAGE_INDICATE_DISPLAY, SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY
}
 Possible types of messages for inter-session communication. More...
enum  switch_stack_t { SWITCH_STACK_BOTTOM, SWITCH_STACK_TOP }
 Expression of how to stack a list. More...
enum  switch_status_t {
  SWITCH_STATUS_SUCCESS, SWITCH_STATUS_FALSE, SWITCH_STATUS_TIMEOUT, SWITCH_STATUS_RESTART,
  SWITCH_STATUS_TERM, SWITCH_STATUS_NOTIMPL, SWITCH_STATUS_MEMERR, SWITCH_STATUS_NOOP,
  SWITCH_STATUS_RESAMPLE, SWITCH_STATUS_GENERR, SWITCH_STATUS_INUSE, SWITCH_STATUS_BREAK,
  SWITCH_STATUS_SOCKERR, SWITCH_STATUS_MORE_DATA, SWITCH_STATUS_NOTFOUND, SWITCH_STATUS_UNLOAD,
  SWITCH_STATUS_NOUNLOAD, SWITCH_STATUS_IGNORE
}
 Common return values. More...
enum  switch_log_level_t {
  SWITCH_LOG_DEBUG = 7, SWITCH_LOG_INFO = 6, SWITCH_LOG_NOTICE = 5, SWITCH_LOG_WARNING = 4,
  SWITCH_LOG_ERROR = 3, SWITCH_LOG_CRIT = 2, SWITCH_LOG_ALERT = 1, SWITCH_LOG_CONSOLE = 0,
  SWITCH_LOG_INVALID = 64
}
 Log Level Enumeration. More...
enum  switch_text_channel_t { SWITCH_CHANNEL_ID_LOG, SWITCH_CHANNEL_ID_LOG_CLEAN, SWITCH_CHANNEL_ID_EVENT }
 A target to write log/debug info to. More...
enum  switch_core_session_message_flag_t { SCSMF_DYNAMIC = (1 << 0) }
enum  switch_channel_state_t {
  CS_NEW, CS_INIT, CS_ROUTING, CS_SOFT_EXECUTE,
  CS_EXECUTE, CS_EXCHANGE_MEDIA, CS_PARK, CS_CONSUME_MEDIA,
  CS_HIBERNATE, CS_RESET, CS_HANGUP, CS_DONE,
  CS_NONE
}
 Channel States (these are the defaults, CS_SOFT_EXECUTE, CS_EXCHANGE_MEDIA, and CS_CONSUME_MEDIA are often overridden by specific apps). More...
enum  switch_channel_flag_t {
  CF_ANSWERED = (1 << 0), CF_OUTBOUND = (1 << 1), CF_EARLY_MEDIA = (1 << 2), CF_ORIGINATOR = (1 << 3),
  CF_TRANSFER = (1 << 4), CF_ACCEPT_CNG = (1 << 5), CF_WAIT_FOR_ME = (1 << 6), CF_BRIDGED = (1 << 7),
  CF_HOLD = (1 << 8), CF_SERVICE = (1 << 9), CF_TAGGED = (1 << 10), CF_WINNER = (1 << 11),
  CF_CONTROLLED = (1 << 12), CF_PROXY_MODE = (1 << 13), CF_SUSPEND = (1 << 14), CF_EVENT_PARSE = (1 << 15),
  CF_REPEAT_STATE = (1 << 16), CF_GEN_RINGBACK = (1 << 17), CF_RING_READY = (1 << 18), CF_BREAK = (1 << 19),
  CF_BROADCAST = (1 << 20), CF_UNICAST = (1 << 21), CF_VIDEO = (1 << 22), CF_EVENT_LOCK = (1 << 23),
  CF_RESET = (1 << 24), CF_ORIGINATING = (1 << 25), CF_STOP_BROADCAST = (1 << 26), CF_PROXY_MEDIA = (1 << 27),
  CF_INNER_BRIDGE = (1 << 28), CF_REQ_MEDIA = (1 << 29)
}
 Channel Flags. More...
enum  switch_frame_flag_t {
  SFF_NONE = 0, SFF_CNG = (1 << 0), SFF_RAW_RTP = (1 << 1), SFF_RTP_HEADER = (1 << 2),
  SFF_PLC = (1 << 3), SFF_RFC2833 = (1 << 4), SFF_PROXY_PACKET = (1 << 5)
}
 Frame Flags. More...
enum  switch_application_flag_t { SAF_NONE = 0, SAF_SUPPORT_NOMEDIA = (1 << 0) }
enum  switch_signal_t { SWITCH_SIG_NONE, SWITCH_SIG_KILL, SWITCH_SIG_XFER, SWITCH_SIG_BREAK }
 Signals to send to channels. More...
enum  switch_codec_flag_t {
  SWITCH_CODEC_FLAG_ENCODE = (1 << 0), SWITCH_CODEC_FLAG_DECODE = (1 << 1), SWITCH_CODEC_FLAG_SILENCE_START = (1 << 2), SWITCH_CODEC_FLAG_SILENCE_STOP = (1 << 3),
  SWITCH_CODEC_FLAG_SILENCE = (1 << 4), SWITCH_CODEC_FLAG_FREE_POOL = (1 << 5), SWITCH_CODEC_FLAG_AAL2 = (1 << 6), SWITCH_CODEC_FLAG_PASSTHROUGH = (1 << 7)
}
 Codec related flags. More...
enum  switch_speech_flag_t {
  SWITCH_SPEECH_FLAG_NONE = 0, SWITCH_SPEECH_FLAG_HASTEXT = (1 << 0), SWITCH_SPEECH_FLAG_PEEK = (1 << 1), SWITCH_SPEECH_FLAG_FREE_POOL = (1 << 2),
  SWITCH_SPEECH_FLAG_BLOCKING = (1 << 3), SWITCH_SPEECH_FLAG_PAUSE = (1 << 4)
}
 Speech related flags. More...
enum  switch_asr_flag_t {
  SWITCH_ASR_FLAG_NONE = 0, SWITCH_ASR_FLAG_DATA = (1 << 0), SWITCH_ASR_FLAG_FREE_POOL = (1 << 1), SWITCH_ASR_FLAG_CLOSED = (1 << 2),
  SWITCH_ASR_FLAG_FIRE_EVENTS = (1 << 3), SWITCH_ASR_FLAG_AUTO_RESUME = (1 << 4)
}
 Asr related flags. More...
enum  switch_directory_flag_t { SWITCH_DIRECTORY_FLAG_FREE_POOL = (1 << 0) }
 Directory Handle related flags. More...
enum  switch_codec_type_t { SWITCH_CODEC_TYPE_AUDIO, SWITCH_CODEC_TYPE_VIDEO, SWITCH_CODEC_TYPE_T38, SWITCH_CODEC_TYPE_APP }
 Codec types. More...
enum  switch_timer_flag_t { SWITCH_TIMER_FLAG_FREE_POOL = (1 << 0) }
 Timer related flags. More...
enum  switch_media_bug_flag_t {
  SMBF_BOTH = 0, SMBF_READ_STREAM = (1 << 0), SMBF_WRITE_STREAM = (1 << 1), SMBF_WRITE_REPLACE = (1 << 2),
  SMBF_READ_REPLACE = (1 << 3), SMBF_READ_PING = (1 << 4), SMBF_STEREO = (1 << 5), SMBF_RECORD_ANSWER_REQ = (1 << 6),
  SMBF_THREAD_LOCK = (1 << 7)
}
enum  switch_file_flag_t {
  SWITCH_FILE_FLAG_READ = (1 << 0), SWITCH_FILE_FLAG_WRITE = (1 << 1), SWITCH_FILE_FLAG_FREE_POOL = (1 << 2), SWITCH_FILE_DATA_SHORT = (1 << 3),
  SWITCH_FILE_DATA_INT = (1 << 4), SWITCH_FILE_DATA_FLOAT = (1 << 5), SWITCH_FILE_DATA_DOUBLE = (1 << 6), SWITCH_FILE_DATA_RAW = (1 << 7),
  SWITCH_FILE_PAUSE = (1 << 8), SWITCH_FILE_NATIVE = (1 << 9), SWITCH_FILE_SEEK = (1 << 10), SWITCH_FILE_OPEN = (1 << 11),
  SWITCH_FILE_CALLBACK = (1 << 12)
}
 File flags. More...
enum  switch_io_flag_t { SWITCH_IO_FLAG_NONE = 0, SWITCH_IO_FLAG_NOBLOCK = (1 << 0) }
enum  switch_event_types_t {
  SWITCH_EVENT_CUSTOM, SWITCH_EVENT_CHANNEL_CREATE, SWITCH_EVENT_CHANNEL_DESTROY, SWITCH_EVENT_CHANNEL_STATE,
  SWITCH_EVENT_CHANNEL_ANSWER, SWITCH_EVENT_CHANNEL_HANGUP, SWITCH_EVENT_CHANNEL_EXECUTE, SWITCH_EVENT_CHANNEL_EXECUTE_COMPLETE,
  SWITCH_EVENT_CHANNEL_BRIDGE, SWITCH_EVENT_CHANNEL_UNBRIDGE, SWITCH_EVENT_CHANNEL_PROGRESS, SWITCH_EVENT_CHANNEL_OUTGOING,
  SWITCH_EVENT_CHANNEL_PARK, SWITCH_EVENT_CHANNEL_UNPARK, SWITCH_EVENT_CHANNEL_APPLICATION, SWITCH_EVENT_CHANNEL_ORIGINATE,
  SWITCH_EVENT_API, SWITCH_EVENT_LOG, SWITCH_EVENT_INBOUND_CHAN, SWITCH_EVENT_OUTBOUND_CHAN,
  SWITCH_EVENT_STARTUP, SWITCH_EVENT_SHUTDOWN, SWITCH_EVENT_PUBLISH, SWITCH_EVENT_UNPUBLISH,
  SWITCH_EVENT_TALK, SWITCH_EVENT_NOTALK, SWITCH_EVENT_SESSION_CRASH, SWITCH_EVENT_MODULE_LOAD,
  SWITCH_EVENT_MODULE_UNLOAD, SWITCH_EVENT_DTMF, SWITCH_EVENT_MESSAGE, SWITCH_EVENT_PRESENCE_IN,
  SWITCH_EVENT_PRESENCE_OUT, SWITCH_EVENT_PRESENCE_PROBE, SWITCH_EVENT_MESSAGE_WAITING, SWITCH_EVENT_MESSAGE_QUERY,
  SWITCH_EVENT_ROSTER, SWITCH_EVENT_CODEC, SWITCH_EVENT_BACKGROUND_JOB, SWITCH_EVENT_DETECTED_SPEECH,
  SWITCH_EVENT_DETECTED_TONE, SWITCH_EVENT_PRIVATE_COMMAND, SWITCH_EVENT_HEARTBEAT, SWITCH_EVENT_TRAP,
  SWITCH_EVENT_ADD_SCHEDULE, SWITCH_EVENT_DEL_SCHEDULE, SWITCH_EVENT_EXE_SCHEDULE, SWITCH_EVENT_RE_SCHEDULE,
  SWITCH_EVENT_RELOADXML, SWITCH_EVENT_ALL
}
 Built-in Events. More...
enum  switch_input_type_t { SWITCH_INPUT_TYPE_DTMF, SWITCH_INPUT_TYPE_EVENT }
enum  switch_call_cause_t {
  SWITCH_CAUSE_UNALLOCATED = 0, SWITCH_CAUSE_SUCCESS = 1, SWITCH_CAUSE_NO_ROUTE_TRANSIT_NET = 2, SWITCH_CAUSE_NO_ROUTE_DESTINATION = 3,
  SWITCH_CAUSE_CHANNEL_UNACCEPTABLE = 6, SWITCH_CAUSE_CALL_AWARDED_DELIVERED = 7, SWITCH_CAUSE_NORMAL_CLEARING = 16, SWITCH_CAUSE_USER_BUSY = 17,
  SWITCH_CAUSE_NO_USER_RESPONSE = 18, SWITCH_CAUSE_NO_ANSWER = 19, SWITCH_CAUSE_SUBSCRIBER_ABSENT = 20, SWITCH_CAUSE_CALL_REJECTED = 21,
  SWITCH_CAUSE_NUMBER_CHANGED = 22, SWITCH_CAUSE_REDIRECTION_TO_NEW_DESTINATION = 23, SWITCH_CAUSE_EXCHANGE_ROUTING_ERROR = 25, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER = 27,
  SWITCH_CAUSE_INVALID_NUMBER_FORMAT = 28, SWITCH_CAUSE_FACILITY_REJECTED = 29, SWITCH_CAUSE_RESPONSE_TO_STATUS_ENQUIRY = 30, SWITCH_CAUSE_NORMAL_UNSPECIFIED = 31,
  SWITCH_CAUSE_NORMAL_CIRCUIT_CONGESTION = 34, SWITCH_CAUSE_NETWORK_OUT_OF_ORDER = 38, SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE = 41, SWITCH_CAUSE_SWITCH_CONGESTION = 42,
  SWITCH_CAUSE_ACCESS_INFO_DISCARDED = 43, SWITCH_CAUSE_REQUESTED_CHAN_UNAVAIL = 44, SWITCH_CAUSE_PRE_EMPTED = 45, SWITCH_CAUSE_FACILITY_NOT_SUBSCRIBED = 50,
  SWITCH_CAUSE_OUTGOING_CALL_BARRED = 52, SWITCH_CAUSE_INCOMING_CALL_BARRED = 54, SWITCH_CAUSE_BEARERCAPABILITY_NOTAUTH = 57, SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL = 58,
  SWITCH_CAUSE_SERVICE_UNAVAILABLE = 63, SWITCH_CAUSE_BEARERCAPABILITY_NOTIMPL = 65, SWITCH_CAUSE_CHAN_NOT_IMPLEMENTED = 66, SWITCH_CAUSE_FACILITY_NOT_IMPLEMENTED = 69,
  SWITCH_CAUSE_SERVICE_NOT_IMPLEMENTED = 79, SWITCH_CAUSE_INVALID_CALL_REFERENCE = 81, SWITCH_CAUSE_INCOMPATIBLE_DESTINATION = 88, SWITCH_CAUSE_INVALID_MSG_UNSPECIFIED = 95,
  SWITCH_CAUSE_MANDATORY_IE_MISSING = 96, SWITCH_CAUSE_MESSAGE_TYPE_NONEXIST = 97, SWITCH_CAUSE_WRONG_MESSAGE = 98, SWITCH_CAUSE_IE_NONEXIST = 99,
  SWITCH_CAUSE_INVALID_IE_CONTENTS = 100, SWITCH_CAUSE_WRONG_CALL_STATE = 101, SWITCH_CAUSE_RECOVERY_ON_TIMER_EXPIRE = 102, SWITCH_CAUSE_MANDATORY_IE_LENGTH_ERROR = 103,
  SWITCH_CAUSE_PROTOCOL_ERROR = 111, SWITCH_CAUSE_INTERWORKING = 127, SWITCH_CAUSE_ORIGINATOR_CANCEL = 487, SWITCH_CAUSE_CRASH = 500,
  SWITCH_CAUSE_SYSTEM_SHUTDOWN = 501, SWITCH_CAUSE_LOSE_RACE = 502, SWITCH_CAUSE_MANAGER_REQUEST = 503, SWITCH_CAUSE_BLIND_TRANSFER = 600,
  SWITCH_CAUSE_ATTENDED_TRANSFER = 601, SWITCH_CAUSE_ALLOTTED_TIMEOUT = 602, SWITCH_CAUSE_USER_CHALLENGE = 603, SWITCH_CAUSE_MEDIA_TIMEOUT = 604,
  SWITCH_CAUSE_PICKED_OFF = 605
}
enum  switch_session_ctl_t {
  SCSC_PAUSE_INBOUND, SCSC_HUPALL, SCSC_SHUTDOWN, SCSC_CHECK_RUNNING,
  SCSC_LOGLEVEL, SCSC_SPS, SCSC_LAST_SPS, SCSC_RECLAIM,
  SCSC_MAX_SESSIONS, SCSC_SYNC_CLOCK, SCSC_MAX_DTMF_DURATION, SCSC_DEFAULT_DTMF_DURATION
}

Variables

SWITCH_DECLARE_DATA switch_directories SWITCH_GLOBAL_dirs


Define Documentation

#define SWITCH_ACCEPTABLE_INTERVAL _i   )     (_i && _i <= SWITCH_MAX_INTERVAL && (_i % 10) == 0)
 

#define SWITCH_API_BRIDGE_END_VARIABLE   "api_after_bridge"
 

#define SWITCH_API_HANGUP_HOOK_VARIABLE   "api_hangup_hook"
 

#define SWITCH_API_VERSION   1
 

#define SWITCH_B_SDP_VARIABLE   "switch_m_sdp"
 

#define SWITCH_BITS_PER_BYTE   8
 

#define SWITCH_BLANK_STRING   ""
 

#define SWITCH_BRIDGE_CHANNEL_VARIABLE   "bridge_channel"
 

#define SWITCH_BRIDGE_UUID_VARIABLE   "bridge_uuid"
 

#define SWITCH_BRIDGE_VARIABLE   "bridge_to"
 

#define SWITCH_BYPASS_MEDIA_VARIABLE   "bypass_media"
 

#define SWITCH_BYTES_PER_SAMPLE   2
 

#define SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME   "__cache_speech_handles_obj__"
 

#define SWITCH_CACHE_SPEECH_HANDLES_VARIABLE   "cache_speech_handles"
 

#define SWITCH_CALL_TIMEOUT_VARIABLE   "call_timeout"
 

#define SWITCH_CHANNEL_EVENT   SWITCH_CHANNEL_ID_EVENT, __FILE__, __SWITCH_FUNC__, __LINE__, NULL
 

#define SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE   "execute_on_answer"
 

#define SWITCH_CHANNEL_LOG   SWITCH_CHANNEL_ID_LOG, __FILE__, __SWITCH_FUNC__, __LINE__, NULL
 

#define SWITCH_CHANNEL_LOG_CLEAN   SWITCH_CHANNEL_ID_LOG_CLEAN, __FILE__, __SWITCH_FUNC__, __LINE__, NULL
 

#define SWITCH_CHANNEL_NAME_VARIABLE   "channel_name"
 

#define SWITCH_CORE_QUEUE_LEN   100000
 

#define SWITCH_DEFAULT_DIR_PERMS   SWITCH_FPROT_UREAD | SWITCH_FPROT_UWRITE | SWITCH_FPROT_UEXECUTE | SWITCH_FPROT_GREAD | SWITCH_FPROT_GEXECUTE
 

#define SWITCH_DEFAULT_DTMF_DURATION   2000
 

#define SWITCH_DISABLE_APP_LOG_VARIABLE   "disable_app_log"
 

#define SWITCH_ENDPOINT_DISPOSITION_VARIABLE   "endpoint_disposition"
 

#define SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE   "exec_after_bridge_app"
 

#define SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE   "exec_after_bridge_arg"
 

#define SWITCH_EXPORT_VARS_VARIABLE   "export_vars"
 

#define SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE   "hangup_after_bridge"
 

#define SWITCH_HOLD_MUSIC_VARIABLE   "hold_music"
 

#define SWITCH_HOLDING_UUID_VARIABLE   "holding_uuid"
 

#define SWITCH_INTERVAL_PAD   10
 

#define SWITCH_L_SDP_VARIABLE   "switch_l_sdp"
 

#define SWITCH_LOCAL_MEDIA_IP_VARIABLE   "local_media_ip"