]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add flags to state_handler table
authorAnthony Minessale <anthony.minessale@gmail.com>
Wed, 4 Nov 2009 21:07:18 +0000 (21:07 +0000)
committerAnthony Minessale <anthony.minessale@gmail.com>
Wed, 4 Nov 2009 21:07:18 +0000 (21:07 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15356 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/include/switch_module_interfaces.h
src/include/switch_types.h
src/mod/languages/mod_managed/freeswitch_wrap.cxx
src/mod/languages/mod_managed/managed/swig.cs
src/mod/languages/mod_perl/mod_perl_wrap.cpp
src/switch_channel.c

index e3fc4570bfb1e892bce8728b4d275af0ef85218a..d683dec7d3eba90523a8e67a837c263f8c1a08cd 100644 (file)
@@ -85,6 +85,7 @@ struct switch_state_handler_table {
        switch_state_handler_t on_reporting;
        /*! executed when the state changes to destroy */
        switch_state_handler_t on_destroy;
+       int flags;
        void *padding[10];
 };
 
index 343af04dd93aae92632d06c3361ababa645d5f9c..61dfd70b36e0c1095d646b9e38e72af3c1672bbc 100644 (file)
@@ -1409,6 +1409,10 @@ typedef enum {
        SCSC_SEND_SIGHUP
 } switch_session_ctl_t;
 
+typedef enum {
+       SSH_FLAG_STICKY = (1 << 0)
+} switch_state_handler_flag_t;
+
 typedef struct apr_pool_t switch_memory_pool_t;
 typedef uint16_t switch_port_t;
 typedef uint8_t switch_payload_t;
index 2e267e223c121c088c4c14ed00798123d891e1eb..956ea89fb8cf4d5d7f4cf9fd0c41079142035b84 100644 (file)
@@ -938,6 +938,17 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_URL_SEPARATOR_get() {
 }
 
 
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "ignore_display_updates";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
 SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_AUDIO_SPOOL_PATH_VARIABLE_get() {
   char * jresult ;
   char *result = 0 ;
@@ -1081,6 +1092,39 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_g
 }
 
 
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "execute_on_pre_answer";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "execute_on_media";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "api_on_answer";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
 SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get() {
   char * jresult ;
   char *result = 0 ;
@@ -5178,6 +5222,35 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_string_array_ar
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_delivery_time_set(void * jarg1, void * jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  time_t arg2 ;
+  time_t *argp2 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  argp2 = (time_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->delivery_time = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_delivery_time_get(void * jarg1) {
+  void * jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  time_t result;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result =  ((arg1)->delivery_time);
+  jresult = new time_t((time_t &)result); 
+  return jresult;
+}
+
+
 SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_core_session_message() {
   void * jresult ;
   switch_core_session_message *result = 0 ;
@@ -9095,6 +9168,32 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_get_addr(char * jarg1, void * jarg2, void *
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_get_addr_int(void * jarg1) {
+  int jresult ;
+  switch_sockaddr_t *arg1 = (switch_sockaddr_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_sockaddr_t *)jarg1; 
+  result = (int)get_addr_int(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_cmp_addr(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_sockaddr_t *arg1 = (switch_sockaddr_t *) 0 ;
+  switch_sockaddr_t *arg2 = (switch_sockaddr_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_sockaddr_t *)jarg1; 
+  arg2 = (switch_sockaddr_t *)jarg2; 
+  result = (int)switch_cmp_addr(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT unsigned short SWIGSTDCALL CSharp_get_port(void * jarg1) {
   unsigned short jresult ;
   sockaddr *arg1 = (sockaddr *) 0 ;
@@ -11651,6 +11750,29 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_destroy_get(v
 }
 
 
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_flags_set(void * jarg1, int jarg2) {
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_state_handler_table_flags_get(void * jarg1) {
+  int jresult ;
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  int result;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  result = (int) ((arg1)->flags);
+  jresult = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_padding_set(void * jarg1, void * jarg2) {
   switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
   void **arg2 ;
@@ -19428,6 +19550,22 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_get_uuid(void * jarg1) {
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_profile_var(void * jarg1, char * jarg2, char * jarg3) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_status_t)switch_channel_set_profile_var(arg1,(char const *)arg2,(char const *)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
 SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_variable_var_check(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
   int jresult ;
   switch_channel_t *arg1 = (switch_channel_t *) 0 ;
@@ -19523,6 +19661,20 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_get_variables(void * jarg1, voi
 }
 
 
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_pass_callee_id(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_channel_t *)jarg2; 
+  result = (switch_status_t)switch_channel_pass_callee_id(arg1,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 ;
@@ -20463,6 +20615,28 @@ SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_zero(void * jarg1) {
 }
 
 
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_slide_write(void * jarg1, void * jarg2, void * jarg3) {
+  void * jresult ;
+  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  switch_size_t arg3 ;
+  switch_size_t result;
+  switch_size_t *argp3 ;
+  
+  arg1 = (switch_buffer_t *)jarg1; 
+  arg2 = (void *)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 = switch_buffer_slide_write(arg1,(void const *)arg2,arg3);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_destroy(void * jarg1) {
   switch_buffer_t **arg1 = (switch_buffer_t **) 0 ;
   
index ea6b02a779e043ae2b46c4fb804562de2014376e..35056ca8bcf90e80cc488596a2a2312668b2e500 100644 (file)
@@ -2226,6 +2226,16 @@ public class freeswitch {
     return ret;
   }
 
+  public static int get_addr_int(SWIGTYPE_p_switch_sockaddr_t sa) {
+    int ret = freeswitchPINVOKE.get_addr_int(SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa));
+    return ret;
+  }
+
+  public static int switch_cmp_addr(SWIGTYPE_p_switch_sockaddr_t sa1, SWIGTYPE_p_switch_sockaddr_t sa2) {
+    int ret = freeswitchPINVOKE.switch_cmp_addr(SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa1), SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa2));
+    return ret;
+  }
+
   public static ushort get_port(SWIGTYPE_p_sockaddr sa) {
     ushort ret = freeswitchPINVOKE.get_port(SWIGTYPE_p_sockaddr.getCPtr(sa));
     return ret;
@@ -2590,6 +2600,11 @@ public class freeswitch {
     return ret;
   }
 
+  public static switch_status_t switch_channel_set_profile_var(SWIGTYPE_p_switch_channel channel, string name, string val) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_profile_var(SWIGTYPE_p_switch_channel.getCPtr(channel), name, val);
+    return ret;
+  }
+
   public static switch_status_t switch_channel_set_variable_var_check(SWIGTYPE_p_switch_channel channel, string varname, string value, switch_bool_t var_check) {
     switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_var_check(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value, (int)var_check);
     return ret;
@@ -2620,6 +2635,11 @@ public class freeswitch {
     return ret;
   }
 
+  public static switch_status_t switch_channel_pass_callee_id(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_channel other_channel) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_pass_callee_id(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_channel.getCPtr(other_channel));
+    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);
@@ -2955,6 +2975,12 @@ public class freeswitch {
     freeswitchPINVOKE.switch_buffer_zero(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
   }
 
+  public static SWIGTYPE_p_switch_size_t switch_buffer_slide_write(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_slide_write(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
   public static void switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer buffer) {
     freeswitchPINVOKE.switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer));
   }
@@ -4389,6 +4415,7 @@ public class freeswitch {
   public static readonly int SWITCH_MAX_DTMF_DURATION = freeswitchPINVOKE.SWITCH_MAX_DTMF_DURATION_get();
   public static readonly string SWITCH_PATH_SEPARATOR = freeswitchPINVOKE.SWITCH_PATH_SEPARATOR_get();
   public static readonly string SWITCH_URL_SEPARATOR = freeswitchPINVOKE.SWITCH_URL_SEPARATOR_get();
+  public static readonly string SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE = freeswitchPINVOKE.SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE_get();
   public static readonly string SWITCH_AUDIO_SPOOL_PATH_VARIABLE = freeswitchPINVOKE.SWITCH_AUDIO_SPOOL_PATH_VARIABLE_get();
   public static readonly string SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_HANGUP_CAUSE_VARIABLE_get();
   public static readonly string SWITCH_READ_TERMINATOR_USED_VARIABLE = freeswitchPINVOKE.SWITCH_READ_TERMINATOR_USED_VARIABLE_get();
@@ -4402,6 +4429,9 @@ public class freeswitch {
   public static readonly string SWITCH_COPY_XML_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_COPY_XML_CDR_VARIABLE_get();
   public static readonly string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE = freeswitchPINVOKE.SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get();
   public static readonly string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get();
+  public static readonly string SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE_get();
+  public static readonly string SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE_get();
+  public static readonly string SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE_get();
   public static readonly string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get();
   public static readonly string SWITCH_CALL_TIMEOUT_VARIABLE = freeswitchPINVOKE.SWITCH_CALL_TIMEOUT_VARIABLE_get();
   public static readonly string SWITCH_HOLDING_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_HOLDING_UUID_VARIABLE_get();
@@ -4874,6 +4904,9 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_URL_SEPARATOR_get")]
   public static extern string SWITCH_URL_SEPARATOR_get();
 
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE_get")]
+  public static extern string SWITCH_IGNORE_DISPLAY_UPDATES_VARIABLE_get();
+
   [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_AUDIO_SPOOL_PATH_VARIABLE_get")]
   public static extern string SWITCH_AUDIO_SPOOL_PATH_VARIABLE_get();
 
@@ -4913,6 +4946,15 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get")]
   public static extern string SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get();
 
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE_get")]
+  public static extern string SWITCH_CHANNEL_EXECUTE_ON_PRE_ANSWER_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE_get")]
+  public static extern string SWITCH_CHANNEL_EXECUTE_ON_MEDIA_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE_get")]
+  public static extern string SWITCH_CHANNEL_API_ON_ANSWER_VARIABLE_get();
+
   [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get")]
   public static extern string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get();
 
@@ -5921,6 +5963,12 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_array_arg_get")]
   public static extern IntPtr switch_core_session_message_string_array_arg_get(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_delivery_time_set")]
+  public static extern void switch_core_session_message_delivery_time_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_delivery_time_get")]
+  public static extern IntPtr switch_core_session_message_delivery_time_get(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_session_message")]
   public static extern IntPtr new_switch_core_session_message();
 
@@ -6794,6 +6842,12 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_get_addr")]
   public static extern string get_addr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_get_addr_int")]
+  public static extern int get_addr_int(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_cmp_addr")]
+  public static extern int switch_cmp_addr(HandleRef jarg1, HandleRef jarg2);
+
   [DllImport("mod_managed", EntryPoint="CSharp_get_port")]
   public static extern ushort get_port(HandleRef jarg1);
 
@@ -7385,6 +7439,12 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_destroy_get")]
   public static extern IntPtr switch_state_handler_table_on_destroy_get(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_flags_set")]
+  public static extern void switch_state_handler_table_flags_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_flags_get")]
+  public static extern int switch_state_handler_table_flags_get(HandleRef jarg1);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_set")]
   public static extern void switch_state_handler_table_padding_set(HandleRef jarg1, HandleRef jarg2);
 
@@ -9341,6 +9401,9 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_uuid")]
   public static extern string switch_channel_get_uuid(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_profile_var")]
+  public static extern int switch_channel_set_profile_var(HandleRef jarg1, string jarg2, string jarg3);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_var_check")]
   public static extern int switch_channel_set_variable_var_check(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
 
@@ -9359,6 +9422,9 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variables")]
   public static extern int switch_channel_get_variables(HandleRef jarg1, HandleRef jarg2);
 
+  [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_variable_first")]
   public static extern IntPtr switch_channel_variable_first(HandleRef jarg1);
 
@@ -9569,6 +9635,9 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zero")]
   public static extern void switch_buffer_zero(HandleRef jarg1);
 
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_slide_write")]
+  public static extern IntPtr switch_buffer_slide_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
   [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_destroy")]
   public static extern void switch_buffer_destroy(HandleRef jarg1);
 
@@ -18111,6 +18180,8 @@ namespace FreeSWITCH.Native {
 
 public enum switch_channel_cap_t {
   CC_MEDIA_ACK = 1,
+  CC_BYPASS_MEDIA,
+  CC_PROXY_MEDIA,
   CC_FLAG_MAX
 }
 
@@ -18166,6 +18237,11 @@ public enum switch_channel_flag_t {
   CF_ORIGINATOR,
   CF_XFER_ZOMBIE,
   CF_MEDIA_ACK,
+  CF_THREAD_SLEEPING,
+  CF_DISABLE_RINGBACK,
+  CF_NOT_READY,
+  CF_SIGNAL_BRIDGE_TTL,
+  CF_MEDIA_BRIDGE_TTL,
   CF_FLAG_MAX
 }
 
@@ -19629,6 +19705,18 @@ public class switch_core_session_message : IDisposable {
     } 
   }
 
+  public SWIGTYPE_p_time_t delivery_time {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_delivery_time_set(swigCPtr, SWIGTYPE_p_time_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(freeswitchPINVOKE.switch_core_session_message_delivery_time_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
   public switch_core_session_message() : this(freeswitchPINVOKE.new_switch_core_session_message(), true) {
   }
 
@@ -19685,6 +19773,9 @@ public enum switch_core_session_message_types_t {
   SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY,
   SWITCH_MESSAGE_INDICATE_AUDIO_SYNC,
   SWITCH_MESSAGE_INDICATE_REQUEST_IMAGE_MEDIA,
+  SWITCH_MESSAGE_INDICATE_UUID_CHANGE,
+  SWITCH_MESSAGE_INDICATE_WARNING,
+  SWITCH_MESSAGE_INDICATE_DEBUG_AUDIO,
   SWITCH_MESSAGE_INVALID
 }
 
@@ -23790,7 +23881,7 @@ namespace FreeSWITCH.Native {
   SMBF_READ_REPLACE = (1 << 3),
   SMBF_READ_PING = (1 << 4),
   SMBF_STEREO = (1 << 5),
-  SMBF_RECORD_ANSWER_REQ = (1 << 6),
+  SMBF_ANSWER_REQ = (1 << 6),
   SMBF_THREAD_LOCK = (1 << 7)
 }
 
@@ -24104,7 +24195,9 @@ namespace FreeSWITCH.Native {
   SWITCH_ZRTP_FLAG_SECURE_SEND = (1 << 23),
   SWITCH_ZRTP_FLAG_SECURE_RECV = (1 << 24),
   SWITCH_ZRTP_FLAG_SECURE_MITM_SEND = (1 << 25),
-  SWITCH_ZRTP_FLAG_SECURE_MITM_RECV = (1 << 26)
+  SWITCH_ZRTP_FLAG_SECURE_MITM_RECV = (1 << 26),
+  SWITCH_RTP_FLAG_DEBUG_RTP_READ = (1 << 27),
+  SWITCH_RTP_FLAG_DEBUG_RTP_WRITE = (1 << 28)
 }
 
 }
@@ -25306,6 +25399,21 @@ public enum switch_stack_t {
 
 namespace FreeSWITCH.Native {
 
+public enum switch_state_handler_flag_t {
+  SSH_FLAG_STICKY = (1 << 0)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.35
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+namespace FreeSWITCH.Native {
+
 public enum switch_state_handler_name_t {
   SWITCH_SHN_ON_INIT,
   SWITCH_SHN_ON_ROUTING,
@@ -25495,6 +25603,16 @@ public class switch_state_handler_table : IDisposable {
     } 
   }
 
+  public int flags {
+    set {
+      freeswitchPINVOKE.switch_state_handler_table_flags_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_state_handler_table_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
   public SWIGTYPE_p_p_void padding {
     set {
       freeswitchPINVOKE.switch_state_handler_table_padding_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
index 514b323c12cb51e34bb79a6344d25d13979e811e..72280857f0dfa0b79fffa479e5584799b8340be3 100644 (file)
@@ -12045,17 +12045,17 @@ XS(SWIG_init) {
   SWIG_TypeClientData(SWIGTYPE_p_IVRMenu, (void*) "freeswitch::IVRMenu");
   SWIG_TypeClientData(SWIGTYPE_p_API, (void*) "freeswitch::API");
   SWIG_TypeClientData(SWIGTYPE_p_input_callback_state, (void*) "freeswitch::input_callback_state_t");
-  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+  /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
     SV *sv = get_sv((char*) SWIG_prefix "S_HUP", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(S_HUP)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+  /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
     SV *sv = get_sv((char*) SWIG_prefix "S_FREE", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(S_FREE)));
     SvREADONLY_on(sv);
   } while(0) /*@SWIG@*/;
-  /*@SWIG:/usr/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
+  /*@SWIG:/usr/local/share/swig/1.3.35/perl5/perltypemaps.swg,64,%set_constant@*/ do {
     SV *sv = get_sv((char*) SWIG_prefix "S_RDLOCK", TRUE | 0x2 | GV_ADDMULTI);
     sv_setsv(sv, SWIG_From_int  SWIG_PERL_CALL_ARGS_1(static_cast< int >(S_RDLOCK)));
     SvREADONLY_on(sv);
index ad088d86d2170e1270b5c5e9a78b0fedb627070d..a80c6f5cfcf968bdcd13e10ea59cc5e28cd99a0d 100644 (file)
@@ -1736,7 +1736,14 @@ SWITCH_DECLARE(void) switch_channel_clear_state_handler(switch_channel_t *channe
                                new_handlers[channel->state_handler_index++] = channel->state_handlers[index];
                        }
                }
+       } else {
+               for (index = 0; index < i; index++) {
+                       if (switch_test_flag(channel->state_handlers[index], SSH_FLAG_STICKY)) {
+                               new_handlers[channel->state_handler_index++] = channel->state_handlers[index];
+                       }
+               }
        }
+
        for (index = 0; index < SWITCH_MAX_STATE_HANDLERS; index++) {
                channel->state_handlers[index] = NULL;
        }