Asterisk - The Open Source Telephony Project  18.5.0
Macros | Functions | Variables
eagi_proxy.c File Reference
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <string.h>
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <fcntl.h>
#include <errno.h>
#include <ctype.h>
#include <pthread.h>
Include dependency graph for eagi_proxy.c:

Go to the source code of this file.

Macros

#define BUFSIZE   1024
 
#define COMMAND_PORT   8417
 
#define SEND_ENVIORNMENT   /*send the enviornment thru the socket*/
 
#define SIGNAL_PORT   8418
 
#define WINBUF_NUM   2400 /* number of WINSIZE windows = 1 minute */
 
#define WINSIZE   400 /* 25 ms @ 8 kHz and 16bit */
 

Functions

int connect_to_host (char *host, int port)
 
void finalize ()
 
int main ()
 
void read_full (int file, char *buffer, int num)
 
int read_some (int file, char *buffer, int size)
 
void * readSignal (void *ptr)
 
void * readStdin (void *ptr)
 
void setnonblocking (int desc)
 
int write_amap (int file, char *buffer, int num)
 
void write_buf (int file, char *buffer, int num)
 

Variables

char * be
 
char * bs
 
char buf [BUFSIZE]
 
int command_desc
 
pthread_mutex_t command_mutex
 
char connected =1
 
char * end
 
pthread_t signal_thread
 
int speech_desc
 
pthread_t stdin_thread
 
char * winbuf
 
char window [WINSIZE]
 

Macro Definition Documentation

◆ BUFSIZE

#define BUFSIZE   1024

Definition at line 65 of file eagi_proxy.c.

Referenced by main(), and readStdin().

◆ COMMAND_PORT

#define COMMAND_PORT   8417

Definition at line 60 of file eagi_proxy.c.

Referenced by main().

◆ SEND_ENVIORNMENT

#define SEND_ENVIORNMENT   /*send the enviornment thru the socket*/

Definition at line 61 of file eagi_proxy.c.

◆ SIGNAL_PORT

#define SIGNAL_PORT   8418

Definition at line 59 of file eagi_proxy.c.

Referenced by main().

◆ WINBUF_NUM

#define WINBUF_NUM   2400 /* number of WINSIZE windows = 1 minute */

Definition at line 71 of file eagi_proxy.c.

Referenced by main().

◆ WINSIZE

#define WINSIZE   400 /* 25 ms @ 8 kHz and 16bit */

Definition at line 68 of file eagi_proxy.c.

Referenced by main(), and readSignal().

Function Documentation

◆ connect_to_host()

int connect_to_host ( char *  host,
int  port 
)

Definition at line 217 of file eagi_proxy.c.

References desc, EXIT_FAILURE, and gethostbyname.

Referenced by main().

218 {
219  int address;
220  struct hostent* host_entity;
221  int res,desc;
222  int opts;
223  struct sockaddr_in host;
224 
225 
226  /* get address */
227  if(!strcmp(name,"localhost"))
228  address=htonl(2130706433); /*127.0.0.1*/
229  else
230  {
231  address=inet_addr(name); /* check if it's an IP that's written in the string */
232  if(address==(in_addr_t)-1)
233  {
234  host_entity = gethostbyname(name); /* search for the host under this name */
235 
236  if(!host_entity)
237  {
238  fprintf(stderr,"EAGI proxy: Wrong address!\n"); /* can't find anything*/
239  return -1;
240  }
241  address=*((int*)host_entity->h_addr);
242  }
243  }
244 
245  desc=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
246  if(desc<0)
247  {
248  fprintf(stderr,"EAGI proxy: Cannot create socket!\n");
249  return -1;
250  }
251 
252  memset((void*)&host,0,sizeof(struct sockaddr_in));
253 
254  host.sin_family=AF_INET;
255  host.sin_port=htons(port);
256  host.sin_addr.s_addr=address;
257 
258  res=connect(desc,(struct sockaddr*)&host,sizeof(host));
259  if(res<0)
260  {
261  fprintf(stderr,"EAGI proxy: Cannot connect!\n");
262  return -1;
263  }
264 
265  /* set to non-blocking mode */
266  opts = fcntl(desc,F_GETFL);
267  if (opts < 0) {
268  perror("fcntl(F_GETFL)");
269  exit(EXIT_FAILURE);
270  }
271  opts = (opts | O_NONBLOCK);
272  if (fcntl(desc,F_SETFL,opts) < 0) {
273  perror("fcntl(F_SETFL)");
274  exit(EXIT_FAILURE);
275  }
276 
277 
278  return desc;
279 }
#define gethostbyname
Definition: lock.h:637
#define EXIT_FAILURE
char * address
Definition: f2c.h:59
static const char desc[]
Definition: cdr_mysql.c:73
static char host[256]
Definition: muted.c:77
static const char name[]
Definition: cdr_mysql.c:74

