39 #ifndef SWITCH_TYPES_H 40 #define SWITCH_TYPES_H 47 #define SWITCH_ENT_ORIGINATE_DELIM ":_:" 48 #define SWITCH_BLANK_STRING "" 49 #define SWITCH_TON_UNDEF 255 50 #define SWITCH_NUMPLAN_UNDEF 255 52 #define SWITCH_SEQ_FWHITE FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY 53 #define SWITCH_SEQ_FRED FOREGROUND_RED | FOREGROUND_INTENSITY 54 #define SWITCH_SEQ_FMAGEN FOREGROUND_BLUE | FOREGROUND_RED 55 #define SWITCH_SEQ_FCYAN FOREGROUND_GREEN | FOREGROUND_BLUE 56 #define SWITCH_SEQ_FGREEN FOREGROUND_GREEN 57 #define SWITCH_SEQ_FYELLOW FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY 58 #define SWITCH_SEQ_DEFAULT_COLOR SWITCH_SEQ_FWHITE 60 #define SWITCH_SEQ_ESC "\033[" 62 #define SWITCH_SEQ_HOME_CHAR 'H' 63 #define SWITCH_SEQ_HOME_CHAR_STR "H" 64 #define SWITCH_SEQ_CLEARLINE_CHAR '1' 65 #define SWITCH_SEQ_CLEARLINE_CHAR_STR "1" 66 #define SWITCH_SEQ_CLEARLINEEND_CHAR "K" 67 #define SWITCH_SEQ_CLEARSCR_CHAR0 '2' 68 #define SWITCH_SEQ_CLEARSCR_CHAR1 'J' 69 #define SWITCH_SEQ_CLEARSCR_CHAR "2J" 70 #define SWITCH_SEQ_DEFAULT_COLOR SWITCH_SEQ_ESC SWITCH_SEQ_END_COLOR 71 #define SWITCH_SEQ_AND_COLOR ";" 72 #define SWITCH_SEQ_END_COLOR "m" 74 #define SWITCH_SEQ_F_BLACK "30" 75 #define SWITCH_SEQ_F_RED "31" 76 #define SWITCH_SEQ_F_GREEN "32" 77 #define SWITCH_SEQ_F_YELLOW "33" 78 #define SWITCH_SEQ_F_BLUE "34" 79 #define SWITCH_SEQ_F_MAGEN "35" 80 #define SWITCH_SEQ_F_CYAN "36" 81 #define SWITCH_SEQ_F_WHITE "37" 83 #define SWITCH_SEQ_B_BLACK "40" 84 #define SWITCH_SEQ_B_RED "41" 85 #define SWITCH_SEQ_B_GREEN "42" 86 #define SWITCH_SEQ_B_YELLOW "43" 87 #define SWITCH_SEQ_B_BLUE "44" 88 #define SWITCH_SEQ_B_MAGEN "45" 89 #define SWITCH_SEQ_B_CYAN "46" 90 #define SWITCH_SEQ_B_WHITE "47" 92 #define SWITCH_SEQ_FBLACK SWITCH_SEQ_ESC SWITCH_SEQ_F_BLACK SWITCH_SEQ_END_COLOR 93 #define SWITCH_SEQ_FRED SWITCH_SEQ_ESC SWITCH_SEQ_F_RED SWITCH_SEQ_END_COLOR 94 #define SWITCH_SEQ_FGREEN SWITCH_SEQ_ESC SWITCH_SEQ_F_GREEN SWITCH_SEQ_END_COLOR 95 #define SWITCH_SEQ_FYELLOW SWITCH_SEQ_ESC SWITCH_SEQ_F_YELLOW SWITCH_SEQ_END_COLOR 96 #define SWITCH_SEQ_FBLUE SWITCH_SEQ_ESC SWITCH_SEQ_F_BLUE SWITCH_SEQ_END_COLOR 97 #define SWITCH_SEQ_FMAGEN SWITCH_SEQ_ESC SWITCH_SEQ_F_MAGEN SWITCH_SEQ_END_COLOR 98 #define SWITCH_SEQ_FCYAN SWITCH_SEQ_ESC SWITCH_SEQ_F_CYAN SWITCH_SEQ_END_COLOR 99 #define SWITCH_SEQ_FWHITE SWITCH_SEQ_ESC SWITCH_SEQ_F_WHITE SWITCH_SEQ_END_COLOR 100 #define SWITCH_SEQ_BBLACK SWITCH_SEQ_ESC SWITCH_SEQ_B_BLACK SWITCH_SEQ_END_COLOR 101 #define SWITCH_SEQ_BRED SWITCH_SEQ_ESC SWITCH_SEQ_B_RED SWITCH_SEQ_END_COLOR 102 #define SWITCH_SEQ_BGREEN SWITCH_SEQ_ESC SWITCH_SEQ_B_GREEN SWITCH_SEQ_END_COLOR 103 #define SWITCH_SEQ_BYELLOW SWITCH_SEQ_ESC SWITCH_SEQ_B_YELLOW SWITCH_SEQ_END_COLOR 104 #define SWITCH_SEQ_BBLUE SWITCH_SEQ_ESC SWITCH_SEQ_B_BLUE SWITCH_SEQ_END_COLOR 105 #define SWITCH_SEQ_BMAGEN SWITCH_SEQ_ESC SWITCH_SEQ_B_MAGEN SWITCH_SEQ_END_COLOR 106 #define SWITCH_SEQ_BCYAN SWITCH_SEQ_ESC SWITCH_SEQ_B_CYAN SWITCH_SEQ_END_COLOR 107 #define SWITCH_SEQ_BWHITE SWITCH_SEQ_ESC SWITCH_SEQ_B_WHITE SWITCH_SEQ_END_COLOR 109 #define SWITCH_SEQ_HOME SWITCH_SEQ_ESC SWITCH_SEQ_HOME_CHAR_STR 110 #define SWITCH_SEQ_CLEARLINE SWITCH_SEQ_ESC SWITCH_SEQ_CLEARLINE_CHAR_STR 111 #define SWITCH_SEQ_CLEARLINEEND SWITCH_SEQ_ESC SWITCH_SEQ_CLEARLINEEND_CHAR 112 #define SWITCH_SEQ_CLEARSCR SWITCH_SEQ_ESC SWITCH_SEQ_CLEARSCR_CHAR SWITCH_SEQ_HOME 114 #define SWITCH_DEFAULT_CLID_NAME "" 115 #define SWITCH_DEFAULT_CLID_NUMBER "0000000000" 116 #define SWITCH_DEFAULT_DTMF_DURATION 2000 117 #define SWITCH_DEFAULT_TIMEOUT 60 118 #define SWITCH_MIN_DTMF_DURATION 400 119 #define SWITCH_MAX_DTMF_DURATION 192000 120 #define SWITCH_DEFAULT_DIR_PERMS SWITCH_FPROT_UREAD | SWITCH_FPROT_UWRITE | SWITCH_FPROT_UEXECUTE | SWITCH_FPROT_GREAD | SWITCH_FPROT_GEXECUTE 122 #define SWITCH_PATH_SEPARATOR "/" 124 #define SWITCH_PATH_SEPARATOR "/" 126 #define SWITCH_URL_SEPARATOR "://" 127 #define SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE "ignore_display_updates" 128 #define SWITCH_AUDIO_SPOOL_PATH_VARIABLE "audio_spool_path" 129 #define SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE "bridge_hangup_cause" 130 #define SWITCH_READ_TERMINATOR_USED_VARIABLE "read_terminator_used" 131 #define SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE "send_silence_when_idle" 132 #define SWITCH_CURRENT_APPLICATION_VARIABLE "current_application" 133 #define SWITCH_CURRENT_APPLICATION_DATA_VARIABLE "current_application_data" 134 #define SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE "current_application_response" 135 #define SWITCH_PASSTHRU_PTIME_MISMATCH_VARIABLE "passthru_ptime_mismatch" 136 #define SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE "enable_heartbeat_events" 137 #define SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE "bypass_media_after_bridge" 138 #define SWITCH_READ_RESULT_VARIABLE "read_result" 139 #define SWITCH_ATT_XFER_RESULT_VARIABLE "att_xfer_result" 140 #define SWITCH_COPY_XML_CDR_VARIABLE "copy_xml_cdr" 141 #define SWITCH_COPY_JSON_CDR_VARIABLE "copy_json_cdr" 142 #define SWITCH_CURRENT_APPLICATION_VARIABLE "current_application" 143 #define SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE "proto_specific_hangup_cause" 144 #define SWITCH_TRANSFER_HISTORY_VARIABLE "transfer_history" 145 #define SWITCH_TRANSFER_SOURCE_VARIABLE "transfer_source" 146 #define SWITCH_SENSITIVE_DTMF_VARIABLE "sensitive_dtmf" 147 #define SWITCH_RECORD_POST_PROCESS_EXEC_APP_VARIABLE "record_post_process_exec_app" 148 #define SWITCH_RECORD_POST_PROCESS_EXEC_API_VARIABLE "record_post_process_exec_api" 150 #define SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE "execute_on_answer" 151 #define SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE "execute_on_pre_answer" 152 #define SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE "execute_on_media" 153 #define SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE "execute_on_ring" 154 #define SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE "execute_on_tone_detect" 155 #define SWITCH_CHANNEL_EXECUTE_ON_ORIGINATE_VARIABLE "execute_on_originate" 156 #define SWITCH_CHANNEL_EXECUTE_ON_POST_ORIGINATE_VARIABLE "execute_on_post_originate" 157 #define SWITCH_CHANNEL_EXECUTE_ON_PRE_ORIGINATE_VARIABLE "execute_on_pre_originate" 159 #define SWITCH_CHANNEL_EXECUTE_ON_PRE_BRIDGE_VARIABLE "execute_on_pre_bridge" 160 #define SWITCH_CHANNEL_EXECUTE_ON_POST_BRIDGE_VARIABLE "execute_on_post_bridge" 162 #define SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE "api_on_answer" 163 #define SWITCH_CHANNEL_API_ON_PRE_ANSWER_VARIABLE "api_on_pre_answer" 164 #define SWITCH_CHANNEL_API_ON_MEDIA_VARIABLE "api_on_media" 165 #define SWITCH_CHANNEL_API_ON_RING_VARIABLE "api_on_ring" 166 #define SWITCH_CHANNEL_API_ON_TONE_DETECT_VARIABLE "api_on_tone_detect" 167 #define SWITCH_CHANNEL_API_ON_ORIGINATE_VARIABLE "api_on_originate" 168 #define SWITCH_CHANNEL_API_ON_POST_ORIGINATE_VARIABLE "api_on_post_originate" 169 #define SWITCH_CHANNEL_API_ON_PRE_ORIGINATE_VARIABLE "api_on_pre_originate" 171 #define SWITCH_CALL_TIMEOUT_VARIABLE "call_timeout" 172 #define SWITCH_HOLDING_UUID_VARIABLE "holding_uuid" 173 #define SWITCH_SOFT_HOLDING_UUID_VARIABLE "soft_holding_uuid" 174 #define SWITCH_API_BRIDGE_END_VARIABLE "api_after_bridge" 175 #define SWITCH_API_BRIDGE_START_VARIABLE "api_before_bridge" 176 #define SWITCH_API_HANGUP_HOOK_VARIABLE "api_hangup_hook" 177 #define SWITCH_API_REPORTING_HOOK_VARIABLE "api_reporting_hook" 178 #define SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE "session_in_hangup_hook" 179 #define SWITCH_PROCESS_CDR_VARIABLE "process_cdr" 180 #define SWITCH_SKIP_CDR_CAUSES_VARIABLE "skip_cdr_causes" 181 #define SWITCH_FORCE_PROCESS_CDR_VARIABLE "force_process_cdr" 182 #define SWITCH_BRIDGE_CHANNEL_VARIABLE "bridge_channel" 183 #define SWITCH_CHANNEL_NAME_VARIABLE "channel_name" 184 #define SWITCH_BRIDGE_UUID_VARIABLE "bridge_uuid" 185 #define SWITCH_CONTINUE_ON_FAILURE_VARIABLE "continue_on_fail" 186 #define SWITCH_PLAYBACK_TERMINATORS_VARIABLE "playback_terminators" 187 #define SWITCH_PLAYBACK_TERMINATOR_USED "playback_terminator_used" 188 #define SWITCH_CACHE_SPEECH_HANDLES_VARIABLE "cache_speech_handles" 189 #define SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME "__cache_speech_handles_obj__" 190 #define SWITCH_BYPASS_MEDIA_VARIABLE "bypass_media" 191 #define SWITCH_PROXY_MEDIA_VARIABLE "proxy_media" 192 #define SWITCH_ENDPOINT_DISPOSITION_VARIABLE "endpoint_disposition" 193 #define SWITCH_HOLD_MUSIC_VARIABLE "hold_music" 194 #define SWITCH_TEMP_HOLD_MUSIC_VARIABLE "temp_hold_music" 195 #define SWITCH_EXPORT_VARS_VARIABLE "export_vars" 196 #define SWITCH_BRIDGE_EXPORT_VARS_VARIABLE "bridge_export_vars" 197 #define SWITCH_R_SDP_VARIABLE "switch_r_sdp" 198 #define SWITCH_L_SDP_VARIABLE "switch_l_sdp" 199 #define SWITCH_B_SDP_VARIABLE "switch_m_sdp" 200 #define SWITCH_BRIDGE_VARIABLE "bridge_to" 201 #define SWITCH_LAST_BRIDGE_VARIABLE "last_bridge_to" 202 #define SWITCH_SIGNAL_BRIDGE_VARIABLE "signal_bridge_to" 203 #define SWITCH_SIGNAL_BOND_VARIABLE "signal_bond" 204 #define SWITCH_ORIGINATE_SIGNAL_BOND_VARIABLE "originate_signal_bond" 205 #define SWITCH_ORIGINATOR_VARIABLE "originator" 206 #define SWITCH_ORIGINATOR_CODEC_VARIABLE "originator_codec" 207 #define SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE "originator_video_codec" 208 #define SWITCH_LOCAL_MEDIA_IP_VARIABLE "local_media_ip" 209 #define SWITCH_LOCAL_MEDIA_PORT_VARIABLE "local_media_port" 210 #define SWITCH_ADVERTISED_MEDIA_IP_VARIABLE "advertised_media_ip" 211 #define SWITCH_REMOTE_MEDIA_IP_VARIABLE "remote_media_ip" 212 #define SWITCH_REMOTE_MEDIA_PORT_VARIABLE "remote_media_port" 213 #define SWITCH_REMOTE_VIDEO_IP_VARIABLE "remote_video_ip" 214 #define SWITCH_REMOTE_VIDEO_PORT_VARIABLE "remote_video_port" 215 #define SWITCH_LOCAL_VIDEO_IP_VARIABLE "local_video_ip" 216 #define SWITCH_LOCAL_VIDEO_PORT_VARIABLE "local_video_port" 217 #define SWITCH_LOCAL_TEXT_IP_VARIABLE "local_text_ip" 218 #define SWITCH_LOCAL_TEXT_PORT_VARIABLE "local_text_port" 219 #define SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE "hangup_after_bridge" 220 #define SWITCH_PARK_AFTER_BRIDGE_VARIABLE "park_after_bridge" 221 #define SWITCH_PARK_AFTER_EARLY_BRIDGE_VARIABLE "park_after_early_bridge" 222 #define SWITCH_TRANSFER_AFTER_BRIDGE_VARIABLE "transfer_after_bridge" 223 #define SWITCH_TRANSFER_AFTER_EARLY_BRIDGE_VARIABLE "transfer_after_early_bridge" 224 #define SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE "exec_after_bridge_app" 225 #define SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE "exec_after_bridge_arg" 226 #define SWITCH_MAX_FORWARDS_VARIABLE "max_forwards" 227 #define SWITCH_RFC7989_SESSION_ID_VARIABLE "session_uuid" 228 #define SWITCH_RFC7989_REMOTE_SESSION_ID_VARIABLE "remote_session_uuid" 229 #define SWITCH_RFC7989_APP_SESSION_ID_VARIABLE "app_session_uuid" 230 #define SWITCH_RFC7989_GENERIC_PARAM_VARIABLE "generic_param_session_uuid" 231 #define SWITCH_MAX_SESSION_TRANSFERS_VARIABLE "max_session_transfers" 232 #define SWITCH_DISABLE_APP_LOG_VARIABLE "disable_app_log" 233 #define SWITCH_SPEECH_KEY "speech" 234 #define SWITCH_UUID_BRIDGE "uuid_bridge" 235 #define SWITCH_BITS_PER_BYTE 8 236 #define SWITCH_DEFAULT_FILE_BUFFER_LEN 65536 237 #define SWITCH_DTMF_LOG_LEN 1000 238 #define SWITCH_MAX_TRANS 2000 239 #define SWITCH_CORE_SESSION_MAX_PRIVATES 2 240 #define SWITCH_DEFAULT_VIDEO_SIZE 1200 241 #define SWITCH_RTCP_AUDIO_INTERVAL_MSEC "1000" 242 #define SWITCH_RTCP_VIDEO_INTERVAL_MSEC "1000" 244 #define TEXT_UNICODE_LINEFEED {0xe2, 0x80, 0xa8} 245 #define MAX_FMTP_LEN 256 248 #define JITTER_VARIANCE_THRESHOLD 400.0 250 #define IPDV_THRESHOLD 1.0 252 #define LOST_BURST_ANALYZE 500 254 #define LOST_BURST_CAPTURE 1024 583 #define SWITCH_MAX_STACKS 32 584 #define SWITCH_THREAD_STACKSIZE 240 * 1024 585 #define SWITCH_SYSTEM_THREAD_STACKSIZE 8192 * 1024 586 #define SWITCH_MAX_INTERVAL 120 587 #define SWITCH_INTERVAL_PAD 10 588 #define SWITCH_MAX_SAMPLE_LEN 48 589 #define SWITCH_BYTES_PER_SAMPLE 2 590 #define SWITCH_RECOMMENDED_BUFFER_SIZE 8192 591 #define SWITCH_MAX_CODECS 50 592 #define SWITCH_MAX_STATE_HANDLERS 30 593 #define SWITCH_CORE_QUEUE_LEN 100000 594 #define SWITCH_MAX_MANAGEMENT_BUFFER_LEN 1024 * 8 596 #define SWITCH_ACCEPTABLE_INTERVAL(_i) (_i && _i <= SWITCH_MAX_INTERVAL && (_i % 10) == 0) 772 #define SWITCH_RTP_CNG_PAYLOAD 13 977 #pragma pack(push, r1, 1) 980 #if SWITCH_BYTE_ORDER == __BIG_ENDIAN 1020 #pragma pack(pop, r1) 1024 #pragma pack(push, r1, 1) 1027 #if SWITCH_BYTE_ORDER == __BIG_ENDIAN 1049 #pragma pack(pop, r1) 1330 #define SWITCH_CHANNEL_LOG SWITCH_CHANNEL_ID_LOG, __FILE__, __SWITCH_FUNC__, __LINE__, NULL 1331 #define SWITCH_CHANNEL_LOG_CLEAN SWITCH_CHANNEL_ID_LOG_CLEAN, __FILE__, __SWITCH_FUNC__, __LINE__, NULL 1332 #define SWITCH_CHANNEL_SESSION_LOG_CLEAN(x) SWITCH_CHANNEL_ID_LOG_CLEAN, __FILE__, __SWITCH_FUNC__, __LINE__, switch_core_session_get_uuid((x)) 1333 #define SWITCH_CHANNEL_EVENT SWITCH_CHANNEL_ID_EVENT, __FILE__, __SWITCH_FUNC__, __LINE__, NULL 1334 #define SWITCH_CHANNEL_SESSION_LOG(x) SWITCH_CHANNEL_ID_SESSION, __FILE__, __SWITCH_FUNC__, __LINE__, (const char*)switch_core_session_type_check(x) 1335 #define SWITCH_CHANNEL_CHANNEL_LOG(x) SWITCH_CHANNEL_ID_SESSION, __FILE__, __SWITCH_FUNC__, __LINE__, (const char*)switch_channel_get_session(x) 1336 #define SWITCH_CHANNEL_UUID_LOG(x) SWITCH_CHANNEL_ID_LOG, __FILE__, __SWITCH_FUNC__, __LINE__, switch_const_char_type_check(x) 1849 #define SWITCH_MEDIA_TYPE_TOTAL 3 2312 #define SWITCH_SOCK_INVALID INVALID_SOCKET 2315 #define SWITCH_SOCK_INVALID -1 2407 uint32_t decoded_data_len,
2408 uint32_t decoded_rate,
2409 void *encoded_data, uint32_t *encoded_data_len, uint32_t *encoded_rate,
unsigned int *flag);
2415 uint32_t encoded_data_len,
2416 uint32_t encoded_rate,
2417 void *decoded_data, uint32_t *decoded_data_len, uint32_t *decoded_rate,
unsigned int *flag);
2446 switch_codec_control_command_t cmd,
2447 switch_codec_control_type_t ctype,
2449 switch_codec_control_type_t atype,
2451 switch_codec_control_type_t *rtype,
2461 #define SWITCH_STANDARD_CHAT_APP(name) static switch_status_t name (switch_event_t *message, const char *data) 2464 #define SWITCH_STANDARD_APP(name) static void name (switch_core_session_t *session, const char *data) 2469 #define SWITCH_STANDARD_DIALPLAN(name) static switch_caller_extension_t *name (switch_core_session_t *session, void *arg, switch_caller_profile_t *caller_profile) 2472 #define SWITCH_HASH_DELETE_FUNC(name) static switch_bool_t name (const void *key, const void *val, void *pData) 2478 #define SWITCH_STANDARD_SCHED_FUNC(name) static void name (switch_scheduler_task_t *task) 2490 #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) 2496 #define SWITCH_STANDARD_JSON_API(name) static switch_status_t name (const cJSON *json, _In_opt_ switch_core_session_t *session, cJSON **json_reply) 2499 switch_input_type_t input_type,
void *
buf,
unsigned int buflen);
2503 #define DMACHINE_MAX_DIGIT_LEN 512 2524 #define MAX_ARG_RECURSION 25 2526 #define arg_recursion_check_start(_args) if (_args) { \ 2527 if (_args->loops >= MAX_ARG_RECURSION) { \ 2528 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, \ 2529 "RECURSION ERROR! It's not the best idea to call things that collect input recursively from an input callback.\n"); \ 2530 return SWITCH_STATUS_GENERR; \ 2531 } else {_args->loops++;} \ 2535 #define arg_recursion_check_stop(_args) if (_args) _args->loops-- 2577 const char *tag_name,
const char *key_name,
const char *key_value, switch_event_t *params,
2590 #define SWITCH_API_VERSION 5 2591 #define SWITCH_MODULE_LOAD_ARGS (switch_loadable_module_interface_t **module_interface, switch_memory_pool_t *pool) 2592 #define SWITCH_MODULE_RUNTIME_ARGS (void) 2593 #define SWITCH_MODULE_SHUTDOWN_ARGS (void) 2597 #define SWITCH_MODULE_LOAD_FUNCTION(name) switch_status_t name SWITCH_MODULE_LOAD_ARGS 2598 #define SWITCH_MODULE_RUNTIME_FUNCTION(name) switch_status_t name SWITCH_MODULE_RUNTIME_ARGS 2599 #define SWITCH_MODULE_SHUTDOWN_FUNCTION(name) switch_status_t name SWITCH_MODULE_SHUTDOWN_ARGS 2626 #define SWITCH_MODULE_DEFINITION_EX(name, load, shutdown, runtime, flags) \ 2627 static const char modname[] = #name ; \ 2628 SWITCH_MOD_DECLARE_DATA switch_loadable_module_function_table_t name##_module_interface = { \ 2629 SWITCH_API_VERSION, \ 2636 #define SWITCH_MODULE_DEFINITION(name, load, shutdown, runtime) \ 2637 SWITCH_MODULE_DEFINITION_EX(name, load, shutdown, runtime, SMODF_NONE) 2648 struct sql_queue_manager;
2831 #define SWITCH_RTP_MAX_CRYPTO_LEN 64 2840 switch_rtp_crypto_key_param_method_type_t
method;
2877 #define SWITCH_CRYPTO_MKI_INDEX 0 2880 #define SWITCH_CRYPTO_MKI_MAX 20
uint32_t switch_bind_flag_t
A module interface to implement an application.
uint32_t T38FaxMaxDatagram
switch_caller_profile_flag_enum_t
struct switch_waitlist_s switch_waitlist_t
switch_size_t period_packet_count
An Abstract Representation of a dialplan extension.
uint32_t switch_ivr_option_t
switch_unicast_flag_enum_t
switch_rtp_numbers_t inbound
Abstract interface to a limit module.
switch_text_channel_t
A target to write log/debug info to.
switch_codec_type_t
Codec types.
#define SWITCH_MODULE_LOAD_ARGS
switch_rtp_crypto_key_type_t
struct payload_map_s payload_map_t
uint32_t switch_event_channel_id_t
uint32_t high_ext_seq_recv
struct switch_odbc_handle switch_odbc_handle_t
Abstraction of an module endpoint interface This is the glue between the abstract idea of a "channel"...
switch_bool_t(* switch_hash_delete_callback_t)(_In_ const void *key, _In_ const void *val, _In_opt_ void *pData)
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)
uint32_t switch_chat_application_flag_t
struct switch_loadable_module_function_table switch_loadable_module_function_table_t
uint32_t switch_io_flag_t
struct switch_fps_s switch_fps_t
uint32_t switch_application_flag_t
#define SWITCH_END_EXTERN_C
switch_event_types_t
Built-in Events.
uint32_t switch_speech_flag_t
unsigned long adv_rm_rate
switch_bool_t(* switch_media_bug_callback_t)(switch_media_bug_t *, void *, switch_abc_type_t)
switch_ivr_dmachine_t * dmachine
switch_size_t largest_jb_size
struct error_period * next
switch_priority_t
Priority Indication.
struct switch_xml * switch_xml_t
switch_channel_flag_t
Channel Flags.
switch_say_method_t method
void(* hashtable_destructor_t)(void *ptr)
Representation of an event.
A module interface to implement a chat application.
An Abstract Representation of a dialplan Application.
switch_core_session_message_flag_enum_t
switch_core_session_message_types_t
Possible types of messages for inter-session communication.
uint8_t try_hardware_encoder
switch_bitpack_mode_t mode
switch_digit_action_target_t
switch_status_t(* switch_stream_handle_raw_write_function_t)(switch_stream_handle_t *handle, uint8_t *data, switch_size_t datalen)
switch_bool_t T38FaxTranscodingMMR
switch_rtp_crypto_key_param_method_type_t
const char * T38FaxRateManagement
switch_status_t(* switch_core_codec_fmtp_parse_func_t)(const char *fmtp, switch_codec_fmtp_t *codec_fmtp)
Abstract interface to a chat module.
struct switch_console_callback_match_node * head
uint32_t last_rpt_ext_seq
switch_status_t(* switch_console_complete_callback_t)(const char *, const char *, switch_console_callback_match_t **matches)
uint32_t switch_scheduler_flag_t
A representation of an XML tree.
switch_eavesdrop_flag_enum_t
switch_xml_section_enum_t
Abstract interface to a dialplan module.
switch_status_t(* switch_core_codec_init_func_t)(switch_codec_t *, switch_codec_flag_t, const switch_codec_settings_t *codec_settings)
switch_video_encode_speed_t
uint32_t switch_originate_flag_t
switch_bool_t T38FaxTranscodingJBIG
A table of functions that a timer module implements.
switch_size_t media_bytes
A node to store binded events.
#define SWITCH_MODULE_SHUTDOWN_ARGS
struct switch_crypto_key_material_s * local_key_material_next
A table of i/o routines that an endpoint interface can implement.
struct switch_console_callback_match_node * end
Abstract handler to a timer module.
switch_size_t dtmf_packet_count
switch_video_profile_t vprofile
uint32_t switch_core_flag_t
struct switch_crypto_key_material_s * next
uint32_t switch_module_flag_t
Abstract interface to an asr module.
switch_status_t(* switch_json_api_function_t)(const cJSON *json, _In_opt_ switch_core_session_t *session, cJSON **json_reply)
A message object designed to allow unlike technologies to exchange data.
uint32_t switch_core_session_message_flag_t
Abstract interface to a file format module.
struct payload_map_s * next
uint32_t switch_codec_flag_t
switch_status_t(* switch_chat_application_function_t)(switch_event_t *, const char *)
void(* switch_application_function_t)(switch_core_session_t *, const char *)
switch_module_load_t load
#define LOST_BURST_CAPTURE
switch_codec_control_command_t
static switch_core_session_t * switch_core_session_type_check(switch_core_session_t *session)
switch_status_t(* switch_stream_handle_write_function_t)(switch_stream_handle_t *handle, const char *fmt,...)
uint32_t switch_vad_flag_t
switch_codec_control_type_t
void(* switch_engine_function_t)(switch_core_session_t *session, void *user_data)
Abstract interface to a speech module.
switch_rtcp_numbers_t rtcp
switch_byte_t switch_byte_t * buf
switch_status_t(* switch_read_frame_callback_function_t)(switch_core_session_t *session, switch_frame_t *frame, void *user_data)
switch_chat_application_flag_enum_t
A module interface to implement an api function.
uint32_t switch_file_flag_t
#define SWITCH_MODULE_RUNTIME_ARGS
switch_status_t(* switch_core_codec_video_decode_func_t)(switch_codec_t *codec, switch_frame_t *frame)
Abstract interface to a say module.
uint32_t switch_database_flag_t
unsigned long local_key_material_n
Abstract interface to a management module.
switch_status_t(* switch_state_handler_t)(switch_core_session_t *)
uint32_t switch_xml_section_t
#define SWITCH_RTP_MAX_CRYPTO_LEN
switch_status_t(* switch_say_string_callback_t)(switch_core_session_t *session, char *tosay, switch_say_args_t *say_args, char **rstr)
switch_rtp_numbers_t outbound
uint32_t switch_timer_flag_t
switch_directory_flag_enum_t
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)
Top level module interface to implement a series of codec implementations.
switch_application_flag_enum_t
void(* switch_event_channel_func_t)(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id, void *user_data)
switch_sdp_type_t sdp_type
switch_module_interface_name_t
switch_state_handler_flag_t
An abstraction of a data frame.
struct switch_rtcp switch_rtcp_t
struct switch_rtcp_hdr_s switch_rtcp_hdr_t
switch_dtmf_source_t
DTMF sources.
switch_status_t(* switch_new_say_callback_t)(switch_say_file_handle_t *sh, char *tosay, switch_say_args_t *say_args)
uint32_t switch_asr_flag_t
const char * T38VendorInfo
switch_status_t(* switch_say_callback_t)(switch_core_session_t *session, char *tosay, switch_say_args_t *say_args, switch_input_args_t *args)
switch_filenames SWITCH_GLOBAL_filenames
switch_byte_t switch_byte_t uint32_t buflen
uint32_t switch_eavesdrop_flag_t
uint32_t consecutive_flaws
switch_speech_flag_enum_t
switch_module_runtime_t runtime
int(* switch_modulename_callback_func_t)(void *user_data, const char *module_name)
switch_channel_callstate_t
switch_say_gender_t gender
switch_size_t packet_count
switch_xml_t(* switch_xml_open_root_function_t)(uint8_t reload, const char **err, void *user_data)
vpx_img_fmt_t switch_img_fmt_t
uint32_t switch_frame_flag_t
unsigned long remote_key_material_n
switch_directories SWITCH_GLOBAL_dirs
switch_size_t jb_packet_count
switch_media_bug_flag_enum_t
switch_size_t skip_packet_count
switch_video_encode_speed_t vencspd
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)
switch_module_flag_t flags
switch_rtcp_video_counters_t video_out
switch_status_t(* switch_core_codec_video_encode_func_t)(switch_codec_t *codec, switch_frame_t *frame)
struct switch_vid_params_s switch_vid_params_t
switch_channel_state_t
Channel States (these are the defaults, CS_SOFT_EXECUTE, CS_EXCHANGE_MEDIA, and CS_CONSUME_MEDIA are ...
void * switch_plc_state_t
switch_status_t
Common return values.
switch_status_t(* switch_ivr_dmachine_callback_t)(switch_ivr_dmachine_match_t *match)
switch_bool_t(* switch_tone_detect_callback_t)(switch_core_session_t *, const char *, const char *)
struct error_period * error_log
switch_rtcp_video_counters_t video_in
switch_originate_flag_enum_t
void(* switch_scheduler_func_t)(switch_scheduler_task_t *task)
uint32_t last_recv_lsr_local
An abstraction of a rtcp frame.
uint16_t period_pkt_count
switch_rtp_flag_t
RTP Related Flags.
switch_status_t(* switch_core_codec_control_func_t)(switch_codec_t *codec, switch_codec_control_command_t cmd, switch_codec_control_type_t ctype, void *cmd_data, switch_codec_control_type_t atype, void *cmd_arg, switch_codec_control_type_t *rtype, void **ret_data)
void(* switch_cap_callback_t)(const char *var, const char *val, void *user_data)
int(* switch_core_recover_callback_t)(switch_core_session_t *session)
switch_size_t flush_packet_count
A registered custom event subclass.
struct secure_settings_s switch_secure_settings_t
switch_status_t(* switch_core_video_thread_callback_func_t)(switch_core_session_t *session, switch_frame_t *frame, void *user_data)
switch_signal_t
Signals to send to channels.
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)
switch_size_t media_packet_count
uint32_t switch_port_flag_t
struct error_period switch_error_period_t
switch_status_t(* switch_core_text_thread_callback_func_t)(switch_core_session_t *session, switch_frame_t *frame, void *user_data)
A generic object to pass as a thread's session object to allow mutiple arguements and a pool...
uint32_t switch_media_flag_t
switch_stack_t
Expression of how to stack a list.
void(* switch_media_bug_exec_cb_t)(switch_media_bug_t *bug, void *user_data)
switch_module_shutdown_t shutdown
void(* switch_event_callback_t)(switch_event_t *)
switch_dtmf_source_t source
A table of settings and callbacks that define a paticular implementation of a codec.
A module interface to implement a json api function.
switch_bool_t T38FaxFillBitRemoval
switch_port_t remote_sdp_port
uint32_t switch_unicast_flag_t
uint32_t switch_caller_profile_flag_t
uint32_t switch_media_bug_flag_t
struct fspr_pool_t switch_memory_pool_t
switch_scheduler_flag_enum_t
const char * match_digits
struct switch_mm_s switch_mm_t
switch_rtp_crypto_key_param_method_type_t method
switch_core_media_ice_type_t
switch_database_flag_enum_t
uint32_t switch_directory_flag_t
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)
switch_channel_app_flag_t
switch_rtp_crypto_key_type_t crypto_type
Abstract interface to a database module.
static const char * switch_const_char_type_check(const char *str)
uint32_t last_recv_lsr_peer
struct switch_console_callback_match_node * next
switch_log_level_t
Log Level Enumeration.
switch_management_action_t
The abstraction of a loadable module.
struct switch_crypto_key_material_s switch_crypto_key_material_t
switch_module_flag_enum_t
switch_size_t cng_packet_count
Abstract interface to a directory module.
#define SWITCH_BEGIN_EXTERN_C
struct audio_buffer_header_s audio_buffer_header_t
struct switch_crypto_key_material_s * remote_key_material_next
switch_status_t(* switch_core_codec_destroy_func_t)(switch_codec_t *)