38 #ifndef SWITCH_TYPES_H
39 #define SWITCH_TYPES_H
46 #define SWITCH_ENT_ORIGINATE_DELIM ":_:"
47 #define SWITCH_BLANK_STRING ""
48 #define SWITCH_TON_UNDEF 255
49 #define SWITCH_NUMPLAN_UNDEF 255
51 #define SWITCH_SEQ_FWHITE FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY
52 #define SWITCH_SEQ_FRED FOREGROUND_RED | FOREGROUND_INTENSITY
53 #define SWITCH_SEQ_FMAGEN FOREGROUND_BLUE | FOREGROUND_RED
54 #define SWITCH_SEQ_FCYAN FOREGROUND_GREEN | FOREGROUND_BLUE
55 #define SWITCH_SEQ_FGREEN FOREGROUND_GREEN
56 #define SWITCH_SEQ_FYELLOW FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY
57 #define SWITCH_SEQ_DEFAULT_COLOR SWITCH_SEQ_FWHITE
59 #define SWITCH_SEQ_ESC "\033["
61 #define SWITCH_SEQ_HOME_CHAR 'H'
62 #define SWITCH_SEQ_HOME_CHAR_STR "H"
63 #define SWITCH_SEQ_CLEARLINE_CHAR '1'
64 #define SWITCH_SEQ_CLEARLINE_CHAR_STR "1"
65 #define SWITCH_SEQ_CLEARLINEEND_CHAR "K"
66 #define SWITCH_SEQ_CLEARSCR_CHAR0 '2'
67 #define SWITCH_SEQ_CLEARSCR_CHAR1 'J'
68 #define SWITCH_SEQ_CLEARSCR_CHAR "2J"
69 #define SWITCH_SEQ_DEFAULT_COLOR SWITCH_SEQ_ESC SWITCH_SEQ_END_COLOR
70 #define SWITCH_SEQ_AND_COLOR ";"
71 #define SWITCH_SEQ_END_COLOR "m"
73 #define SWITCH_SEQ_F_BLACK "30"
74 #define SWITCH_SEQ_F_RED "31"
75 #define SWITCH_SEQ_F_GREEN "32"
76 #define SWITCH_SEQ_F_YELLOW "33"
77 #define SWITCH_SEQ_F_BLUE "34"
78 #define SWITCH_SEQ_F_MAGEN "35"
79 #define SWITCH_SEQ_F_CYAN "36"
80 #define SWITCH_SEQ_F_WHITE "37"
82 #define SWITCH_SEQ_B_BLACK "40"
83 #define SWITCH_SEQ_B_RED "41"
84 #define SWITCH_SEQ_B_GREEN "42"
85 #define SWITCH_SEQ_B_YELLOW "43"
86 #define SWITCH_SEQ_B_BLUE "44"
87 #define SWITCH_SEQ_B_MAGEN "45"
88 #define SWITCH_SEQ_B_CYAN "46"
89 #define SWITCH_SEQ_B_WHITE "47"
91 #define SWITCH_SEQ_FBLACK SWITCH_SEQ_ESC SWITCH_SEQ_F_BLACK SWITCH_SEQ_END_COLOR
92 #define SWITCH_SEQ_FRED SWITCH_SEQ_ESC SWITCH_SEQ_F_RED SWITCH_SEQ_END_COLOR
93 #define SWITCH_SEQ_FGREEN SWITCH_SEQ_ESC SWITCH_SEQ_F_GREEN SWITCH_SEQ_END_COLOR
94 #define SWITCH_SEQ_FYELLOW SWITCH_SEQ_ESC SWITCH_SEQ_F_YELLOW SWITCH_SEQ_END_COLOR
95 #define SWITCH_SEQ_FBLUE SWITCH_SEQ_ESC SWITCH_SEQ_F_BLUE SWITCH_SEQ_END_COLOR
96 #define SWITCH_SEQ_FMAGEN SWITCH_SEQ_ESC SWITCH_SEQ_F_MAGEN SWITCH_SEQ_END_COLOR
97 #define SWITCH_SEQ_FCYAN SWITCH_SEQ_ESC SWITCH_SEQ_F_CYAN SWITCH_SEQ_END_COLOR
98 #define SWITCH_SEQ_FWHITE SWITCH_SEQ_ESC SWITCH_SEQ_F_WHITE SWITCH_SEQ_END_COLOR
99 #define SWITCH_SEQ_BBLACK SWITCH_SEQ_ESC SWITCH_SEQ_B_BLACK SWITCH_SEQ_END_COLOR
100 #define SWITCH_SEQ_BRED SWITCH_SEQ_ESC SWITCH_SEQ_B_RED SWITCH_SEQ_END_COLOR
101 #define SWITCH_SEQ_BGREEN SWITCH_SEQ_ESC SWITCH_SEQ_B_GREEN SWITCH_SEQ_END_COLOR
102 #define SWITCH_SEQ_BYELLOW SWITCH_SEQ_ESC SWITCH_SEQ_B_YELLOW SWITCH_SEQ_END_COLOR
103 #define SWITCH_SEQ_BBLUE SWITCH_SEQ_ESC SWITCH_SEQ_B_BLUE SWITCH_SEQ_END_COLOR
104 #define SWITCH_SEQ_BMAGEN SWITCH_SEQ_ESC SWITCH_SEQ_B_MAGEN SWITCH_SEQ_END_COLOR
105 #define SWITCH_SEQ_BCYAN SWITCH_SEQ_ESC SWITCH_SEQ_B_CYAN SWITCH_SEQ_END_COLOR
106 #define SWITCH_SEQ_BWHITE SWITCH_SEQ_ESC SWITCH_SEQ_B_WHITE SWITCH_SEQ_END_COLOR
108 #define SWITCH_SEQ_HOME SWITCH_SEQ_ESC SWITCH_SEQ_HOME_CHAR_STR
109 #define SWITCH_SEQ_CLEARLINE SWITCH_SEQ_ESC SWITCH_SEQ_CLEARLINE_CHAR_STR
110 #define SWITCH_SEQ_CLEARLINEEND SWITCH_SEQ_ESC SWITCH_SEQ_CLEARLINEEND_CHAR
111 #define SWITCH_SEQ_CLEARSCR SWITCH_SEQ_ESC SWITCH_SEQ_CLEARSCR_CHAR SWITCH_SEQ_HOME
113 #define SWITCH_DEFAULT_CLID_NAME ""
114 #define SWITCH_DEFAULT_CLID_NUMBER "0000000000"
115 #define SWITCH_DEFAULT_DTMF_DURATION 2000
116 #define SWITCH_MIN_DTMF_DURATION 400
117 #define SWITCH_MAX_DTMF_DURATION 192000
118 #define SWITCH_DEFAULT_DIR_PERMS SWITCH_FPROT_UREAD | SWITCH_FPROT_UWRITE | SWITCH_FPROT_UEXECUTE | SWITCH_FPROT_GREAD | SWITCH_FPROT_GEXECUTE
120 #define SWITCH_PATH_SEPARATOR "/"
122 #define SWITCH_PATH_SEPARATOR "/"
124 #define SWITCH_URL_SEPARATOR "://"
125 #define SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE "ignore_display_updates"
126 #define SWITCH_AUDIO_SPOOL_PATH_VARIABLE "audio_spool_path"
127 #define SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE "bridge_hangup_cause"
128 #define SWITCH_READ_TERMINATOR_USED_VARIABLE "read_terminator_used"
129 #define SWITCH_SEND_SILENCE_WHEN_IDLE_VARIABLE "send_silence_when_idle"
130 #define SWITCH_CURRENT_APPLICATION_VARIABLE "current_application"
131 #define SWITCH_CURRENT_APPLICATION_DATA_VARIABLE "current_application_data"
132 #define SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE "current_application_response"
133 #define SWITCH_PASSTHRU_PTIME_MISMATCH_VARIABLE "passthru_ptime_mismatch"
134 #define SWITCH_ENABLE_HEARTBEAT_EVENTS_VARIABLE "enable_heartbeat_events"
135 #define SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE "bypass_media_after_bridge"
136 #define SWITCH_READ_RESULT_VARIABLE "read_result"
137 #define SWITCH_ATT_XFER_RESULT_VARIABLE "att_xfer_result"
138 #define SWITCH_COPY_XML_CDR_VARIABLE "copy_xml_cdr"
139 #define SWITCH_COPY_JSON_CDR_VARIABLE "copy_json_cdr"
140 #define SWITCH_CURRENT_APPLICATION_VARIABLE "current_application"
141 #define SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE "proto_specific_hangup_cause"
142 #define SWITCH_TRANSFER_HISTORY_VARIABLE "transfer_history"
143 #define SWITCH_TRANSFER_SOURCE_VARIABLE "transfer_source"
144 #define SWITCH_SENSITIVE_DTMF_VARIABLE "sensitive_dtmf"
145 #define SWITCH_RECORD_POST_PROCESS_EXEC_APP_VARIABLE "record_post_process_exec_app"
146 #define SWITCH_RECORD_POST_PROCESS_EXEC_API_VARIABLE "record_post_process_exec_api"
148 #define SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE "execute_on_answer"
149 #define SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE "execute_on_pre_answer"
150 #define SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE "execute_on_media"
151 #define SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE "execute_on_ring"
152 #define SWITCH_CHANNEL_EXECUTE_ON_TONE_DETECT_VARIABLE "execute_on_tone_detect"
153 #define SWITCH_CHANNEL_EXECUTE_ON_ORIGINATE_VARIABLE "execute_on_originate"
154 #define SWITCH_CHANNEL_EXECUTE_ON_POST_ORIGINATE_VARIABLE "execute_on_post_originate"
155 #define SWITCH_CHANNEL_EXECUTE_ON_PRE_ORIGINATE_VARIABLE "execute_on_pre_originate"
157 #define SWITCH_CHANNEL_EXECUTE_ON_PRE_BRIDGE_VARIABLE "execute_on_pre_bridge"
158 #define SWITCH_CHANNEL_EXECUTE_ON_POST_BRIDGE_VARIABLE "execute_on_post_bridge"
160 #define SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE "api_on_answer"
161 #define SWITCH_CHANNEL_API_ON_PRE_ANSWER_VARIABLE "api_on_pre_answer"
162 #define SWITCH_CHANNEL_API_ON_MEDIA_VARIABLE "api_on_media"
163 #define SWITCH_CHANNEL_API_ON_RING_VARIABLE "api_on_ring"
164 #define SWITCH_CHANNEL_API_ON_TONE_DETECT_VARIABLE "api_on_tone_detect"
165 #define SWITCH_CHANNEL_API_ON_ORIGINATE_VARIABLE "api_on_originate"
166 #define SWITCH_CHANNEL_API_ON_POST_ORIGINATE_VARIABLE "api_on_post_originate"
167 #define SWITCH_CHANNEL_API_ON_PRE_ORIGINATE_VARIABLE "api_on_pre_originate"
169 #define SWITCH_CALL_TIMEOUT_VARIABLE "call_timeout"
170 #define SWITCH_HOLDING_UUID_VARIABLE "holding_uuid"
171 #define SWITCH_SOFT_HOLDING_UUID_VARIABLE "soft_holding_uuid"
172 #define SWITCH_API_BRIDGE_END_VARIABLE "api_after_bridge"
173 #define SWITCH_API_BRIDGE_START_VARIABLE "api_before_bridge"
174 #define SWITCH_API_HANGUP_HOOK_VARIABLE "api_hangup_hook"
175 #define SWITCH_API_REPORTING_HOOK_VARIABLE "api_reporting_hook"
176 #define SWITCH_SESSION_IN_HANGUP_HOOK_VARIABLE "session_in_hangup_hook"
177 #define SWITCH_PROCESS_CDR_VARIABLE "process_cdr"
178 #define SWITCH_SKIP_CDR_CAUSES_VARIABLE "skip_cdr_causes"
179 #define SWITCH_FORCE_PROCESS_CDR_VARIABLE "force_process_cdr"
180 #define SWITCH_BRIDGE_CHANNEL_VARIABLE "bridge_channel"
181 #define SWITCH_CHANNEL_NAME_VARIABLE "channel_name"
182 #define SWITCH_BRIDGE_UUID_VARIABLE "bridge_uuid"
183 #define SWITCH_CONTINUE_ON_FAILURE_VARIABLE "continue_on_fail"
184 #define SWITCH_PLAYBACK_TERMINATORS_VARIABLE "playback_terminators"
185 #define SWITCH_PLAYBACK_TERMINATOR_USED "playback_terminator_used"
186 #define SWITCH_CACHE_SPEECH_HANDLES_VARIABLE "cache_speech_handles"
187 #define SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME "__cache_speech_handles_obj__"
188 #define SWITCH_BYPASS_MEDIA_VARIABLE "bypass_media"
189 #define SWITCH_PROXY_MEDIA_VARIABLE "proxy_media"
190 #define SWITCH_ZRTP_PASSTHRU_VARIABLE "zrtp_passthru"
191 #define SWITCH_ENDPOINT_DISPOSITION_VARIABLE "endpoint_disposition"
192 #define SWITCH_HOLD_MUSIC_VARIABLE "hold_music"
193 #define SWITCH_TEMP_HOLD_MUSIC_VARIABLE "temp_hold_music"
194 #define SWITCH_EXPORT_VARS_VARIABLE "export_vars"
195 #define SWITCH_BRIDGE_EXPORT_VARS_VARIABLE "bridge_export_vars"
196 #define SWITCH_R_SDP_VARIABLE "switch_r_sdp"
197 #define SWITCH_L_SDP_VARIABLE "switch_l_sdp"
198 #define SWITCH_B_SDP_VARIABLE "switch_m_sdp"
199 #define SWITCH_BRIDGE_VARIABLE "bridge_to"
200 #define SWITCH_LAST_BRIDGE_VARIABLE "last_bridge_to"
201 #define SWITCH_SIGNAL_BRIDGE_VARIABLE "signal_bridge_to"
202 #define SWITCH_SIGNAL_BOND_VARIABLE "signal_bond"
203 #define SWITCH_ORIGINATE_SIGNAL_BOND_VARIABLE "originate_signal_bond"
204 #define SWITCH_ORIGINATOR_VARIABLE "originator"
205 #define SWITCH_ORIGINATOR_CODEC_VARIABLE "originator_codec"
206 #define SWITCH_ORIGINATOR_VIDEO_CODEC_VARIABLE "originator_video_codec"
207 #define SWITCH_LOCAL_MEDIA_IP_VARIABLE "local_media_ip"
208 #define SWITCH_LOCAL_MEDIA_PORT_VARIABLE "local_media_port"
209 #define SWITCH_ADVERTISED_MEDIA_IP_VARIABLE "advertised_media_ip"
210 #define SWITCH_REMOTE_MEDIA_IP_VARIABLE "remote_media_ip"
211 #define SWITCH_REMOTE_MEDIA_PORT_VARIABLE "remote_media_port"
212 #define SWITCH_REMOTE_VIDEO_IP_VARIABLE "remote_video_ip"
213 #define SWITCH_REMOTE_VIDEO_PORT_VARIABLE "remote_video_port"
214 #define SWITCH_LOCAL_VIDEO_IP_VARIABLE "local_video_ip"
215 #define SWITCH_LOCAL_VIDEO_PORT_VARIABLE "local_video_port"
216 #define SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE "hangup_after_bridge"
217 #define SWITCH_PARK_AFTER_BRIDGE_VARIABLE "park_after_bridge"
218 #define SWITCH_PARK_AFTER_EARLY_BRIDGE_VARIABLE "park_after_early_bridge"
219 #define SWITCH_TRANSFER_AFTER_BRIDGE_VARIABLE "transfer_after_bridge"
220 #define SWITCH_TRANSFER_AFTER_EARLY_BRIDGE_VARIABLE "transfer_after_early_bridge"
221 #define SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE "exec_after_bridge_app"
222 #define SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE "exec_after_bridge_arg"
223 #define SWITCH_MAX_FORWARDS_VARIABLE "max_forwards"
224 #define SWITCH_MAX_SESSION_TRANSFERS_VARIABLE "max_session_transfers"
225 #define SWITCH_DISABLE_APP_LOG_VARIABLE "disable_app_log"
226 #define SWITCH_SPEECH_KEY "speech"
227 #define SWITCH_UUID_BRIDGE "uuid_bridge"
228 #define SWITCH_BITS_PER_BYTE 8
229 #define SWITCH_DEFAULT_FILE_BUFFER_LEN 65536
230 #define SWITCH_DTMF_LOG_LEN 1000
231 #define SWITCH_MAX_TRANS 2000
232 #define SWITCH_CORE_SESSION_MAX_PRIVATES 2
233 #define SWITCH_DEFAULT_VIDEO_SIZE 1200
234 #define SWITCH_RTCP_AUDIO_INTERVAL_MSEC "5000"
235 #define SWITCH_RTCP_VIDEO_INTERVAL_MSEC "2000"
238 #define JITTER_VARIANCE_THRESHOLD 400.0
240 #define IPDV_THRESHOLD 1.0
242 #define LOST_BURST_ANALYZE 500
244 #define LOST_BURST_CAPTURE 1024
550 #define SWITCH_MAX_STACKS 16
551 #define SWITCH_THREAD_STACKSIZE 240 * 1024
552 #define SWITCH_SYSTEM_THREAD_STACKSIZE 8192 * 1024
553 #define SWITCH_MAX_INTERVAL 120
554 #define SWITCH_INTERVAL_PAD 10
555 #define SWITCH_MAX_SAMPLE_LEN 48
556 #define SWITCH_BYTES_PER_SAMPLE 2
557 #define SWITCH_RECOMMENDED_BUFFER_SIZE 8192
558 #define SWITCH_MAX_CODECS 50
559 #define SWITCH_MAX_STATE_HANDLERS 30
560 #define SWITCH_CORE_QUEUE_LEN 100000
561 #define SWITCH_MAX_MANAGEMENT_BUFFER_LEN 1024 * 8
563 #define SWITCH_ACCEPTABLE_INTERVAL(_i) (_i && _i <= SWITCH_MAX_INTERVAL && (_i % 10) == 0)
702 #define SWITCH_RTP_CNG_PAYLOAD 13
901 #pragma pack(push, r1, 1)
904 #if SWITCH_BYTE_ORDER == __BIG_ENDIAN
944 #pragma pack(pop, r1)
948 #pragma pack(push, r1, 1)
951 #if SWITCH_BYTE_ORDER == __BIG_ENDIAN
973 #pragma pack(pop, r1)
1246 #define SWITCH_CHANNEL_LOG SWITCH_CHANNEL_ID_LOG, __FILE__, __SWITCH_FUNC__, __LINE__, NULL
1247 #define SWITCH_CHANNEL_LOG_CLEAN SWITCH_CHANNEL_ID_LOG_CLEAN, __FILE__, __SWITCH_FUNC__, __LINE__, NULL
1248 #define SWITCH_CHANNEL_SESSION_LOG_CLEAN(x) SWITCH_CHANNEL_ID_LOG_CLEAN, __FILE__, __SWITCH_FUNC__, __LINE__, switch_core_session_get_uuid((x))
1249 #define SWITCH_CHANNEL_EVENT SWITCH_CHANNEL_ID_EVENT, __FILE__, __SWITCH_FUNC__, __LINE__, NULL
1250 #define SWITCH_CHANNEL_SESSION_LOG(x) SWITCH_CHANNEL_ID_SESSION, __FILE__, __SWITCH_FUNC__, __LINE__, (const char*)(x)
1251 #define SWITCH_CHANNEL_CHANNEL_LOG(x) SWITCH_CHANNEL_ID_SESSION, __FILE__, __SWITCH_FUNC__, __LINE__, (const char*)switch_channel_get_session(x)
1252 #define SWITCH_CHANNEL_UUID_LOG(x) SWITCH_CHANNEL_ID_LOG, __FILE__, __SWITCH_FUNC__, __LINE__, (x)
1712 #define SWITCH_MEDIA_TYPE_TOTAL 2
2149 #define SWITCH_SOCK_INVALID INVALID_SOCKET
2152 #define SWITCH_SOCK_INVALID -1
2241 uint32_t decoded_data_len,
2242 uint32_t decoded_rate,
2243 void *encoded_data, uint32_t *encoded_data_len, uint32_t *encoded_rate,
unsigned int *flag);
2249 uint32_t encoded_data_len,
2250 uint32_t encoded_rate,
2251 void *decoded_data, uint32_t *decoded_data_len, uint32_t *decoded_rate,
unsigned int *flag);
2293 #define SWITCH_STANDARD_CHAT_APP(name) static switch_status_t name (switch_event_t *message, const char *data)
2296 #define SWITCH_STANDARD_APP(name) static void name (switch_core_session_t *session, const char *data)
2301 #define SWITCH_STANDARD_DIALPLAN(name) static switch_caller_extension_t *name (switch_core_session_t *session, void *arg, switch_caller_profile_t *caller_profile)
2304 #define SWITCH_HASH_DELETE_FUNC(name) static switch_bool_t name (const void *key, const void *val, void *pData)
2310 #define SWITCH_STANDARD_SCHED_FUNC(name) static void name (switch_scheduler_task_t *task)
2322 #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)
2328 #define SWITCH_STANDARD_JSON_API(name) static switch_status_t name (const cJSON *json, _In_opt_ switch_core_session_t *session, cJSON **json_reply)
2335 #define DMACHINE_MAX_DIGIT_LEN 512
2356 #define MAX_ARG_RECURSION 25
2358 #define arg_recursion_check_start(_args) if (_args) { \
2359 if (_args->loops >= MAX_ARG_RECURSION) { \
2360 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, \
2361 "RECURSION ERROR! It's not the best idea to call things that collect input recursively from an input callback.\n"); \
2362 return SWITCH_STATUS_GENERR; \
2363 } else {_args->loops++;} \
2367 #define arg_recursion_check_stop(_args) if (_args) _args->loops--
2409 const char *tag_name,
const char *key_name,
const char *key_value, switch_event_t *params,
2422 #define SWITCH_API_VERSION 5
2423 #define SWITCH_MODULE_LOAD_ARGS (switch_loadable_module_interface_t **module_interface, switch_memory_pool_t *pool)
2424 #define SWITCH_MODULE_RUNTIME_ARGS (void)
2425 #define SWITCH_MODULE_SHUTDOWN_ARGS (void)
2429 #define SWITCH_MODULE_LOAD_FUNCTION(name) switch_status_t name SWITCH_MODULE_LOAD_ARGS
2430 #define SWITCH_MODULE_RUNTIME_FUNCTION(name) switch_status_t name SWITCH_MODULE_RUNTIME_ARGS
2431 #define SWITCH_MODULE_SHUTDOWN_FUNCTION(name) switch_status_t name SWITCH_MODULE_SHUTDOWN_ARGS
2458 #define SWITCH_MODULE_DEFINITION_EX(name, load, shutdown, runtime, flags) \
2459 static const char modname[] = #name ; \
2460 SWITCH_MOD_DECLARE_DATA switch_loadable_module_function_table_t name##_module_interface = { \
2461 SWITCH_API_VERSION, \
2468 #define SWITCH_MODULE_DEFINITION(name, load, shutdown, runtime) \
2469 SWITCH_MODULE_DEFINITION_EX(name, load, shutdown, runtime, SMODF_NONE)
2480 struct sql_queue_manager;
uint32_t switch_bind_flag_t
A module interface to implement an application.
switch_status_t(* switch_read_frame_callback_function_t)(switch_core_session_t *session, switch_frame_t *frame, void *user_data)
uint32_t T38FaxMaxDatagram
switch_status_t switch_module_load_t SWITCH_MODULE_LOAD_ARGS
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.
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
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)
struct switch_odbc_handle switch_odbc_handle_t
void(* switch_media_bug_exec_cb_t)(switch_media_bug_t *bug, void *user_data)
void(* switch_video_function_t)(switch_core_session_t *session, void *user_data)
Abstraction of an module endpoint interface This is the glue between the abstract idea of a "channel"...
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
uint32_t switch_application_flag_t
switch_status_t(* switch_core_video_thread_callback_func_t)(switch_core_session_t *session, switch_frame_t *frame, void *user_data)
#define SWITCH_END_EXTERN_C
switch_event_types_t
Built-in Events.
uint32_t switch_speech_flag_t
unsigned long adv_rm_rate
switch_xml_t(* switch_xml_open_root_function_t)(uint8_t reload, const char **err, void *user_data)
switch_ivr_dmachine_t * dmachine
switch_size_t largest_jb_size
struct switch_pgsql_handle switch_pgsql_handle_t
struct error_period * next
switch_priority_t
Priority Indication.
struct switch_xml * switch_xml_t
switch_status_t(* switch_console_complete_callback_t)(const char *, const char *, switch_console_callback_match_t **matches)
switch_status_t(* switch_new_say_callback_t)(switch_say_file_handle_t *sh, char *tosay, switch_say_args_t *say_args)
switch_channel_flag_t
Channel Flags.
switch_say_method_t method
Representation of an event.
switch_status_t(* switch_chat_application_function_t)(switch_event_t *, const char *)
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.
switch_bitpack_mode_t mode
switch_digit_action_target_t
switch_bool_t T38FaxTranscodingMMR
const char * T38FaxRateManagement
switch_status_t(* switch_say_string_callback_t)(switch_core_session_t *session, char *tosay, switch_say_args_t *say_args, char **rstr)
Abstract interface to a chat module.
struct switch_console_callback_match_node * head
uint32_t last_rpt_ext_seq
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_say_callback_t)(switch_core_session_t *session, char *tosay, switch_say_args_t *say_args, switch_input_args_t *args)
switch_bool_t(* switch_media_bug_callback_t)(switch_media_bug_t *, void *, switch_abc_type_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.
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
uint32_t switch_core_flag_t
switch_status_t(* switch_core_codec_video_encode_func_t)(switch_codec_t *codec, switch_frame_t *frame)
uint32_t switch_module_flag_t
Abstract interface to an asr module.
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
int(* switch_modulename_callback_func_t)(void *user_data, const char *module_name)
switch_module_load_t load
#define LOST_BURST_CAPTURE
switch_codec_control_command_t
uint32_t switch_vad_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)
void(* switch_application_function_t)(switch_core_session_t *, const char *)
switch_codec_control_type_t
struct switch_pgsql_result switch_pgsql_result_t
Abstract interface to a speech module.
switch_rtcp_numbers_t rtcp
switch_byte_t switch_byte_t * buf
switch_chat_application_flag_enum_t
A module interface to implement an api function.
uint32_t switch_file_flag_t
Abstract interface to a say module.
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)
Abstract interface to a management module.
uint32_t switch_xml_section_t
switch_status_t(* switch_state_handler_t)(switch_core_session_t *)
switch_rtp_numbers_t outbound
uint32_t switch_timer_flag_t
switch_directory_flag_enum_t
Top level module interface to implement a series of codec implementations.
switch_application_flag_enum_t
switch_status_t(* switch_core_codec_destroy_func_t)(switch_codec_t *)
switch_status_t(* switch_core_codec_init_func_t)(switch_codec_t *, switch_codec_flag_t, const switch_codec_settings_t *codec_settings)
switch_status_t switch_module_runtime_t SWITCH_MODULE_RUNTIME_ARGS
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
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)
struct switch_rtcp_hdr_s switch_rtcp_hdr_t
switch_dtmf_source_t
DTMF sources.
uint32_t switch_asr_flag_t
const char * T38VendorInfo
switch_filenames SWITCH_GLOBAL_filenames
switch_byte_t switch_byte_t uint32_t buflen
void(* switch_scheduler_func_t)(switch_scheduler_task_t *task)
uint32_t switch_eavesdrop_flag_t
switch_speech_flag_enum_t
switch_module_runtime_t runtime
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_channel_callstate_t
switch_say_gender_t gender
switch_size_t packet_count
uint32_t switch_frame_flag_t
switch_directories SWITCH_GLOBAL_dirs
switch_size_t jb_packet_count
switch_media_bug_flag_enum_t
switch_size_t skip_packet_count
void(* switch_event_callback_t)(switch_event_t *)
switch_module_flag_t flags
void(* switch_event_channel_func_t)(const char *event_channel, cJSON *json, const char *key, switch_event_channel_id_t id)
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 ...
switch_status_t
Common return values.
struct error_period * error_log
switch_originate_flag_enum_t
switch_status_t(* switch_json_api_function_t)(const cJSON *json, _In_opt_ switch_core_session_t *session, cJSON **json_reply)
switch_status_t switch_module_shutdown_t SWITCH_MODULE_SHUTDOWN_ARGS
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_stream_handle_raw_write_function_t)(switch_stream_handle_t *handle, uint8_t *data, switch_size_t datalen)
switch_size_t flush_packet_count
A registered custom event subclass.
switch_signal_t
Signals to send to channels.
switch_size_t media_packet_count
uint32_t switch_port_flag_t
switch_status_t(* switch_ivr_dmachine_callback_t)(switch_ivr_dmachine_match_t *match)
struct error_period switch_error_period_t
switch_payload_t agreed_pt
int(* switch_core_recover_callback_t)(switch_core_session_t *session)
switch_bool_t(* switch_hash_delete_callback_t)(_In_ const void *key, _In_ const void *val, _In_opt_ void *pData)
A generic object to pass as a thread's session object to allow mutiple arguements and a pool...
struct apr_pool_t switch_memory_pool_t
uint32_t switch_media_flag_t
switch_stack_t
Expression of how to stack a list.
switch_module_shutdown_t shutdown
switch_status_t(* switch_stream_handle_write_function_t)(switch_stream_handle_t *handle, const char *fmt,...)
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
void(* switch_cap_callback_t)(const char *var, const char *val, void *user_data)
switch_scheduler_flag_enum_t
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)
const char * match_digits
switch_core_media_ice_type_t
switch_status_t(* switch_core_codec_video_decode_func_t)(switch_codec_t *codec, switch_frame_t *frame)
uint32_t switch_directory_flag_t
switch_channel_app_flag_t
switch_status_t(* switch_core_codec_fmtp_parse_func_t)(const char *fmtp, switch_codec_fmtp_t *codec_fmtp)
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.
void(* hashtable_destructor_t)(void *ptr)
switch_bool_t(* switch_tone_detect_callback_t)(switch_core_session_t *, const char *, const char *)
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