◆ finalize()

void finalize ( )

Definition at line 154 of file eagi_proxy.c.

References command_desc, free(), speech_desc, and winbuf.

Referenced by main().

155 {
156  close(command_desc);
157  close(speech_desc);
158  free(winbuf);
159 }
int speech_desc
Definition: eagi_proxy.c:81
void free()
int command_desc
Definition: eagi_proxy.c:80
char * winbuf
Definition: eagi_proxy.c:72

◆ main()

int main ( )

Definition at line 107 of file eagi_proxy.c.

References be, bs, buf, BUFSIZE, command_desc, command_mutex, COMMAND_PORT, connect_to_host(), connected, end, finalize(), malloc(), NULL, pthread_create, pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock, read_some(), readSignal(), readStdin(), SIGNAL_PORT, signal_thread, speech_desc, stdin_thread, winbuf, WINBUF_NUM, and WINSIZE.

108 {
109  int ret;
110 
111  atexit(finalize);
112 
113  setlinebuf(stdin);
114  setlinebuf(stdout);
115 
118  bs=be=winbuf;
119 
121  if(speech_desc<0)
122  {
123  perror("signal socket");
124  return -1;
125  }
126 
127 
129  if(command_desc<0)
130  {
131  perror("command socket");
132  return -1;
133  }
134 
138 
139  while(connected)
140  {
144  if(ret>0)
145  {
146  buf[ret]=0;
147  printf("%s",buf);
148  }
149  }
150 
151  return 0;
152 }
#define pthread_mutex_init
Definition: lock.h:626
int read_some(int file, char *buffer, int size)
Definition: eagi_proxy.c:281
char buf[BUFSIZE]
Definition: eagi_proxy.c:66
char * be
Definition: eagi_proxy.c:73
#define NULL
Definition: resample.c:96
char * end
Definition: eagi_proxy.c:73
pthread_t signal_thread
Definition: eagi_proxy.c:97
pthread_mutex_t command_mutex
Definition: eagi_proxy.c:96
char * bs
Definition: eagi_proxy.c:73
int speech_desc
Definition: eagi_proxy.c:81
char * malloc()
#define WINBUF_NUM
Definition: eagi_proxy.c:71
#define pthread_mutex_lock
Definition: lock.h:623
#define BUFSIZE
Definition: eagi_proxy.c:65
#define SIGNAL_PORT
Definition: eagi_proxy.c:59
void * readSignal(void *ptr)
Definition: eagi_proxy.c:188
void * readStdin(void *ptr)
Definition: eagi_proxy.c:161
pthread_t stdin_thread
Definition: eagi_proxy.c:97
#define pthread_create
Definition: lock.h:640
int connect_to_host(char *host, int port)
Definition: eagi_proxy.c:217
#define COMMAND_PORT
Definition: eagi_proxy.c:60
int command_desc
Definition: eagi_proxy.c:80
void finalize()
Definition: eagi_proxy.c:154
#define WINSIZE
Definition: eagi_proxy.c:68
#define pthread_mutex_unlock
Definition: lock.h:624
char * winbuf
Definition: eagi_proxy.c:72
char connected
Definition: eagi_proxy.c:82

◆ read_full()

void read_full ( int  file,
char *  buffer,
int  num 
)

Definition at line 200 of file eagi_proxy.c.

References connected, and errno.

Referenced by readSignal().

201 {
202  int count,pos=0;
203 
204  while(num)
205  {
206  count=read(file,buffer+pos,num);
207  if(count==0 || (count<0 && errno!=EAGAIN))
208  {
209  connected=0;
210  return;
211  }
212  num-=count;
213  pos+=count;
214  }
215 }
int errno
char connected
Definition: eagi_proxy.c:82

