]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
swig
authorAnthony Minessale <anthm@freeswitch.org>
Tue, 27 Sep 2016 23:03:16 +0000 (18:03 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Tue, 27 Sep 2016 23:03:16 +0000 (18:03 -0500)
src/mod/languages/mod_managed/freeswitch_wrap.cxx
src/mod/languages/mod_managed/managed/swig.cs

index 1f3c1e88513382efa50328f861f9326da080b5b5..69b666987aad7c955a26d9330100231ca6eac9d1 100644 (file)
@@ -1800,6 +1800,26 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get() {
 }
 
 
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_LOCAL_TEXT_IP_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *)("local_text_ip");
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_LOCAL_TEXT_PORT_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *)("local_text_port");
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
 SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get() {
   char * jresult ;
   char *result = 0 ;
@@ -3326,6 +3346,50 @@ SWIGEXPORT long long SWIGSTDCALL CSharp_switch_error_period_t_stop_get(void * ja
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_error_period_t_flaws_set(void * jarg1, unsigned long jarg2) {
+  error_period *arg1 = (error_period *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (error_period *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->flaws = arg2;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_error_period_t_flaws_get(void * jarg1) {
+  unsigned long jresult ;
+  error_period *arg1 = (error_period *) 0 ;
+  uint32_t result;
+  
+  arg1 = (error_period *)jarg1; 
+  result = (uint32_t) ((arg1)->flaws);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_error_period_t_consecutive_flaws_set(void * jarg1, unsigned long jarg2) {
+  error_period *arg1 = (error_period *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (error_period *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->consecutive_flaws = arg2;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_error_period_t_consecutive_flaws_get(void * jarg1) {
+  unsigned long jresult ;
+  error_period *arg1 = (error_period *) 0 ;
+  uint32_t result;
+  
+  arg1 = (error_period *)jarg1; 
+  result = (uint32_t) ((arg1)->consecutive_flaws);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_error_period_t_next_set(void * jarg1, void * jarg2) {
   error_period *arg1 = (error_period *) 0 ;
   error_period *arg2 = (error_period *) 0 ;
@@ -5712,7 +5776,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MEDIA_TYPE_TOTAL_get() {
   int jresult ;
   int result;
   
-  result = (int)(2);
+  result = (int)(3);
   jresult = result; 
   return jresult;
 }
@@ -10968,6 +11032,18 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_media_bug_get_session(void * ja
 }
 
 
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_media_bug_get_text(void * jarg1) {
+  char * jresult ;
+  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_media_bug_t *)jarg1; 
+  result = (char *)switch_core_media_bug_get_text(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
 SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_media_bug_test_flag(void * jarg1, unsigned long jarg2) {
   unsigned long jresult ;
   switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
@@ -12666,6 +12742,18 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_get_stream_count(void * ja
 }
 
 
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_session_get_text_buffer(void * jarg1) {
+  char * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (char *)switch_core_session_get_text_buffer(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_launch_thread(void * jarg1, void * jarg2, void * jarg3) {
   switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
   void *(*arg2)(switch_thread_t *,void *) = (void *(*)(switch_thread_t *,void *)) 0 ;
@@ -16767,6 +16855,20 @@ SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_debug_pool(void * jarg1)
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_override_io_routines(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_io_routines_t *arg2 = (switch_io_routines_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_io_routines_t *)jarg2; 
+  result = (switch_status_t)switch_core_session_override_io_routines(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT char * SWIGSTDCALL CSharp_switch_version_major() {
   char * jresult ;
   char *result = 0 ;
@@ -16842,6 +16944,18 @@ SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_autobind_cpu() {
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_start_text_thread(void * jarg1) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (switch_status_t)switch_core_session_start_text_thread(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_loadable_module_interface_module_name_set(void * jarg1, char * jarg2) {
   switch_loadable_module_interface *arg1 = (switch_loadable_module_interface *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -18564,6 +18678,28 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_switch_amp_encode(char * jarg1, char * jarg
 }
 
 
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_print_bits(void * jarg1, char * jarg2, void * jarg3) {
+  char * jresult ;
+  unsigned char *arg1 = (unsigned char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_size_t arg3 ;
+  switch_size_t *argp3 ;
+  char *result = 0 ;
+  
+  arg1 = (unsigned char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  argp3 = (switch_size_t *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  result = (char *)switch_print_bits((unsigned char const *)arg1,arg2,arg3);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
 SWIGEXPORT int SWIGSTDCALL CSharp_switch_is_digit_string(char * jarg1) {
   int jresult ;
   char *arg1 = (char *) 0 ;
@@ -23659,6 +23795,50 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_write_video_frame_get(vo
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_read_text_frame_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_read_text_frame_t arg2 = (switch_io_read_text_frame_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_read_text_frame_t)jarg2; 
+  if (arg1) (arg1)->read_text_frame = arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_read_text_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_read_text_frame_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_read_text_frame_t) ((arg1)->read_text_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_write_text_frame_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_write_text_frame_t arg2 = (switch_io_write_text_frame_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_write_text_frame_t)jarg2; 
+  if (arg1) (arg1)->write_text_frame = arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_write_text_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_write_text_frame_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_write_text_frame_t) ((arg1)->write_text_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_state_run_set(void * jarg1, void * jarg2) {
   switch_io_routines *arg1 = (switch_io_routines *) 0 ;
   switch_io_state_run_t arg2 = (switch_io_state_run_t) 0 ;
@@ -25285,6 +25465,28 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_mm_t_vh_get(void * jarg1) {
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_mm_t_cbr_set(void * jarg1, int jarg2) {
+  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_mm_s *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->cbr = arg2;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_mm_t_cbr_get(void * jarg1) {
+  int jresult ;
+  switch_mm_s *arg1 = (switch_mm_s *) 0 ;
+  int result;
+  
+  arg1 = (switch_mm_s *)jarg1; 
+  result = (int) ((arg1)->cbr);
+  jresult = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_mm_t_fps_set(void * jarg1, float jarg2) {
   switch_mm_s *arg1 = (switch_mm_s *) 0 ;
   float arg2 ;
@@ -33401,6 +33603,20 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_pass_callee_id(void * jarg1, vo
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_var_true(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (int)switch_channel_var_true(arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_variable_first(void * jarg1) {
   void * jresult ;
   switch_channel_t *arg1 = (switch_channel_t *) 0 ;
@@ -35002,6 +35218,18 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_zwrite(void * jarg1, void * j
 }
 
 
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_get_head_pointer(void * jarg1) {
+  void * jresult ;
+  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_buffer_t *)jarg1; 
+  result = (void *)switch_buffer_get_head_pointer(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_header_name_set(void * jarg1, char * jarg2) {
   switch_event_header *arg1 = (switch_event_header *) 0 ;
   char *arg2 = (char *) 0 ;
@@ -38412,6 +38640,46 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_play_file(void * jarg1, void * jarg
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_detect_audio(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, char * jarg5) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  uint32_t arg2 ;
+  uint32_t arg3 ;
+  uint32_t arg4 ;
+  char *arg5 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  arg4 = (uint32_t)jarg4; 
+  arg5 = (char *)jarg5; 
+  result = (switch_status_t)switch_ivr_detect_audio(arg1,arg2,arg3,arg4,(char const *)arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_detect_silence(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, char * jarg5) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  uint32_t arg2 ;
+  uint32_t arg3 ;
+  uint32_t arg4 ;
+  char *arg5 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  arg4 = (uint32_t)jarg4; 
+  arg5 = (char *)jarg5; 
+  result = (switch_status_t)switch_ivr_detect_silence(arg1,arg2,arg3,arg4,(char const *)arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_wait_for_silence(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, unsigned long jarg5, char * jarg6) {
   int jresult ;
   switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
@@ -40078,6 +40346,20 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_video_write_overlay_session(void *
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_capture_text(void * jarg1, int jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_bool_t arg2 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_bool_t)jarg2; 
+  result = (switch_status_t)switch_ivr_capture_text(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTP_MAX_BUF_LEN_get() {
   int jresult ;
   int result;
@@ -44042,6 +44324,130 @@ SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_video_write_frame
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_text_read_frame_text_read_frame_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_text_read_frame *arg1 = (switch_io_event_hook_text_read_frame *) 0 ;
+  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_text_read_frame *)jarg1; 
+  arg2 = (switch_read_frame_hook_t)jarg2; 
+  if (arg1) (arg1)->text_read_frame = arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_text_read_frame_text_read_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_text_read_frame *arg1 = (switch_io_event_hook_text_read_frame *) 0 ;
+  switch_read_frame_hook_t result;
+  
+  arg1 = (switch_io_event_hook_text_read_frame *)jarg1; 
+  result = (switch_read_frame_hook_t) ((arg1)->text_read_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_text_read_frame_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_text_read_frame *arg1 = (switch_io_event_hook_text_read_frame *) 0 ;
+  switch_io_event_hook_text_read_frame *arg2 = (switch_io_event_hook_text_read_frame *) 0 ;
+  
+  arg1 = (switch_io_event_hook_text_read_frame *)jarg1; 
+  arg2 = (switch_io_event_hook_text_read_frame *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_text_read_frame_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_text_read_frame *arg1 = (switch_io_event_hook_text_read_frame *) 0 ;
+  switch_io_event_hook_text_read_frame *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_text_read_frame *)jarg1; 
+  result = (switch_io_event_hook_text_read_frame *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_text_read_frame() {
+  void * jresult ;
+  switch_io_event_hook_text_read_frame *result = 0 ;
+  
+  result = (switch_io_event_hook_text_read_frame *)new switch_io_event_hook_text_read_frame();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_text_read_frame(void * jarg1) {
+  switch_io_event_hook_text_read_frame *arg1 = (switch_io_event_hook_text_read_frame *) 0 ;
+  
+  arg1 = (switch_io_event_hook_text_read_frame *)jarg1; 
+  delete arg1;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_text_write_frame_text_write_frame_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_text_write_frame *arg1 = (switch_io_event_hook_text_write_frame *) 0 ;
+  switch_video_write_frame_hook_t arg2 = (switch_video_write_frame_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_text_write_frame *)jarg1; 
+  arg2 = (switch_video_write_frame_hook_t)jarg2; 
+  if (arg1) (arg1)->text_write_frame = arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_text_write_frame_text_write_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_text_write_frame *arg1 = (switch_io_event_hook_text_write_frame *) 0 ;
+  switch_video_write_frame_hook_t result;
+  
+  arg1 = (switch_io_event_hook_text_write_frame *)jarg1; 
+  result = (switch_video_write_frame_hook_t) ((arg1)->text_write_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_text_write_frame_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_text_write_frame *arg1 = (switch_io_event_hook_text_write_frame *) 0 ;
+  switch_io_event_hook_text_write_frame *arg2 = (switch_io_event_hook_text_write_frame *) 0 ;
+  
+  arg1 = (switch_io_event_hook_text_write_frame *)jarg1; 
+  arg2 = (switch_io_event_hook_text_write_frame *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_text_write_frame_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_text_write_frame *arg1 = (switch_io_event_hook_text_write_frame *) 0 ;
+  switch_io_event_hook_text_write_frame *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_text_write_frame *)jarg1; 
+  result = (switch_io_event_hook_text_write_frame *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_text_write_frame() {
+  void * jresult ;
+  switch_io_event_hook_text_write_frame *result = 0 ;
+  
+  result = (switch_io_event_hook_text_write_frame *)new switch_io_event_hook_text_write_frame();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_text_write_frame(void * jarg1) {
+  switch_io_event_hook_text_write_frame *arg1 = (switch_io_event_hook_text_write_frame *) 0 ;
+  
+  arg1 = (switch_io_event_hook_text_write_frame *)jarg1; 
+  delete arg1;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_kill_channel_kill_channel_set(void * jarg1, void * jarg2) {
   switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
   switch_kill_channel_hook_t arg2 = (switch_kill_channel_hook_t) 0 ;
@@ -44506,6 +44912,50 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_video_write_frame_get
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_text_write_frame_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_text_write_frame_t *arg2 = (switch_io_event_hook_text_write_frame_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_text_write_frame_t *)jarg2; 
+  if (arg1) (arg1)->text_write_frame = arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_text_write_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_text_write_frame_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_text_write_frame_t *) ((arg1)->text_write_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_text_read_frame_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_text_read_frame_t *arg2 = (switch_io_event_hook_text_read_frame_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_text_read_frame_t *)jarg2; 
+  if (arg1) (arg1)->text_read_frame = arg2;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_text_read_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_text_read_frame_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_text_read_frame_t *) ((arg1)->text_read_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_kill_channel_set(void * jarg1, void * jarg2) {
   switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
   switch_io_event_hook_kill_channel_t *arg2 = (switch_io_event_hook_kill_channel_t *) 0 ;
@@ -44760,6 +45210,34 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_video_write_frame(v
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_text_read_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_text_read_frame_hook_t arg2 = (switch_text_read_frame_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_text_read_frame_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_text_read_frame(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_text_write_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_text_write_frame_hook_t arg2 = (switch_text_write_frame_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_text_write_frame_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_text_write_frame(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_kill_channel(void * jarg1, void * jarg2) {
   int jresult ;
   switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
@@ -44928,6 +45406,34 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_video_write_fram
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_text_read_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_text_read_frame_hook_t arg2 = (switch_text_read_frame_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_text_read_frame_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_text_read_frame(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_text_write_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_text_write_frame_hook_t arg2 = (switch_text_write_frame_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_text_write_frame_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_text_write_frame(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_kill_channel(void * jarg1, void * jarg2) {
   int jresult ;
   switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
index 06d3765dc99b167aea782dec67756ac9ea88bc6a..8d91b6db67115d30cdc00694e2bb6811320b1bb6 100644 (file)
@@ -1371,6 +1371,11 @@ else
     return ret;
   }
 
+  public static string switch_core_media_bug_get_text(SWIGTYPE_p_switch_media_bug bug) {
+    string ret = freeswitchPINVOKE.switch_core_media_bug_get_text(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
+    return ret;
+  }
+
   public static uint switch_core_media_bug_test_flag(SWIGTYPE_p_switch_media_bug bug, uint flag) {
     uint ret = freeswitchPINVOKE.switch_core_media_bug_test_flag(SWIGTYPE_p_switch_media_bug.getCPtr(bug), flag);
     return ret;
@@ -2030,6 +2035,11 @@ else
     return ret;
   }
 
+  public static string switch_core_session_get_text_buffer(SWIGTYPE_p_switch_core_session session) {
+    string ret = freeswitchPINVOKE.switch_core_session_get_text_buffer(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
   public static void switch_core_session_launch_thread(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void func, SWIGTYPE_p_void obj) {
     freeswitchPINVOKE.switch_core_session_launch_thread(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void.getCPtr(func), SWIGTYPE_p_void.getCPtr(obj));
   }
@@ -3387,6 +3397,11 @@ else
     freeswitchPINVOKE.switch_core_session_debug_pool(switch_stream_handle.getCPtr(stream));
   }
 
+  public static switch_status_t switch_core_session_override_io_routines(SWIGTYPE_p_switch_core_session session, switch_io_routines ior) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_override_io_routines(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_io_routines.getCPtr(ior));
+    return ret;
+  }
+
   public static string switch_version_major() {
     string ret = freeswitchPINVOKE.switch_version_major();
     return ret;
@@ -3426,6 +3441,11 @@ else
     freeswitchPINVOKE.switch_core_autobind_cpu();
   }
 
+  public static switch_status_t switch_core_session_start_text_thread(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_start_text_thread(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
   public static switch_status_t switch_loadable_module_init(switch_bool_t autoload) {
     switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_loadable_module_init((int)autoload);
     return ret;
@@ -3858,6 +3878,12 @@ else
     return ret;
   }
 
+  public static string switch_print_bits(SWIGTYPE_p_unsigned_char arg0, string buf, SWIGTYPE_p_switch_size_t buflen) {
+    string ret = freeswitchPINVOKE.switch_print_bits(SWIGTYPE_p_unsigned_char.getCPtr(arg0), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
   public static switch_bool_t switch_is_digit_string(string s) {
     switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_digit_string(s);
     return ret;
@@ -4702,6 +4728,11 @@ else
     return ret;
   }
 
+  public static int switch_channel_var_true(SWIGTYPE_p_switch_channel channel, string variable) {
+    int ret = freeswitchPINVOKE.switch_channel_var_true(SWIGTYPE_p_switch_channel.getCPtr(channel), variable);
+    return ret;
+  }
+
   public static switch_event_header switch_channel_variable_first(SWIGTYPE_p_switch_channel channel) {
     IntPtr cPtr = freeswitchPINVOKE.switch_channel_variable_first(SWIGTYPE_p_switch_channel.getCPtr(channel));
     switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
@@ -5287,6 +5318,12 @@ else
     return ret;
   }
 
+  public static SWIGTYPE_p_void switch_buffer_get_head_pointer(SWIGTYPE_p_switch_buffer buffer) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_buffer_get_head_pointer(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    return ret;
+  }
+
   public static switch_status_t switch_event_init(SWIGTYPE_p_apr_pool_t pool) {
     switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool));
     return ret;
@@ -5940,6 +5977,16 @@ else
     return ret;
   }
 
+  public static switch_status_t switch_ivr_detect_audio(SWIGTYPE_p_switch_core_session session, uint thresh, uint audio_hits, uint timeout_ms, string file) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_audio(SWIGTYPE_p_switch_core_session.getCPtr(session), thresh, audio_hits, timeout_ms, file);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_detect_silence(SWIGTYPE_p_switch_core_session session, uint thresh, uint silence_hits, uint timeout_ms, string file) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_silence(SWIGTYPE_p_switch_core_session.getCPtr(session), thresh, silence_hits, timeout_ms, file);
+    return ret;
+  }
+
   public static switch_status_t switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session session, uint thresh, uint silence_hits, uint listen_hits, uint timeout_ms, string file) {
     switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_silence(SWIGTYPE_p_switch_core_session.getCPtr(session), thresh, silence_hits, listen_hits, timeout_ms, file);
     return ret;
@@ -6441,6 +6488,11 @@ else
     return ret;
   }
 
+  public static switch_status_t switch_ivr_capture_text(SWIGTYPE_p_switch_core_session session, switch_bool_t on) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_capture_text(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)on);
+    return ret;
+  }
+
   public static switch_status_t switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_crypto_direction_t direction, uint index, switch_rtp_crypto_key_type_t type, SWIGTYPE_p_unsigned_char key, SWIGTYPE_p_switch_size_t keylen) {
     switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_add_crypto_key(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)direction, index, (int)type, SWIGTYPE_p_unsigned_char.getCPtr(key), SWIGTYPE_p_switch_size_t.getCPtr(keylen));
     if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
@@ -7267,6 +7319,16 @@ else
     return ret;
   }
 
+  public static switch_status_t switch_core_event_hook_add_text_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t text_read_frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_text_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(text_read_frame));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_add_text_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t text_write_frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_text_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(text_write_frame));
+    return ret;
+  }
+
   public static switch_status_t switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) {
     switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel));
     return ret;
@@ -7327,6 +7389,16 @@ else
     return ret;
   }
 
+  public static switch_status_t switch_core_event_hook_remove_text_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t text_read_frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_text_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(text_read_frame));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_remove_text_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t text_write_frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_text_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(text_write_frame));
+    return ret;
+  }
+
   public static switch_status_t switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel) {
     switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(kill_channel));
     return ret;
@@ -7591,6 +7663,8 @@ else
   public static readonly string SWITCH_REMOTE_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get();
   public static readonly string SWITCH_LOCAL_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_IP_VARIABLE_get();
   public static readonly string SWITCH_LOCAL_VIDEO_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get();
+  public static readonly string SWITCH_LOCAL_TEXT_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_TEXT_IP_VARIABLE_get();
+  public static readonly string SWITCH_LOCAL_TEXT_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_TEXT_PORT_VARIABLE_get();
   public static readonly string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get();
   public static readonly string SWITCH_PARK_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_PARK_AFTER_BRIDGE_VARIABLE_get();
   public static readonly string SWITCH_PARK_AFTER_EARLY_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_PARK_AFTER_EARLY_BRIDGE_VARIABLE_get();
@@ -8326,6 +8400,12 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get")]
   public static extern string SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get();
 
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_TEXT_IP_VARIABLE_get")]
+  public static extern string SWITCH_LOCAL_TEXT_IP_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_TEXT_PORT_VARIABLE_get")]
+  public static extern string SWITCH_LOCAL_TEXT_PORT_VARIABLE_get();
+
   [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get")]
   public static extern string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get();
 
@@ -8713,6 +8793,18 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_error_period_t_stop_get")]
   public static extern long switch_error_period_t_stop_get(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_error_period_t_flaws_set")]
+  public static extern void switch_error_period_t_flaws_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_error_period_t_flaws_get")]
+  public static extern uint switch_error_period_t_flaws_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_error_period_t_consecutive_flaws_set")]
+  public static extern void switch_error_period_t_consecutive_flaws_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_error_period_t_consecutive_flaws_get")]
+  public static extern uint switch_error_period_t_consecutive_flaws_get(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_error_period_t_next_set")]
   public static extern void switch_error_period_t_next_set(HandleRef jarg1, HandleRef jarg2);
 
@@ -10681,6 +10773,9 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_session")]
   public static extern IntPtr switch_core_media_bug_get_session(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_text")]
+  public static extern string switch_core_media_bug_get_text(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_test_flag")]
   public static extern uint switch_core_media_bug_test_flag(HandleRef jarg1, uint jarg2);
 
@@ -11068,6 +11163,9 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream_count")]
   public static extern int switch_core_session_get_stream_count(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_text_buffer")]
+  public static extern string switch_core_session_get_text_buffer(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_launch_thread")]
   public static extern void switch_core_session_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
 
@@ -11992,6 +12090,9 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_debug_pool")]
   public static extern void switch_core_session_debug_pool(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_override_io_routines")]
+  public static extern int switch_core_session_override_io_routines(HandleRef jarg1, HandleRef jarg2);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_version_major")]
   public static extern string switch_version_major();
 
@@ -12016,6 +12117,9 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_autobind_cpu")]
   public static extern void switch_core_autobind_cpu();
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_start_text_thread")]
+  public static extern int switch_core_session_start_text_thread(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_interface_module_name_set")]
   public static extern void switch_loadable_module_interface_module_name_set(HandleRef jarg1, string jarg2);
 
@@ -12415,6 +12519,9 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_amp_encode")]
   public static extern string switch_amp_encode(string jarg1, string jarg2, HandleRef jarg3);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_print_bits")]
+  public static extern string switch_print_bits(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_is_digit_string")]
   public static extern int switch_is_digit_string(string jarg1);
 
@@ -13600,6 +13707,18 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_get")]
   public static extern IntPtr switch_io_routines_write_video_frame_get(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_text_frame_set")]
+  public static extern void switch_io_routines_read_text_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_text_frame_get")]
+  public static extern IntPtr switch_io_routines_read_text_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_text_frame_set")]
+  public static extern void switch_io_routines_write_text_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_text_frame_get")]
+  public static extern IntPtr switch_io_routines_write_text_frame_get(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_run_set")]
   public static extern void switch_io_routines_state_run_set(HandleRef jarg1, HandleRef jarg2);
 
@@ -14038,6 +14157,12 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_mm_t_vh_get")]
   public static extern int switch_mm_t_vh_get(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_mm_t_cbr_set")]
+  public static extern void switch_mm_t_cbr_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_mm_t_cbr_get")]
+  public static extern int switch_mm_t_cbr_get(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_mm_t_fps_set")]
   public static extern void switch_mm_t_fps_set(HandleRef jarg1, float jarg2);
 
@@ -16117,6 +16242,9 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_pass_callee_id")]
   public static extern int switch_channel_pass_callee_id(HandleRef jarg1, HandleRef jarg2);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_var_true")]
+  public static extern int switch_channel_var_true(HandleRef jarg1, string jarg2);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_first")]
   public static extern IntPtr switch_channel_variable_first(HandleRef jarg1);
 
@@ -16483,6 +16611,9 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zwrite")]
   public static extern IntPtr switch_buffer_zwrite(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_get_head_pointer")]
+  public static extern IntPtr switch_buffer_get_head_pointer(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_set")]
   public static extern void switch_event_header_name_set(HandleRef jarg1, string jarg2);
 
@@ -17239,6 +17370,12 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_play_file")]
   public static extern int switch_ivr_play_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_audio")]
+  public static extern int switch_ivr_detect_audio(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, string jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_silence")]
+  public static extern int switch_ivr_detect_silence(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, string jarg5);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_silence")]
   public static extern int switch_ivr_wait_for_silence(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6);
 
@@ -17542,6 +17679,9 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_video_write_overlay_session")]
   public static extern int switch_ivr_video_write_overlay_session(HandleRef jarg1, string jarg2, HandleRef jarg3, byte jarg4);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_capture_text")]
+  public static extern int switch_ivr_capture_text(HandleRef jarg1, int jarg2);
+
   [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_BUF_LEN_get")]
   public static extern int SWITCH_RTP_MAX_BUF_LEN_get();
 
@@ -18472,6 +18612,42 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_write_frame")]
   public static extern void delete_switch_io_event_hook_video_write_frame(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_text_read_frame_text_read_frame_set")]
+  public static extern void switch_io_event_hook_text_read_frame_text_read_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_text_read_frame_text_read_frame_get")]
+  public static extern IntPtr switch_io_event_hook_text_read_frame_text_read_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_text_read_frame_next_set")]
+  public static extern void switch_io_event_hook_text_read_frame_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_text_read_frame_next_get")]
+  public static extern IntPtr switch_io_event_hook_text_read_frame_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_text_read_frame")]
+  public static extern IntPtr new_switch_io_event_hook_text_read_frame();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_text_read_frame")]
+  public static extern void delete_switch_io_event_hook_text_read_frame(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_text_write_frame_text_write_frame_set")]
+  public static extern void switch_io_event_hook_text_write_frame_text_write_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_text_write_frame_text_write_frame_get")]
+  public static extern IntPtr switch_io_event_hook_text_write_frame_text_write_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_text_write_frame_next_set")]
+  public static extern void switch_io_event_hook_text_write_frame_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_text_write_frame_next_get")]
+  public static extern IntPtr switch_io_event_hook_text_write_frame_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_text_write_frame")]
+  public static extern IntPtr new_switch_io_event_hook_text_write_frame();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_text_write_frame")]
+  public static extern void delete_switch_io_event_hook_text_write_frame(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_set")]
   public static extern void switch_io_event_hook_kill_channel_kill_channel_set(HandleRef jarg1, HandleRef jarg2);
 
@@ -18604,6 +18780,18 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_get")]
   public static extern IntPtr switch_io_event_hooks_video_write_frame_get(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_text_write_frame_set")]
+  public static extern void switch_io_event_hooks_text_write_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_text_write_frame_get")]
+  public static extern IntPtr switch_io_event_hooks_text_write_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_text_read_frame_set")]
+  public static extern void switch_io_event_hooks_text_read_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_text_read_frame_get")]
+  public static extern IntPtr switch_io_event_hooks_text_read_frame_get(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_set")]
   public static extern void switch_io_event_hooks_kill_channel_set(HandleRef jarg1, HandleRef jarg2);
 
@@ -18667,6 +18855,12 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_write_frame")]
   public static extern int switch_core_event_hook_add_video_write_frame(HandleRef jarg1, HandleRef jarg2);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_text_read_frame")]
+  public static extern int switch_core_event_hook_add_text_read_frame(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_text_write_frame")]
+  public static extern int switch_core_event_hook_add_text_write_frame(HandleRef jarg1, HandleRef jarg2);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_kill_channel")]
   public static extern int switch_core_event_hook_add_kill_channel(HandleRef jarg1, HandleRef jarg2);
 
@@ -18703,6 +18897,12 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_write_frame")]
   public static extern int switch_core_event_hook_remove_video_write_frame(HandleRef jarg1, HandleRef jarg2);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_text_read_frame")]
+  public static extern int switch_core_event_hook_remove_text_read_frame(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_text_write_frame")]
+  public static extern int switch_core_event_hook_remove_text_write_frame(HandleRef jarg1, HandleRef jarg2);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_kill_channel")]
   public static extern int switch_core_event_hook_remove_kill_channel(HandleRef jarg1, HandleRef jarg2);
 
@@ -26755,7 +26955,8 @@ public enum switch_abc_type_t {
   SWITCH_ABC_TYPE_READ_VIDEO_PING,
   SWITCH_ABC_TYPE_WRITE_VIDEO_PING,
   SWITCH_ABC_TYPE_STREAM_VIDEO_PING,
-  SWITCH_ABC_TYPE_VIDEO_PATCH
+  SWITCH_ABC_TYPE_VIDEO_PATCH,
+  SWITCH_ABC_TYPE_READ_TEXT
 }
 
 }
@@ -29421,6 +29622,9 @@ public enum switch_channel_cap_t {
   CC_JITTERBUFFER,
   CC_FS_RTP,
   CC_QUEUEABLE_DTMF_DELAY,
+  CC_IO_OVERRIDE,
+  CC_RTP_RTT,
+  CC_MSRP,
   CC_FLAG_MAX
 }
 
@@ -29574,7 +29778,16 @@ public enum switch_channel_flag_t {
   CF_3P_MEDIA_REQUESTED,
   CF_3P_NOMEDIA_REQUESTED,
   CF_3P_NOMEDIA_REQUESTED_BLEG,
+  CF_IMAGE_SDP,
   CF_VIDEO_SDP_RECVD,
+  CF_TEXT_SDP_RECVD,
+  CF_TEXT,
+  CF_TEXT_POSSIBLE,
+  CF_TEXT_PASSIVE,
+  CF_TEXT_ECHO,
+  CF_TEXT_ACTIVE,
+  CF_TEXT_IDLE,
+  CF_MSRP,
   CF_FLAG_MAX
 }
 
@@ -30117,6 +30330,7 @@ public enum switch_codec_control_command_t {
   SCC_VIDEO_BANDWIDTH,
   SCC_VIDEO_RESET,
   SCC_AUDIO_PACKET_LOSS,
+  SCC_AUDIO_ADJUST_BITRATE,
   SCC_DEBUG,
   SCC_CODEC_SPECIFIC
 }
@@ -30336,7 +30550,9 @@ namespace FreeSWITCH.Native {
   SWITCH_CODEC_FLAG_AAL2 = (1 << 6),
   SWITCH_CODEC_FLAG_PASSTHROUGH = (1 << 7),
   SWITCH_CODEC_FLAG_READY = (1 << 8),
-  SWITCH_CODEC_FLAG_HAS_PLC = (1 << 15)
+  SWITCH_CODEC_FLAG_HAS_ADJ_BITRATE = (1 << 14),
+  SWITCH_CODEC_FLAG_HAS_PLC = (1 << 15),
+  SWITCH_CODEC_FLAG_VIDEO_PATCHING = (1 << 16)
 }
 
 }
@@ -33729,6 +33945,26 @@ public class switch_error_period_t : IDisposable {
     } 
   }
 
+  public uint flaws {
+    set {
+      freeswitchPINVOKE.switch_error_period_t_flaws_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_error_period_t_flaws_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint consecutive_flaws {
+    set {
+      freeswitchPINVOKE.switch_error_period_t_consecutive_flaws_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_error_period_t_consecutive_flaws_get(swigCPtr);
+      return ret;
+    } 
+  }
+
   public switch_error_period_t next {
     set {
       freeswitchPINVOKE.switch_error_period_t_next_set(swigCPtr, switch_error_period_t.getCPtr(value));
@@ -34146,6 +34382,7 @@ public enum switch_event_types_t {
   SWITCH_EVENT_CALL_SETUP_RESULT,
   SWITCH_EVENT_CALL_DETAIL,
   SWITCH_EVENT_DEVICE_STATE,
+  SWITCH_EVENT_REAL_TIME_TEXT,
   SWITCH_EVENT_ALL
 }
 
@@ -35361,7 +35598,8 @@ namespace FreeSWITCH.Native {
   SFF_PICTURE_RESET = (1 << 14),
   SFF_SAME_IMAGE = (1 << 15),
   SFF_USE_VIDEO_TIMESTAMP = (1 << 16),
-  SFF_ENCODED = (1 << 17)
+  SFF_ENCODED = (1 << 17),
+  SFF_TEXT_LINE_BREAK = (1 << 18)
 }
 
 }
@@ -36411,6 +36649,28 @@ public class switch_io_event_hooks : IDisposable {
     } 
   }
 
+  public switch_io_event_hook_text_write_frame text_write_frame {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_text_write_frame_set(swigCPtr, switch_io_event_hook_text_write_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_text_write_frame_get(swigCPtr);
+      switch_io_event_hook_text_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_text_write_frame(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_text_read_frame text_read_frame {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_text_read_frame_set(swigCPtr, switch_io_event_hook_text_read_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_text_read_frame_get(swigCPtr);
+      switch_io_event_hook_text_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_text_read_frame(cPtr, false);
+      return ret;
+    } 
+  }
+
   public switch_io_event_hook_kill_channel kill_channel {
     set {
       freeswitchPINVOKE.switch_io_event_hooks_kill_channel_set(swigCPtr, switch_io_event_hook_kill_channel.getCPtr(value));
@@ -36698,6 +36958,148 @@ namespace FreeSWITCH.Native {
 using System;
 using System.Runtime.InteropServices;
 
+public class switch_io_event_hook_text_read_frame : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_text_read_frame(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_text_read_frame obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_text_read_frame() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          freeswitchPINVOKE.delete_switch_io_event_hook_text_read_frame(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t text_read_frame {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_text_read_frame_text_read_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_text_read_frame_text_read_frame_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_text_read_frame next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_text_read_frame_next_set(swigCPtr, switch_io_event_hook_text_read_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_text_read_frame_next_get(swigCPtr);
+      switch_io_event_hook_text_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_text_read_frame(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_text_read_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_text_read_frame(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 2.0.12
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+namespace FreeSWITCH.Native {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_text_write_frame : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_text_write_frame(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_text_write_frame obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_text_write_frame() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if (swigCPtr.Handle != IntPtr.Zero) {
+        if (swigCMemOwn) {
+          swigCMemOwn = false;
+          freeswitchPINVOKE.delete_switch_io_event_hook_text_write_frame(swigCPtr);
+        }
+        swigCPtr = new HandleRef(null, IntPtr.Zero);
+      }
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t text_write_frame {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_text_write_frame_text_write_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_text_write_frame_text_write_frame_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_text_write_frame next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_text_write_frame_next_set(swigCPtr, switch_io_event_hook_text_write_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_text_write_frame_next_get(swigCPtr);
+      switch_io_event_hook_text_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_text_write_frame(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_text_write_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_text_write_frame(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 2.0.12
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+namespace FreeSWITCH.Native {
+
+using System;
+using System.Runtime.InteropServices;
+
 public class switch_io_event_hook_video_read_frame : IDisposable {
   private HandleRef swigCPtr;
   protected bool swigCMemOwn;
@@ -36937,6 +37339,8 @@ public enum switch_io_routine_name_t {
   SWITCH_IO_STATE_CHANGE,
   SWITCH_IO_READ_VIDEO_FRAME,
   SWITCH_IO_WRITE_VIDEO_FRAME,
+  SWITCH_IO_READ_TEXT_FRAME,
+  SWITCH_IO_WRITE_TEXT_FRAME,
   SWITCH_IO_GET_JB
 }
 
@@ -37094,6 +37498,28 @@ public class switch_io_routines : IDisposable {
     } 
   }
 
+  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_text_frame {
+    set {
+      freeswitchPINVOKE.switch_io_routines_read_text_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_read_text_frame_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_text_frame {
+    set {
+      freeswitchPINVOKE.switch_io_routines_write_text_frame_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_write_text_frame_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
   public SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_run {
     set {
       freeswitchPINVOKE.switch_io_routines_state_run_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
@@ -38358,7 +38784,9 @@ namespace FreeSWITCH.Native {
   SMBF_WRITE_VIDEO_STREAM = (1 << 20),
   SMBF_VIDEO_PATCH = (1 << 21),
   SMBF_SPY_VIDEO_STREAM = (1 << 22),
-  SMBF_SPY_VIDEO_STREAM_BLEG = (1 << 23)
+  SMBF_SPY_VIDEO_STREAM_BLEG = (1 << 23),
+  SMBF_READ_VIDEO_PATCH = (1 << 24),
+  SMBF_READ_TEXT_STREAM = (1 << 25)
 }
 
 }
@@ -38419,7 +38847,8 @@ namespace FreeSWITCH.Native {
 
 public enum switch_media_type_t {
   SWITCH_MEDIA_TYPE_AUDIO,
-  SWITCH_MEDIA_TYPE_VIDEO
+  SWITCH_MEDIA_TYPE_VIDEO,
+  SWITCH_MEDIA_TYPE_TEXT
 }
 
 }
@@ -38536,6 +38965,16 @@ public class switch_mm_t : IDisposable {
     } 
   }
 
+  public int cbr {
+    set {
+      freeswitchPINVOKE.switch_mm_t_cbr_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_mm_t_cbr_get(swigCPtr);
+      return ret;
+    } 
+  }
+
   public float fps {
     set {
       freeswitchPINVOKE.switch_mm_t_fps_set(swigCPtr, value);
@@ -39435,6 +39874,8 @@ public enum switch_rtp_flag_t {
   SWITCH_ZRTP_FLAG_SECURE_MITM_RECV,
   SWITCH_RTP_FLAG_DEBUG_RTP_READ,
   SWITCH_RTP_FLAG_DEBUG_RTP_WRITE,
+  SWITCH_RTP_FLAG_ESTIMATORS,
+  SWITCH_RTP_FLAG_ADJ_BITRATE_CAP,
   SWITCH_RTP_FLAG_VIDEO,
   SWITCH_RTP_FLAG_ENABLE_RTCP,
   SWITCH_RTP_FLAG_RTCP_MUX,
@@ -39448,6 +39889,8 @@ public enum switch_rtp_flag_t {
   SWITCH_RTP_FLAG_NACK,
   SWITCH_RTP_FLAG_TMMBR,
   SWITCH_RTP_FLAG_GEN_TS_DELTA,
+  SWITCH_RTP_FLAG_DETECT_SSRC,
+  SWITCH_RTP_FLAG_TEXT,
   SWITCH_RTP_FLAG_INVALID
 }
 
@@ -41624,7 +42067,8 @@ public enum switch_stack_t {
 namespace FreeSWITCH.Native {
 
 public enum switch_state_handler_flag_t {
-  SSH_FLAG_STICKY = (1 << 0)
+  SSH_FLAG_STICKY = (1 << 0),
+  SSH_FLAG_PRE_EXEC = (1 << 1)
 }
 
 }