◆ read_some()

int read_some ( int  file,
char *  buffer,
int  size 
)

Definition at line 281 of file eagi_proxy.c.

References c, connected, and errno.

Referenced by main().

282 {
283  unsigned char c;
284  int res,i=0;
285 
286  for(;;)
287  {
288  res=read(desc,&c,1);
289  if(res<1)
290  {
291  if(errno!=EAGAIN)
292  {
293  perror("Error reading");
294  connected=0;
295  }
296  break;
297  }
298  if(res==0)
299  {
300  connected=0;
301  break;
302  }
303 
304  buffer[i]=c;
305  i++;
306  }
307 
308  return i;
309 }
static const char desc[]
Definition: cdr_mysql.c:73
static struct test_val c
int errno
char connected
Definition: eagi_proxy.c:82

◆ readSignal()

void * readSignal ( void *  ptr)

Definition at line 188 of file eagi_proxy.c.

References connected, NULL, read_full(), speech_desc, window, WINSIZE, and write_buf().

Referenced by main().

189 {
190  while(connected)
191  {
194  }
195 
196  pthread_exit(NULL);
197 }
#define NULL
Definition: resample.c:96
int speech_desc
Definition: eagi_proxy.c:81
void write_buf(int file, char *buffer, int num)
Definition: eagi_proxy.c:312
void read_full(int file, char *buffer, int num)
Definition: eagi_proxy.c:200
char window[WINSIZE]
Definition: eagi_proxy.c:69
#define WINSIZE
Definition: eagi_proxy.c:68
char connected
Definition: eagi_proxy.c:82

◆ readStdin()

void * readStdin ( void *  ptr)

Definition at line 161 of file eagi_proxy.c.

References buf, BUFSIZE, command_desc, command_mutex, connected, NULL, pthread_mutex_lock, pthread_mutex_unlock, and write_buf().

Referenced by main().

162 {
163  while(1)/*read enviornment*/
164  {
165  fgets(buf,BUFSIZE,stdin);
166  #ifdef SEND_ENVIORNMENT
168  write_buf(command_desc,buf,strlen(buf));
170  #endif
171  if(feof(stdin) || buf[0]=='\n')
172  {
173  break;
174  }
175  }
176 
177  while(connected)
178  {
179  fgets(buf,BUFSIZE,stdin);
181  write_buf(command_desc,buf,strlen(buf));
183  }
184 
185  pthread_exit(NULL);
186 }
char buf[BUFSIZE]
Definition: eagi_proxy.c:66
#define NULL
Definition: resample.c:96
pthread_mutex_t command_mutex
Definition: eagi_proxy.c:96
void write_buf(int file, char *buffer, int num)
Definition: eagi_proxy.c:312
#define pthread_mutex_lock
Definition: lock.h:623
#define BUFSIZE
Definition: eagi_proxy.c:65
int command_desc
Definition: eagi_proxy.c:80
#define pthread_mutex_unlock
Definition: lock.h:624
char connected
Definition: eagi_proxy.c:82

◆ setnonblocking()

void setnonblocking ( int  desc)

Definition at line 402 of file eagi_proxy.c.

403 {
404  int opts;
405 
406  opts = fcntl(desc,F_GETFL);
407  if(opts < 0)
408  {
409  perror("fcntl(F_GETFL)");
410  exit(-1);
411  }
412 
413  opts = (opts | O_NONBLOCK );
414  if(fcntl(desc,F_SETFL,opts) < 0)
415  {
416  perror("fcntl(F_SETFL)");
417  exit(-1);
418  }
419 }
static const char desc[]
Definition: cdr_mysql.c:73

◆ write_amap()

int write_amap ( int  file,
char *  buffer,
int  num 
)

Definition at line 382 of file eagi_proxy.c.

References connected, and errno.

Referenced by write_buf().

383 {
384  int ret;
385  ret=write(desc,buf,size);
386  if(ret<0)
387  {
388  if(errno!=EAGAIN)
389  {
390  perror("Error writing");
391  connected=0;
392  }
393  return 0;
394  }
395  if(ret==0)
396  connected=0;
397 
398  return ret;
399 }
char buf[BUFSIZE]
Definition: eagi_proxy.c:66
static const char desc[]
Definition: cdr_mysql.c:73
int errno
char connected
Definition: eagi_proxy.c:82

◆ write_buf()

void write_buf ( int  file,
char *  buffer,
int  num 
)

Definition at line 312 of file eagi_proxy.c.

References be, bs, end, winbuf, and write_amap().

Referenced by AST_TEST_DEFINE(), audiohook_read_frame_both(), readSignal(), and readStdin().

313 {
314  int ret;
315 
316  /*NOTE: AMAP -> as much as possible */
317 
318  if(be!=bs)/* if data left in buffer */
319  {
320  if(be>bs)/* if buffer not split */
321  {
322  ret=write_amap(desc,bs,be-bs);/* write AMAP */
323  bs+=ret;/* shift the start of the buffer */
324  }
325  else/* if buffer is split */
326  {
327  ret=write_amap(desc,bs,end-bs);/* write higher part first */
328  if(ret==end-bs)/* if wrote whole of the higher part */
329  {
330  ret=write_amap(desc,winbuf,be-winbuf);/* write lower part */
331  bs=winbuf+ret;/* shift start to new position */
332  }
333  else bs+=ret;/* if not wrote whole of higher part, only shift start */
334  }
335  }
336 
337  if(be==bs)/* if buffer is empty now */
338  {
339  ret=write_amap(desc,buf,size);/* write AMAP of the new data */
340  buf+=ret;/* shift start of new data */
341  size-=ret;/* lower size of new data */
342  }
343 
344  if(size)/* if new data still remains unsent */
345  {
346  if(be>=bs)/* if data not split */
347  {
348  if(size>end-be)/* if new data size doesn't fit higher end */
349  {
350  size-=end-be;/* reduce new data size by the higher end size */
351  memcpy(be,buf,end-be);/* copy to higher end */
352  be=winbuf;/* shift end to begining of buffer */
353  buf+=end-be;/* shift start of new data */
354  }
355  else/* if new data fits the higher end */
356  {
357  memcpy(be,buf,size);/* copy to higher end */
358  be+=size;/* shift end by size */
359  if(be>=end)/* if end goes beyond the buffer */
360  be=winbuf;/* restart */
361  size=0;/* everything copied */
362  }
363  }
364 
365  if(size)/* if new data still remains */
366  {
367  if(size>=bs-be)/* if new data doesn't fit between end and start */
368  {
369  fprintf(stderr,"Buffer overflow!\n");
370  size=bs-be-1;/* reduce the size that we can copy */
371  }
372 
373  if(size)/* if we can copy anything */
374  {
375  memcpy(be,buf,size);/* copy the new data between end and start */
376  be+=size;/* shift end by size */
377  }
378  }
379  }
380 }
char buf[BUFSIZE]
Definition: eagi_proxy.c:66
static const char desc[]
Definition: cdr_mysql.c:73
char * be
Definition: eagi_proxy.c:73
char * end
Definition: eagi_proxy.c:73
char * bs
Definition: eagi_proxy.c:73
int write_amap(int file, char *buffer, int num)
Definition: eagi_proxy.c:382
char * winbuf
Definition: eagi_proxy.c:72

Variable Documentation

◆ be

char * be

Definition at line 73 of file eagi_proxy.c.

Referenced by cdr_generic_register(), hashtab_compare_strings(), main(), and write_buf().

◆ bs

char * bs

◆ buf

char buf[BUFSIZE]
Examples:
/usr/src/asterisk-18.5.0/include/asterisk/strings.h, and /usr/src/asterisk-18.5.0/main/app.c.

Definition at line 66 of file eagi_proxy.c.

Referenced by __adsi_transmit_messages(), __ast_app_separate_args(), __ast_frdup(), __ast_test_status_update(), __ast_test_suite_event_notify(), __manager_event_sessions_va(), __ovfl_get(), __rtp_recvfrom(), __rtp_sendto(), __stub__ast_websocket_read(), __transmit_response(), _ast_str_create(), _ast_xmldoc_build_arguments(), _sip_tcp_helper_thread(), acf_escape(), acf_odbc_write(), acf_sprintf(), action_add_agi_cmd(), action_bridge(), action_command(), action_redirect(), active_channels_to_str_cb(), add_exten_to_pattern_tree(), add_menu_entry(), adsi_begin_download(), adsi_careful_send(), adsi_end_download(), adsi_get_cpeid(), adsi_get_cpeinfo(), adsi_load(), adsi_print(), adsi_prog(), ael_yy_scan_bytes(), aelsub_exec(), agi_exec_full(), allocate_tdata_buffer(), alsa_read(), ami_outbound_registration_task(), ami_registrations_aor(), ami_subscription_detail(), analog_ss_thread(), announce_to_dial(), anti_injection(), ao2_container_unregister(), app_exec(), append_history_va(), apply_outgoing(), assign_uuid(), ast_agi_send(), ast_app_separate_args(), ast_ari_callback(), ast_audiosocket_init(), ast_audiosocket_send_frame(), ast_callerid_merge(), ast_compile_ael2(), ast_devstate_changed(), ast_dns_test_generate_result(), ast_dns_test_write_domain(), ast_eid_to_str(), ast_el_read_char(), ast_fax_caps_to_str(), ast_fileexists(), ast_generate_random_string(), ast_http_get_contents(), ast_http_get_json(), ast_http_get_post_vars(), ast_http_header_parse(), ast_http_send(), ast_inet_ntoa(), ast_iostream_discard(), ast_iostream_printf(), ast_json_timeval(), ast_log_backtrace(), ast_openstream_full(), ast_openvstream(), ast_parse_arg(), ast_presence_state_changed(), ast_print_group(), ast_read_image(), ast_recvchar(), ast_recvtext(), ast_remotecontrol(), ast_rtp_instance_get_quality(), ast_say_digits_full(), ast_say_number_full_zh(), ast_set_default_eid(), ast_sip_contact_to_str(), ast_sip_create_ami_event(), ast_sip_format_contact_ami(), ast_slinfactory_read(), ast_sorcery_objectset_json_create(), ast_state2str(), ast_statsd_log_full_va(), ast_statsd_log_string_va(), ast_str_buffer(), ast_str_get_encoded_str(), ast_str_reset(), ast_str_size(), ast_str_strlen(), ast_str_thread_get(), ast_str_trim_blanks(), ast_str_update(), ast_stream_create_resolved(), ast_term_color(), ast_test_debug(), AST_TEST_DEFINE(), ast_threadstorage_get(), ast_translate_number_ka(), ast_udptl_read(), ast_udptl_write(), AST_VECTOR(), ast_vector_string_split(), ast_writefile(), ast_xmldoc_printable(), ast_yy_scan_bytes(), asterisk_daemon(), astman_append(), astman_append_json(), astman_send_error_va(), astman_send_list_complete(), astman_send_list_complete_start(), astman_send_list_complete_start_common(), astman_send_response_full(), audiohook_read_frame_single(), auth_exec(), bucket_copy(), build_callid_pvt(), build_callid_registry(), build_peer(), build_regex(), build_user(), caldav_request(), callerid_feed(), callerid_feed_jp(), cb_events(), cdr_read(), chan_pjsip_new(), check_auth(), check_header(), check_password(), cli_console_sendtext(), cli_show_subscription_common(), compile_script(), complete_skinny_debug(), conf_run(), config_parse_variables(), config_text_file_load(), console_sendtext(), cops_getmsg(), cops_sendmsg(), copy(), corosync_show_members(), cpg_deliver_cb(), create_followme_number(), csv_log(), csv_quote(), custom_devstate_callback(), custom_presence_callback(), dahdi_chan_conf_default(), dahdi_sendtext(), dahdi_setoption(), dahdi_sig2str(), deliver_file(), destroy_mysql(), dialgroup_refreshdb(), dialog_associations_hash(), display_single_entry(), do_monitor(), do_monitor_headset(), do_monitor_phone(), do_notify(), dtls_handler(), dtmf_info_incoming_request(), dump_prov_flags(), dundi_flags2str(), dundi_hint2str(), enc_ie_facility(), end_bridge_callback(), epoch_to_string(), evaluate_like(), event2str(), exchangecal_request(), export_aoc_vars(), fax_generator_generate(), fetch_google_access_token(), fill_bridgepeer_buf(), filter(), flip_buf_bits(), format_ami_aor_handler(), format_ami_aorlist_handler(), format_ami_auth_handler(), format_ami_authlist_handler(), format_ami_contactlist_handler(), format_ami_endpoint(), format_ami_endpoint_transport(), format_ami_endpoints(), format_ami_resource_lists(), format_log_message_ap(), func_read_header(), function_db_delete_write(), function_ooh323_write(), g723_samples(), gen_prios(), generate_naptr_record(), generate_random_string(), generate_srv_record(), generate_uri(), get_line(), get_local_address(), get_mapping_weight(), get_single_field_as_var_list(), get_token(), get_transport_list(), handle_bchan(), handle_cdr_pgsql_status(), handle_clear_alarms(), handle_cli_cdr_mysql_status(), handle_cli_config_reload(), handle_cli_indication_show(), handle_cli_misdn_show_port(), handle_cli_misdn_show_stacks(), handle_cli_mobile_cusd(), handle_cli_mobile_rfcomm(), handle_cli_realtime_pgsql_status(), handle_commandmatchesarray(), handle_common_options(), handle_dbget(), handle_input(), handle_jack_audio(), handle_minivm_show_stats(), handle_msg_cb(), handle_recvtext(), handle_request_info(), handle_request_notify(), handle_request_subscribe(), handle_select_codec(), handle_show_calendar(), handle_show_hint(), handle_show_hints(), handle_show_settings(), handle_speechrecognize(), handle_t38_options(), has_destination_cb(), header_identify_match_check(), headers_to_vars(), hfp_parse_clip(), http_callback(), iax_provflags2str(), iax_str2flags(), iCBSearch(), isodate(), jb_debug_output(), jb_error_output(), jb_warning_output(), keypad_cfg_read(), linear_generator(), load_config(), log_action(), logger_print_normal(), loopback_parse(), loopback_subst(), main(), manager_bchannel_activate(), manager_bchannel_deactivate(), manager_log(), manager_park(), message_template_parse_filebody(), milliwatt_generate(), misdn_digit_end(), misdn_facility_ie_handler(), misdn_lib_destroy(), misdn_lib_send_tone(), misdn_lib_tx2misdn_frm(), misdn_tx_jitter(), moh_generate(), my_distinctive_ring(), my_get_callerid(), my_on_hook(), nominal_sync_run(), openssl_error_string(), parse_name_andor_addr(), pbx_builtin_background(), pcm_write(), pgsql_log(), phase_e_handler(), pjsip_acf_channel_read(), pjsip_acf_parse_uri_read(), poll_mailbox(), powiedz(), print_group(), print_named_groups(), printdigest(), process_description_file(), process_message(), process_output(), process_text_line(), proto2str(), publish_to_corosync(), queue_set_param(), quote(), read_config(), read_environment(), read_mf_digits(), read_sf_digits(), readmimefile(), readStdin(), realtime_common(), realtime_ldap_status(), realtime_multi_mysql(), realtime_mysql(), receive_message(), reload_config(), reload_module(), remove_excess_lws(), rfc3326_add_reason_header(), rfc3326_use_reason_header(), rfcomm_write_full(), rotate_file(), run_agi(), rx_data_to_ast_msg(), say_date_generic(), say_enumeration_full(), say_number_full(), scan_thread(), search_directory_sub(), select_item_menu(), send_cluster_notify(), send_identify_ami_event(), send_rasterisk_connect_commands(), set(), set_bridge_peer_vars_multiparty(), set_channel_variables(), set_duration_var(), set_full_cmd(), set_insecure_flags(), show_dialplan_helper(), silence_generator_generate(), sip_call(), sip_cli_notify(), sip_endpoints_aors_ami(), sip_parse_register_line(), sip_publication_respond(), sip_report_security_event(), sip_route_list(), sip_subscribe_mwi(), sip_to_pjsip(), skinny_call(), sla_state(), sla_stop_ringing_trunk(), sms_generate(), sms_log(), sms_writefile(), socket_read(), softmix_mixing_loop(), spandsp_fax_read(), sqlite3_escape_column_op(), sqlite3_escape_string_helper(), ssl_error_to_string(), stack_destroy(), stasis_device_state_cb(), store_mysql(), store_pgsql(), store_tone_zone_ring_cadence(), stream_monitor(), string_tolower(), string_toupper(), strip_control_and_high(), synths_(), system_exec_helper(), tdd_feed(), te_lib_destroy(), test_cli_generate_results(), test_jb_debug_output(), test_jb_error_output(), test_jb_warn_output(), tls_method_to_str(), transmit_fake_auth_response(), transmit_request_with_auth(), transport_bind_handler(), transport_create(), transport_read(), try_load_key(), tzload(), unshift_push(), update2_mysql(), update_mysql(), update_to_uri(), vm_allocate_dh(), vm_change_password_shell(), vm_check_password_shell(), vm_play_folder_name_gr(), xml_copy_escape(), xml_encode_str(), xmpp_client_authenticate_digest(), and xmpp_client_receive().

◆ command_desc

int command_desc

Definition at line 80 of file eagi_proxy.c.

Referenced by finalize(), main(), and readStdin().

◆ command_mutex

pthread_mutex_t command_mutex

Definition at line 96 of file eagi_proxy.c.

Referenced by main(), and readStdin().

◆ connected

char connected =1

◆ end

char* end
Examples:
/usr/src/asterisk-18.5.0/main/app.c.

Definition at line 73 of file eagi_proxy.c.

Referenced by __ast_play_and_record(), _build_port_config(), _extension_match_core(), aco_process_config(), ari_originate_dial(), ast_audiosocket_connect(), ast_bridge_transfer_attended(), ast_sip_pubsub_generate_body_content(), ast_str_to_imax(), ast_str_to_umax(), ast_term_init(), AST_TEST_DEFINE(), ast_xml_escape(), ast_xmldoc_printable(), async_callback(), caldav_add_event(), caldav_get_events_between(), calendar_query_exec(), common_exec(), control_streamfile(), copy_via_headers(), create_local_sdp(), dahdi_create_channel_range(), dahdi_create_channels(), dahdi_destroy_channels(), device_state_cb(), echo_exec(), end_bridge_callback(), ewscal_write_event(), exchangecal_get_events_between(), exchangecal_write_event(), execif_exec(), ext_cmp1(), ext_cmp_pattern_pos(), file_read(), fileexists_core(), find_table_cb(), find_unused_payload_in_range(), get_dial_bridge(), get_ewscal_ids_for(), get_range(), get_rdnis(), get_rpid(), h264_encap(), handle_cli_dialplan_add_extension(), handle_incoming_sdp(), headers_to_vars(), hp100_(), icalendar_add_event(), is_media_state_valid(), jb_debug_output(), jingle_outgoing_hook(), jingle_send_error_response(), jingle_send_session_info(), jingle_send_session_terminate(), keypad_cfg_read(), load_module(), main(), make_components(), misdn_cfg_update_ptp(), mock_tcp_loop(), mpeg4_encap(), new_invite(), off_nominal_async_callback(), osp_convert_outin(), ospfinished_exec(), parsedoublearg(), parsefreq(), parsetime(), parsevolarg(), parsevolume(), pbx_load_config(), publish_local_bridge_message(), rtp_ioqueue_thread_get_or_create(), safe_scan_int(), set_config(), sip_outbound_publish_callback(), sip_session_refresh(), sip_websocket_callback(), strreplace(), tds_log(), tone_detect(), transmit_invite(), two_bridge_attended_transfer(), update_caldav(), update_exchangecal(), update_header(), verify_mock_cdr_record(), websocket_echo_callback(), write_buf(), xmldoc_parse_specialtags(), and xmpp_client_service_discovery_get_hook().

◆ signal_thread

pthread_t signal_thread

Definition at line 97 of file eagi_proxy.c.

Referenced by main().

◆ speech_desc

int speech_desc

Definition at line 81 of file eagi_proxy.c.

Referenced by finalize(), main(), and readSignal().

◆ stdin_thread

pthread_t stdin_thread

Definition at line 97 of file eagi_proxy.c.

Referenced by main().

◆ winbuf

char* winbuf

Definition at line 72 of file eagi_proxy.c.

Referenced by finalize(), main(), and write_buf().

◆ window

char window[WINSIZE]

Definition at line 69 of file eagi_proxy.c.

Referenced by readSignal(), SimpleAnalysis(), and smb_pitch_shift().