[Freeswitch-svn] [commit] r9815 - in freeswitch/trunk: build src/mod/languages/mod_managed src/mod/languages/mod_managed/managed

Freeswitch SVN anthm at freeswitch.org
Fri Oct 3 14:40:02 EDT 2008


Author: anthm
Date: Fri Oct  3 14:40:01 2008
New Revision: 9815

Modified:
   freeswitch/trunk/build/swigall.sh
   freeswitch/trunk/src/mod/languages/mod_managed/Makefile
   freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx
   freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs

Log:
integrate mod_managed into make swigall and fix mod_managed linux build

Modified: freeswitch/trunk/build/swigall.sh
==============================================================================
--- freeswitch/trunk/build/swigall.sh	(original)
+++ freeswitch/trunk/build/swigall.sh	Fri Oct  3 14:40:01 2008
@@ -17,5 +17,9 @@
 make reswig
 cd ../../../..
 
+cd src/mod/languages/mod_managed
+make reswig
+cd ../../../..
+
 
 

Modified: freeswitch/trunk/src/mod/languages/mod_managed/Makefile
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_managed/Makefile	(original)
+++ freeswitch/trunk/src/mod/languages/mod_managed/Makefile	Fri Oct  3 14:40:01 2008
@@ -4,13 +4,23 @@
 BASE=../../../..
 VERBOSE=1
 include $(BASE)/build/modmake.rules
-LOCAL_OBJS=freeswitch_mono.o freeswitch_wrap.o
+LOCAL_OBJS=freeswitch_managed.o freeswitch_wrap.o
 local_depend: $(LOCAL_OBJS)
 
-freeswitch_mono.o: freeswitch_mono.h freeswitch_mono.cpp
+freeswitch_managed.o: freeswitch_managed.h freeswitch_managed.cpp
 
 freeswitch_wrap.o: freeswitch_wrap.cpp
 
 freeswitch_wrap.cpp: freeswitch_wrap.cxx
-       cp freeswitch_wrap.cxx freeswitch_wrap.cpp
+	cp freeswitch_wrap.cxx freeswitch_wrap.cpp
 
+reswig: swigclean freeswitch_wrap.cxx
+
+swigclean: clean
+	rm -f freeswitch_wrap.cxx freeswitch_wrap.cpp managed/swig.cs
+
+freeswitch_wrap.cxx:
+	swig -I../../../include -v -O -c++ -csharp -namespace FreeSWITCH.Native -dllimport mod_managed freeswitch.i
+	rm -f ./managed/swig.cs
+	cat *.cs > ./managed/swig.cs
+	rm -f *.cs

Modified: freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx	(original)
+++ freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx	Fri Oct  3 14:40:01 2008
@@ -1,25018 +1,25654 @@
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- * 
- * This file is not intended to be easily readable and contains a number of 
- * coding conventions designed to improve portability and efficiency. Do not make
- * changes to this file unless you know what you are doing--modify the SWIG 
- * interface file instead. 
- * ----------------------------------------------------------------------------- */
-
-
-#ifdef __cplusplus
-template<typename T> class SwigValueWrapper {
-    T *tt;
-public:
-    SwigValueWrapper() : tt(0) { }
-    SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
-    SwigValueWrapper(const T& t) : tt(new T(t)) { }
-    ~SwigValueWrapper() { delete tt; } 
-    SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
-    operator T&() const { return *tt; }
-    T *operator&() { return tt; }
-private:
-    SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
-};
-
-template <typename T> T SwigValueInit() {
-  return T();
-}
-#endif
-
-/* -----------------------------------------------------------------------------
- *  This section contains generic SWIG labels for method/variable
- *  declarations/attributes, and other compiler dependent labels.
- * ----------------------------------------------------------------------------- */
-
-/* template workaround for compilers that cannot correctly implement the C++ standard */
-#ifndef SWIGTEMPLATEDISAMBIGUATOR
-# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
-#  define SWIGTEMPLATEDISAMBIGUATOR template
-# elif defined(__HP_aCC)
-/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
-/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
-#  define SWIGTEMPLATEDISAMBIGUATOR template
-# else
-#  define SWIGTEMPLATEDISAMBIGUATOR
-# endif
-#endif
-
-/* inline attribute */
-#ifndef SWIGINLINE
-# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
-#   define SWIGINLINE inline
-# else
-#   define SWIGINLINE
-# endif
-#endif
-
-/* attribute recognised by some compilers to avoid 'unused' warnings */
-#ifndef SWIGUNUSED
-# if defined(__GNUC__)
-#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
-#     define SWIGUNUSED __attribute__ ((__unused__)) 
-#   else
-#     define SWIGUNUSED
-#   endif
-# elif defined(__ICC)
-#   define SWIGUNUSED __attribute__ ((__unused__)) 
-# else
-#   define SWIGUNUSED 
-# endif
-#endif
-
-#ifndef SWIG_MSC_UNSUPPRESS_4505
-# if defined(_MSC_VER)
-#   pragma warning(disable : 4505) /* unreferenced local function has been removed */
-# endif 
-#endif
-
-#ifndef SWIGUNUSEDPARM
-# ifdef __cplusplus
-#   define SWIGUNUSEDPARM(p)
-# else
-#   define SWIGUNUSEDPARM(p) p SWIGUNUSED 
-# endif
-#endif
-
-/* internal SWIG method */
-#ifndef SWIGINTERN
-# define SWIGINTERN static SWIGUNUSED
-#endif
-
-/* internal inline SWIG method */
-#ifndef SWIGINTERNINLINE
-# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
-#endif
-
-/* exporting methods */
-#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
-#  ifndef GCC_HASCLASSVISIBILITY
-#    define GCC_HASCLASSVISIBILITY
-#  endif
-#endif
-
-#ifndef SWIGEXPORT
-# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-#   if defined(STATIC_LINKED)
-#     define SWIGEXPORT
-#   else
-#     define SWIGEXPORT __declspec(dllexport)
-#   endif
-# else
-#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
-#     define SWIGEXPORT __attribute__ ((visibility("default")))
-#   else
-#     define SWIGEXPORT
-#   endif
-# endif
-#endif
-
-/* calling conventions for Windows */
-#ifndef SWIGSTDCALL
-# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
-#   define SWIGSTDCALL __stdcall
-# else
-#   define SWIGSTDCALL
-# endif 
-#endif
-
-/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
-#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
-# define _CRT_SECURE_NO_DEPRECATE
-#endif
-
-/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
-#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
-# define _SCL_SECURE_NO_DEPRECATE
-#endif
-
-
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-
-
-/* Support for throwing C# exceptions from C/C++. There are two types: 
- * Exceptions that take a message and ArgumentExceptions that take a message and a parameter name. */
-typedef enum {
-  SWIG_CSharpApplicationException,
-  SWIG_CSharpArithmeticException,
-  SWIG_CSharpDivideByZeroException,
-  SWIG_CSharpIndexOutOfRangeException,
-  SWIG_CSharpInvalidCastException,
-  SWIG_CSharpInvalidOperationException,
-  SWIG_CSharpIOException,
-  SWIG_CSharpNullReferenceException,
-  SWIG_CSharpOutOfMemoryException,
-  SWIG_CSharpOverflowException,
-  SWIG_CSharpSystemException
-} SWIG_CSharpExceptionCodes;
-
-typedef enum {
-  SWIG_CSharpArgumentException,
-  SWIG_CSharpArgumentNullException,
-  SWIG_CSharpArgumentOutOfRangeException
-} SWIG_CSharpExceptionArgumentCodes;
-
-typedef void (SWIGSTDCALL* SWIG_CSharpExceptionCallback_t)(const char *);
-typedef void (SWIGSTDCALL* SWIG_CSharpExceptionArgumentCallback_t)(const char *, const char *);
-
-typedef struct {
-  SWIG_CSharpExceptionCodes code;
-  SWIG_CSharpExceptionCallback_t callback;
-} SWIG_CSharpException_t;
-
-typedef struct {
-  SWIG_CSharpExceptionArgumentCodes code;
-  SWIG_CSharpExceptionArgumentCallback_t callback;
-} SWIG_CSharpExceptionArgument_t;
-
-static SWIG_CSharpException_t SWIG_csharp_exceptions[] = {
-  { SWIG_CSharpApplicationException, NULL },
-  { SWIG_CSharpArithmeticException, NULL },
-  { SWIG_CSharpDivideByZeroException, NULL },
-  { SWIG_CSharpIndexOutOfRangeException, NULL },
-  { SWIG_CSharpInvalidCastException, NULL },
-  { SWIG_CSharpInvalidOperationException, NULL },
-  { SWIG_CSharpIOException, NULL },
-  { SWIG_CSharpNullReferenceException, NULL },
-  { SWIG_CSharpOutOfMemoryException, NULL },
-  { SWIG_CSharpOverflowException, NULL },
-  { SWIG_CSharpSystemException, NULL }
-};
-
-static SWIG_CSharpExceptionArgument_t SWIG_csharp_exceptions_argument[] = {
-  { SWIG_CSharpArgumentException, NULL },
-  { SWIG_CSharpArgumentNullException, NULL },
-  { SWIG_CSharpArgumentOutOfRangeException, NULL },
-};
-
-static void SWIGUNUSED SWIG_CSharpSetPendingException(SWIG_CSharpExceptionCodes code, const char *msg) {
-  SWIG_CSharpExceptionCallback_t callback = SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback;
-  if ((size_t)code < sizeof(SWIG_csharp_exceptions)/sizeof(SWIG_CSharpException_t)) {
-    callback = SWIG_csharp_exceptions[code].callback;
-  }
-  callback(msg);
-}
-
-static void SWIGUNUSED SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpExceptionArgumentCodes code, const char *msg, const char *param_name) {
-  SWIG_CSharpExceptionArgumentCallback_t callback = SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback;
-  if ((size_t)code < sizeof(SWIG_csharp_exceptions_argument)/sizeof(SWIG_CSharpExceptionArgument_t)) {
-    callback = SWIG_csharp_exceptions_argument[code].callback;
-  }
-  callback(msg, param_name);
-}
-
-
-#ifdef __cplusplus
-extern "C" 
-#endif
-SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionCallbacks_freeswitch(
-                                                SWIG_CSharpExceptionCallback_t applicationCallback,
-                                                SWIG_CSharpExceptionCallback_t arithmeticCallback,
-                                                SWIG_CSharpExceptionCallback_t divideByZeroCallback, 
-                                                SWIG_CSharpExceptionCallback_t indexOutOfRangeCallback, 
-                                                SWIG_CSharpExceptionCallback_t invalidCastCallback,
-                                                SWIG_CSharpExceptionCallback_t invalidOperationCallback,
-                                                SWIG_CSharpExceptionCallback_t ioCallback,
-                                                SWIG_CSharpExceptionCallback_t nullReferenceCallback,
-                                                SWIG_CSharpExceptionCallback_t outOfMemoryCallback, 
-                                                SWIG_CSharpExceptionCallback_t overflowCallback, 
-                                                SWIG_CSharpExceptionCallback_t systemCallback) {
-  SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback = applicationCallback;
-  SWIG_csharp_exceptions[SWIG_CSharpArithmeticException].callback = arithmeticCallback;
-  SWIG_csharp_exceptions[SWIG_CSharpDivideByZeroException].callback = divideByZeroCallback;
-  SWIG_csharp_exceptions[SWIG_CSharpIndexOutOfRangeException].callback = indexOutOfRangeCallback;
-  SWIG_csharp_exceptions[SWIG_CSharpInvalidCastException].callback = invalidCastCallback;
-  SWIG_csharp_exceptions[SWIG_CSharpInvalidOperationException].callback = invalidOperationCallback;
-  SWIG_csharp_exceptions[SWIG_CSharpIOException].callback = ioCallback;
-  SWIG_csharp_exceptions[SWIG_CSharpNullReferenceException].callback = nullReferenceCallback;
-  SWIG_csharp_exceptions[SWIG_CSharpOutOfMemoryException].callback = outOfMemoryCallback;
-  SWIG_csharp_exceptions[SWIG_CSharpOverflowException].callback = overflowCallback;
-  SWIG_csharp_exceptions[SWIG_CSharpSystemException].callback = systemCallback;
-}
-
-#ifdef __cplusplus
-extern "C" 
-#endif
-SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionArgumentCallbacks_freeswitch(
-                                                SWIG_CSharpExceptionArgumentCallback_t argumentCallback,
-                                                SWIG_CSharpExceptionArgumentCallback_t argumentNullCallback,
-                                                SWIG_CSharpExceptionArgumentCallback_t argumentOutOfRangeCallback) {
-  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback = argumentCallback;
-  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentNullException].callback = argumentNullCallback;
-  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentOutOfRangeException].callback = argumentOutOfRangeCallback;
-}
-
-
-/* Callback for returning strings to C# without leaking memory */
-typedef char * (SWIGSTDCALL* SWIG_CSharpStringHelperCallback)(const char *);
-static SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback = NULL;
-
-
-#ifdef __cplusplus
-extern "C" 
-#endif
-SWIGEXPORT void SWIGSTDCALL SWIGRegisterStringCallback_freeswitch(SWIG_CSharpStringHelperCallback callback) {
-  SWIG_csharp_string_callback = callback;
-}
-
-
-/* Contract support */
-
-#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, msg, ""); return nullreturn; } else
-
-
-#include "switch.h"
-#include "switch_cpp.h"
-#include "freeswitch_managed.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_FREESWITCH_PEN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "27880";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_FREESWITCH_OID_PREFIX_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) ".1.3.6.1.4.1.27880";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_FREESWITCH_ITAD_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "543";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp___EXTENSIONS___get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 1;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp___BSD_VISIBLE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 1;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BLANK_STRING_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\0";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_ESC_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char SWIGSTDCALL CSharp_SWITCH_SEQ_HOME_CHAR_get() {
-  char jresult ;
-  char result;
-  
-  result = (char) 'H';
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_HOME_CHAR_STR_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "H";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARLINE_CHAR_get() {
-  char jresult ;
-  char result;
-  
-  result = (char) '1';
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARLINE_CHAR_STR_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "1";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARLINEEND_CHAR_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "K";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARSCR_CHAR0_get() {
-  char jresult ;
-  char result;
-  
-  result = (char) '2';
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARSCR_CHAR1_get() {
-  char jresult ;
-  char result;
-  
-  result = (char) 'J';
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARSCR_CHAR_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "2J";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_AND_COLOR_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) ";";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_END_COLOR_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_BLACK_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "30";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_RED_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "31";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_GREEN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "32";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_YELLOW_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "33";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_BLUE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "34";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_MAGEN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "35";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_CYAN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "36";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_WHITE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "37";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_BLACK_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "40";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_RED_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "41";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_GREEN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "42";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_YELLOW_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "43";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_BLUE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "44";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_MAGEN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "45";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_CYAN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "46";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_WHITE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "47";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FBLACK_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[30m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FRED_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[31m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FGREEN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[32m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FYELLOW_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[33m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FBLUE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[34m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FMAGEN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[35m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FCYAN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[36m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FWHITE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[37m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BBLACK_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[40m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BRED_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[41m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BGREEN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[42m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BYELLOW_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[43m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BBLUE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[44m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BMAGEN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[45m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BCYAN_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[46m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BWHITE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[47m";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_HOME_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[H";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARLINE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[1";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARLINEEND_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[K";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARSCR_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "\33[2J\33[H";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_DEFAULT_DTMF_DURATION_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 2000;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_DTMF_DURATION_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 192000;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PATH_SEPARATOR_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "/";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_URL_SEPARATOR_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "://";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "bypass_media_after_bridge";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_READ_RESULT_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "read_result";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_COPY_XML_CDR_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "copy_xml_cdr";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CURRENT_APPLICATION_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "current_application";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "proto_specific_hangup_cause";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "execute_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 ;
-  
-  result = (char *) "execute_on_ring";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CALL_TIMEOUT_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "call_timeout";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_HOLDING_UUID_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "holding_uuid";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_API_BRIDGE_END_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "api_after_bridge";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_API_HANGUP_HOOK_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "api_hangup_hook";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PROCESS_CDR_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "process_cdr";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BRIDGE_CHANNEL_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "bridge_channel";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CHANNEL_NAME_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "channel_name";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BRIDGE_UUID_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "bridge_uuid";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "continue_on_fail";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "playback_terminators";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PLAYBACK_TERMINATOR_USED_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "playback_terminator_used";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "cache_speech_handles";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "__cache_speech_handles_obj__";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BYPASS_MEDIA_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "bypass_media";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PROXY_MEDIA_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "proxy_media";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "endpoint_disposition";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_HOLD_MUSIC_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "hold_music";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_EXPORT_VARS_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "export_vars";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_R_SDP_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "switch_r_sdp";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_L_SDP_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "switch_l_sdp";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_B_SDP_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "switch_m_sdp";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BRIDGE_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "bridge_to";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SIGNAL_BRIDGE_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "signal_bridge_to";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SIGNAL_BOND_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "signal_bond";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_ORIGINATOR_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "originator";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_ORIGINATOR_CODEC_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "originator_codec";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "local_media_ip";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "local_media_port";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_REMOTE_MEDIA_IP_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "remote_media_ip";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "remote_media_port";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_REMOTE_VIDEO_IP_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "remote_video_ip";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "remote_video_port";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_LOCAL_VIDEO_IP_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "local_video_ip";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "local_video_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 ;
-  
-  result = (char *) "hangup_after_bridge";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "exec_after_bridge_app";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "exec_after_bridge_arg";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_MAX_FORWARDS_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "max_forwards";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_DISABLE_APP_LOG_VARIABLE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "disable_app_log";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SPEECH_KEY_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "speech";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_UUID_BRIDGE_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "uuid_bridge";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_BITS_PER_BYTE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 8;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_dtmf_t_digit_set(void * jarg1, char jarg2) {
-  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
-  char arg2 ;
-  
-  arg1 = (switch_dtmf_t *)jarg1; 
-  arg2 = (char)jarg2; 
-  if (arg1) (arg1)->digit = arg2;
-}
-
-
-SWIGEXPORT char SWIGSTDCALL CSharp_switch_dtmf_t_digit_get(void * jarg1) {
-  char jresult ;
-  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
-  char result;
-  
-  arg1 = (switch_dtmf_t *)jarg1; 
-  result = (char) ((arg1)->digit);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_dtmf_t_duration_set(void * jarg1, unsigned long jarg2) {
-  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_dtmf_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->duration = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_dtmf_t_duration_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_dtmf_t *)jarg1; 
-  result = (uint32_t) ((arg1)->duration);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_dtmf_t() {
-  void * jresult ;
-  switch_dtmf_t *result = 0 ;
-  
-  result = (switch_dtmf_t *)new switch_dtmf_t();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_dtmf_t(void * jarg1) {
-  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
-  
-  arg1 = (switch_dtmf_t *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_buf_set(void * jarg1, void * jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t *arg2 = (switch_byte_t *) 0 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (switch_byte_t *)jarg2; 
-  if (arg1) (arg1)->buf = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_bitpack_t_buf_get(void * jarg1) {
-  void * jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t *result = 0 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (switch_byte_t *) ((arg1)->buf);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_buflen_set(void * jarg1, unsigned long jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->buflen = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_bitpack_t_buflen_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (uint32_t) ((arg1)->buflen);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_cur_set(void * jarg1, void * jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t *arg2 = (switch_byte_t *) 0 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (switch_byte_t *)jarg2; 
-  if (arg1) (arg1)->cur = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_bitpack_t_cur_get(void * jarg1) {
-  void * jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t *result = 0 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (switch_byte_t *) ((arg1)->cur);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_bytes_set(void * jarg1, unsigned long jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->bytes = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_bitpack_t_bytes_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (uint32_t) ((arg1)->bytes);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_bits_tot_set(void * jarg1, unsigned long jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->bits_tot = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_bitpack_t_bits_tot_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (uint32_t) ((arg1)->bits_tot);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_bits_cur_set(void * jarg1, unsigned char jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t arg2 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (switch_byte_t)jarg2; 
-  if (arg1) (arg1)->bits_cur = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_bits_cur_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t result;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (switch_byte_t) ((arg1)->bits_cur);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_bits_rem_set(void * jarg1, unsigned char jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t arg2 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (switch_byte_t)jarg2; 
-  if (arg1) (arg1)->bits_rem = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_bits_rem_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t result;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (switch_byte_t) ((arg1)->bits_rem);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_frame_bits_set(void * jarg1, unsigned char jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t arg2 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (switch_byte_t)jarg2; 
-  if (arg1) (arg1)->frame_bits = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_frame_bits_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t result;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (switch_byte_t) ((arg1)->frame_bits);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_shiftby_set(void * jarg1, unsigned char jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t arg2 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (switch_byte_t)jarg2; 
-  if (arg1) (arg1)->shiftby = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_shiftby_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t result;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (switch_byte_t) ((arg1)->shiftby);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_this_byte_set(void * jarg1, unsigned char jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t arg2 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (switch_byte_t)jarg2; 
-  if (arg1) (arg1)->this_byte = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_this_byte_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t result;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (switch_byte_t) ((arg1)->this_byte);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_under_set(void * jarg1, unsigned char jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t arg2 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (switch_byte_t)jarg2; 
-  if (arg1) (arg1)->under = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_under_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t result;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (switch_byte_t) ((arg1)->under);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_over_set(void * jarg1, unsigned char jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t arg2 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (switch_byte_t)jarg2; 
-  if (arg1) (arg1)->over = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_over_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_byte_t result;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (switch_byte_t) ((arg1)->over);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_mode_set(void * jarg1, int jarg2) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_bitpack_mode_t arg2 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  arg2 = (switch_bitpack_mode_t)jarg2; 
-  if (arg1) (arg1)->mode = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_bitpack_t_mode_get(void * jarg1) {
-  int jresult ;
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  switch_bitpack_mode_t result;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  result = (switch_bitpack_mode_t) ((arg1)->mode);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_bitpack_t() {
-  void * jresult ;
-  switch_bitpack_t *result = 0 ;
-  
-  result = (switch_bitpack_t *)new switch_bitpack_t();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_bitpack_t(void * jarg1) {
-  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
-  
-  arg1 = (switch_bitpack_t *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_base_dir_set(void * jarg1, char * jarg2) {
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->base_dir) delete [] arg1->base_dir;
-    if (arg2) {
-      arg1->base_dir = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->base_dir, (const char *)arg2);
-    } else {
-      arg1->base_dir = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_base_dir_get(void * jarg1) {
-  char * jresult ;
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  result = (char *) ((arg1)->base_dir);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_mod_dir_set(void * jarg1, char * jarg2) {
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->mod_dir) delete [] arg1->mod_dir;
-    if (arg2) {
-      arg1->mod_dir = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->mod_dir, (const char *)arg2);
-    } else {
-      arg1->mod_dir = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_mod_dir_get(void * jarg1) {
-  char * jresult ;
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  result = (char *) ((arg1)->mod_dir);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_conf_dir_set(void * jarg1, char * jarg2) {
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->conf_dir) delete [] arg1->conf_dir;
-    if (arg2) {
-      arg1->conf_dir = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->conf_dir, (const char *)arg2);
-    } else {
-      arg1->conf_dir = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_conf_dir_get(void * jarg1) {
-  char * jresult ;
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  result = (char *) ((arg1)->conf_dir);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_log_dir_set(void * jarg1, char * jarg2) {
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->log_dir) delete [] arg1->log_dir;
-    if (arg2) {
-      arg1->log_dir = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->log_dir, (const char *)arg2);
-    } else {
-      arg1->log_dir = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_log_dir_get(void * jarg1) {
-  char * jresult ;
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  result = (char *) ((arg1)->log_dir);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_db_dir_set(void * jarg1, char * jarg2) {
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->db_dir) delete [] arg1->db_dir;
-    if (arg2) {
-      arg1->db_dir = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->db_dir, (const char *)arg2);
-    } else {
-      arg1->db_dir = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_db_dir_get(void * jarg1) {
-  char * jresult ;
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  result = (char *) ((arg1)->db_dir);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_script_dir_set(void * jarg1, char * jarg2) {
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->script_dir) delete [] arg1->script_dir;
-    if (arg2) {
-      arg1->script_dir = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->script_dir, (const char *)arg2);
-    } else {
-      arg1->script_dir = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_script_dir_get(void * jarg1) {
-  char * jresult ;
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  result = (char *) ((arg1)->script_dir);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_temp_dir_set(void * jarg1, char * jarg2) {
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->temp_dir) delete [] arg1->temp_dir;
-    if (arg2) {
-      arg1->temp_dir = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->temp_dir, (const char *)arg2);
-    } else {
-      arg1->temp_dir = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_temp_dir_get(void * jarg1) {
-  char * jresult ;
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  result = (char *) ((arg1)->temp_dir);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_htdocs_dir_set(void * jarg1, char * jarg2) {
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->htdocs_dir) delete [] arg1->htdocs_dir;
-    if (arg2) {
-      arg1->htdocs_dir = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->htdocs_dir, (const char *)arg2);
-    } else {
-      arg1->htdocs_dir = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_htdocs_dir_get(void * jarg1) {
-  char * jresult ;
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  result = (char *) ((arg1)->htdocs_dir);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_grammar_dir_set(void * jarg1, char * jarg2) {
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->grammar_dir) delete [] arg1->grammar_dir;
-    if (arg2) {
-      arg1->grammar_dir = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->grammar_dir, (const char *)arg2);
-    } else {
-      arg1->grammar_dir = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_grammar_dir_get(void * jarg1) {
-  char * jresult ;
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  result = (char *) ((arg1)->grammar_dir);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_storage_dir_set(void * jarg1, char * jarg2) {
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->storage_dir) delete [] arg1->storage_dir;
-    if (arg2) {
-      arg1->storage_dir = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->storage_dir, (const char *)arg2);
-    } else {
-      arg1->storage_dir = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_storage_dir_get(void * jarg1) {
-  char * jresult ;
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  result = (char *) ((arg1)->storage_dir);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_directories() {
-  void * jresult ;
-  switch_directories *result = 0 ;
-  
-  result = (switch_directories *)new switch_directories();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_directories(void * jarg1) {
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_SWITCH_GLOBAL_dirs_set(void * jarg1) {
-  switch_directories *arg1 = (switch_directories *) 0 ;
-  
-  arg1 = (switch_directories *)jarg1; 
-  SWITCH_GLOBAL_dirs = *arg1;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_SWITCH_GLOBAL_dirs_get() {
-  void * jresult ;
-  switch_directories *result = 0 ;
-  
-  result = (switch_directories *)&SWITCH_GLOBAL_dirs;
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_STACKS_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 32;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_THREAD_STACKSIZE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 240*1024;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_SYSTEM_THREAD_STACKSIZE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 8192*1024;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_INTERVAL_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 120;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_INTERVAL_PAD_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 10;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_SAMPLE_LEN_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 32;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_BYTES_PER_SAMPLE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 2;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RECOMMENDED_BUFFER_SIZE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) (2*32*(120+10));
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_CODECS_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 50;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_STATE_HANDLERS_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 30;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_QUEUE_LEN_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 100000;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 1024*8;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTP_CNG_PAYLOAD_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 13;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_version_set(void * jarg1, unsigned int jarg2) {
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->version = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_version_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  result = (unsigned int) ((arg1)->version);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_p_set(void * jarg1, unsigned int jarg2) {
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->p = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_p_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  result = (unsigned int) ((arg1)->p);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_x_set(void * jarg1, unsigned int jarg2) {
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->x = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_x_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  result = (unsigned int) ((arg1)->x);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_cc_set(void * jarg1, unsigned int jarg2) {
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->cc = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_cc_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  result = (unsigned int) ((arg1)->cc);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_m_set(void * jarg1, unsigned int jarg2) {
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->m = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_m_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  result = (unsigned int) ((arg1)->m);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_pt_set(void * jarg1, unsigned int jarg2) {
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->pt = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_pt_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  result = (unsigned int) ((arg1)->pt);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_seq_set(void * jarg1, unsigned int jarg2) {
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->seq = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_seq_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  result = (unsigned int) ((arg1)->seq);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_ts_set(void * jarg1, unsigned int jarg2) {
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->ts = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_ts_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  result = (unsigned int) ((arg1)->ts);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_ssrc_set(void * jarg1, unsigned int jarg2) {
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->ssrc = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_ssrc_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  result = (unsigned int) ((arg1)->ssrc);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_rtp_hdr_t() {
-  void * jresult ;
-  switch_rtp_hdr_t *result = 0 ;
-  
-  result = (switch_rtp_hdr_t *)new switch_rtp_hdr_t();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_rtp_hdr_t(void * jarg1) {
-  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
-  
-  arg1 = (switch_rtp_hdr_t *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_input_args_t_input_callback_set(void * jarg1, void * jarg2) {
-  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
-  switch_input_callback_function_t arg2 = (switch_input_callback_function_t) 0 ;
-  
-  arg1 = (switch_input_args_t *)jarg1; 
-  arg2 = (switch_input_callback_function_t)jarg2; 
-  if (arg1) (arg1)->input_callback = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_input_args_t_input_callback_get(void * jarg1) {
-  void * jresult ;
-  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
-  switch_input_callback_function_t result;
-  
-  arg1 = (switch_input_args_t *)jarg1; 
-  result = (switch_input_callback_function_t) ((arg1)->input_callback);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_input_args_t_buf_set(void * jarg1, void * jarg2) {
-  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_input_args_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->buf = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_input_args_t_buf_get(void * jarg1) {
-  void * jresult ;
-  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_input_args_t *)jarg1; 
-  result = (void *) ((arg1)->buf);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_input_args_t_buflen_set(void * jarg1, unsigned long jarg2) {
-  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_input_args_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->buflen = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_input_args_t_buflen_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_input_args_t *)jarg1; 
-  result = (uint32_t) ((arg1)->buflen);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_input_args_t_read_frame_callback_set(void * jarg1, void * jarg2) {
-  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
-  switch_read_frame_callback_function_t arg2 = (switch_read_frame_callback_function_t) 0 ;
-  
-  arg1 = (switch_input_args_t *)jarg1; 
-  arg2 = (switch_read_frame_callback_function_t)jarg2; 
-  if (arg1) (arg1)->read_frame_callback = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_input_args_t_read_frame_callback_get(void * jarg1) {
-  void * jresult ;
-  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
-  switch_read_frame_callback_function_t result;
-  
-  arg1 = (switch_input_args_t *)jarg1; 
-  result = (switch_read_frame_callback_function_t) ((arg1)->read_frame_callback);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_input_args_t_user_data_set(void * jarg1, void * jarg2) {
-  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_input_args_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->user_data = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_input_args_t_user_data_get(void * jarg1) {
-  void * jresult ;
-  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_input_args_t *)jarg1; 
-  result = (void *) ((arg1)->user_data);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_input_args_t() {
-  void * jresult ;
-  switch_input_args_t *result = 0 ;
-  
-  result = (switch_input_args_t *)new switch_input_args_t();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_input_args_t(void * jarg1) {
-  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
-  
-  arg1 = (switch_input_args_t *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_API_VERSION_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 1;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_switch_api_version_set(void * jarg1, int jarg2) {
-  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->switch_api_version = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_switch_api_version_get(void * jarg1) {
-  int jresult ;
-  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
-  result = (int) ((arg1)->switch_api_version);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_load_set(void * jarg1, void * jarg2) {
-  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
-  switch_module_load_t arg2 = (switch_module_load_t) 0 ;
-  
-  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
-  arg2 = (switch_module_load_t)jarg2; 
-  if (arg1) (arg1)->load = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_load_get(void * jarg1) {
-  void * jresult ;
-  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
-  switch_module_load_t result;
-  
-  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
-  result = (switch_module_load_t) ((arg1)->load);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_shutdown_set(void * jarg1, void * jarg2) {
-  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
-  switch_module_shutdown_t arg2 = (switch_module_shutdown_t) 0 ;
-  
-  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
-  arg2 = (switch_module_shutdown_t)jarg2; 
-  if (arg1) (arg1)->shutdown = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_shutdown_get(void * jarg1) {
-  void * jresult ;
-  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
-  switch_module_shutdown_t result;
-  
-  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
-  result = (switch_module_shutdown_t) ((arg1)->shutdown);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_runtime_set(void * jarg1, void * jarg2) {
-  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
-  switch_module_runtime_t arg2 = (switch_module_runtime_t) 0 ;
-  
-  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
-  arg2 = (switch_module_runtime_t)jarg2; 
-  if (arg1) (arg1)->runtime = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_runtime_get(void * jarg1) {
-  void * jresult ;
-  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
-  switch_module_runtime_t result;
-  
-  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
-  result = (switch_module_runtime_t) ((arg1)->runtime);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_loadable_module_function_table_t() {
-  void * jresult ;
-  switch_loadable_module_function_table_t *result = 0 ;
-  
-  result = (switch_loadable_module_function_table_t *)new switch_loadable_module_function_table_t();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_loadable_module_function_table_t(void * jarg1) {
-  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
-  
-  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_close(void * jarg1) {
-  int jresult ;
-  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_core_db_t *)jarg1; 
-  result = (int)switch_core_db_close(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_open(char * jarg1, void * jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_core_db_t **arg2 = (switch_core_db_t **) 0 ;
-  int result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_core_db_t **)jarg2; 
-  result = (int)switch_core_db_open((char const *)arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_db_column_text(void * jarg1, int jarg2) {
-  void * jresult ;
-  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
-  int arg2 ;
-  unsigned char *result = 0 ;
-  
-  arg1 = (switch_core_db_stmt_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  result = (unsigned char *)switch_core_db_column_text(arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_db_column_name(void * jarg1, int jarg2) {
-  char * jresult ;
-  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
-  int arg2 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_core_db_stmt_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  result = (char *)switch_core_db_column_name(arg1,arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_column_count(void * jarg1) {
-  int jresult ;
-  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_core_db_stmt_t *)jarg1; 
-  result = (int)switch_core_db_column_count(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_db_errmsg(void * jarg1) {
-  char * jresult ;
-  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_core_db_t *)jarg1; 
-  result = (char *)switch_core_db_errmsg(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_exec(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5) {
-  int jresult ;
-  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_core_db_callback_func_t arg3 = (switch_core_db_callback_func_t) 0 ;
-  void *arg4 = (void *) 0 ;
-  char **arg5 = (char **) 0 ;
-  int result;
-  
-  arg1 = (switch_core_db_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_core_db_callback_func_t)jarg3; 
-  arg4 = (void *)jarg4; 
-  arg5 = (char **)jarg5; 
-  result = (int)switch_core_db_exec(arg1,(char const *)arg2,arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_finalize(void * jarg1) {
-  int jresult ;
-  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_core_db_stmt_t *)jarg1; 
-  result = (int)switch_core_db_finalize(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_prepare(void * jarg1, char * jarg2, int jarg3, void * jarg4, void * jarg5) {
-  int jresult ;
-  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int arg3 ;
-  switch_core_db_stmt_t **arg4 = (switch_core_db_stmt_t **) 0 ;
-  char **arg5 = (char **) 0 ;
-  int result;
-  
-  arg1 = (switch_core_db_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (int)jarg3; 
-  arg4 = (switch_core_db_stmt_t **)jarg4; 
-  arg5 = (char **)jarg5; 
-  result = (int)switch_core_db_prepare(arg1,(char const *)arg2,arg3,arg4,(char const **)arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_step(void * jarg1) {
-  int jresult ;
-  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_core_db_stmt_t *)jarg1; 
-  result = (int)switch_core_db_step(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_reset(void * jarg1) {
-  int jresult ;
-  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_core_db_stmt_t *)jarg1; 
-  result = (int)switch_core_db_reset(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_bind_int(void * jarg1, int jarg2, int jarg3) {
-  int jresult ;
-  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
-  int arg2 ;
-  int arg3 ;
-  int result;
-  
-  arg1 = (switch_core_db_stmt_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  arg3 = (int)jarg3; 
-  result = (int)switch_core_db_bind_int(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_bind_int64(void * jarg1, int jarg2, long long jarg3) {
-  int jresult ;
-  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
-  int arg2 ;
-  int64_t arg3 ;
-  int result;
-  
-  arg1 = (switch_core_db_stmt_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  arg3 = (int64_t)jarg3; 
-  result = (int)switch_core_db_bind_int64(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_bind_text(void * jarg1, int jarg2, char * jarg3, int jarg4, void * jarg5) {
-  int jresult ;
-  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
-  int arg2 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_core_db_destructor_type_t arg5 = (switch_core_db_destructor_type_t) 0 ;
-  int result;
-  
-  arg1 = (switch_core_db_stmt_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  arg5 = (switch_core_db_destructor_type_t)jarg5; 
-  result = (int)switch_core_db_bind_text(arg1,arg2,(char const *)arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_bind_double(void * jarg1, int jarg2, double jarg3) {
-  int jresult ;
-  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
-  int arg2 ;
-  double arg3 ;
-  int result;
-  
-  arg1 = (switch_core_db_stmt_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  arg3 = (double)jarg3; 
-  result = (int)switch_core_db_bind_double(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT long long SWIGSTDCALL CSharp_switch_core_db_last_insert_rowid(void * jarg1) {
-  long long jresult ;
-  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
-  int64_t result;
-  
-  arg1 = (switch_core_db_t *)jarg1; 
-  result = (int64_t)switch_core_db_last_insert_rowid(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_get_table(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5, void * jarg6) {
-  int jresult ;
-  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char ***arg3 = (char ***) 0 ;
-  int *arg4 = (int *) 0 ;
-  int *arg5 = (int *) 0 ;
-  char **arg6 = (char **) 0 ;
-  int result;
-  
-  arg1 = (switch_core_db_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char ***)jarg3; 
-  arg4 = (int *)jarg4; 
-  arg5 = (int *)jarg5; 
-  arg6 = (char **)jarg6; 
-  result = (int)switch_core_db_get_table(arg1,(char const *)arg2,arg3,arg4,arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_db_free_table(void * jarg1) {
-  char **arg1 = (char **) 0 ;
-  
-  arg1 = (char **)jarg1; 
-  switch_core_db_free_table(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_db_free(char * jarg1) {
-  char *arg1 = (char *) 0 ;
-  
-  arg1 = (char *)jarg1; 
-  switch_core_db_free(arg1);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_changes(void * jarg1) {
-  int jresult ;
-  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_core_db_t *)jarg1; 
-  result = (int)switch_core_db_changes(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_OK_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 0;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_ERROR_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 1;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_INTERNAL_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 2;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_PERM_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 3;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_ABORT_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 4;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_BUSY_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 5;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_LOCKED_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 6;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_NOMEM_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 7;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_READONLY_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 8;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_INTERRUPT_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 9;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_IOERR_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 10;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_CORRUPT_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 11;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_NOTFOUND_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 12;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_FULL_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 13;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_CANTOPEN_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 14;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_PROTOCOL_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 15;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_EMPTY_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 16;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_SCHEMA_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 17;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_TOOBIG_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 18;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_CONSTRAINT_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 19;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_MISMATCH_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 20;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_MISUSE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 21;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_NOLFS_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 22;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_AUTH_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 23;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_FORMAT_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 24;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_RANGE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 25;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_NOTADB_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 26;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_ROW_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 100;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_DONE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 101;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_mprintf(char * jarg1) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  void *arg2 = 0 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  result = (char *)switch_mprintf((char const *)arg1,arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_regex_compile(char * jarg1, int jarg2, void * jarg3, void * jarg4, void * jarg5) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  int arg2 ;
-  char **arg3 = (char **) 0 ;
-  int *arg4 = (int *) 0 ;
-  unsigned char *arg5 = (unsigned char *) 0 ;
-  switch_regex_t *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (int)jarg2; 
-  arg3 = (char **)jarg3; 
-  arg4 = (int *)jarg4; 
-  arg5 = (unsigned char *)jarg5; 
-  result = (switch_regex_t *)switch_regex_compile((char const *)arg1,arg2,(char const **)arg3,arg4,(unsigned char const *)arg5);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_regex_copy_substring(char * jarg1, void * jarg2, int jarg3, int jarg4, char * jarg5, int jarg6) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  int *arg2 = (int *) 0 ;
-  int arg3 ;
-  int arg4 ;
-  char *arg5 = (char *) 0 ;
-  int arg6 ;
-  int result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (int *)jarg2; 
-  arg3 = (int)jarg3; 
-  arg4 = (int)jarg4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (int)jarg6; 
-  result = (int)switch_regex_copy_substring((char const *)arg1,arg2,arg3,arg4,arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_regex_free(void * jarg1) {
-  void *arg1 = (void *) 0 ;
-  
-  arg1 = (void *)jarg1; 
-  switch_regex_free(arg1);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_regex_perform(char * jarg1, char * jarg2, void * jarg3, void * jarg4, unsigned long jarg5) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_regex_t **arg3 = (switch_regex_t **) 0 ;
-  int *arg4 = (int *) 0 ;
-  uint32_t arg5 ;
-  int result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_regex_t **)jarg3; 
-  arg4 = (int *)jarg4; 
-  arg5 = (uint32_t)jarg5; 
-  result = (int)switch_regex_perform((char const *)arg1,(char const *)arg2,arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_perform_substitution(void * jarg1, int jarg2, char * jarg3, char * jarg4, char * jarg5, void * jarg6, void * jarg7) {
-  switch_regex_t *arg1 = (switch_regex_t *) 0 ;
-  int arg2 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  switch_size_t arg6 ;
-  int *arg7 = (int *) 0 ;
-  switch_size_t *argp6 ;
-  
-  arg1 = (switch_regex_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (char *)jarg5; 
-  argp6 = (switch_size_t *)jarg6; 
-  if (!argp6) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg6 = *argp6; 
-  arg7 = (int *)jarg7; 
-  switch_perform_substitution(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_regex_match(char * jarg1, char * jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_regex_match((char const *)arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_regex_match_partial(char * jarg1, char * jarg2, void * jarg3) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int *arg3 = (int *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (int *)jarg3; 
-  result = (switch_status_t)switch_regex_match_partial((char const *)arg1,(char const *)arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 128;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_STREAMS_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 128;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_mms_set(void * jarg1, unsigned long jarg2) {
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->mms = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_mms_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  result = (uint32_t) ((arg1)->mms);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_ms_set(void * jarg1, unsigned long jarg2) {
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->ms = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_ms_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  result = (uint32_t) ((arg1)->ms);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_sec_set(void * jarg1, unsigned long jarg2) {
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->sec = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_sec_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  result = (uint32_t) ((arg1)->sec);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_min_set(void * jarg1, unsigned long jarg2) {
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->min = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_min_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  result = (uint32_t) ((arg1)->min);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_hr_set(void * jarg1, unsigned long jarg2) {
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->hr = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_hr_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  result = (uint32_t) ((arg1)->hr);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_day_set(void * jarg1, unsigned long jarg2) {
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->day = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_day_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  result = (uint32_t) ((arg1)->day);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_yr_set(void * jarg1, unsigned long jarg2) {
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->yr = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_yr_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  result = (uint32_t) ((arg1)->yr);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_core_time_duration() {
-  void * jresult ;
-  switch_core_time_duration *result = 0 ;
-  
-  result = (switch_core_time_duration *)new switch_core_time_duration();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_core_time_duration(void * jarg1) {
-  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
-  
-  arg1 = (switch_core_time_duration *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_app_log_app_set(void * jarg1, char * jarg2) {
-  switch_app_log *arg1 = (switch_app_log *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_app_log *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->app) delete [] arg1->app;
-    if (arg2) {
-      arg1->app = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->app, (const char *)arg2);
-    } else {
-      arg1->app = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_app_log_app_get(void * jarg1) {
-  char * jresult ;
-  switch_app_log *arg1 = (switch_app_log *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_app_log *)jarg1; 
-  result = (char *) ((arg1)->app);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_app_log_arg_set(void * jarg1, char * jarg2) {
-  switch_app_log *arg1 = (switch_app_log *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_app_log *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->arg) delete [] arg1->arg;
-    if (arg2) {
-      arg1->arg = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->arg, (const char *)arg2);
-    } else {
-      arg1->arg = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_app_log_arg_get(void * jarg1) {
-  char * jresult ;
-  switch_app_log *arg1 = (switch_app_log *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_app_log *)jarg1; 
-  result = (char *) ((arg1)->arg);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_app_log_next_set(void * jarg1, void * jarg2) {
-  switch_app_log *arg1 = (switch_app_log *) 0 ;
-  switch_app_log *arg2 = (switch_app_log *) 0 ;
-  
-  arg1 = (switch_app_log *)jarg1; 
-  arg2 = (switch_app_log *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_app_log_next_get(void * jarg1) {
-  void * jresult ;
-  switch_app_log *arg1 = (switch_app_log *) 0 ;
-  switch_app_log *result = 0 ;
-  
-  arg1 = (switch_app_log *)jarg1; 
-  result = (switch_app_log *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_app_log() {
-  void * jresult ;
-  switch_app_log *result = 0 ;
-  
-  result = (switch_app_log *)new switch_app_log();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_app_log(void * jarg1) {
-  switch_app_log *arg1 = (switch_app_log *) 0 ;
-  
-  arg1 = (switch_app_log *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_from_set(void * jarg1, char * jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->from) delete [] arg1->from;
-    if (arg2) {
-      arg1->from = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->from, (const char *)arg2);
-    } else {
-      arg1->from = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_session_message_from_get(void * jarg1) {
-  char * jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result = (char *) ((arg1)->from);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_message_id_set(void * jarg1, int jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  switch_core_session_message_types_t arg2 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  arg2 = (switch_core_session_message_types_t)jarg2; 
-  if (arg1) (arg1)->message_id = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_message_message_id_get(void * jarg1) {
-  int jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  switch_core_session_message_types_t result;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result = (switch_core_session_message_types_t) ((arg1)->message_id);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_numeric_arg_set(void * jarg1, int jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->numeric_arg = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_message_numeric_arg_get(void * jarg1) {
-  int jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  int result;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result = (int) ((arg1)->numeric_arg);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_string_arg_set(void * jarg1, char * jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->string_arg = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->string_arg, (const char *)arg2);
-    } else {
-      arg1->string_arg = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_session_message_string_arg_get(void * jarg1) {
-  char * jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result = (char *) ((arg1)->string_arg);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_string_arg_size_set(void * jarg1, void * jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->string_arg_size = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_string_arg_size_get(void * jarg1) {
-  void * jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result =  ((arg1)->string_arg_size);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_pointer_arg_set(void * jarg1, void * jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->pointer_arg = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_pointer_arg_get(void * jarg1) {
-  void * jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result = (void *) ((arg1)->pointer_arg);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_pointer_arg_size_set(void * jarg1, void * jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->pointer_arg_size = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_pointer_arg_size_get(void * jarg1) {
-  void * jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result =  ((arg1)->pointer_arg_size);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_numeric_reply_set(void * jarg1, int jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->numeric_reply = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_message_numeric_reply_get(void * jarg1) {
-  int jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  int result;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result = (int) ((arg1)->numeric_reply);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_string_reply_set(void * jarg1, char * jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->string_reply) delete [] arg1->string_reply;
-    if (arg2) {
-      arg1->string_reply = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->string_reply, (const char *)arg2);
-    } else {
-      arg1->string_reply = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_session_message_string_reply_get(void * jarg1) {
-  char * jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result = (char *) ((arg1)->string_reply);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_string_reply_size_set(void * jarg1, void * jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->string_reply_size = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_string_reply_size_get(void * jarg1) {
-  void * jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result =  ((arg1)->string_reply_size);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_pointer_reply_set(void * jarg1, void * jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->pointer_reply = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_pointer_reply_get(void * jarg1) {
-  void * jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result = (void *) ((arg1)->pointer_reply);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_pointer_reply_size_set(void * jarg1, void * jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->pointer_reply_size = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_pointer_reply_size_get(void * jarg1) {
-  void * jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result =  ((arg1)->pointer_reply_size);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_flags_set(void * jarg1, unsigned long jarg2) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  switch_core_session_message_flag_t arg2 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  arg2 = (switch_core_session_message_flag_t)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_session_message_flags_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  switch_core_session_message_flag_t result;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  result = (switch_core_session_message_flag_t) ((arg1)->flags);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_core_session_message() {
-  void * jresult ;
-  switch_core_session_message *result = 0 ;
-  
-  result = (switch_core_session_message *)new switch_core_session_message();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_core_session_message(void * jarg1) {
-  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
-  
-  arg1 = (switch_core_session_message *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_thread_session_running_set(void * jarg1, int jarg2) {
-  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_core_thread_session *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->running = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_thread_session_running_get(void * jarg1) {
-  int jresult ;
-  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
-  int result;
-  
-  arg1 = (switch_core_thread_session *)jarg1; 
-  result = (int) ((arg1)->running);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_thread_session_mutex_set(void * jarg1, void * jarg2) {
-  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
-  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
-  
-  arg1 = (switch_core_thread_session *)jarg1; 
-  arg2 = (switch_mutex_t *)jarg2; 
-  if (arg1) (arg1)->mutex = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_thread_session_mutex_get(void * jarg1) {
-  void * jresult ;
-  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
-  switch_mutex_t *result = 0 ;
-  
-  arg1 = (switch_core_thread_session *)jarg1; 
-  result = (switch_mutex_t *) ((arg1)->mutex);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_thread_session_objs_set(void * jarg1, void * jarg2) {
-  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
-  void **arg2 ;
-  
-  arg1 = (switch_core_thread_session *)jarg1; 
-  arg2 = (void **)jarg2; 
-  {
-    size_t ii;
-    void * *b = (void * *) arg1->objs;
-    for (ii = 0; ii < (size_t)128; ii++) b[ii] = *((void * *) arg2 + ii);
-  }
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_thread_session_objs_get(void * jarg1) {
-  void * jresult ;
-  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
-  void **result = 0 ;
-  
-  arg1 = (switch_core_thread_session *)jarg1; 
-  result = (void **)(void **) ((arg1)->objs);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_thread_session_input_callback_set(void * jarg1, void * jarg2) {
-  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
-  switch_input_callback_function_t arg2 = (switch_input_callback_function_t) 0 ;
-  
-  arg1 = (switch_core_thread_session *)jarg1; 
-  arg2 = (switch_input_callback_function_t)jarg2; 
-  if (arg1) (arg1)->input_callback = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_thread_session_input_callback_get(void * jarg1) {
-  void * jresult ;
-  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
-  switch_input_callback_function_t result;
-  
-  arg1 = (switch_core_thread_session *)jarg1; 
-  result = (switch_input_callback_function_t) ((arg1)->input_callback);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_thread_session_pool_set(void * jarg1, void * jarg2) {
-  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
-  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
-  
-  arg1 = (switch_core_thread_session *)jarg1; 
-  arg2 = (switch_memory_pool_t *)jarg2; 
-  if (arg1) (arg1)->pool = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_thread_session_pool_get(void * jarg1) {
-  void * jresult ;
-  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
-  switch_memory_pool_t *result = 0 ;
-  
-  arg1 = (switch_core_thread_session *)jarg1; 
-  result = (switch_memory_pool_t *) ((arg1)->pool);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_core_thread_session() {
-  void * jresult ;
-  switch_core_thread_session *result = 0 ;
-  
-  result = (switch_core_thread_session *)new switch_core_thread_session();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_core_thread_session(void * jarg1) {
-  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
-  
-  arg1 = (switch_core_thread_session *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_add(void * jarg1, void * jarg2, void * jarg3, void * jarg4, unsigned long jarg5, void * jarg6) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_media_bug_callback_t arg2 = (switch_media_bug_callback_t) 0 ;
-  void *arg3 = (void *) 0 ;
-  time_t arg4 ;
-  switch_media_bug_flag_t arg5 ;
-  switch_media_bug_t **arg6 = (switch_media_bug_t **) 0 ;
-  time_t *argp4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_media_bug_callback_t)jarg2; 
-  arg3 = (void *)jarg3; 
-  argp4 = (time_t *)jarg4; 
-  if (!argp4) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
-    return 0;
-  }
-  arg4 = *argp4; 
-  arg5 = (switch_media_bug_flag_t)jarg5; 
-  arg6 = (switch_media_bug_t **)jarg6; 
-  result = (switch_status_t)switch_core_media_bug_add(arg1,arg2,arg3,arg4,arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_media_bug_get_user_data(void * jarg1) {
-  void * jresult ;
-  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_media_bug_t *)jarg1; 
-  result = (void *)switch_core_media_bug_get_user_data(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_media_bug_get_write_replace_frame(void * jarg1) {
-  void * jresult ;
-  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
-  switch_frame_t *result = 0 ;
-  
-  arg1 = (switch_media_bug_t *)jarg1; 
-  result = (switch_frame_t *)switch_core_media_bug_get_write_replace_frame(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_media_bug_set_write_replace_frame(void * jarg1, void * jarg2) {
-  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
-  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
-  
-  arg1 = (switch_media_bug_t *)jarg1; 
-  arg2 = (switch_frame_t *)jarg2; 
-  switch_core_media_bug_set_write_replace_frame(arg1,arg2);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_media_bug_get_read_replace_frame(void * jarg1) {
-  void * jresult ;
-  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
-  switch_frame_t *result = 0 ;
-  
-  arg1 = (switch_media_bug_t *)jarg1; 
-  result = (switch_frame_t *)switch_core_media_bug_get_read_replace_frame(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_media_bug_get_session(void * jarg1) {
-  void * jresult ;
-  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
-  switch_core_session_t *result = 0 ;
-  
-  arg1 = (switch_media_bug_t *)jarg1; 
-  result = (switch_core_session_t *)switch_core_media_bug_get_session(arg1);
-  jresult = (void *)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 ;
-  uint32_t arg2 ;
-  uint32_t result;
-  
-  arg1 = (switch_media_bug_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  result = (uint32_t)switch_core_media_bug_test_flag(arg1,arg2);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_media_bug_set_read_replace_frame(void * jarg1, void * jarg2) {
-  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
-  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
-  
-  arg1 = (switch_media_bug_t *)jarg1; 
-  arg2 = (switch_frame_t *)jarg2; 
-  switch_core_media_bug_set_read_replace_frame(arg1,arg2);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_remove(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_media_bug_t **arg2 = (switch_media_bug_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_media_bug_t **)jarg2; 
-  result = (switch_status_t)switch_core_media_bug_remove(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_close(void * jarg1) {
-  int jresult ;
-  switch_media_bug_t **arg1 = (switch_media_bug_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_media_bug_t **)jarg1; 
-  result = (switch_status_t)switch_core_media_bug_close(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_remove_all(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_media_bug_remove_all(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_read(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
-  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_media_bug_t *)jarg1; 
-  arg2 = (switch_frame_t *)jarg2; 
-  result = (switch_status_t)switch_core_media_bug_read(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_port_allocator_new(unsigned short jarg1, unsigned short jarg2, unsigned long jarg3, void * jarg4) {
-  int jresult ;
-  switch_port_t arg1 ;
-  switch_port_t arg2 ;
-  switch_port_flag_t arg3 ;
-  switch_core_port_allocator_t **arg4 = (switch_core_port_allocator_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_port_t)jarg1; 
-  arg2 = (switch_port_t)jarg2; 
-  arg3 = (switch_port_flag_t)jarg3; 
-  arg4 = (switch_core_port_allocator_t **)jarg4; 
-  result = (switch_status_t)switch_core_port_allocator_new(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_port_allocator_request_port(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_port_allocator_t *arg1 = (switch_core_port_allocator_t *) 0 ;
-  switch_port_t *arg2 = (switch_port_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_port_allocator_t *)jarg1; 
-  arg2 = (switch_port_t *)jarg2; 
-  result = (switch_status_t)switch_core_port_allocator_request_port(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_port_allocator_free_port(void * jarg1, unsigned short jarg2) {
-  int jresult ;
-  switch_core_port_allocator_t *arg1 = (switch_core_port_allocator_t *) 0 ;
-  switch_port_t arg2 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_port_allocator_t *)jarg1; 
-  arg2 = (switch_port_t)jarg2; 
-  result = (switch_status_t)switch_core_port_allocator_free_port(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_port_allocator_destroy(void * jarg1) {
-  switch_core_port_allocator_t **arg1 = (switch_core_port_allocator_t **) 0 ;
-  
-  arg1 = (switch_core_port_allocator_t **)jarg1; 
-  switch_core_port_allocator_destroy(arg1);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_init(unsigned long jarg1, int jarg2, void * jarg3) {
-  int jresult ;
-  switch_core_flag_t arg1 ;
-  switch_bool_t arg2 ;
-  char **arg3 = (char **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_flag_t)jarg1; 
-  arg2 = (switch_bool_t)jarg2; 
-  arg3 = (char **)jarg3; 
-  result = (switch_status_t)switch_core_init(arg1,arg2,(char const **)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_init_and_modload(unsigned long jarg1, int jarg2, void * jarg3) {
-  int jresult ;
-  switch_core_flag_t arg1 ;
-  switch_bool_t arg2 ;
-  char **arg3 = (char **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_flag_t)jarg1; 
-  arg2 = (switch_bool_t)jarg2; 
-  arg3 = (char **)jarg3; 
-  result = (switch_status_t)switch_core_init_and_modload(arg1,arg2,(char const **)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_session_limit(unsigned long jarg1) {
-  unsigned long jresult ;
-  uint32_t arg1 ;
-  uint32_t result;
-  
-  arg1 = (uint32_t)jarg1; 
-  result = (uint32_t)switch_core_session_limit(arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_sessions_per_second(unsigned long jarg1) {
-  unsigned long jresult ;
-  uint32_t arg1 ;
-  uint32_t result;
-  
-  arg1 = (uint32_t)jarg1; 
-  result = (uint32_t)switch_core_sessions_per_second(arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_destroy() {
-  int jresult ;
-  switch_status_t result;
-  
-  result = (switch_status_t)switch_core_destroy();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_signal_lock(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_signal_lock(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_signal_unlock(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_signal_unlock(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_read_lock(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_read_lock(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_write_lock(void * jarg1) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  switch_core_session_write_lock(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_rwunlock(void * jarg1) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  switch_core_session_rwunlock(arg1);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_add_state_handler(void * jarg1) {
-  int jresult ;
-  switch_state_handler_table_t *arg1 = (switch_state_handler_table_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_state_handler_table_t *)jarg1; 
-  result = (int)switch_core_add_state_handler((switch_state_handler_table const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_remove_state_handler(void * jarg1) {
-  switch_state_handler_table_t *arg1 = (switch_state_handler_table_t *) 0 ;
-  
-  arg1 = (switch_state_handler_table_t *)jarg1; 
-  switch_core_remove_state_handler((switch_state_handler_table const *)arg1);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_get_state_handler(int jarg1) {
-  void * jresult ;
-  int arg1 ;
-  switch_state_handler_table_t *result = 0 ;
-  
-  arg1 = (int)jarg1; 
-  result = (switch_state_handler_table_t *)switch_core_get_state_handler(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_pool_tag(void * jarg1, char * jarg2) {
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  switch_core_memory_pool_tag(arg1,(char const *)arg2);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_perform_new_memory_pool(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
-  int jresult ;
-  switch_memory_pool_t **arg1 = (switch_memory_pool_t **) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_memory_pool_t **)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_core_perform_new_memory_pool(arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_perform_destroy_memory_pool(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
-  int jresult ;
-  switch_memory_pool_t **arg1 = (switch_memory_pool_t **) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_memory_pool_t **)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_core_perform_destroy_memory_pool(arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_run(void * jarg1) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  switch_core_session_run(arg1);
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_core_session_running(void * jarg1) {
-  unsigned int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (unsigned int)switch_core_session_running(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_perform_permanent_alloc(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
-  void * jresult ;
-  switch_size_t arg1 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_size_t *argp1 ;
-  void *result = 0 ;
-  
-  argp1 = (switch_size_t *)jarg1; 
-  if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg1 = *argp1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (void *)switch_core_perform_permanent_alloc(arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_perform_alloc(void * jarg1, void * jarg2, char * jarg3, char * jarg4, int jarg5) {
-  void * jresult ;
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  switch_size_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  int arg5 ;
-  switch_size_t *argp2 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (int)jarg5; 
-  result = (void *)switch_core_perform_alloc(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_perform_session_alloc(void * jarg1, void * jarg2, char * jarg3, char * jarg4, int jarg5) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_size_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  int arg5 ;
-  switch_size_t *argp2 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (int)jarg5; 
-  result = (void *)switch_core_perform_session_alloc(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_perform_permanent_strdup(char * jarg1, char * jarg2, char * jarg3, int jarg4) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (char *)switch_core_perform_permanent_strdup((char const *)arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_perform_session_strdup(void * jarg1, char * jarg2, char * jarg3, char * jarg4, int jarg5) {
-  char * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  int arg5 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (int)jarg5; 
-  result = (char *)switch_core_perform_session_strdup(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_perform_strdup(void * jarg1, char * jarg2, char * jarg3, char * jarg4, int jarg5) {
-  char * jresult ;
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  int arg5 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (int)jarg5; 
-  result = (char *)switch_core_perform_strdup(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_session_sprintf(void * jarg1, char * jarg2) {
-  char * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  void *arg3 = 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)switch_core_session_sprintf(arg1,(char const *)arg2,arg3);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_sprintf(void * jarg1, char * jarg2) {
-  char * jresult ;
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  void *arg3 = 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)switch_core_sprintf(arg1,(char const *)arg2,arg3);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_pool(void * jarg1) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_memory_pool_t *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (switch_memory_pool_t *)switch_core_session_get_pool(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_request(void * jarg1, void * jarg2) {
-  void * jresult ;
-  switch_endpoint_interface_t *arg1 = (switch_endpoint_interface_t *) 0 ;
-  switch_memory_pool_t **arg2 = (switch_memory_pool_t **) 0 ;
-  switch_core_session_t *result = 0 ;
-  
-  arg1 = (switch_endpoint_interface_t *)jarg1; 
-  arg2 = (switch_memory_pool_t **)jarg2; 
-  result = (switch_core_session_t *)switch_core_session_request((switch_endpoint_interface const *)arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_perform_destroy(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
-  switch_core_session_t **arg1 = (switch_core_session_t **) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  
-  arg1 = (switch_core_session_t **)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  switch_core_session_perform_destroy(arg1,(char const *)arg2,(char const *)arg3,arg4);
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_session_count() {
-  unsigned long jresult ;
-  uint32_t result;
-  
-  result = (uint32_t)switch_core_session_count();
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_id() {
-  void * jresult ;
-  switch_size_t result;
-  
-  result = switch_core_session_id();
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_request_by_name(char * jarg1, void * jarg2) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_memory_pool_t **arg2 = (switch_memory_pool_t **) 0 ;
-  switch_core_session_t *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_memory_pool_t **)jarg2; 
-  result = (switch_core_session_t *)switch_core_session_request_by_name((char const *)arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_thread_launch(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_thread_launch(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_channel(void * jarg1) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_channel_t *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (switch_channel_t *)switch_core_session_get_channel(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_signal_state_change(void * jarg1) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  switch_core_session_signal_state_change(arg1);
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_session_get_uuid(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_uuid(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_get_uuid() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *)switch_core_get_uuid();
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_locate(char * jarg1) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_core_session_t *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_core_session_t *)switch_core_session_locate((char const *)arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_get_variable(char * jarg1) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  result = (char *)switch_core_get_variable((char const *)arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_set_variable(char * jarg1, char * jarg2) {
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  switch_core_set_variable((char const *)arg1,(char const *)arg2);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_dump_variables(void * jarg1) {
-  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
-  
-  arg1 = (switch_stream_handle_t *)jarg1; 
-  switch_core_dump_variables(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_hupall(int jarg1) {
-  switch_call_cause_t arg1 ;
-  
-  arg1 = (switch_call_cause_t)jarg1; 
-  switch_core_session_hupall(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_hupall_matching_var(char * jarg1, char * jarg2, int jarg3) {
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_call_cause_t arg3 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_call_cause_t)jarg3; 
-  switch_core_session_hupall_matching_var((char const *)arg1,(char const *)arg2,arg3);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_hupall_endpoint(void * jarg1, int jarg2) {
-  switch_endpoint_interface_t *arg1 = (switch_endpoint_interface_t *) 0 ;
-  switch_call_cause_t arg2 ;
-  
-  arg1 = (switch_endpoint_interface_t *)jarg1; 
-  arg2 = (switch_call_cause_t)jarg2; 
-  switch_core_session_hupall_endpoint((switch_endpoint_interface const *)arg1,arg2);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_message_send(char * jarg1, void * jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_core_session_message_t *arg2 = (switch_core_session_message_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_core_session_message_t *)jarg2; 
-  result = (switch_status_t)switch_core_session_message_send((char const *)arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_queue_message(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_core_session_message_t *arg2 = (switch_core_session_message_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_core_session_message_t *)jarg2; 
-  result = (switch_status_t)switch_core_session_queue_message(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_pass_indication(void * jarg1, int jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_core_session_message_types_t arg2 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_core_session_message_types_t)jarg2; 
-  result = (switch_status_t)switch_core_session_pass_indication(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_queue_indication(void * jarg1, int jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_core_session_message_types_t arg2 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_core_session_message_types_t)jarg2; 
-  result = (switch_status_t)switch_core_session_queue_indication(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_dequeue_message(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_core_session_message_t **arg2 = (switch_core_session_message_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_core_session_message_t **)jarg2; 
-  result = (switch_status_t)switch_core_session_dequeue_message(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_flush_message(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_flush_message(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_event_send(char * jarg1, void * jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_event_t **arg2 = (switch_event_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_event_t **)jarg2; 
-  result = (switch_status_t)switch_core_session_event_send((char const *)arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_app_log(void * jarg1) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_app_log_t *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (switch_app_log_t *)switch_core_session_get_app_log(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_exec(void * jarg1, void * jarg2, char * jarg3) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_application_interface_t *arg2 = (switch_application_interface_t *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_application_interface_t *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (switch_status_t)switch_core_session_exec(arg1,(switch_application_interface const *)arg2,(char const *)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_execute_application(void * jarg1, char * jarg2, char * jarg3) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (switch_status_t)switch_core_session_execute_application(arg1,(char const *)arg2,(char const *)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_execute_exten(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  result = (switch_status_t)switch_core_session_execute_exten(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_receive_event(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_event_t **arg2 = (switch_event_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_event_t **)jarg2; 
-  result = (switch_status_t)switch_core_session_receive_event(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_private(void * jarg1) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (void *)switch_core_session_get_private(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_set_private(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  result = (switch_status_t)switch_core_session_set_private(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_add_stream(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  int result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  result = (int)switch_core_session_add_stream(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_stream(void * jarg1, int jarg2) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  int arg2 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  result = (void *)switch_core_session_get_stream(arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_get_stream_count(void * jarg1) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (int)switch_core_session_get_stream_count(arg1);
-  jresult = 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 ;
-  void *arg3 = (void *) 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (void *(*)(switch_thread_t *,void *))jarg2; 
-  arg3 = (void *)jarg3; 
-  switch_core_session_launch_thread(arg1,arg2,arg3);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_thread_session_end(void * jarg1) {
-  switch_core_thread_session_t *arg1 = (switch_core_thread_session_t *) 0 ;
-  
-  arg1 = (switch_core_thread_session_t *)jarg1; 
-  switch_core_thread_session_end(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_service_session(void * jarg1, void * jarg2, int jarg3) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_core_thread_session_t *arg2 = (switch_core_thread_session_t *) 0 ;
-  int arg3 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_core_thread_session_t *)jarg2; 
-  arg3 = (int)jarg3; 
-  switch_core_service_session(arg1,arg2,arg3);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_outgoing_channel(void * jarg1, void * jarg2, char * jarg3, void * jarg4, void * jarg5, void * jarg6, unsigned long jarg7) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_event_t *arg2 = (switch_event_t *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_caller_profile_t *arg4 = (switch_caller_profile_t *) 0 ;
-  switch_core_session_t **arg5 = (switch_core_session_t **) 0 ;
-  switch_memory_pool_t **arg6 = (switch_memory_pool_t **) 0 ;
-  switch_originate_flag_t arg7 ;
-  switch_call_cause_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_event_t *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (switch_caller_profile_t *)jarg4; 
-  arg5 = (switch_core_session_t **)jarg5; 
-  arg6 = (switch_memory_pool_t **)jarg6; 
-  arg7 = (switch_originate_flag_t)jarg7; 
-  result = (switch_call_cause_t)switch_core_session_outgoing_channel(arg1,arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_resurrect_channel(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_core_session_t **arg2 = (switch_core_session_t **) 0 ;
-  switch_memory_pool_t **arg3 = (switch_memory_pool_t **) 0 ;
-  void *arg4 = (void *) 0 ;
-  switch_call_cause_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_core_session_t **)jarg2; 
-  arg3 = (switch_memory_pool_t **)jarg3; 
-  arg4 = (void *)jarg4; 
-  result = (switch_call_cause_t)switch_core_session_resurrect_channel((char const *)arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_receive_message(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_core_session_message_t *arg2 = (switch_core_session_message_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_core_session_message_t *)jarg2; 
-  result = (switch_status_t)switch_core_session_receive_message(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_queue_event(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_event_t **arg2 = (switch_event_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_event_t **)jarg2; 
-  result = (switch_status_t)switch_core_session_queue_event(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_session_event_count(void * jarg1) {
-  unsigned long jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (uint32_t)switch_core_session_event_count(arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_dequeue_event(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_event_t **arg2 = (switch_event_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_event_t **)jarg2; 
-  result = (switch_status_t)switch_core_session_dequeue_event(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_queue_private_event(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_event_t **arg2 = (switch_event_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_event_t **)jarg2; 
-  result = (switch_status_t)switch_core_session_queue_private_event(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_session_private_event_count(void * jarg1) {
-  unsigned long jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (uint32_t)switch_core_session_private_event_count(arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_dequeue_private_event(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_event_t **arg2 = (switch_event_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_event_t **)jarg2; 
-  result = (switch_status_t)switch_core_session_dequeue_private_event(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_session_flush_private_events(void * jarg1) {
-  unsigned long jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (uint32_t)switch_core_session_flush_private_events(arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_read_frame(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_frame_t **arg2 = (switch_frame_t **) 0 ;
-  switch_io_flag_t arg3 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_frame_t **)jarg2; 
-  arg3 = (switch_io_flag_t)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_core_session_read_frame(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_read_video_frame(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_frame_t **arg2 = (switch_frame_t **) 0 ;
-  switch_io_flag_t arg3 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_frame_t **)jarg2; 
-  arg3 = (switch_io_flag_t)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_core_session_read_video_frame(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_write_video_frame(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
-  switch_io_flag_t arg3 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_frame_t *)jarg2; 
-  arg3 = (switch_io_flag_t)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_core_session_write_video_frame(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_reset(void * jarg1, int jarg2) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_bool_t arg2 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_bool_t)jarg2; 
-  switch_core_session_reset(arg1,arg2);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_write_frame(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
-  switch_io_flag_t arg3 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_frame_t *)jarg2; 
-  arg3 = (switch_io_flag_t)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_core_session_write_frame(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_perform_kill_channel(void * jarg1, char * jarg2, char * jarg3, int jarg4, int jarg5) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_signal_t arg5 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  arg5 = (switch_signal_t)jarg5; 
-  result = (switch_status_t)switch_core_session_perform_kill_channel(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_send_dtmf(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_dtmf_t *)jarg2; 
-  result = (switch_status_t)switch_core_session_send_dtmf(arg1,(switch_dtmf_t const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_send_dtmf_string(void * jarg1, char * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_core_session_send_dtmf_string(arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_recv_dtmf(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_dtmf_t *)jarg2; 
-  result = (switch_status_t)switch_core_session_recv_dtmf(arg1,(switch_dtmf_t const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_init(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_hash_t **arg1 = (switch_hash_t **) 0 ;
-  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_hash_t **)jarg1; 
-  arg2 = (switch_memory_pool_t *)jarg2; 
-  result = (switch_status_t)switch_core_hash_init(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_destroy(void * jarg1) {
-  int jresult ;
-  switch_hash_t **arg1 = (switch_hash_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_hash_t **)jarg1; 
-  result = (switch_status_t)switch_core_hash_destroy(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_insert(void * jarg1, char * jarg2, void * jarg3) {
-  int jresult ;
-  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  void *arg3 = (void *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_hash_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (void *)jarg3; 
-  result = (switch_status_t)switch_core_hash_insert(arg1,(char const *)arg2,(void const *)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_insert_locked(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {
-  int jresult ;
-  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  void *arg3 = (void *) 0 ;
-  switch_mutex_t *arg4 = (switch_mutex_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_hash_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (void *)jarg3; 
-  arg4 = (switch_mutex_t *)jarg4; 
-  result = (switch_status_t)switch_core_hash_insert_locked(arg1,(char const *)arg2,(void const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_delete(void * jarg1, char * jarg2) {
-  int jresult ;
-  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_hash_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_core_hash_delete(arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_delete_locked(void * jarg1, char * jarg2, void * jarg3) {
-  int jresult ;
-  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_mutex_t *arg3 = (switch_mutex_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_hash_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_mutex_t *)jarg3; 
-  result = (switch_status_t)switch_core_hash_delete_locked(arg1,(char const *)arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_hash_find(void * jarg1, char * jarg2) {
-  void * jresult ;
-  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_hash_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (void *)switch_core_hash_find(arg1,(char const *)arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_hash_find_locked(void * jarg1, char * jarg2, void * jarg3) {
-  void * jresult ;
-  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_mutex_t *arg3 = (switch_mutex_t *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_hash_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_mutex_t *)jarg3; 
-  result = (void *)switch_core_hash_find_locked(arg1,(char const *)arg2,arg3);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_hash_first(char * jarg1, void * jarg2) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_hash_t *arg2 = (switch_hash_t *) 0 ;
-  switch_hash_index_t *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_hash_t *)jarg2; 
-  result = (switch_hash_index_t *)switch_hash_first(arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_hash_next(void * jarg1) {
-  void * jresult ;
-  switch_hash_index_t *arg1 = (switch_hash_index_t *) 0 ;
-  switch_hash_index_t *result = 0 ;
-  
-  arg1 = (switch_hash_index_t *)jarg1; 
-  result = (switch_hash_index_t *)switch_hash_next(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_hash_this(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
-  switch_hash_index_t *arg1 = (switch_hash_index_t *) 0 ;
-  void **arg2 = (void **) 0 ;
-  switch_ssize_t *arg3 = (switch_ssize_t *) 0 ;
-  void **arg4 = (void **) 0 ;
-  
-  arg1 = (switch_hash_index_t *)jarg1; 
-  arg2 = (void **)jarg2; 
-  arg3 = (switch_ssize_t *)jarg3; 
-  arg4 = (void **)jarg4; 
-  switch_hash_this(arg1,(void const **)arg2,arg3,arg4);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_timer_init(void * jarg1, char * jarg2, int jarg3, int jarg4, void * jarg5) {
-  int jresult ;
-  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int arg3 ;
-  int arg4 ;
-  switch_memory_pool_t *arg5 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_timer_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (int)jarg3; 
-  arg4 = (int)jarg4; 
-  arg5 = (switch_memory_pool_t *)jarg5; 
-  result = (switch_status_t)switch_core_timer_init(arg1,(char const *)arg2,arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_timer_next(void * jarg1) {
-  int jresult ;
-  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_timer_t *)jarg1; 
-  result = (switch_status_t)switch_core_timer_next(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_timer_step(void * jarg1) {
-  int jresult ;
-  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_timer_t *)jarg1; 
-  result = (switch_status_t)switch_core_timer_step(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_timer_sync(void * jarg1) {
-  int jresult ;
-  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_timer_t *)jarg1; 
-  result = (switch_status_t)switch_core_timer_sync(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_timer_check(void * jarg1, int jarg2) {
-  int jresult ;
-  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
-  switch_bool_t arg2 ;
-  switch_status_t result;
-  
-  arg1 = (switch_timer_t *)jarg1; 
-  arg2 = (switch_bool_t)jarg2; 
-  result = (switch_status_t)switch_core_timer_check(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_timer_destroy(void * jarg1) {
-  int jresult ;
-  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_timer_t *)jarg1; 
-  result = (switch_status_t)switch_core_timer_destroy(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_codec_init(void * jarg1, char * jarg2, char * jarg3, unsigned long jarg4, int jarg5, int jarg6, unsigned long jarg7, void * jarg8, void * jarg9) {
-  int jresult ;
-  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  uint32_t arg4 ;
-  int arg5 ;
-  int arg6 ;
-  uint32_t arg7 ;
-  switch_codec_settings_t *arg8 = (switch_codec_settings_t *) 0 ;
-  switch_memory_pool_t *arg9 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_codec_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (uint32_t)jarg4; 
-  arg5 = (int)jarg5; 
-  arg6 = (int)jarg6; 
-  arg7 = (uint32_t)jarg7; 
-  arg8 = (switch_codec_settings_t *)jarg8; 
-  arg9 = (switch_memory_pool_t *)jarg9; 
-  result = (switch_status_t)switch_core_codec_init(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7,(switch_codec_settings const *)arg8,arg9);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_codec_copy(void * jarg1, void * jarg2, void * jarg3) {
-  int jresult ;
-  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
-  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
-  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_codec_t *)jarg1; 
-  arg2 = (switch_codec_t *)jarg2; 
-  arg3 = (switch_memory_pool_t *)jarg3; 
-  result = (switch_status_t)switch_core_codec_copy(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_codec_encode(void * jarg1, void * jarg2, void * jarg3, unsigned long jarg4, unsigned long jarg5, void * jarg6, void * jarg7, void * jarg8, void * jarg9) {
-  int jresult ;
-  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
-  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
-  void *arg3 = (void *) 0 ;
-  uint32_t arg4 ;
-  uint32_t arg5 ;
-  void *arg6 = (void *) 0 ;
-  uint32_t *arg7 = (uint32_t *) 0 ;
-  uint32_t *arg8 = (uint32_t *) 0 ;
-  unsigned int *arg9 = (unsigned int *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_codec_t *)jarg1; 
-  arg2 = (switch_codec_t *)jarg2; 
-  arg3 = (void *)jarg3; 
-  arg4 = (uint32_t)jarg4; 
-  arg5 = (uint32_t)jarg5; 
-  arg6 = (void *)jarg6; 
-  arg7 = (uint32_t *)jarg7; 
-  arg8 = (uint32_t *)jarg8; 
-  arg9 = (unsigned int *)jarg9; 
-  result = (switch_status_t)switch_core_codec_encode(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_codec_decode(void * jarg1, void * jarg2, void * jarg3, unsigned long jarg4, unsigned long jarg5, void * jarg6, void * jarg7, void * jarg8, void * jarg9) {
-  int jresult ;
-  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
-  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
-  void *arg3 = (void *) 0 ;
-  uint32_t arg4 ;
-  uint32_t arg5 ;
-  void *arg6 = (void *) 0 ;
-  uint32_t *arg7 = (uint32_t *) 0 ;
-  uint32_t *arg8 = (uint32_t *) 0 ;
-  unsigned int *arg9 = (unsigned int *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_codec_t *)jarg1; 
-  arg2 = (switch_codec_t *)jarg2; 
-  arg3 = (void *)jarg3; 
-  arg4 = (uint32_t)jarg4; 
-  arg5 = (uint32_t)jarg5; 
-  arg6 = (void *)jarg6; 
-  arg7 = (uint32_t *)jarg7; 
-  arg8 = (uint32_t *)jarg8; 
-  arg9 = (unsigned int *)jarg9; 
-  result = (switch_status_t)switch_core_codec_decode(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_codec_destroy(void * jarg1) {
-  int jresult ;
-  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_codec_t *)jarg1; 
-  result = (switch_status_t)switch_core_codec_destroy(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_set_read_codec(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_codec_t *)jarg2; 
-  result = (switch_status_t)switch_core_session_set_read_codec(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_unset_read_codec(void * jarg1) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  switch_core_session_unset_read_codec(arg1);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_read_codec(void * jarg1) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_codec_t *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (switch_codec_t *)switch_core_session_get_read_codec(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_effective_read_codec(void * jarg1) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_codec_t *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (switch_codec_t *)switch_core_session_get_effective_read_codec(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_set_write_codec(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_codec_t *)jarg2; 
-  result = (switch_status_t)switch_core_session_set_write_codec(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_write_codec(void * jarg1) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_codec_t *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (switch_codec_t *)switch_core_session_get_write_codec(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_effective_write_codec(void * jarg1) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_codec_t *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (switch_codec_t *)switch_core_session_get_effective_write_codec(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_set_video_read_codec(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_codec_t *)jarg2; 
-  result = (switch_status_t)switch_core_session_set_video_read_codec(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_video_read_codec(void * jarg1) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_codec_t *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (switch_codec_t *)switch_core_session_get_video_read_codec(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_set_video_write_codec(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_codec_t *)jarg2; 
-  result = (switch_status_t)switch_core_session_set_video_write_codec(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_video_write_codec(void * jarg1) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_codec_t *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (switch_codec_t *)switch_core_session_get_video_write_codec(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_db_open_file(char * jarg1) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_core_db_t *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_core_db_t *)switch_core_db_open_file(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_persistant_execute(void * jarg1, char * jarg2, unsigned long jarg3) {
-  int jresult ;
-  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  uint32_t arg3 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_db_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (uint32_t)jarg3; 
-  result = (switch_status_t)switch_core_db_persistant_execute(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_db_test_reactive(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
-  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  
-  arg1 = (switch_core_db_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  switch_core_db_test_reactive(arg1,arg2,arg3,arg4);
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CORE_DB_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "core";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_perform_file_open(char * jarg1, char * jarg2, int jarg3, void * jarg4, char * jarg5, unsigned char jarg6, unsigned long jarg7, unsigned int jarg8, void * jarg9) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int arg3 ;
-  switch_file_handle_t *arg4 = (switch_file_handle_t *) 0 ;
-  char *arg5 = (char *) 0 ;
-  uint8_t arg6 ;
-  uint32_t arg7 ;
-  unsigned int arg8 ;
-  switch_memory_pool_t *arg9 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (int)jarg3; 
-  arg4 = (switch_file_handle_t *)jarg4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (uint8_t)jarg6; 
-  arg7 = (uint32_t)jarg7; 
-  arg8 = (unsigned int)jarg8; 
-  arg9 = (switch_memory_pool_t *)jarg9; 
-  result = (switch_status_t)switch_core_perform_file_open((char const *)arg1,(char const *)arg2,arg3,arg4,(char const *)arg5,arg6,arg7,arg8,arg9);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_read(void * jarg1, void * jarg2, void * jarg3) {
-  int jresult ;
-  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  switch_size_t *arg3 = (switch_size_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_file_handle_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  arg3 = (switch_size_t *)jarg3; 
-  result = (switch_status_t)switch_core_file_read(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_write(void * jarg1, void * jarg2, void * jarg3) {
-  int jresult ;
-  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  switch_size_t *arg3 = (switch_size_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_file_handle_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  arg3 = (switch_size_t *)jarg3; 
-  result = (switch_status_t)switch_core_file_write(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_seek(void * jarg1, void * jarg2, long long jarg3, int jarg4) {
-  int jresult ;
-  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
-  unsigned int *arg2 = (unsigned int *) 0 ;
-  int64_t arg3 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_file_handle_t *)jarg1; 
-  arg2 = (unsigned int *)jarg2; 
-  arg3 = (int64_t)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_core_file_seek(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_set_string(void * jarg1, int jarg2, char * jarg3) {
-  int jresult ;
-  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
-  switch_audio_col_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_file_handle_t *)jarg1; 
-  arg2 = (switch_audio_col_t)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (switch_status_t)switch_core_file_set_string(arg1,arg2,(char const *)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_get_string(void * jarg1, int jarg2, void * jarg3) {
-  int jresult ;
-  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
-  switch_audio_col_t arg2 ;
-  char **arg3 = (char **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_file_handle_t *)jarg1; 
-  arg2 = (switch_audio_col_t)jarg2; 
-  arg3 = (char **)jarg3; 
-  result = (switch_status_t)switch_core_file_get_string(arg1,arg2,(char const **)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_close(void * jarg1) {
-  int jresult ;
-  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_file_handle_t *)jarg1; 
-  result = (switch_status_t)switch_core_file_close(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_open(void * jarg1, char * jarg2, char * jarg3, unsigned int jarg4, unsigned int jarg5, void * jarg6, void * jarg7) {
-  int jresult ;
-  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  unsigned int arg4 ;
-  unsigned int arg5 ;
-  switch_speech_flag_t *arg6 = (switch_speech_flag_t *) 0 ;
-  switch_memory_pool_t *arg7 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_speech_handle_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (unsigned int)jarg4; 
-  arg5 = (unsigned int)jarg5; 
-  arg6 = (switch_speech_flag_t *)jarg6; 
-  arg7 = (switch_memory_pool_t *)jarg7; 
-  result = (switch_status_t)switch_core_speech_open(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_feed_tts(void * jarg1, char * jarg2, void * jarg3) {
-  int jresult ;
-  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_speech_flag_t *arg3 = (switch_speech_flag_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_speech_handle_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_speech_flag_t *)jarg3; 
-  result = (switch_status_t)switch_core_speech_feed_tts(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_speech_flush_tts(void * jarg1) {
-  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
-  
-  arg1 = (switch_speech_handle_t *)jarg1; 
-  switch_core_speech_flush_tts(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_speech_text_param_tts(void * jarg1, char * jarg2, char * jarg3) {
-  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  arg1 = (switch_speech_handle_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  switch_core_speech_text_param_tts(arg1,arg2,(char const *)arg3);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_speech_numeric_param_tts(void * jarg1, char * jarg2, int jarg3) {
-  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int arg3 ;
-  
-  arg1 = (switch_speech_handle_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (int)jarg3; 
-  switch_core_speech_numeric_param_tts(arg1,arg2,arg3);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_speech_float_param_tts(void * jarg1, char * jarg2, double jarg3) {
-  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  double arg3 ;
-  
-  arg1 = (switch_speech_handle_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (double)jarg3; 
-  switch_core_speech_float_param_tts(arg1,arg2,arg3);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_read_tts(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
-  int jresult ;
-  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  switch_size_t *arg3 = (switch_size_t *) 0 ;
-  uint32_t *arg4 = (uint32_t *) 0 ;
-  switch_speech_flag_t *arg5 = (switch_speech_flag_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_speech_handle_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  arg3 = (switch_size_t *)jarg3; 
-  arg4 = (uint32_t *)jarg4; 
-  arg5 = (switch_speech_flag_t *)jarg5; 
-  result = (switch_status_t)switch_core_speech_read_tts(arg1,arg2,arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_close(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
-  switch_speech_flag_t *arg2 = (switch_speech_flag_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_speech_handle_t *)jarg1; 
-  arg2 = (switch_speech_flag_t *)jarg2; 
-  result = (switch_status_t)switch_core_speech_close(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_open(void * jarg1, char * jarg2, char * jarg3, int jarg4, char * jarg5, void * jarg6, void * jarg7) {
-  int jresult ;
-  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  char *arg5 = (char *) 0 ;
-  switch_asr_flag_t *arg6 = (switch_asr_flag_t *) 0 ;
-  switch_memory_pool_t *arg7 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_asr_handle_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (switch_asr_flag_t *)jarg6; 
-  arg7 = (switch_memory_pool_t *)jarg7; 
-  result = (switch_status_t)switch_core_asr_open(arg1,(char const *)arg2,(char const *)arg3,arg4,(char const *)arg5,arg6,arg7);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_close(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
-  switch_asr_flag_t *arg2 = (switch_asr_flag_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_asr_handle_t *)jarg1; 
-  arg2 = (switch_asr_flag_t *)jarg2; 
-  result = (switch_status_t)switch_core_asr_close(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_feed(void * jarg1, void * jarg2, unsigned int jarg3, void * jarg4) {
-  int jresult ;
-  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  unsigned int arg3 ;
-  switch_asr_flag_t *arg4 = (switch_asr_flag_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_asr_handle_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  arg3 = (unsigned int)jarg3; 
-  arg4 = (switch_asr_flag_t *)jarg4; 
-  result = (switch_status_t)switch_core_asr_feed(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_check_results(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
-  switch_asr_flag_t *arg2 = (switch_asr_flag_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_asr_handle_t *)jarg1; 
-  arg2 = (switch_asr_flag_t *)jarg2; 
-  result = (switch_status_t)switch_core_asr_check_results(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_get_results(void * jarg1, void * jarg2, void * jarg3) {
-  int jresult ;
-  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
-  char **arg2 = (char **) 0 ;
-  switch_asr_flag_t *arg3 = (switch_asr_flag_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_asr_handle_t *)jarg1; 
-  arg2 = (char **)jarg2; 
-  arg3 = (switch_asr_flag_t *)jarg3; 
-  result = (switch_status_t)switch_core_asr_get_results(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_load_grammar(void * jarg1, char * jarg2, char * jarg3) {
-  int jresult ;
-  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_asr_handle_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (switch_status_t)switch_core_asr_load_grammar(arg1,(char const *)arg2,(char const *)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_unload_grammar(void * jarg1, char * jarg2) {
-  int jresult ;
-  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_asr_handle_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_core_asr_unload_grammar(arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_pause(void * jarg1) {
-  int jresult ;
-  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_asr_handle_t *)jarg1; 
-  result = (switch_status_t)switch_core_asr_pause(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_resume(void * jarg1) {
-  int jresult ;
-  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_asr_handle_t *)jarg1; 
-  result = (switch_status_t)switch_core_asr_resume(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_directory_open(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, void * jarg6) {
-  int jresult ;
-  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  switch_memory_pool_t *arg6 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_directory_handle_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (switch_memory_pool_t *)jarg6; 
-  result = (switch_status_t)switch_core_directory_open(arg1,arg2,arg3,arg4,arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_directory_query(void * jarg1, char * jarg2, char * jarg3) {
-  int jresult ;
-  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_directory_handle_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (switch_status_t)switch_core_directory_query(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_directory_next(void * jarg1) {
-  int jresult ;
-  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_directory_handle_t *)jarg1; 
-  result = (switch_status_t)switch_core_directory_next(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_directory_next_pair(void * jarg1, void * jarg2, void * jarg3) {
-  int jresult ;
-  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
-  char **arg2 = (char **) 0 ;
-  char **arg3 = (char **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_directory_handle_t *)jarg1; 
-  arg2 = (char **)jarg2; 
-  arg3 = (char **)jarg3; 
-  result = (switch_status_t)switch_core_directory_next_pair(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_directory_close(void * jarg1) {
-  int jresult ;
-  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_directory_handle_t *)jarg1; 
-  result = (switch_status_t)switch_core_directory_close(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_data_channel(int jarg1) {
-  void * jresult ;
-  switch_text_channel_t arg1 ;
-  FILE *result = 0 ;
-  
-  arg1 = (switch_text_channel_t)jarg1; 
-  result = (FILE *)switch_core_data_channel(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_ready() {
-  int jresult ;
-  switch_bool_t result;
-  
-  result = (switch_bool_t)switch_core_ready();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_flags() {
-  unsigned long jresult ;
-  switch_core_flag_t result;
-  
-  result = (switch_core_flag_t)switch_core_flags();
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_management_exec(char * jarg1, int jarg2, char * jarg3, void * jarg4) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_management_action_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  switch_size_t arg4 ;
-  switch_size_t *argp4 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_management_action_t)jarg2; 
-  arg3 = (char *)jarg3; 
-  argp4 = (switch_size_t *)jarg4; 
-  if (!argp4) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg4 = *argp4; 
-  result = (switch_status_t)switch_core_management_exec(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_set_high_priority() {
-  int jresult ;
-  int32_t result;
-  
-  result = (int32_t)set_high_priority();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_change_user_group(char * jarg1, char * jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int32_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (int32_t)change_user_group((char const *)arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_runtime_loop(int jarg1) {
-  int arg1 ;
-  
-  arg1 = (int)jarg1; 
-  switch_core_runtime_loop(arg1);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_set_console(char * jarg1) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_status_t)switch_core_set_console((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_measure_time(void * jarg1, void * jarg2) {
-  switch_time_t arg1 ;
-  switch_core_time_duration_t *arg2 = (switch_core_time_duration_t *) 0 ;
-  switch_time_t *argp1 ;
-  
-  argp1 = (switch_time_t *)jarg1; 
-  if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
-    return ;
-  }
-  arg1 = *argp1; 
-  arg2 = (switch_core_time_duration_t *)jarg2; 
-  switch_core_measure_time(arg1,arg2);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_uptime() {
-  void * jresult ;
-  switch_time_t result;
-  
-  result = switch_core_uptime();
-  jresult = new switch_time_t((const switch_time_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_ctl(int jarg1, void * jarg2) {
-  int jresult ;
-  switch_session_ctl_t arg1 ;
-  int32_t *arg2 = (int32_t *) 0 ;
-  int32_t result;
-  
-  arg1 = (switch_session_ctl_t)jarg1; 
-  arg2 = (int32_t *)jarg2; 
-  result = (int32_t)switch_core_session_ctl(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_get_console() {
-  void * jresult ;
-  FILE *result = 0 ;
-  
-  result = (FILE *)switch_core_get_console();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_launch_thread(void * jarg1, void * jarg2, void * jarg3) {
-  void *(*arg1)(switch_thread_t *,void *) = (void *(*)(switch_thread_t *,void *)) 0 ;
-  void *arg2 = (void *) 0 ;
-  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
-  
-  arg1 = (void *(*)(switch_thread_t *,void *))jarg1; 
-  arg2 = (void *)jarg2; 
-  arg3 = (switch_memory_pool_t *)jarg3; 
-  switch_core_launch_thread(arg1,arg2,arg3);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_set_globals() {
-  switch_core_set_globals();
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_core_session_compare(void * jarg1, void * jarg2) {
-  unsigned char jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_core_session_t *)jarg2; 
-  result = (uint8_t)switch_core_session_compare(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_core_session_check_interface(void * jarg1, void * jarg2) {
-  unsigned char jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_endpoint_interface_t *arg2 = (switch_endpoint_interface_t *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_endpoint_interface_t *)jarg2; 
-  result = (uint8_t)switch_core_session_check_interface(arg1,(switch_endpoint_interface const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_mime_index() {
-  void * jresult ;
-  switch_hash_index_t *result = 0 ;
-  
-  result = (switch_hash_index_t *)switch_core_mime_index();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_mime_ext2type(char * jarg1) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  result = (char *)switch_core_mime_ext2type((char const *)arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_mime_add_type(char * jarg1, char * jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_core_mime_add_type((char const *)arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_loadable_module_create_module_interface(void * jarg1, char * jarg2) {
-  void * jresult ;
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_loadable_module_interface_t *result = 0 ;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_loadable_module_interface_t *)switch_loadable_module_create_module_interface(arg1,(char const *)arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_loadable_module_create_interface(void * jarg1, int jarg2) {
-  void * jresult ;
-  switch_loadable_module_interface_t *arg1 = (switch_loadable_module_interface_t *) 0 ;
-  switch_module_interface_name_t arg2 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_loadable_module_interface_t *)jarg1; 
-  arg2 = (switch_module_interface_name_t)jarg2; 
-  result = (void *)switch_loadable_module_create_interface(arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timestamp_now() {
-  void * jresult ;
-  switch_time_t result;
-  
-  result = switch_timestamp_now();
-  jresult = new switch_time_t((const switch_time_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_reclaim() {
-  switch_core_memory_reclaim();
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_reclaim_events() {
-  switch_core_memory_reclaim_events();
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_reclaim_logger() {
-  switch_core_memory_reclaim_logger();
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_reclaim_all() {
-  switch_core_memory_reclaim_all();
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_setrlimits() {
-  switch_core_setrlimits();
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_time_sync() {
-  switch_time_sync();
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timestamp(void * jarg1) {
-  void * jresult ;
-  time_t *arg1 = (time_t *) 0 ;
-  time_t result;
-  
-  arg1 = (time_t *)jarg1; 
-  result = switch_timestamp(arg1);
-  jresult = new time_t((const time_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_strftime_tz(char * jarg1, char * jarg2, char * jarg3, unsigned long jarg4) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  size_t arg4 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (size_t)jarg4; 
-  result = (switch_status_t)switch_strftime_tz((char const *)arg1,(char const *)arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_load_network_lists(int jarg1) {
-  switch_bool_t arg1 ;
-  
-  arg1 = (switch_bool_t)jarg1; 
-  switch_load_network_lists(arg1);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_check_network_list_ip_token(char * jarg1, char * jarg2, void * jarg3) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char **arg3 = (char **) 0 ;
-  switch_bool_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char **)jarg3; 
-  result = (switch_bool_t)switch_check_network_list_ip_token((char const *)arg1,(char const *)arg2,(char const **)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_time_set_monotonic(int jarg1) {
-  switch_bool_t arg1 ;
-  
-  arg1 = (switch_bool_t)jarg1; 
-  switch_time_set_monotonic(arg1);
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_max_dtmf_duration(unsigned long jarg1) {
-  unsigned long jresult ;
-  uint32_t arg1 ;
-  uint32_t result;
-  
-  arg1 = (uint32_t)jarg1; 
-  result = (uint32_t)switch_core_max_dtmf_duration(arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_default_dtmf_duration(unsigned long jarg1) {
-  unsigned long jresult ;
-  uint32_t arg1 ;
-  uint32_t result;
-  
-  arg1 = (uint32_t)jarg1; 
-  result = (uint32_t)switch_core_default_dtmf_duration(arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_console_set_complete(char * jarg1) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_status_t)switch_console_set_complete((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_console_set_alias(char * jarg1) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_status_t)switch_console_set_alias((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_system(char * jarg1, int jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_bool_t arg2 ;
-  int result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_bool_t)jarg2; 
-  result = (int)switch_system((char const *)arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CMD_CHUNK_LEN_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 1024;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_console_loop() {
-  switch_console_loop();
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_console_stream_raw_write(void * jarg1, void * jarg2, void * jarg3) {
-  int jresult ;
-  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
-  uint8_t *arg2 = (uint8_t *) 0 ;
-  switch_size_t arg3 ;
-  switch_size_t *argp3 ;
-  switch_status_t result;
-  
-  arg1 = (switch_stream_handle_t *)jarg1; 
-  arg2 = (uint8_t *)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_status_t)switch_console_stream_raw_write(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_SMAX_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 32767;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_SMIN_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) -32768;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_is_moh(char * jarg1) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_bool_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_bool_t)switch_is_moh((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_b64_encode(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
-  int jresult ;
-  unsigned char *arg1 = (unsigned char *) 0 ;
-  switch_size_t arg2 ;
-  unsigned char *arg3 = (unsigned char *) 0 ;
-  switch_size_t arg4 ;
-  switch_size_t *argp2 ;
-  switch_size_t *argp4 ;
-  switch_status_t result;
-  
-  arg1 = (unsigned char *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
-  arg3 = (unsigned char *)jarg3; 
-  argp4 = (switch_size_t *)jarg4; 
-  if (!argp4) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg4 = *argp4; 
-  result = (switch_status_t)switch_b64_encode(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_b64_decode(char * jarg1, char * jarg2, void * jarg3) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_size_t arg3 ;
-  switch_size_t *argp3 ;
-  switch_size_t result;
-  
-  arg1 = (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 = switch_b64_decode(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_amp_encode(char * jarg1, char * jarg2, void * jarg3) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_size_t arg3 ;
-  switch_size_t *argp3 ;
-  char *result = 0 ;
-  
-  arg1 = (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_amp_encode(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 ;
-  switch_bool_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_bool_t)switch_is_digit_string((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_fd_read_line(int jarg1, char * jarg2, void * jarg3) {
-  void * jresult ;
-  int arg1 ;
-  char *arg2 = (char *) 0 ;
-  switch_size_t arg3 ;
-  switch_size_t *argp3 ;
-  switch_size_t result;
-  
-  arg1 = (int)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 = switch_fd_read_line(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_find_local_ip(char * jarg1, int jarg2, int jarg3) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  int arg2 ;
-  int arg3 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (int)jarg2; 
-  arg3 = (int)jarg3; 
-  result = (switch_status_t)switch_find_local_ip(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_get_addr(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_size_t arg2 ;
-  sockaddr *arg3 = (sockaddr *) 0 ;
-  socklen_t arg4 ;
-  switch_size_t *argp2 ;
-  socklen_t *argp4 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
-  arg3 = (sockaddr *)jarg3; 
-  argp4 = (socklen_t *)jarg4; 
-  if (!argp4) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null socklen_t", 0);
-    return 0;
-  }
-  arg4 = *argp4; 
-  result = (char *)get_addr(arg1,arg2,arg3,arg4);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned short SWIGSTDCALL CSharp_get_port(void * jarg1) {
-  unsigned short jresult ;
-  sockaddr *arg1 = (sockaddr *) 0 ;
-  unsigned short result;
-  
-  arg1 = (sockaddr *)jarg1; 
-  result = (unsigned short)get_port(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_build_uri(char * jarg1, void * jarg2, char * jarg3, char * jarg4, void * jarg5, int jarg6) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_size_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  switch_sockaddr_t *arg5 = (switch_sockaddr_t *) 0 ;
-  int arg6 ;
-  switch_size_t *argp2 ;
-  int result;
-  
-  arg1 = (char *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (switch_sockaddr_t *)jarg5; 
-  arg6 = (int)jarg6; 
-  result = (int)switch_build_uri(arg1,arg2,(char const *)arg3,(char const *)arg4,(switch_sockaddr_t const *)arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_priority_name(int jarg1) {
-  char * jresult ;
-  switch_priority_t arg1 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_priority_t)jarg1; 
-  result = (char *)switch_priority_name(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char SWIGSTDCALL CSharp_switch_rfc2833_to_char(int jarg1) {
-  char jresult ;
-  int arg1 ;
-  char result;
-  
-  arg1 = (int)jarg1; 
-  result = (char)switch_rfc2833_to_char(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_char_to_rfc2833(char jarg1) {
-  unsigned char jresult ;
-  char arg1 ;
-  unsigned char result;
-  
-  arg1 = (char)jarg1; 
-  result = (unsigned char)switch_char_to_rfc2833(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_clean_string(char * jarg1) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  result = (char *)switch_clean_string(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_safe_strdup(char * jarg1) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  result = (char *)switch_safe_strdup((char const *)arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_strstr(char * jarg1, char * jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_bool_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_bool_t)switch_strstr(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_str_time(char * jarg1) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_time_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = switch_str_time((char const *)arg1);
-  jresult = new switch_time_t((const switch_time_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_separate_string(char * jarg1, char jarg2, void * jarg3, unsigned int jarg4) {
-  unsigned int jresult ;
-  char *arg1 = (char *) 0 ;
-  char arg2 ;
-  char **arg3 = (char **) 0 ;
-  unsigned int arg4 ;
-  unsigned int result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char)jarg2; 
-  arg3 = (char **)jarg3; 
-  arg4 = (unsigned int)jarg4; 
-  result = (unsigned int)switch_separate_string(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_is_number(char * jarg1) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_bool_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_bool_t)switch_is_number((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_strip_spaces(char * jarg1) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  result = (char *)switch_strip_spaces((char const *)arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_separate_paren_args(char * jarg1) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  result = (char *)switch_separate_paren_args(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_stristr(char * jarg1, char * jarg2) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)switch_stristr((char const *)arg1,(char const *)arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_is_lan_addr(char * jarg1) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_bool_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_bool_t)switch_is_lan_addr((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_replace_char(char * jarg1, char jarg2, char jarg3, int jarg4) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char arg2 ;
-  char arg3 ;
-  switch_bool_t arg4 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char)jarg2; 
-  arg3 = (char)jarg3; 
-  arg4 = (switch_bool_t)jarg4; 
-  result = (char *)switch_replace_char(arg1,arg2,arg3,arg4);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ast2regex(char * jarg1, char * jarg2, unsigned long jarg3) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  size_t arg3 ;
-  switch_bool_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (size_t)jarg3; 
-  result = (switch_bool_t)switch_ast2regex(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_escape_char(void * jarg1, char * jarg2, char * jarg3, char jarg4) {
-  char * jresult ;
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char arg4 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char)jarg4; 
-  result = (char *)switch_escape_char(arg1,arg2,(char const *)arg3,arg4);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_socket_waitfor(void * jarg1, int jarg2) {
-  int jresult ;
-  switch_pollfd_t *arg1 = (switch_pollfd_t *) 0 ;
-  int arg2 ;
-  int result;
-  
-  arg1 = (switch_pollfd_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  result = (int)switch_socket_waitfor(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_cut_path(char * jarg1) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  result = (char *)switch_cut_path((char const *)arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_string_replace(char * jarg1, char * jarg2, char * jarg3) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (char *)switch_string_replace((char const *)arg1,(char const *)arg2,(char const *)arg3);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_string_match(char * jarg1, unsigned long jarg2, char * jarg3, unsigned long jarg4) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  size_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  size_t arg4 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (size_t)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (size_t)jarg4; 
-  result = (switch_status_t)switch_string_match((char const *)arg1,arg2,(char const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_url_encode(char * jarg1, char * jarg2, unsigned long jarg3) {
-  unsigned long jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  size_t arg3 ;
-  size_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (size_t)jarg3; 
-  result = switch_url_encode((char const *)arg1,arg2,arg3);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_url_decode(char * jarg1) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  result = (char *)switch_url_decode(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_simple_email(char * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  switch_bool_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (char *)jarg5; 
-  result = (switch_bool_t)switch_simple_email((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_find_end_paren(char * jarg1, char jarg2, char jarg3) {
-  char * jresult ;
-  char *arg1 = (char *) 0 ;
-  char arg2 ;
-  char arg3 ;
-  char *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char)jarg2; 
-  arg3 = (char)jarg3; 
-  result = (char *)switch_find_end_paren((char const *)arg1,arg2,arg3);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_parse_cidr(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  uint32_t *arg2 = (uint32_t *) 0 ;
-  uint32_t *arg3 = (uint32_t *) 0 ;
-  uint32_t *arg4 = (uint32_t *) 0 ;
-  int result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (uint32_t *)jarg2; 
-  arg3 = (uint32_t *)jarg3; 
-  arg4 = (uint32_t *)jarg4; 
-  result = (int)switch_parse_cidr((char const *)arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_network_list_create(void * jarg1, int jarg2, void * jarg3) {
-  int jresult ;
-  switch_network_list_t **arg1 = (switch_network_list_t **) 0 ;
-  switch_bool_t arg2 ;
-  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_network_list_t **)jarg1; 
-  arg2 = (switch_bool_t)jarg2; 
-  arg3 = (switch_memory_pool_t *)jarg3; 
-  result = (switch_status_t)switch_network_list_create(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_network_list_add_cidr_token(void * jarg1, char * jarg2, int jarg3, char * jarg4) {
-  int jresult ;
-  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_bool_t arg3 ;
-  char *arg4 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_network_list_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_bool_t)jarg3; 
-  arg4 = (char *)jarg4; 
-  result = (switch_status_t)switch_network_list_add_cidr_token(arg1,(char const *)arg2,arg3,(char const *)arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_network_list_add_host_mask(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
-  int jresult ;
-  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_bool_t arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_network_list_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (switch_bool_t)jarg4; 
-  result = (switch_status_t)switch_network_list_add_host_mask(arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_network_list_validate_ip_token(void * jarg1, unsigned long jarg2, void * jarg3) {
-  int jresult ;
-  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
-  uint32_t arg2 ;
-  char **arg3 = (char **) 0 ;
-  switch_bool_t result;
-  
-  arg1 = (switch_network_list_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  arg3 = (char **)jarg3; 
-  result = (switch_bool_t)switch_network_list_validate_ip_token(arg1,arg2,(char const **)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_username_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->username = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->username, (const char *)arg2);
-    } else {
-      arg1->username = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_username_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->username);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_dialplan_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->dialplan = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->dialplan, (const char *)arg2);
-    } else {
-      arg1->dialplan = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_dialplan_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->dialplan);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_caller_id_name_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->caller_id_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->caller_id_name, (const char *)arg2);
-    } else {
-      arg1->caller_id_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_caller_id_name_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->caller_id_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_caller_id_number_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->caller_id_number = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->caller_id_number, (const char *)arg2);
-    } else {
-      arg1->caller_id_number = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_caller_id_number_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->caller_id_number);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_caller_ton_set(void * jarg1, unsigned char jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t arg2 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (uint8_t)jarg2; 
-  if (arg1) (arg1)->caller_ton = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_caller_ton_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (uint8_t) ((arg1)->caller_ton);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_caller_numplan_set(void * jarg1, unsigned char jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t arg2 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (uint8_t)jarg2; 
-  if (arg1) (arg1)->caller_numplan = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_caller_numplan_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (uint8_t) ((arg1)->caller_numplan);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_network_addr_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->network_addr = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->network_addr, (const char *)arg2);
-    } else {
-      arg1->network_addr = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_network_addr_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->network_addr);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_ani_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->ani = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->ani, (const char *)arg2);
-    } else {
-      arg1->ani = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_ani_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->ani);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_ani_ton_set(void * jarg1, unsigned char jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t arg2 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (uint8_t)jarg2; 
-  if (arg1) (arg1)->ani_ton = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_ani_ton_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (uint8_t) ((arg1)->ani_ton);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_ani_numplan_set(void * jarg1, unsigned char jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t arg2 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (uint8_t)jarg2; 
-  if (arg1) (arg1)->ani_numplan = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_ani_numplan_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (uint8_t) ((arg1)->ani_numplan);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_aniii_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->aniii = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->aniii, (const char *)arg2);
-    } else {
-      arg1->aniii = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_aniii_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->aniii);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_rdnis_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->rdnis = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->rdnis, (const char *)arg2);
-    } else {
-      arg1->rdnis = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_rdnis_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->rdnis);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_rdnis_ton_set(void * jarg1, unsigned char jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t arg2 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (uint8_t)jarg2; 
-  if (arg1) (arg1)->rdnis_ton = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_rdnis_ton_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (uint8_t) ((arg1)->rdnis_ton);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_rdnis_numplan_set(void * jarg1, unsigned char jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t arg2 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (uint8_t)jarg2; 
-  if (arg1) (arg1)->rdnis_numplan = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_rdnis_numplan_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (uint8_t) ((arg1)->rdnis_numplan);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_destination_number_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->destination_number) delete [] arg1->destination_number;
-    if (arg2) {
-      arg1->destination_number = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->destination_number, (const char *)arg2);
-    } else {
-      arg1->destination_number = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_destination_number_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->destination_number);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_destination_number_ton_set(void * jarg1, unsigned char jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t arg2 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (uint8_t)jarg2; 
-  if (arg1) (arg1)->destination_number_ton = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_destination_number_ton_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (uint8_t) ((arg1)->destination_number_ton);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_destination_number_numplan_set(void * jarg1, unsigned char jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t arg2 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (uint8_t)jarg2; 
-  if (arg1) (arg1)->destination_number_numplan = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_destination_number_numplan_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (uint8_t) ((arg1)->destination_number_numplan);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_source_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->source = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->source, (const char *)arg2);
-    } else {
-      arg1->source = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_source_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->source);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_chan_name_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->chan_name) delete [] arg1->chan_name;
-    if (arg2) {
-      arg1->chan_name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->chan_name, (const char *)arg2);
-    } else {
-      arg1->chan_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_chan_name_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->chan_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_uuid_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->uuid) delete [] arg1->uuid;
-    if (arg2) {
-      arg1->uuid = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->uuid, (const char *)arg2);
-    } else {
-      arg1->uuid = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_uuid_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->uuid);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_context_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->context = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->context, (const char *)arg2);
-    } else {
-      arg1->context = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_context_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->context);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_profile_index_set(void * jarg1, char * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->profile_index = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->profile_index, (const char *)arg2);
-    } else {
-      arg1->profile_index = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_profile_index_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (char *) ((arg1)->profile_index);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_flags_set(void * jarg1, unsigned long jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_caller_profile_flag_t arg2 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (switch_caller_profile_flag_t)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_caller_profile_flags_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_caller_profile_flag_t result;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (switch_caller_profile_flag_t) ((arg1)->flags);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_originator_caller_profile_set(void * jarg1, void * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (switch_caller_profile *)jarg2; 
-  if (arg1) (arg1)->originator_caller_profile = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_originator_caller_profile_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_caller_profile *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (switch_caller_profile *) ((arg1)->originator_caller_profile);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_originatee_caller_profile_set(void * jarg1, void * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (switch_caller_profile *)jarg2; 
-  if (arg1) (arg1)->originatee_caller_profile = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_originatee_caller_profile_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_caller_profile *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (switch_caller_profile *) ((arg1)->originatee_caller_profile);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_times_set(void * jarg1, void * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_channel_timetable *arg2 = (switch_channel_timetable *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (switch_channel_timetable *)jarg2; 
-  if (arg1) (arg1)->times = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_times_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_channel_timetable *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (switch_channel_timetable *) ((arg1)->times);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_caller_extension_set(void * jarg1, void * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_caller_extension *arg2 = (switch_caller_extension *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (switch_caller_extension *)jarg2; 
-  if (arg1) (arg1)->caller_extension = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_caller_extension_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_caller_extension *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (switch_caller_extension *) ((arg1)->caller_extension);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_pool_set(void * jarg1, void * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (switch_memory_pool_t *)jarg2; 
-  if (arg1) (arg1)->pool = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_pool_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_memory_pool_t *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (switch_memory_pool_t *) ((arg1)->pool);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_next_set(void * jarg1, void * jarg2) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  arg2 = (switch_caller_profile *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_next_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  switch_caller_profile *result = 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  result = (switch_caller_profile *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_caller_profile() {
-  void * jresult ;
-  switch_caller_profile *result = 0 ;
-  
-  result = (switch_caller_profile *)new switch_caller_profile();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_caller_profile(void * jarg1) {
-  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
-  
-  arg1 = (switch_caller_profile *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_application_application_name_set(void * jarg1, char * jarg2) {
-  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_application *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->application_name) delete [] arg1->application_name;
-    if (arg2) {
-      arg1->application_name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->application_name, (const char *)arg2);
-    } else {
-      arg1->application_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_application_application_name_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_application *)jarg1; 
-  result = (char *) ((arg1)->application_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_application_application_data_set(void * jarg1, char * jarg2) {
-  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_application *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->application_data) delete [] arg1->application_data;
-    if (arg2) {
-      arg1->application_data = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->application_data, (const char *)arg2);
-    } else {
-      arg1->application_data = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_application_application_data_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_application *)jarg1; 
-  result = (char *) ((arg1)->application_data);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_application_application_function_set(void * jarg1, void * jarg2) {
-  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
-  switch_application_function_t arg2 = (switch_application_function_t) 0 ;
-  
-  arg1 = (switch_caller_application *)jarg1; 
-  arg2 = (switch_application_function_t)jarg2; 
-  if (arg1) (arg1)->application_function = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_application_application_function_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
-  switch_application_function_t result;
-  
-  arg1 = (switch_caller_application *)jarg1; 
-  result = (switch_application_function_t) ((arg1)->application_function);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_application_next_set(void * jarg1, void * jarg2) {
-  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
-  switch_caller_application *arg2 = (switch_caller_application *) 0 ;
-  
-  arg1 = (switch_caller_application *)jarg1; 
-  arg2 = (switch_caller_application *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_application_next_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
-  switch_caller_application *result = 0 ;
-  
-  arg1 = (switch_caller_application *)jarg1; 
-  result = (switch_caller_application *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_caller_application() {
-  void * jresult ;
-  switch_caller_application *result = 0 ;
-  
-  result = (switch_caller_application *)new switch_caller_application();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_caller_application(void * jarg1) {
-  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
-  
-  arg1 = (switch_caller_application *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_extension_name_set(void * jarg1, char * jarg2) {
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->extension_name) delete [] arg1->extension_name;
-    if (arg2) {
-      arg1->extension_name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->extension_name, (const char *)arg2);
-    } else {
-      arg1->extension_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_extension_extension_name_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  result = (char *) ((arg1)->extension_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_extension_number_set(void * jarg1, char * jarg2) {
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->extension_number) delete [] arg1->extension_number;
-    if (arg2) {
-      arg1->extension_number = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->extension_number, (const char *)arg2);
-    } else {
-      arg1->extension_number = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_extension_extension_number_get(void * jarg1) {
-  char * jresult ;
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  result = (char *) ((arg1)->extension_number);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_current_application_set(void * jarg1, void * jarg2) {
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  switch_caller_application_t *arg2 = (switch_caller_application_t *) 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  arg2 = (switch_caller_application_t *)jarg2; 
-  if (arg1) (arg1)->current_application = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_extension_current_application_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  switch_caller_application_t *result = 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  result = (switch_caller_application_t *) ((arg1)->current_application);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_last_application_set(void * jarg1, void * jarg2) {
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  switch_caller_application_t *arg2 = (switch_caller_application_t *) 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  arg2 = (switch_caller_application_t *)jarg2; 
-  if (arg1) (arg1)->last_application = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_extension_last_application_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  switch_caller_application_t *result = 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  result = (switch_caller_application_t *) ((arg1)->last_application);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_applications_set(void * jarg1, void * jarg2) {
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  switch_caller_application_t *arg2 = (switch_caller_application_t *) 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  arg2 = (switch_caller_application_t *)jarg2; 
-  if (arg1) (arg1)->applications = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_extension_applications_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  switch_caller_application_t *result = 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  result = (switch_caller_application_t *) ((arg1)->applications);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_children_set(void * jarg1, void * jarg2) {
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  arg2 = (switch_caller_profile *)jarg2; 
-  if (arg1) (arg1)->children = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_extension_children_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  switch_caller_profile *result = 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  result = (switch_caller_profile *) ((arg1)->children);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_next_set(void * jarg1, void * jarg2) {
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  switch_caller_extension *arg2 = (switch_caller_extension *) 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  arg2 = (switch_caller_extension *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_extension_next_get(void * jarg1) {
-  void * jresult ;
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  switch_caller_extension *result = 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  result = (switch_caller_extension *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_caller_extension() {
-  void * jresult ;
-  switch_caller_extension *result = 0 ;
-  
-  result = (switch_caller_extension *)new switch_caller_extension();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_caller_extension(void * jarg1) {
-  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
-  
-  arg1 = (switch_caller_extension *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_extension_new(void * jarg1, char * jarg2, char * jarg3) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_caller_extension_t *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (switch_caller_extension_t *)switch_caller_extension_new(arg1,(char const *)arg2,(char const *)arg3);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_caller_extension_clone(void * jarg1, void * jarg2, void * jarg3) {
-  int jresult ;
-  switch_caller_extension_t **arg1 = (switch_caller_extension_t **) 0 ;
-  switch_caller_extension_t *arg2 = (switch_caller_extension_t *) 0 ;
-  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_caller_extension_t **)jarg1; 
-  arg2 = (switch_caller_extension_t *)jarg2; 
-  arg3 = (switch_memory_pool_t *)jarg3; 
-  result = (switch_status_t)switch_caller_extension_clone(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_add_application(void * jarg1, void * jarg2, char * jarg3, char * jarg4) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_caller_extension_t *arg2 = (switch_caller_extension_t *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_caller_extension_t *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  switch_caller_extension_add_application(arg1,arg2,(char const *)arg3,(char const *)arg4);
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_get_field_by_name(void * jarg1, char * jarg2) {
-  char * jresult ;
-  switch_caller_profile_t *arg1 = (switch_caller_profile_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_caller_profile_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)switch_caller_get_field_by_name(arg1,(char const *)arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_new(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, char * jarg10, char * jarg11, char * jarg12) {
-  void * jresult ;
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  char *arg6 = (char *) 0 ;
-  char *arg7 = (char *) 0 ;
-  char *arg8 = (char *) 0 ;
-  char *arg9 = (char *) 0 ;
-  char *arg10 = (char *) 0 ;
-  char *arg11 = (char *) 0 ;
-  char *arg12 = (char *) 0 ;
-  switch_caller_profile_t *result = 0 ;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (char *)jarg6; 
-  arg7 = (char *)jarg7; 
-  arg8 = (char *)jarg8; 
-  arg9 = (char *)jarg9; 
-  arg10 = (char *)jarg10; 
-  arg11 = (char *)jarg11; 
-  arg12 = (char *)jarg12; 
-  result = (switch_caller_profile_t *)switch_caller_profile_new(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,(char const *)arg10,(char const *)arg11,(char const *)arg12);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_clone(void * jarg1, void * jarg2) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
-  switch_caller_profile_t *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_caller_profile_t *)jarg2; 
-  result = (switch_caller_profile_t *)switch_caller_profile_clone(arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_dup(void * jarg1, void * jarg2) {
-  void * jresult ;
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
-  switch_caller_profile_t *result = 0 ;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  arg2 = (switch_caller_profile_t *)jarg2; 
-  result = (switch_caller_profile_t *)switch_caller_profile_dup(arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_event_set_data(void * jarg1, char * jarg2, void * jarg3) {
-  switch_caller_profile_t *arg1 = (switch_caller_profile_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_event_t *arg3 = (switch_event_t *) 0 ;
-  
-  arg1 = (switch_caller_profile_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_event_t *)jarg3; 
-  switch_caller_profile_event_set_data(arg1,(char const *)arg2,arg3);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_codec_set(void * jarg1, void * jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (switch_codec_t *)jarg2; 
-  if (arg1) (arg1)->codec = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_frame_codec_get(void * jarg1) {
-  void * jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  switch_codec_t *result = 0 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (switch_codec_t *) ((arg1)->codec);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_source_set(void * jarg1, char * jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->source = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->source, (const char *)arg2);
-    } else {
-      arg1->source = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_frame_source_get(void * jarg1) {
-  char * jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (char *) ((arg1)->source);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_packet_set(void * jarg1, void * jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->packet = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_frame_packet_get(void * jarg1) {
-  void * jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (void *) ((arg1)->packet);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_packetlen_set(void * jarg1, unsigned long jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->packetlen = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_packetlen_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (uint32_t) ((arg1)->packetlen);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_data_set(void * jarg1, void * jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->data = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_frame_data_get(void * jarg1) {
-  void * jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (void *) ((arg1)->data);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_datalen_set(void * jarg1, unsigned long jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->datalen = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_datalen_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (uint32_t) ((arg1)->datalen);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_buflen_set(void * jarg1, unsigned long jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->buflen = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_buflen_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (uint32_t) ((arg1)->buflen);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_samples_set(void * jarg1, unsigned long jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->samples = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_samples_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (uint32_t) ((arg1)->samples);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_rate_set(void * jarg1, unsigned long jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->rate = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_rate_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (uint32_t) ((arg1)->rate);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_payload_set(void * jarg1, unsigned char jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  switch_payload_t arg2 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (switch_payload_t)jarg2; 
-  if (arg1) (arg1)->payload = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_frame_payload_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  switch_payload_t result;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (switch_payload_t) ((arg1)->payload);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_timestamp_set(void * jarg1, void * jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->timestamp = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_frame_timestamp_get(void * jarg1) {
-  void * jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result =  ((arg1)->timestamp);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_seq_set(void * jarg1, unsigned short jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint16_t arg2 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (uint16_t)jarg2; 
-  if (arg1) (arg1)->seq = arg2;
-}
-
-
-SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_frame_seq_get(void * jarg1) {
-  unsigned short jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint16_t result;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (uint16_t) ((arg1)->seq);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_ssrc_set(void * jarg1, unsigned long jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->ssrc = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_ssrc_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (uint32_t) ((arg1)->ssrc);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_m_set(void * jarg1, int jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  switch_bool_t arg2 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (switch_bool_t)jarg2; 
-  if (arg1) (arg1)->m = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_frame_m_get(void * jarg1) {
-  int jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  switch_bool_t result;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (switch_bool_t) ((arg1)->m);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_flags_set(void * jarg1, unsigned long jarg2) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  switch_frame_flag_t arg2 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  arg2 = (switch_frame_flag_t)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_flags_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  switch_frame_flag_t result;
-  
-  arg1 = (switch_frame *)jarg1; 
-  result = (switch_frame_flag_t) ((arg1)->flags);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_frame() {
-  void * jresult ;
-  switch_frame *result = 0 ;
-  
-  result = (switch_frame *)new switch_frame();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_frame(void * jarg1) {
-  switch_frame *arg1 = (switch_frame *) 0 ;
-  
-  arg1 = (switch_frame *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_init_set(void * jarg1, void * jarg2) {
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  arg2 = (switch_state_handler_t)jarg2; 
-  if (arg1) (arg1)->on_init = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_init_get(void * jarg1) {
-  void * jresult ;
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t result;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  result = (switch_state_handler_t) ((arg1)->on_init);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_routing_set(void * jarg1, void * jarg2) {
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  arg2 = (switch_state_handler_t)jarg2; 
-  if (arg1) (arg1)->on_routing = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_routing_get(void * jarg1) {
-  void * jresult ;
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t result;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  result = (switch_state_handler_t) ((arg1)->on_routing);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_execute_set(void * jarg1, void * jarg2) {
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  arg2 = (switch_state_handler_t)jarg2; 
-  if (arg1) (arg1)->on_execute = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_execute_get(void * jarg1) {
-  void * jresult ;
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t result;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  result = (switch_state_handler_t) ((arg1)->on_execute);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_hangup_set(void * jarg1, void * jarg2) {
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  arg2 = (switch_state_handler_t)jarg2; 
-  if (arg1) (arg1)->on_hangup = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_hangup_get(void * jarg1) {
-  void * jresult ;
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t result;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  result = (switch_state_handler_t) ((arg1)->on_hangup);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_exchange_media_set(void * jarg1, void * jarg2) {
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  arg2 = (switch_state_handler_t)jarg2; 
-  if (arg1) (arg1)->on_exchange_media = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_exchange_media_get(void * jarg1) {
-  void * jresult ;
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t result;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  result = (switch_state_handler_t) ((arg1)->on_exchange_media);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_soft_execute_set(void * jarg1, void * jarg2) {
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  arg2 = (switch_state_handler_t)jarg2; 
-  if (arg1) (arg1)->on_soft_execute = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_soft_execute_get(void * jarg1) {
-  void * jresult ;
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t result;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  result = (switch_state_handler_t) ((arg1)->on_soft_execute);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_consume_media_set(void * jarg1, void * jarg2) {
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  arg2 = (switch_state_handler_t)jarg2; 
-  if (arg1) (arg1)->on_consume_media = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_consume_media_get(void * jarg1) {
-  void * jresult ;
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t result;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  result = (switch_state_handler_t) ((arg1)->on_consume_media);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_hibernate_set(void * jarg1, void * jarg2) {
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  arg2 = (switch_state_handler_t)jarg2; 
-  if (arg1) (arg1)->on_hibernate = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_hibernate_get(void * jarg1) {
-  void * jresult ;
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t result;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  result = (switch_state_handler_t) ((arg1)->on_hibernate);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_reset_set(void * jarg1, void * jarg2) {
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  arg2 = (switch_state_handler_t)jarg2; 
-  if (arg1) (arg1)->on_reset = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_reset_get(void * jarg1) {
-  void * jresult ;
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t result;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  result = (switch_state_handler_t) ((arg1)->on_reset);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_park_set(void * jarg1, void * jarg2) {
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  arg2 = (switch_state_handler_t)jarg2; 
-  if (arg1) (arg1)->on_park = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_park_get(void * jarg1) {
-  void * jresult ;
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  switch_state_handler_t result;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  result = (switch_state_handler_t) ((arg1)->on_park);
-  jresult = (void *)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 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  arg2 = (void **)jarg2; 
-  {
-    size_t ii;
-    void * *b = (void * *) arg1->padding;
-    for (ii = 0; ii < (size_t)10; ii++) b[ii] = *((void * *) arg2 + ii);
-  }
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_padding_get(void * jarg1) {
-  void * jresult ;
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  void **result = 0 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  result = (void **)(void **) ((arg1)->padding);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_state_handler_table() {
-  void * jresult ;
-  switch_state_handler_table *result = 0 ;
-  
-  result = (switch_state_handler_table *)new switch_state_handler_table();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_state_handler_table(void * jarg1) {
-  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
-  
-  arg1 = (switch_state_handler_table *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_write_function_set(void * jarg1, void * jarg2) {
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_stream_handle_write_function_t arg2 = (switch_stream_handle_write_function_t) 0 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  arg2 = (switch_stream_handle_write_function_t)jarg2; 
-  if (arg1) (arg1)->write_function = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_write_function_get(void * jarg1) {
-  void * jresult ;
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_stream_handle_write_function_t result;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  result = (switch_stream_handle_write_function_t) ((arg1)->write_function);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_raw_write_function_set(void * jarg1, void * jarg2) {
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_stream_handle_raw_write_function_t arg2 = (switch_stream_handle_raw_write_function_t) 0 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  arg2 = (switch_stream_handle_raw_write_function_t)jarg2; 
-  if (arg1) (arg1)->raw_write_function = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_raw_write_function_get(void * jarg1) {
-  void * jresult ;
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_stream_handle_raw_write_function_t result;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  result = (switch_stream_handle_raw_write_function_t) ((arg1)->raw_write_function);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_data_set(void * jarg1, void * jarg2) {
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->data = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_data_get(void * jarg1) {
-  void * jresult ;
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  result = (void *) ((arg1)->data);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_end_set(void * jarg1, void * jarg2) {
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->end = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_end_get(void * jarg1) {
-  void * jresult ;
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  result = (void *) ((arg1)->end);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_data_size_set(void * jarg1, void * jarg2) {
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->data_size = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_data_size_get(void * jarg1) {
-  void * jresult ;
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  result =  ((arg1)->data_size);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_data_len_set(void * jarg1, void * jarg2) {
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->data_len = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_data_len_get(void * jarg1) {
-  void * jresult ;
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  result =  ((arg1)->data_len);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_alloc_len_set(void * jarg1, void * jarg2) {
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->alloc_len = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_alloc_len_get(void * jarg1) {
-  void * jresult ;
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  result =  ((arg1)->alloc_len);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_alloc_chunk_set(void * jarg1, void * jarg2) {
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->alloc_chunk = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_alloc_chunk_get(void * jarg1) {
-  void * jresult ;
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  result =  ((arg1)->alloc_chunk);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_param_event_set(void * jarg1, void * jarg2) {
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_event_t *arg2 = (switch_event_t *) 0 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  arg2 = (switch_event_t *)jarg2; 
-  if (arg1) (arg1)->param_event = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_param_event_get(void * jarg1) {
-  void * jresult ;
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  switch_event_t *result = 0 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  result = (switch_event_t *) ((arg1)->param_event);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_stream_handle() {
-  void * jresult ;
-  switch_stream_handle *result = 0 ;
-  
-  result = (switch_stream_handle *)new switch_stream_handle();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_stream_handle(void * jarg1) {
-  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
-  
-  arg1 = (switch_stream_handle *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_outgoing_channel_set(void * jarg1, void * jarg2) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_outgoing_channel_t arg2 = (switch_io_outgoing_channel_t) 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  arg2 = (switch_io_outgoing_channel_t)jarg2; 
-  if (arg1) (arg1)->outgoing_channel = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_outgoing_channel_get(void * jarg1) {
-  void * jresult ;
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_outgoing_channel_t result;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  result = (switch_io_outgoing_channel_t) ((arg1)->outgoing_channel);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_read_frame_set(void * jarg1, void * jarg2) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_read_frame_t arg2 = (switch_io_read_frame_t) 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  arg2 = (switch_io_read_frame_t)jarg2; 
-  if (arg1) (arg1)->read_frame = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_read_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_read_frame_t result;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  result = (switch_io_read_frame_t) ((arg1)->read_frame);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_write_frame_set(void * jarg1, void * jarg2) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_write_frame_t arg2 = (switch_io_write_frame_t) 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  arg2 = (switch_io_write_frame_t)jarg2; 
-  if (arg1) (arg1)->write_frame = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_write_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_write_frame_t result;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  result = (switch_io_write_frame_t) ((arg1)->write_frame);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_kill_channel_set(void * jarg1, void * jarg2) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_kill_channel_t arg2 = (switch_io_kill_channel_t) 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  arg2 = (switch_io_kill_channel_t)jarg2; 
-  if (arg1) (arg1)->kill_channel = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_kill_channel_get(void * jarg1) {
-  void * jresult ;
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_kill_channel_t result;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  result = (switch_io_kill_channel_t) ((arg1)->kill_channel);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_send_dtmf_set(void * jarg1, void * jarg2) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_send_dtmf_t arg2 = (switch_io_send_dtmf_t) 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  arg2 = (switch_io_send_dtmf_t)jarg2; 
-  if (arg1) (arg1)->send_dtmf = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_send_dtmf_get(void * jarg1) {
-  void * jresult ;
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_send_dtmf_t result;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  result = (switch_io_send_dtmf_t) ((arg1)->send_dtmf);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_receive_message_set(void * jarg1, void * jarg2) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_receive_message_t arg2 = (switch_io_receive_message_t) 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  arg2 = (switch_io_receive_message_t)jarg2; 
-  if (arg1) (arg1)->receive_message = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_receive_message_get(void * jarg1) {
-  void * jresult ;
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_receive_message_t result;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  result = (switch_io_receive_message_t) ((arg1)->receive_message);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_receive_event_set(void * jarg1, void * jarg2) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_receive_event_t arg2 = (switch_io_receive_event_t) 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  arg2 = (switch_io_receive_event_t)jarg2; 
-  if (arg1) (arg1)->receive_event = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_receive_event_get(void * jarg1) {
-  void * jresult ;
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_receive_event_t result;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  result = (switch_io_receive_event_t) ((arg1)->receive_event);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_state_change_set(void * jarg1, void * jarg2) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_state_change_t arg2 = (switch_io_state_change_t) 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  arg2 = (switch_io_state_change_t)jarg2; 
-  if (arg1) (arg1)->state_change = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_state_change_get(void * jarg1) {
-  void * jresult ;
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_state_change_t result;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  result = (switch_io_state_change_t) ((arg1)->state_change);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_read_video_frame_set(void * jarg1, void * jarg2) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_read_video_frame_t arg2 = (switch_io_read_video_frame_t) 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  arg2 = (switch_io_read_video_frame_t)jarg2; 
-  if (arg1) (arg1)->read_video_frame = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_read_video_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_read_video_frame_t result;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  result = (switch_io_read_video_frame_t) ((arg1)->read_video_frame);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_write_video_frame_set(void * jarg1, void * jarg2) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_write_video_frame_t arg2 = (switch_io_write_video_frame_t) 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  arg2 = (switch_io_write_video_frame_t)jarg2; 
-  if (arg1) (arg1)->write_video_frame = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_write_video_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_write_video_frame_t result;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  result = (switch_io_write_video_frame_t) ((arg1)->write_video_frame);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_resurrect_session_set(void * jarg1, void * jarg2) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_resurrect_session_t arg2 = (switch_io_resurrect_session_t) 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  arg2 = (switch_io_resurrect_session_t)jarg2; 
-  if (arg1) (arg1)->resurrect_session = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_resurrect_session_get(void * jarg1) {
-  void * jresult ;
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  switch_io_resurrect_session_t result;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  result = (switch_io_resurrect_session_t) ((arg1)->resurrect_session);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_padding_set(void * jarg1, void * jarg2) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  void **arg2 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  arg2 = (void **)jarg2; 
-  {
-    size_t ii;
-    void * *b = (void * *) arg1->padding;
-    for (ii = 0; ii < (size_t)10; ii++) b[ii] = *((void * *) arg2 + ii);
-  }
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_padding_get(void * jarg1) {
-  void * jresult ;
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  void **result = 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  result = (void **)(void **) ((arg1)->padding);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_routines() {
-  void * jresult ;
-  switch_io_routines *result = 0 ;
-  
-  result = (switch_io_routines *)new switch_io_routines();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_routines(void * jarg1) {
-  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
-  
-  arg1 = (switch_io_routines *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_endpoint_interface_interface_name_set(void * jarg1, char * jarg2) {
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->interface_name, (const char *)arg2);
-    } else {
-      arg1->interface_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_endpoint_interface_interface_name_get(void * jarg1) {
-  char * jresult ;
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  result = (char *) ((arg1)->interface_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_endpoint_interface_io_routines_set(void * jarg1, void * jarg2) {
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  switch_io_routines_t *arg2 = (switch_io_routines_t *) 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  arg2 = (switch_io_routines_t *)jarg2; 
-  if (arg1) (arg1)->io_routines = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_endpoint_interface_io_routines_get(void * jarg1) {
-  void * jresult ;
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  switch_io_routines_t *result = 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  result = (switch_io_routines_t *) ((arg1)->io_routines);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_endpoint_interface_state_handler_set(void * jarg1, void * jarg2) {
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  switch_state_handler_table_t *arg2 = (switch_state_handler_table_t *) 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  arg2 = (switch_state_handler_table_t *)jarg2; 
-  if (arg1) (arg1)->state_handler = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_endpoint_interface_state_handler_get(void * jarg1) {
-  void * jresult ;
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  switch_state_handler_table_t *result = 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  result = (switch_state_handler_table_t *) ((arg1)->state_handler);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_endpoint_interface_private_info_set(void * jarg1, void * jarg2) {
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->private_info = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_endpoint_interface_private_info_get(void * jarg1) {
-  void * jresult ;
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  result = (void *) ((arg1)->private_info);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_endpoint_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_endpoint_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_endpoint_interface_next_set(void * jarg1, void * jarg2) {
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  switch_endpoint_interface *arg2 = (switch_endpoint_interface *) 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  arg2 = (switch_endpoint_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_endpoint_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  switch_endpoint_interface *result = 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  result = (switch_endpoint_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_endpoint_interface() {
-  void * jresult ;
-  switch_endpoint_interface *result = 0 ;
-  
-  result = (switch_endpoint_interface *)new switch_endpoint_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_endpoint_interface(void * jarg1) {
-  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
-  
-  arg1 = (switch_endpoint_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interval_set(void * jarg1, int jarg2) {
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->interval = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_timer_interval_get(void * jarg1) {
-  int jresult ;
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  int result;
-  
-  arg1 = (switch_timer *)jarg1; 
-  result = (int) ((arg1)->interval);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_flags_set(void * jarg1, unsigned long jarg2) {
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_timer_flags_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_timer *)jarg1; 
-  result = (uint32_t) ((arg1)->flags);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_samples_set(void * jarg1, unsigned int jarg2) {
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->samples = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_timer_samples_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_timer *)jarg1; 
-  result = (unsigned int) ((arg1)->samples);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_samplecount_set(void * jarg1, unsigned long jarg2) {
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->samplecount = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_timer_samplecount_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_timer *)jarg1; 
-  result = (uint32_t) ((arg1)->samplecount);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_timer_interface_set(void * jarg1, void * jarg2) {
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  switch_timer_interface_t *arg2 = (switch_timer_interface_t *) 0 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  arg2 = (switch_timer_interface_t *)jarg2; 
-  if (arg1) (arg1)->timer_interface = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_timer_interface_get(void * jarg1) {
-  void * jresult ;
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  switch_timer_interface_t *result = 0 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  result = (switch_timer_interface_t *) ((arg1)->timer_interface);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_memory_pool_set(void * jarg1, void * jarg2) {
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  arg2 = (switch_memory_pool_t *)jarg2; 
-  if (arg1) (arg1)->memory_pool = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_memory_pool_get(void * jarg1) {
-  void * jresult ;
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  switch_memory_pool_t *result = 0 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_private_info_set(void * jarg1, void * jarg2) {
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->private_info = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_private_info_get(void * jarg1) {
-  void * jresult ;
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  result = (void *) ((arg1)->private_info);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_diff_set(void * jarg1, void * jarg2) {
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->diff = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_diff_get(void * jarg1) {
-  void * jresult ;
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_timer *)jarg1; 
-  result =  ((arg1)->diff);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_tick_set(void * jarg1, void * jarg2) {
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->tick = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_tick_get(void * jarg1) {
-  void * jresult ;
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_timer *)jarg1; 
-  result =  ((arg1)->tick);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_timer() {
-  void * jresult ;
-  switch_timer *result = 0 ;
-  
-  result = (switch_timer *)new switch_timer();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_timer(void * jarg1) {
-  switch_timer *arg1 = (switch_timer *) 0 ;
-  
-  arg1 = (switch_timer *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_interface_name_set(void * jarg1, char * jarg2) {
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->interface_name, (const char *)arg2);
-    } else {
-      arg1->interface_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_timer_interface_interface_name_get(void * jarg1) {
-  char * jresult ;
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  result = (char *) ((arg1)->interface_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_timer_init_set(void * jarg1, void * jarg2) {
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
-  if (arg1) (arg1)->timer_init = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_timer_init_get(void * jarg1) {
-  void * jresult ;
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_status_t (*result)(switch_timer_t *) = 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_init);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_timer_next_set(void * jarg1, void * jarg2) {
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
-  if (arg1) (arg1)->timer_next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_timer_next_get(void * jarg1) {
-  void * jresult ;
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_status_t (*result)(switch_timer_t *) = 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_timer_step_set(void * jarg1, void * jarg2) {
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
-  if (arg1) (arg1)->timer_step = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_timer_step_get(void * jarg1) {
-  void * jresult ;
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_status_t (*result)(switch_timer_t *) = 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_step);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_timer_sync_set(void * jarg1, void * jarg2) {
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
-  if (arg1) (arg1)->timer_sync = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_timer_sync_get(void * jarg1) {
-  void * jresult ;
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_status_t (*result)(switch_timer_t *) = 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_sync);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_timer_check_set(void * jarg1, void * jarg2) {
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_status_t (*arg2)(switch_timer_t *,switch_bool_t) = (switch_status_t (*)(switch_timer_t *,switch_bool_t)) 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_timer_t *,switch_bool_t))jarg2; 
-  if (arg1) (arg1)->timer_check = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_timer_check_get(void * jarg1) {
-  void * jresult ;
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_status_t (*result)(switch_timer_t *,switch_bool_t) = 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_timer_t *,switch_bool_t)) ((arg1)->timer_check);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_timer_destroy_set(void * jarg1, void * jarg2) {
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
-  if (arg1) (arg1)->timer_destroy = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_timer_destroy_get(void * jarg1) {
-  void * jresult ;
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_status_t (*result)(switch_timer_t *) = 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_destroy);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_next_set(void * jarg1, void * jarg2) {
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_timer_interface *arg2 = (switch_timer_interface *) 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  arg2 = (switch_timer_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  switch_timer_interface *result = 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  result = (switch_timer_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_timer_interface() {
-  void * jresult ;
-  switch_timer_interface *result = 0 ;
-  
-  result = (switch_timer_interface *)new switch_timer_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_timer_interface(void * jarg1) {
-  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
-  
-  arg1 = (switch_timer_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_dialplan_interface_interface_name_set(void * jarg1, char * jarg2) {
-  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_dialplan_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->interface_name, (const char *)arg2);
-    } else {
-      arg1->interface_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_dialplan_interface_interface_name_get(void * jarg1) {
-  char * jresult ;
-  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_dialplan_interface *)jarg1; 
-  result = (char *) ((arg1)->interface_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_dialplan_interface_hunt_function_set(void * jarg1, void * jarg2) {
-  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
-  switch_dialplan_hunt_function_t arg2 = (switch_dialplan_hunt_function_t) 0 ;
-  
-  arg1 = (switch_dialplan_interface *)jarg1; 
-  arg2 = (switch_dialplan_hunt_function_t)jarg2; 
-  if (arg1) (arg1)->hunt_function = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_dialplan_interface_hunt_function_get(void * jarg1) {
-  void * jresult ;
-  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
-  switch_dialplan_hunt_function_t result;
-  
-  arg1 = (switch_dialplan_interface *)jarg1; 
-  result = (switch_dialplan_hunt_function_t) ((arg1)->hunt_function);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_dialplan_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_dialplan_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_dialplan_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_dialplan_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_dialplan_interface_next_set(void * jarg1, void * jarg2) {
-  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
-  switch_dialplan_interface *arg2 = (switch_dialplan_interface *) 0 ;
-  
-  arg1 = (switch_dialplan_interface *)jarg1; 
-  arg2 = (switch_dialplan_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_dialplan_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
-  switch_dialplan_interface *result = 0 ;
-  
-  arg1 = (switch_dialplan_interface *)jarg1; 
-  result = (switch_dialplan_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_dialplan_interface() {
-  void * jresult ;
-  switch_dialplan_interface *result = 0 ;
-  
-  result = (switch_dialplan_interface *)new switch_dialplan_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_dialplan_interface(void * jarg1) {
-  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
-  
-  arg1 = (switch_dialplan_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_interface_name_set(void * jarg1, char * jarg2) {
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->interface_name, (const char *)arg2);
-    } else {
-      arg1->interface_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_file_interface_interface_name_get(void * jarg1) {
-  char * jresult ;
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  result = (char *) ((arg1)->interface_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_open_set(void * jarg1, void * jarg2) {
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*arg2)(switch_file_handle_t *,char const *) = (switch_status_t (*)(switch_file_handle_t *,char const *)) 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_file_handle_t *,char const *))jarg2; 
-  if (arg1) (arg1)->file_open = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_open_get(void * jarg1) {
-  void * jresult ;
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*result)(switch_file_handle_t *,char const *) = 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_file_handle_t *,char const *)) ((arg1)->file_open);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_close_set(void * jarg1, void * jarg2) {
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*arg2)(switch_file_handle_t *) = (switch_status_t (*)(switch_file_handle_t *)) 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_file_handle_t *))jarg2; 
-  if (arg1) (arg1)->file_close = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_close_get(void * jarg1) {
-  void * jresult ;
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*result)(switch_file_handle_t *) = 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_file_handle_t *)) ((arg1)->file_close);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_read_set(void * jarg1, void * jarg2) {
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*arg2)(switch_file_handle_t *,void *,switch_size_t *) = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *))jarg2; 
-  if (arg1) (arg1)->file_read = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_read_get(void * jarg1) {
-  void * jresult ;
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*result)(switch_file_handle_t *,void *,switch_size_t *) = 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) ((arg1)->file_read);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_write_set(void * jarg1, void * jarg2) {
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*arg2)(switch_file_handle_t *,void *,switch_size_t *) = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *))jarg2; 
-  if (arg1) (arg1)->file_write = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_write_get(void * jarg1) {
-  void * jresult ;
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*result)(switch_file_handle_t *,void *,switch_size_t *) = 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) ((arg1)->file_write);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_seek_set(void * jarg1, void * jarg2) {
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*arg2)(switch_file_handle_t *,unsigned int *,int64_t,int) = (switch_status_t (*)(switch_file_handle_t *,unsigned int *,int64_t,int)) 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_file_handle_t *,unsigned int *,int64_t,int))jarg2; 
-  if (arg1) (arg1)->file_seek = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_seek_get(void * jarg1) {
-  void * jresult ;
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*result)(switch_file_handle_t *,unsigned int *,int64_t,int) = 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_file_handle_t *,unsigned int *,int64_t,int)) ((arg1)->file_seek);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_set_string_set(void * jarg1, void * jarg2) {
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*arg2)(switch_file_handle_t *,switch_audio_col_t,char const *) = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const *)) 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const *))jarg2; 
-  if (arg1) (arg1)->file_set_string = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_set_string_get(void * jarg1) {
-  void * jresult ;
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*result)(switch_file_handle_t *,switch_audio_col_t,char const *) = 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const *)) ((arg1)->file_set_string);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_get_string_set(void * jarg1, void * jarg2) {
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*arg2)(switch_file_handle_t *,switch_audio_col_t,char const **) = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const **)) 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const **))jarg2; 
-  if (arg1) (arg1)->file_get_string = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_get_string_get(void * jarg1) {
-  void * jresult ;
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_status_t (*result)(switch_file_handle_t *,switch_audio_col_t,char const **) = 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const **)) ((arg1)->file_get_string);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_extens_set(void * jarg1, void * jarg2) {
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  char **arg2 = (char **) 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  arg2 = (char **)jarg2; 
-  if (arg1) (arg1)->extens = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_extens_get(void * jarg1) {
-  void * jresult ;
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  char **result = 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  result = (char **) ((arg1)->extens);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_next_set(void * jarg1, void * jarg2) {
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_file_interface *arg2 = (switch_file_interface *) 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  arg2 = (switch_file_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  switch_file_interface *result = 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  result = (switch_file_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_file_interface() {
-  void * jresult ;
-  switch_file_interface *result = 0 ;
-  
-  result = (switch_file_interface *)new switch_file_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_file_interface(void * jarg1) {
-  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
-  
-  arg1 = (switch_file_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_file_interface_set(void * jarg1, void * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_file_interface_t *arg2 = (switch_file_interface_t *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (switch_file_interface_t *)jarg2; 
-  if (arg1) (arg1)->file_interface = (switch_file_interface_t const *)arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_file_interface_get(void * jarg1) {
-  void * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_file_interface_t *result = 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (switch_file_interface_t *) ((arg1)->file_interface);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_flags_set(void * jarg1, unsigned long jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_flags_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->flags);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_fd_set(void * jarg1, void * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_file_t *arg2 = (switch_file_t *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (switch_file_t *)jarg2; 
-  if (arg1) (arg1)->fd = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_fd_get(void * jarg1) {
-  void * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_file_t *result = 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (switch_file_t *) ((arg1)->fd);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_samples_set(void * jarg1, unsigned int jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->samples = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_file_handle_samples_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (unsigned int) ((arg1)->samples);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_samplerate_set(void * jarg1, unsigned long jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->samplerate = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_samplerate_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->samplerate);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_native_rate_set(void * jarg1, unsigned long jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->native_rate = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_native_rate_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->native_rate);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_channels_set(void * jarg1, unsigned char jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint8_t arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (uint8_t)jarg2; 
-  if (arg1) (arg1)->channels = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_file_handle_channels_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (uint8_t) ((arg1)->channels);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_format_set(void * jarg1, unsigned int jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->format = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_file_handle_format_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (unsigned int) ((arg1)->format);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_sections_set(void * jarg1, unsigned int jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->sections = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_file_handle_sections_get(void * jarg1) {
-  unsigned int jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  unsigned int result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (unsigned int) ((arg1)->sections);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_seekable_set(void * jarg1, int jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->seekable = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_file_handle_seekable_get(void * jarg1) {
-  int jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  int result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (int) ((arg1)->seekable);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_sample_count_set(void * jarg1, void * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->sample_count = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_sample_count_get(void * jarg1) {
-  void * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result =  ((arg1)->sample_count);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_speed_set(void * jarg1, int jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->speed = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_file_handle_speed_get(void * jarg1) {
-  int jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  int result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (int) ((arg1)->speed);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_memory_pool_set(void * jarg1, void * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (switch_memory_pool_t *)jarg2; 
-  if (arg1) (arg1)->memory_pool = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_memory_pool_get(void * jarg1) {
-  void * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_memory_pool_t *result = 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_prebuf_set(void * jarg1, unsigned long jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->prebuf = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_prebuf_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->prebuf);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_interval_set(void * jarg1, unsigned long jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->interval = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_interval_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->interval);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_private_info_set(void * jarg1, void * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->private_info = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_private_info_get(void * jarg1) {
-  void * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (void *) ((arg1)->private_info);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_handler_set(void * jarg1, char * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->handler) delete [] arg1->handler;
-    if (arg2) {
-      arg1->handler = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->handler, (const char *)arg2);
-    } else {
-      arg1->handler = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_file_handle_handler_get(void * jarg1) {
-  char * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (char *) ((arg1)->handler);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_pos_set(void * jarg1, long long jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  int64_t arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (int64_t)jarg2; 
-  if (arg1) (arg1)->pos = arg2;
-}
-
-
-SWIGEXPORT long long SWIGSTDCALL CSharp_switch_file_handle_pos_get(void * jarg1) {
-  long long jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  int64_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (int64_t) ((arg1)->pos);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_audio_buffer_set(void * jarg1, void * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (switch_buffer_t *)jarg2; 
-  if (arg1) (arg1)->audio_buffer = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_audio_buffer_get(void * jarg1) {
-  void * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_buffer_t *result = 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (switch_buffer_t *) ((arg1)->audio_buffer);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_sp_audio_buffer_set(void * jarg1, void * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (switch_buffer_t *)jarg2; 
-  if (arg1) (arg1)->sp_audio_buffer = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_sp_audio_buffer_get(void * jarg1) {
-  void * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_buffer_t *result = 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (switch_buffer_t *) ((arg1)->sp_audio_buffer);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_thresh_set(void * jarg1, unsigned long jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->thresh = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_thresh_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->thresh);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_silence_hits_set(void * jarg1, unsigned long jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->silence_hits = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_silence_hits_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->silence_hits);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_offset_pos_set(void * jarg1, unsigned long jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->offset_pos = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_offset_pos_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->offset_pos);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_last_pos_set(void * jarg1, unsigned long jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->last_pos = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_last_pos_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->last_pos);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_vol_set(void * jarg1, int jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  int32_t arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (int32_t)jarg2; 
-  if (arg1) (arg1)->vol = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_file_handle_vol_get(void * jarg1) {
-  int jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  int32_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (int32_t) ((arg1)->vol);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_resampler_set(void * jarg1, void * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_audio_resampler_t *arg2 = (switch_audio_resampler_t *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (switch_audio_resampler_t *)jarg2; 
-  if (arg1) (arg1)->resampler = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_resampler_get(void * jarg1) {
-  void * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_audio_resampler_t *result = 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (switch_audio_resampler_t *) ((arg1)->resampler);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_buffer_set(void * jarg1, void * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (switch_buffer_t *)jarg2; 
-  if (arg1) (arg1)->buffer = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_buffer_get(void * jarg1) {
-  void * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_buffer_t *result = 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (switch_buffer_t *) ((arg1)->buffer);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_dbuf_set(void * jarg1, void * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_byte_t *arg2 = (switch_byte_t *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (switch_byte_t *)jarg2; 
-  if (arg1) (arg1)->dbuf = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_dbuf_get(void * jarg1) {
-  void * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_byte_t *result = 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (switch_byte_t *) ((arg1)->dbuf);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_dbuflen_set(void * jarg1, void * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->dbuflen = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_dbuflen_get(void * jarg1) {
-  void * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result =  ((arg1)->dbuflen);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_file_set(void * jarg1, char * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->file = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->file, (const char *)arg2);
-    } else {
-      arg1->file = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_file_handle_file_get(void * jarg1) {
-  char * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (char *) ((arg1)->file);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_func_set(void * jarg1, char * jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->func = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->func, (const char *)arg2);
-    } else {
-      arg1->func = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_file_handle_func_get(void * jarg1) {
-  char * jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (char *) ((arg1)->func);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_line_set(void * jarg1, int jarg2) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->line = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_file_handle_line_get(void * jarg1) {
-  int jresult ;
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  int result;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  result = (int) ((arg1)->line);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_file_handle() {
-  void * jresult ;
-  switch_file_handle *result = 0 ;
-  
-  result = (switch_file_handle *)new switch_file_handle();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_file_handle(void * jarg1) {
-  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
-  
-  arg1 = (switch_file_handle *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_interface_name_set(void * jarg1, char * jarg2) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->interface_name, (const char *)arg2);
-    } else {
-      arg1->interface_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_asr_interface_interface_name_get(void * jarg1) {
-  char * jresult ;
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  result = (char *) ((arg1)->interface_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_open_set(void * jarg1, void * jarg2) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*arg2)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *)) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *))jarg2; 
-  if (arg1) (arg1)->asr_open = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_open_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*result)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *) = 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *)) ((arg1)->asr_open);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_load_grammar_set(void * jarg1, void * jarg2) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*arg2)(switch_asr_handle_t *,char const *,char const *) = (switch_status_t (*)(switch_asr_handle_t *,char const *,char const *)) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char const *,char const *))jarg2; 
-  if (arg1) (arg1)->asr_load_grammar = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_load_grammar_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*result)(switch_asr_handle_t *,char const *,char const *) = 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_asr_handle_t *,char const *,char const *)) ((arg1)->asr_load_grammar);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_unload_grammar_set(void * jarg1, void * jarg2) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*arg2)(switch_asr_handle_t *,char const *) = (switch_status_t (*)(switch_asr_handle_t *,char const *)) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char const *))jarg2; 
-  if (arg1) (arg1)->asr_unload_grammar = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_unload_grammar_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*result)(switch_asr_handle_t *,char const *) = 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_asr_handle_t *,char const *)) ((arg1)->asr_unload_grammar);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_close_set(void * jarg1, void * jarg2) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*arg2)(switch_asr_handle_t *,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *)) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *))jarg2; 
-  if (arg1) (arg1)->asr_close = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_close_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*result)(switch_asr_handle_t *,switch_asr_flag_t *) = 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *)) ((arg1)->asr_close);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_feed_set(void * jarg1, void * jarg2) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*arg2)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *)) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *))jarg2; 
-  if (arg1) (arg1)->asr_feed = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_feed_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*result)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *) = 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *)) ((arg1)->asr_feed);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_resume_set(void * jarg1, void * jarg2) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*arg2)(switch_asr_handle_t *) = (switch_status_t (*)(switch_asr_handle_t *)) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_asr_handle_t *))jarg2; 
-  if (arg1) (arg1)->asr_resume = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_resume_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*result)(switch_asr_handle_t *) = 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_asr_handle_t *)) ((arg1)->asr_resume);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_pause_set(void * jarg1, void * jarg2) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*arg2)(switch_asr_handle_t *) = (switch_status_t (*)(switch_asr_handle_t *)) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_asr_handle_t *))jarg2; 
-  if (arg1) (arg1)->asr_pause = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_pause_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*result)(switch_asr_handle_t *) = 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_asr_handle_t *)) ((arg1)->asr_pause);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_check_results_set(void * jarg1, void * jarg2) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*arg2)(switch_asr_handle_t *,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *)) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *))jarg2; 
-  if (arg1) (arg1)->asr_check_results = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_check_results_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*result)(switch_asr_handle_t *,switch_asr_flag_t *) = 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *)) ((arg1)->asr_check_results);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_get_results_set(void * jarg1, void * jarg2) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*arg2)(switch_asr_handle_t *,char **,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,char **,switch_asr_flag_t *)) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char **,switch_asr_flag_t *))jarg2; 
-  if (arg1) (arg1)->asr_get_results = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_get_results_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_status_t (*result)(switch_asr_handle_t *,char **,switch_asr_flag_t *) = 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_asr_handle_t *,char **,switch_asr_flag_t *)) ((arg1)->asr_get_results);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_next_set(void * jarg1, void * jarg2) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_asr_interface *arg2 = (switch_asr_interface *) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  arg2 = (switch_asr_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  switch_asr_interface *result = 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  result = (switch_asr_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_asr_interface() {
-  void * jresult ;
-  switch_asr_interface *result = 0 ;
-  
-  result = (switch_asr_interface *)new switch_asr_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_asr_interface(void * jarg1) {
-  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
-  
-  arg1 = (switch_asr_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_asr_interface_set(void * jarg1, void * jarg2) {
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  switch_asr_interface_t *arg2 = (switch_asr_interface_t *) 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  arg2 = (switch_asr_interface_t *)jarg2; 
-  if (arg1) (arg1)->asr_interface = (switch_asr_interface_t const *)arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_handle_asr_interface_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  switch_asr_interface_t *result = 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  result = (switch_asr_interface_t *) ((arg1)->asr_interface);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_flags_set(void * jarg1, unsigned long jarg2) {
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_asr_handle_flags_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->flags);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_name_set(void * jarg1, char * jarg2) {
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->name) delete [] arg1->name;
-    if (arg2) {
-      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->name, (const char *)arg2);
-    } else {
-      arg1->name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_asr_handle_name_get(void * jarg1) {
-  char * jresult ;
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  result = (char *) ((arg1)->name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_codec_set(void * jarg1, char * jarg2) {
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->codec) delete [] arg1->codec;
-    if (arg2) {
-      arg1->codec = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->codec, (const char *)arg2);
-    } else {
-      arg1->codec = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_asr_handle_codec_get(void * jarg1) {
-  char * jresult ;
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  result = (char *) ((arg1)->codec);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_rate_set(void * jarg1, unsigned long jarg2) {
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->rate = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_asr_handle_rate_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->rate);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_grammar_set(void * jarg1, char * jarg2) {
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->grammar) delete [] arg1->grammar;
-    if (arg2) {
-      arg1->grammar = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->grammar, (const char *)arg2);
-    } else {
-      arg1->grammar = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_asr_handle_grammar_get(void * jarg1) {
-  char * jresult ;
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  result = (char *) ((arg1)->grammar);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_param_set(void * jarg1, char * jarg2) {
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->param) delete [] arg1->param;
-    if (arg2) {
-      arg1->param = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->param, (const char *)arg2);
-    } else {
-      arg1->param = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_asr_handle_param_get(void * jarg1) {
-  char * jresult ;
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  result = (char *) ((arg1)->param);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_memory_pool_set(void * jarg1, void * jarg2) {
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  arg2 = (switch_memory_pool_t *)jarg2; 
-  if (arg1) (arg1)->memory_pool = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_handle_memory_pool_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  switch_memory_pool_t *result = 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_private_info_set(void * jarg1, void * jarg2) {
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->private_info = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_handle_private_info_get(void * jarg1) {
-  void * jresult ;
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  result = (void *) ((arg1)->private_info);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_asr_handle() {
-  void * jresult ;
-  switch_asr_handle *result = 0 ;
-  
-  result = (switch_asr_handle *)new switch_asr_handle();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_asr_handle(void * jarg1) {
-  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
-  
-  arg1 = (switch_asr_handle *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_interface_name_set(void * jarg1, char * jarg2) {
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->interface_name, (const char *)arg2);
-    } else {
-      arg1->interface_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_speech_interface_interface_name_get(void * jarg1) {
-  char * jresult ;
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  result = (char *) ((arg1)->interface_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_open_set(void * jarg1, void * jarg2) {
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  switch_status_t (*arg2)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *)) 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *))jarg2; 
-  if (arg1) (arg1)->speech_open = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_open_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  switch_status_t (*result)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *) = 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *)) ((arg1)->speech_open);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_close_set(void * jarg1, void * jarg2) {
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  switch_status_t (*arg2)(switch_speech_handle_t *,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,switch_speech_flag_t *)) 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_speech_handle_t *,switch_speech_flag_t *))jarg2; 
-  if (arg1) (arg1)->speech_close = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_close_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  switch_status_t (*result)(switch_speech_handle_t *,switch_speech_flag_t *) = 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_speech_handle_t *,switch_speech_flag_t *)) ((arg1)->speech_close);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_feed_tts_set(void * jarg1, void * jarg2) {
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  switch_status_t (*arg2)(switch_speech_handle_t *,char *,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,char *,switch_speech_flag_t *)) 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_speech_handle_t *,char *,switch_speech_flag_t *))jarg2; 
-  if (arg1) (arg1)->speech_feed_tts = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_feed_tts_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  switch_status_t (*result)(switch_speech_handle_t *,char *,switch_speech_flag_t *) = 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_speech_handle_t *,char *,switch_speech_flag_t *)) ((arg1)->speech_feed_tts);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_read_tts_set(void * jarg1, void * jarg2) {
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  switch_status_t (*arg2)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *)) 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *))jarg2; 
-  if (arg1) (arg1)->speech_read_tts = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_read_tts_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  switch_status_t (*result)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *) = 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *)) ((arg1)->speech_read_tts);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_flush_tts_set(void * jarg1, void * jarg2) {
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  void (*arg2)(switch_speech_handle_t *) = (void (*)(switch_speech_handle_t *)) 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  arg2 = (void (*)(switch_speech_handle_t *))jarg2; 
-  if (arg1) (arg1)->speech_flush_tts = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_flush_tts_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  void (*result)(switch_speech_handle_t *) = 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  result = (void (*)(switch_speech_handle_t *)) ((arg1)->speech_flush_tts);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_text_param_tts_set(void * jarg1, void * jarg2) {
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  void (*arg2)(switch_speech_handle_t *,char *,char const *) = (void (*)(switch_speech_handle_t *,char *,char const *)) 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  arg2 = (void (*)(switch_speech_handle_t *,char *,char const *))jarg2; 
-  if (arg1) (arg1)->speech_text_param_tts = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_text_param_tts_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  void (*result)(switch_speech_handle_t *,char *,char const *) = 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  result = (void (*)(switch_speech_handle_t *,char *,char const *)) ((arg1)->speech_text_param_tts);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_numeric_param_tts_set(void * jarg1, void * jarg2) {
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  void (*arg2)(switch_speech_handle_t *,char *,int) = (void (*)(switch_speech_handle_t *,char *,int)) 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  arg2 = (void (*)(switch_speech_handle_t *,char *,int))jarg2; 
-  if (arg1) (arg1)->speech_numeric_param_tts = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_numeric_param_tts_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  void (*result)(switch_speech_handle_t *,char *,int) = 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  result = (void (*)(switch_speech_handle_t *,char *,int)) ((arg1)->speech_numeric_param_tts);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_float_param_tts_set(void * jarg1, void * jarg2) {
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  void (*arg2)(switch_speech_handle_t *,char *,double) = (void (*)(switch_speech_handle_t *,char *,double)) 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  arg2 = (void (*)(switch_speech_handle_t *,char *,double))jarg2; 
-  if (arg1) (arg1)->speech_float_param_tts = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_float_param_tts_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  void (*result)(switch_speech_handle_t *,char *,double) = 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  result = (void (*)(switch_speech_handle_t *,char *,double)) ((arg1)->speech_float_param_tts);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_next_set(void * jarg1, void * jarg2) {
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  switch_speech_interface *arg2 = (switch_speech_interface *) 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  arg2 = (switch_speech_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  switch_speech_interface *result = 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  result = (switch_speech_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_speech_interface() {
-  void * jresult ;
-  switch_speech_interface *result = 0 ;
-  
-  result = (switch_speech_interface *)new switch_speech_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_speech_interface(void * jarg1) {
-  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
-  
-  arg1 = (switch_speech_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_speech_interface_set(void * jarg1, void * jarg2) {
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  switch_speech_interface_t *arg2 = (switch_speech_interface_t *) 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  arg2 = (switch_speech_interface_t *)jarg2; 
-  if (arg1) (arg1)->speech_interface = (switch_speech_interface_t const *)arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_handle_speech_interface_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  switch_speech_interface_t *result = 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  result = (switch_speech_interface_t *) ((arg1)->speech_interface);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_flags_set(void * jarg1, unsigned long jarg2) {
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_speech_handle_flags_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->flags);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_name_set(void * jarg1, char * jarg2) {
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->name) delete [] arg1->name;
-    if (arg2) {
-      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->name, (const char *)arg2);
-    } else {
-      arg1->name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_speech_handle_name_get(void * jarg1) {
-  char * jresult ;
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  result = (char *) ((arg1)->name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_rate_set(void * jarg1, unsigned long jarg2) {
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->rate = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_speech_handle_rate_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->rate);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_speed_set(void * jarg1, unsigned long jarg2) {
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->speed = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_speech_handle_speed_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->speed);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_samples_set(void * jarg1, unsigned long jarg2) {
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->samples = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_speech_handle_samples_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->samples);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_voice_set(void * jarg1, char * jarg2) {
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  char *arg2 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) strncpy((char *)arg1->voice, (const char *)arg2, 80);
-    else arg1->voice[0] = 0;
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_speech_handle_voice_get(void * jarg1) {
-  char * jresult ;
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  result = (char *)(char *) ((arg1)->voice);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_engine_set(void * jarg1, char * jarg2) {
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->engine) delete [] arg1->engine;
-    if (arg2) {
-      arg1->engine = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->engine, (const char *)arg2);
-    } else {
-      arg1->engine = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_speech_handle_engine_get(void * jarg1) {
-  char * jresult ;
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  result = (char *) ((arg1)->engine);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_param_set(void * jarg1, char * jarg2) {
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->param) delete [] arg1->param;
-    if (arg2) {
-      arg1->param = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->param, (const char *)arg2);
-    } else {
-      arg1->param = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_speech_handle_param_get(void * jarg1) {
-  char * jresult ;
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  result = (char *) ((arg1)->param);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_memory_pool_set(void * jarg1, void * jarg2) {
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  arg2 = (switch_memory_pool_t *)jarg2; 
-  if (arg1) (arg1)->memory_pool = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_handle_memory_pool_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  switch_memory_pool_t *result = 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_private_info_set(void * jarg1, void * jarg2) {
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->private_info = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_handle_private_info_get(void * jarg1) {
-  void * jresult ;
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  result = (void *) ((arg1)->private_info);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_speech_handle() {
-  void * jresult ;
-  switch_speech_handle *result = 0 ;
-  
-  result = (switch_speech_handle *)new switch_speech_handle();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_speech_handle(void * jarg1) {
-  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
-  
-  arg1 = (switch_speech_handle *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_interface_interface_name_set(void * jarg1, char * jarg2) {
-  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_say_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->interface_name, (const char *)arg2);
-    } else {
-      arg1->interface_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_say_interface_interface_name_get(void * jarg1) {
-  char * jresult ;
-  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_say_interface *)jarg1; 
-  result = (char *) ((arg1)->interface_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_interface_say_function_set(void * jarg1, void * jarg2) {
-  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
-  switch_say_callback_t arg2 = (switch_say_callback_t) 0 ;
-  
-  arg1 = (switch_say_interface *)jarg1; 
-  arg2 = (switch_say_callback_t)jarg2; 
-  if (arg1) (arg1)->say_function = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_say_interface_say_function_get(void * jarg1) {
-  void * jresult ;
-  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
-  switch_say_callback_t result;
-  
-  arg1 = (switch_say_interface *)jarg1; 
-  result = (switch_say_callback_t) ((arg1)->say_function);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_say_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_say_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_say_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_interface_next_set(void * jarg1, void * jarg2) {
-  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
-  switch_say_interface *arg2 = (switch_say_interface *) 0 ;
-  
-  arg1 = (switch_say_interface *)jarg1; 
-  arg2 = (switch_say_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_say_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
-  switch_say_interface *result = 0 ;
-  
-  arg1 = (switch_say_interface *)jarg1; 
-  result = (switch_say_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_say_interface() {
-  void * jresult ;
-  switch_say_interface *result = 0 ;
-  
-  result = (switch_say_interface *)new switch_say_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_say_interface(void * jarg1) {
-  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
-  
-  arg1 = (switch_say_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_chat_interface_interface_name_set(void * jarg1, char * jarg2) {
-  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_chat_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->interface_name, (const char *)arg2);
-    } else {
-      arg1->interface_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_chat_interface_interface_name_get(void * jarg1) {
-  char * jresult ;
-  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_chat_interface *)jarg1; 
-  result = (char *) ((arg1)->interface_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_chat_interface_chat_send_set(void * jarg1, void * jarg2) {
-  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
-  switch_status_t (*arg2)(char *,char *,char *,char *,char *,char *) = (switch_status_t (*)(char *,char *,char *,char *,char *,char *)) 0 ;
-  
-  arg1 = (switch_chat_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(char *,char *,char *,char *,char *,char *))jarg2; 
-  if (arg1) (arg1)->chat_send = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_chat_interface_chat_send_get(void * jarg1) {
-  void * jresult ;
-  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
-  switch_status_t (*result)(char *,char *,char *,char *,char *,char *) = 0 ;
-  
-  arg1 = (switch_chat_interface *)jarg1; 
-  result = (switch_status_t (*)(char *,char *,char *,char *,char *,char *)) ((arg1)->chat_send);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_chat_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_chat_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_chat_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_chat_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_chat_interface_next_set(void * jarg1, void * jarg2) {
-  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
-  switch_chat_interface *arg2 = (switch_chat_interface *) 0 ;
-  
-  arg1 = (switch_chat_interface *)jarg1; 
-  arg2 = (switch_chat_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_chat_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
-  switch_chat_interface *result = 0 ;
-  
-  arg1 = (switch_chat_interface *)jarg1; 
-  result = (switch_chat_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_chat_interface() {
-  void * jresult ;
-  switch_chat_interface *result = 0 ;
-  
-  result = (switch_chat_interface *)new switch_chat_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_chat_interface(void * jarg1) {
-  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
-  
-  arg1 = (switch_chat_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_management_interface_relative_oid_set(void * jarg1, char * jarg2) {
-  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_management_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->relative_oid = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->relative_oid, (const char *)arg2);
-    } else {
-      arg1->relative_oid = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_management_interface_relative_oid_get(void * jarg1) {
-  char * jresult ;
-  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_management_interface *)jarg1; 
-  result = (char *) ((arg1)->relative_oid);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_management_interface_management_function_set(void * jarg1, void * jarg2) {
-  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
-  switch_status_t (*arg2)(char *,switch_management_action_t,char *,switch_size_t) = (switch_status_t (*)(char *,switch_management_action_t,char *,switch_size_t)) 0 ;
-  
-  arg1 = (switch_management_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(char *,switch_management_action_t,char *,switch_size_t))jarg2; 
-  if (arg1) (arg1)->management_function = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_management_interface_management_function_get(void * jarg1) {
-  void * jresult ;
-  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
-  switch_status_t (*result)(char *,switch_management_action_t,char *,switch_size_t) = 0 ;
-  
-  arg1 = (switch_management_interface *)jarg1; 
-  result = (switch_status_t (*)(char *,switch_management_action_t,char *,switch_size_t)) ((arg1)->management_function);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_management_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_management_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_management_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_management_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_management_interface_next_set(void * jarg1, void * jarg2) {
-  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
-  switch_management_interface *arg2 = (switch_management_interface *) 0 ;
-  
-  arg1 = (switch_management_interface *)jarg1; 
-  arg2 = (switch_management_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_management_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
-  switch_management_interface *result = 0 ;
-  
-  arg1 = (switch_management_interface *)jarg1; 
-  result = (switch_management_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_management_interface() {
-  void * jresult ;
-  switch_management_interface *result = 0 ;
-  
-  result = (switch_management_interface *)new switch_management_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_management_interface(void * jarg1) {
-  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
-  
-  arg1 = (switch_management_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_interface_name_set(void * jarg1, char * jarg2) {
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->interface_name, (const char *)arg2);
-    } else {
-      arg1->interface_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directory_interface_interface_name_get(void * jarg1) {
-  char * jresult ;
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  result = (char *) ((arg1)->interface_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_directory_open_set(void * jarg1, void * jarg2) {
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_status_t (*arg2)(switch_directory_handle_t *,char *,char *,char *) = (switch_status_t (*)(switch_directory_handle_t *,char *,char *,char *)) 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_directory_handle_t *,char *,char *,char *))jarg2; 
-  if (arg1) (arg1)->directory_open = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_directory_open_get(void * jarg1) {
-  void * jresult ;
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_status_t (*result)(switch_directory_handle_t *,char *,char *,char *) = 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_directory_handle_t *,char *,char *,char *)) ((arg1)->directory_open);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_directory_close_set(void * jarg1, void * jarg2) {
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_status_t (*arg2)(switch_directory_handle_t *) = (switch_status_t (*)(switch_directory_handle_t *)) 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_directory_handle_t *))jarg2; 
-  if (arg1) (arg1)->directory_close = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_directory_close_get(void * jarg1) {
-  void * jresult ;
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_status_t (*result)(switch_directory_handle_t *) = 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_directory_handle_t *)) ((arg1)->directory_close);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_directory_query_set(void * jarg1, void * jarg2) {
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_status_t (*arg2)(switch_directory_handle_t *,char *,char *) = (switch_status_t (*)(switch_directory_handle_t *,char *,char *)) 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_directory_handle_t *,char *,char *))jarg2; 
-  if (arg1) (arg1)->directory_query = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_directory_query_get(void * jarg1) {
-  void * jresult ;
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_status_t (*result)(switch_directory_handle_t *,char *,char *) = 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_directory_handle_t *,char *,char *)) ((arg1)->directory_query);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_directory_next_set(void * jarg1, void * jarg2) {
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_status_t (*arg2)(switch_directory_handle_t *) = (switch_status_t (*)(switch_directory_handle_t *)) 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_directory_handle_t *))jarg2; 
-  if (arg1) (arg1)->directory_next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_directory_next_get(void * jarg1) {
-  void * jresult ;
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_status_t (*result)(switch_directory_handle_t *) = 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_directory_handle_t *)) ((arg1)->directory_next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_directory_next_pair_set(void * jarg1, void * jarg2) {
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_status_t (*arg2)(switch_directory_handle_t *,char **,char **) = (switch_status_t (*)(switch_directory_handle_t *,char **,char **)) 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  arg2 = (switch_status_t (*)(switch_directory_handle_t *,char **,char **))jarg2; 
-  if (arg1) (arg1)->directory_next_pair = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_directory_next_pair_get(void * jarg1) {
-  void * jresult ;
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_status_t (*result)(switch_directory_handle_t *,char **,char **) = 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  result = (switch_status_t (*)(switch_directory_handle_t *,char **,char **)) ((arg1)->directory_next_pair);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_next_set(void * jarg1, void * jarg2) {
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_directory_interface *arg2 = (switch_directory_interface *) 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  arg2 = (switch_directory_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  switch_directory_interface *result = 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  result = (switch_directory_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_directory_interface() {
-  void * jresult ;
-  switch_directory_interface *result = 0 ;
-  
-  result = (switch_directory_interface *)new switch_directory_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_directory_interface(void * jarg1) {
-  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
-  
-  arg1 = (switch_directory_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_handle_directory_interface_set(void * jarg1, void * jarg2) {
-  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
-  switch_directory_interface_t *arg2 = (switch_directory_interface_t *) 0 ;
-  
-  arg1 = (switch_directory_handle *)jarg1; 
-  arg2 = (switch_directory_interface_t *)jarg2; 
-  if (arg1) (arg1)->directory_interface = (switch_directory_interface_t const *)arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_handle_directory_interface_get(void * jarg1) {
-  void * jresult ;
-  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
-  switch_directory_interface_t *result = 0 ;
-  
-  arg1 = (switch_directory_handle *)jarg1; 
-  result = (switch_directory_interface_t *) ((arg1)->directory_interface);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_handle_flags_set(void * jarg1, unsigned long jarg2) {
-  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_directory_handle *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_directory_handle_flags_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_directory_handle *)jarg1; 
-  result = (uint32_t) ((arg1)->flags);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_handle_memory_pool_set(void * jarg1, void * jarg2) {
-  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
-  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
-  
-  arg1 = (switch_directory_handle *)jarg1; 
-  arg2 = (switch_memory_pool_t *)jarg2; 
-  if (arg1) (arg1)->memory_pool = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_handle_memory_pool_get(void * jarg1) {
-  void * jresult ;
-  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
-  switch_memory_pool_t *result = 0 ;
-  
-  arg1 = (switch_directory_handle *)jarg1; 
-  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_handle_private_info_set(void * jarg1, void * jarg2) {
-  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_directory_handle *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->private_info = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_handle_private_info_get(void * jarg1) {
-  void * jresult ;
-  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_directory_handle *)jarg1; 
-  result = (void *) ((arg1)->private_info);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_directory_handle() {
-  void * jresult ;
-  switch_directory_handle *result = 0 ;
-  
-  result = (switch_directory_handle *)new switch_directory_handle();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_directory_handle(void * jarg1) {
-  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
-  
-  arg1 = (switch_directory_handle *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_quality_set(void * jarg1, int jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->quality = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_quality_get(void * jarg1) {
-  int jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (int) ((arg1)->quality);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_complexity_set(void * jarg1, int jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->complexity = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_complexity_get(void * jarg1) {
-  int jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (int) ((arg1)->complexity);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_enhancement_set(void * jarg1, int jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->enhancement = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_enhancement_get(void * jarg1) {
-  int jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (int) ((arg1)->enhancement);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_vad_set(void * jarg1, int jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->vad = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_vad_get(void * jarg1) {
-  int jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (int) ((arg1)->vad);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_vbr_set(void * jarg1, int jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->vbr = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_vbr_get(void * jarg1) {
-  int jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (int) ((arg1)->vbr);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_vbr_quality_set(void * jarg1, float jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  float arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (float)jarg2; 
-  if (arg1) (arg1)->vbr_quality = arg2;
-}
-
-
-SWIGEXPORT float SWIGSTDCALL CSharp_switch_codec_settings_vbr_quality_get(void * jarg1) {
-  float jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  float result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (float) ((arg1)->vbr_quality);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_abr_set(void * jarg1, int jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->abr = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_abr_get(void * jarg1) {
-  int jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (int) ((arg1)->abr);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_dtx_set(void * jarg1, int jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->dtx = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_dtx_get(void * jarg1) {
-  int jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (int) ((arg1)->dtx);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_preproc_set(void * jarg1, int jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->preproc = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_preproc_get(void * jarg1) {
-  int jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (int) ((arg1)->preproc);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_vad_set(void * jarg1, int jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->pp_vad = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_pp_vad_get(void * jarg1) {
-  int jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (int) ((arg1)->pp_vad);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_agc_set(void * jarg1, int jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->pp_agc = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_pp_agc_get(void * jarg1) {
-  int jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (int) ((arg1)->pp_agc);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_agc_level_set(void * jarg1, float jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  float arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (float)jarg2; 
-  if (arg1) (arg1)->pp_agc_level = arg2;
-}
-
-
-SWIGEXPORT float SWIGSTDCALL CSharp_switch_codec_settings_pp_agc_level_get(void * jarg1) {
-  float jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  float result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (float) ((arg1)->pp_agc_level);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_denoise_set(void * jarg1, int jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->pp_denoise = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_pp_denoise_get(void * jarg1) {
-  int jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (int) ((arg1)->pp_denoise);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_set(void * jarg1, int jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->pp_dereverb = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_get(void * jarg1) {
-  int jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (int) ((arg1)->pp_dereverb);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_decay_set(void * jarg1, float jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  float arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (float)jarg2; 
-  if (arg1) (arg1)->pp_dereverb_decay = arg2;
-}
-
-
-SWIGEXPORT float SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_decay_get(void * jarg1) {
-  float jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  float result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (float) ((arg1)->pp_dereverb_decay);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_level_set(void * jarg1, float jarg2) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  float arg2 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  arg2 = (float)jarg2; 
-  if (arg1) (arg1)->pp_dereverb_level = arg2;
-}
-
-
-SWIGEXPORT float SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_level_get(void * jarg1) {
-  float jresult ;
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  float result;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  result = (float) ((arg1)->pp_dereverb_level);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_codec_settings() {
-  void * jresult ;
-  switch_codec_settings *result = 0 ;
-  
-  result = (switch_codec_settings *)new switch_codec_settings();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_codec_settings(void * jarg1) {
-  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
-  
-  arg1 = (switch_codec_settings *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_codec_interface_set(void * jarg1, void * jarg2) {
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  switch_codec_interface_t *arg2 = (switch_codec_interface_t *) 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  arg2 = (switch_codec_interface_t *)jarg2; 
-  if (arg1) (arg1)->codec_interface = (switch_codec_interface_t const *)arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_codec_interface_get(void * jarg1) {
-  void * jresult ;
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  switch_codec_interface_t *result = 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  result = (switch_codec_interface_t *) ((arg1)->codec_interface);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_set(void * jarg1, void * jarg2) {
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  arg2 = (switch_codec_implementation_t *)jarg2; 
-  if (arg1) (arg1)->implementation = (switch_codec_implementation_t const *)arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_implementation_get(void * jarg1) {
-  void * jresult ;
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  switch_codec_implementation_t *result = 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  result = (switch_codec_implementation_t *) ((arg1)->implementation);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_fmtp_in_set(void * jarg1, char * jarg2) {
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->fmtp_in) delete [] arg1->fmtp_in;
-    if (arg2) {
-      arg1->fmtp_in = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->fmtp_in, (const char *)arg2);
-    } else {
-      arg1->fmtp_in = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_codec_fmtp_in_get(void * jarg1) {
-  char * jresult ;
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  result = (char *) ((arg1)->fmtp_in);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_fmtp_out_set(void * jarg1, char * jarg2) {
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->fmtp_out) delete [] arg1->fmtp_out;
-    if (arg2) {
-      arg1->fmtp_out = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->fmtp_out, (const char *)arg2);
-    } else {
-      arg1->fmtp_out = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_codec_fmtp_out_get(void * jarg1) {
-  char * jresult ;
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  result = (char *) ((arg1)->fmtp_out);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_codec_settings_set(void * jarg1, void * jarg2) {
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  switch_codec_settings_t *arg2 = (switch_codec_settings_t *) 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  arg2 = (switch_codec_settings_t *)jarg2; 
-  if (arg1) (arg1)->codec_settings = *arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_codec_settings_get(void * jarg1) {
-  void * jresult ;
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  switch_codec_settings_t *result = 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  result = (switch_codec_settings_t *)& ((arg1)->codec_settings);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_flags_set(void * jarg1, unsigned long jarg2) {
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_flags_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_codec *)jarg1; 
-  result = (uint32_t) ((arg1)->flags);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_memory_pool_set(void * jarg1, void * jarg2) {
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  arg2 = (switch_memory_pool_t *)jarg2; 
-  if (arg1) (arg1)->memory_pool = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_memory_pool_get(void * jarg1) {
-  void * jresult ;
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  switch_memory_pool_t *result = 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_private_info_set(void * jarg1, void * jarg2) {
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->private_info = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_private_info_get(void * jarg1) {
-  void * jresult ;
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  result = (void *) ((arg1)->private_info);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_agreed_pt_set(void * jarg1, unsigned char jarg2) {
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  switch_payload_t arg2 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  arg2 = (switch_payload_t)jarg2; 
-  if (arg1) (arg1)->agreed_pt = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_codec_agreed_pt_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  switch_payload_t result;
-  
-  arg1 = (switch_codec *)jarg1; 
-  result = (switch_payload_t) ((arg1)->agreed_pt);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_codec() {
-  void * jresult ;
-  switch_codec *result = 0 ;
-  
-  result = (switch_codec *)new switch_codec();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_codec(void * jarg1) {
-  switch_codec *arg1 = (switch_codec *) 0 ;
-  
-  arg1 = (switch_codec *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_codec_type_set(void * jarg1, int jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_codec_type_t arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (switch_codec_type_t)jarg2; 
-  if (arg1) (arg1)->codec_type = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_implementation_codec_type_get(void * jarg1) {
-  int jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_codec_type_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (switch_codec_type_t) ((arg1)->codec_type);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_ianacode_set(void * jarg1, unsigned char jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_payload_t arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (switch_payload_t)jarg2; 
-  if (arg1) (arg1)->ianacode = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_codec_implementation_ianacode_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_payload_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (switch_payload_t) ((arg1)->ianacode);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_iananame_set(void * jarg1, char * jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->iananame) delete [] arg1->iananame;
-    if (arg2) {
-      arg1->iananame = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->iananame, (const char *)arg2);
-    } else {
-      arg1->iananame = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_codec_implementation_iananame_get(void * jarg1) {
-  char * jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (char *) ((arg1)->iananame);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_fmtp_set(void * jarg1, char * jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->fmtp) delete [] arg1->fmtp;
-    if (arg2) {
-      arg1->fmtp = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->fmtp, (const char *)arg2);
-    } else {
-      arg1->fmtp = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_codec_implementation_fmtp_get(void * jarg1) {
-  char * jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (char *) ((arg1)->fmtp);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_samples_per_second_set(void * jarg1, unsigned long jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->samples_per_second = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_implementation_samples_per_second_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (uint32_t) ((arg1)->samples_per_second);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_actual_samples_per_second_set(void * jarg1, unsigned long jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->actual_samples_per_second = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_implementation_actual_samples_per_second_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (uint32_t) ((arg1)->actual_samples_per_second);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_bits_per_second_set(void * jarg1, int jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->bits_per_second = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_implementation_bits_per_second_get(void * jarg1) {
-  int jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (int) ((arg1)->bits_per_second);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_microseconds_per_frame_set(void * jarg1, int jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->microseconds_per_frame = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_implementation_microseconds_per_frame_get(void * jarg1) {
-  int jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (int) ((arg1)->microseconds_per_frame);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_samples_per_frame_set(void * jarg1, unsigned long jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->samples_per_frame = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_implementation_samples_per_frame_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (uint32_t) ((arg1)->samples_per_frame);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_bytes_per_frame_set(void * jarg1, unsigned long jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->bytes_per_frame = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_implementation_bytes_per_frame_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (uint32_t) ((arg1)->bytes_per_frame);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_encoded_bytes_per_frame_set(void * jarg1, unsigned long jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->encoded_bytes_per_frame = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_implementation_encoded_bytes_per_frame_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (uint32_t) ((arg1)->encoded_bytes_per_frame);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_number_of_channels_set(void * jarg1, unsigned char jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint8_t arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (uint8_t)jarg2; 
-  if (arg1) (arg1)->number_of_channels = arg2;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_codec_implementation_number_of_channels_get(void * jarg1) {
-  unsigned char jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (uint8_t) ((arg1)->number_of_channels);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_pref_frames_per_packet_set(void * jarg1, int jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->pref_frames_per_packet = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_implementation_pref_frames_per_packet_get(void * jarg1) {
-  int jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (int) ((arg1)->pref_frames_per_packet);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_max_frames_per_packet_set(void * jarg1, int jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->max_frames_per_packet = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_implementation_max_frames_per_packet_get(void * jarg1) {
-  int jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  int result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (int) ((arg1)->max_frames_per_packet);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_init_set(void * jarg1, void * jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_core_codec_init_func_t arg2 = (switch_core_codec_init_func_t) 0 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (switch_core_codec_init_func_t)jarg2; 
-  if (arg1) (arg1)->init = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_implementation_init_get(void * jarg1) {
-  void * jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_core_codec_init_func_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (switch_core_codec_init_func_t) ((arg1)->init);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_encode_set(void * jarg1, void * jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_core_codec_encode_func_t arg2 = (switch_core_codec_encode_func_t) 0 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (switch_core_codec_encode_func_t)jarg2; 
-  if (arg1) (arg1)->encode = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_implementation_encode_get(void * jarg1) {
-  void * jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_core_codec_encode_func_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (switch_core_codec_encode_func_t) ((arg1)->encode);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_decode_set(void * jarg1, void * jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_core_codec_decode_func_t arg2 = (switch_core_codec_decode_func_t) 0 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (switch_core_codec_decode_func_t)jarg2; 
-  if (arg1) (arg1)->decode = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_implementation_decode_get(void * jarg1) {
-  void * jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_core_codec_decode_func_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (switch_core_codec_decode_func_t) ((arg1)->decode);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_destroy_set(void * jarg1, void * jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_core_codec_destroy_func_t arg2 = (switch_core_codec_destroy_func_t) 0 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (switch_core_codec_destroy_func_t)jarg2; 
-  if (arg1) (arg1)->destroy = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_implementation_destroy_get(void * jarg1) {
-  void * jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_core_codec_destroy_func_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (switch_core_codec_destroy_func_t) ((arg1)->destroy);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_codec_id_set(void * jarg1, unsigned long jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->codec_id = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_implementation_codec_id_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (uint32_t) ((arg1)->codec_id);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_next_set(void * jarg1, void * jarg2) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_codec_implementation *arg2 = (switch_codec_implementation *) 0 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  arg2 = (switch_codec_implementation *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_implementation_next_get(void * jarg1) {
-  void * jresult ;
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  switch_codec_implementation *result = 0 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  result = (switch_codec_implementation *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_codec_implementation() {
-  void * jresult ;
-  switch_codec_implementation *result = 0 ;
-  
-  result = (switch_codec_implementation *)new switch_codec_implementation();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_codec_implementation(void * jarg1) {
-  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
-  
-  arg1 = (switch_codec_implementation *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_interface_interface_name_set(void * jarg1, char * jarg2) {
-  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_codec_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->interface_name, (const char *)arg2);
-    } else {
-      arg1->interface_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_codec_interface_interface_name_get(void * jarg1) {
-  char * jresult ;
-  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_codec_interface *)jarg1; 
-  result = (char *) ((arg1)->interface_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_interface_implementations_set(void * jarg1, void * jarg2) {
-  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
-  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
-  
-  arg1 = (switch_codec_interface *)jarg1; 
-  arg2 = (switch_codec_implementation_t *)jarg2; 
-  if (arg1) (arg1)->implementations = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_interface_implementations_get(void * jarg1) {
-  void * jresult ;
-  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
-  switch_codec_implementation_t *result = 0 ;
-  
-  arg1 = (switch_codec_interface *)jarg1; 
-  result = (switch_codec_implementation_t *) ((arg1)->implementations);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_interface_codec_id_set(void * jarg1, unsigned long jarg2) {
-  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_codec_interface *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->codec_id = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_interface_codec_id_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_codec_interface *)jarg1; 
-  result = (uint32_t) ((arg1)->codec_id);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_codec_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_codec_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_interface_next_set(void * jarg1, void * jarg2) {
-  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
-  switch_codec_interface *arg2 = (switch_codec_interface *) 0 ;
-  
-  arg1 = (switch_codec_interface *)jarg1; 
-  arg2 = (switch_codec_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
-  switch_codec_interface *result = 0 ;
-  
-  arg1 = (switch_codec_interface *)jarg1; 
-  result = (switch_codec_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_codec_interface() {
-  void * jresult ;
-  switch_codec_interface *result = 0 ;
-  
-  result = (switch_codec_interface *)new switch_codec_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_codec_interface(void * jarg1) {
-  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
-  
-  arg1 = (switch_codec_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_interface_name_set(void * jarg1, char * jarg2) {
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->interface_name, (const char *)arg2);
-    } else {
-      arg1->interface_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_application_interface_interface_name_get(void * jarg1) {
-  char * jresult ;
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  result = (char *) ((arg1)->interface_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_application_function_set(void * jarg1, void * jarg2) {
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  switch_application_function_t arg2 = (switch_application_function_t) 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  arg2 = (switch_application_function_t)jarg2; 
-  if (arg1) (arg1)->application_function = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_application_interface_application_function_get(void * jarg1) {
-  void * jresult ;
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  switch_application_function_t result;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  result = (switch_application_function_t) ((arg1)->application_function);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_long_desc_set(void * jarg1, char * jarg2) {
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->long_desc = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->long_desc, (const char *)arg2);
-    } else {
-      arg1->long_desc = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_application_interface_long_desc_get(void * jarg1) {
-  char * jresult ;
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  result = (char *) ((arg1)->long_desc);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_short_desc_set(void * jarg1, char * jarg2) {
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->short_desc = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->short_desc, (const char *)arg2);
-    } else {
-      arg1->short_desc = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_application_interface_short_desc_get(void * jarg1) {
-  char * jresult ;
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  result = (char *) ((arg1)->short_desc);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_syntax_set(void * jarg1, char * jarg2) {
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->syntax = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->syntax, (const char *)arg2);
-    } else {
-      arg1->syntax = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_application_interface_syntax_get(void * jarg1) {
-  char * jresult ;
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  result = (char *) ((arg1)->syntax);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_flags_set(void * jarg1, unsigned long jarg2) {
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_application_interface_flags_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  result = (uint32_t) ((arg1)->flags);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_application_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_next_set(void * jarg1, void * jarg2) {
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  switch_application_interface *arg2 = (switch_application_interface *) 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  arg2 = (switch_application_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_application_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  switch_application_interface *result = 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  result = (switch_application_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_application_interface() {
-  void * jresult ;
-  switch_application_interface *result = 0 ;
-  
-  result = (switch_application_interface *)new switch_application_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_application_interface(void * jarg1) {
-  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
-  
-  arg1 = (switch_application_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_api_interface_interface_name_set(void * jarg1, char * jarg2) {
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->interface_name, (const char *)arg2);
-    } else {
-      arg1->interface_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_api_interface_interface_name_get(void * jarg1) {
-  char * jresult ;
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  result = (char *) ((arg1)->interface_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_api_interface_desc_set(void * jarg1, char * jarg2) {
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->desc = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->desc, (const char *)arg2);
-    } else {
-      arg1->desc = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_api_interface_desc_get(void * jarg1) {
-  char * jresult ;
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  result = (char *) ((arg1)->desc);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_api_interface_function_set(void * jarg1, void * jarg2) {
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  switch_api_function_t arg2 = (switch_api_function_t) 0 ;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  arg2 = (switch_api_function_t)jarg2; 
-  if (arg1) (arg1)->function = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_api_interface_function_get(void * jarg1) {
-  void * jresult ;
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  switch_api_function_t result;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  result = (switch_api_function_t) ((arg1)->function);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_api_interface_syntax_set(void * jarg1, char * jarg2) {
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->syntax = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->syntax, (const char *)arg2);
-    } else {
-      arg1->syntax = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_api_interface_syntax_get(void * jarg1) {
-  char * jresult ;
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  result = (char *) ((arg1)->syntax);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_api_interface_rwlock_set(void * jarg1, void * jarg2) {
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  arg2 = (switch_thread_rwlock_t *)jarg2; 
-  if (arg1) (arg1)->rwlock = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_api_interface_rwlock_get(void * jarg1) {
-  void * jresult ;
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  switch_thread_rwlock_t *result = 0 ;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_api_interface_next_set(void * jarg1, void * jarg2) {
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  switch_api_interface *arg2 = (switch_api_interface *) 0 ;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  arg2 = (switch_api_interface *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_api_interface_next_get(void * jarg1) {
-  void * jresult ;
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  switch_api_interface *result = 0 ;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  result = (switch_api_interface *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_api_interface() {
-  void * jresult ;
-  switch_api_interface *result = 0 ;
-  
-  result = (switch_api_interface *)new switch_api_interface();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_api_interface(void * jarg1) {
-  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
-  
-  arg1 = (switch_api_interface *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_profile_created_set(void * jarg1, void * jarg2) {
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t arg2 ;
-  switch_time_t *argp2 ;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  argp2 = (switch_time_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->profile_created = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_profile_created_get(void * jarg1) {
-  void * jresult ;
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t result;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  result =  ((arg1)->profile_created);
-  jresult = new switch_time_t((const switch_time_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_created_set(void * jarg1, void * jarg2) {
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t arg2 ;
-  switch_time_t *argp2 ;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  argp2 = (switch_time_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->created = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_created_get(void * jarg1) {
-  void * jresult ;
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t result;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  result =  ((arg1)->created);
-  jresult = new switch_time_t((const switch_time_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_answered_set(void * jarg1, void * jarg2) {
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t arg2 ;
-  switch_time_t *argp2 ;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  argp2 = (switch_time_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->answered = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_answered_get(void * jarg1) {
-  void * jresult ;
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t result;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  result =  ((arg1)->answered);
-  jresult = new switch_time_t((const switch_time_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_progress_set(void * jarg1, void * jarg2) {
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t arg2 ;
-  switch_time_t *argp2 ;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  argp2 = (switch_time_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->progress = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_progress_get(void * jarg1) {
-  void * jresult ;
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t result;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  result =  ((arg1)->progress);
-  jresult = new switch_time_t((const switch_time_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_progress_media_set(void * jarg1, void * jarg2) {
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t arg2 ;
-  switch_time_t *argp2 ;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  argp2 = (switch_time_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->progress_media = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_progress_media_get(void * jarg1) {
-  void * jresult ;
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t result;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  result =  ((arg1)->progress_media);
-  jresult = new switch_time_t((const switch_time_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_hungup_set(void * jarg1, void * jarg2) {
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t arg2 ;
-  switch_time_t *argp2 ;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  argp2 = (switch_time_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->hungup = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_hungup_get(void * jarg1) {
-  void * jresult ;
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t result;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  result =  ((arg1)->hungup);
-  jresult = new switch_time_t((const switch_time_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_transferred_set(void * jarg1, void * jarg2) {
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t arg2 ;
-  switch_time_t *argp2 ;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  argp2 = (switch_time_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->transferred = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_transferred_get(void * jarg1) {
-  void * jresult ;
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_time_t result;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  result =  ((arg1)->transferred);
-  jresult = new switch_time_t((const switch_time_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_next_set(void * jarg1, void * jarg2) {
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_channel_timetable *arg2 = (switch_channel_timetable *) 0 ;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  arg2 = (switch_channel_timetable *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_next_get(void * jarg1) {
-  void * jresult ;
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  switch_channel_timetable *result = 0 ;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  result = (switch_channel_timetable *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_channel_timetable() {
-  void * jresult ;
-  switch_channel_timetable *result = 0 ;
-  
-  result = (switch_channel_timetable *)new switch_channel_timetable();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_channel_timetable(void * jarg1) {
-  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
-  
-  arg1 = (switch_channel_timetable *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_get_state(void * jarg1) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_channel_state_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (switch_channel_state_t)switch_channel_get_state(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_get_running_state(void * jarg1) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_channel_state_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (switch_channel_state_t)switch_channel_get_running_state(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_channel_ready(void * jarg1) {
-  unsigned char jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (uint8_t)switch_channel_ready(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_wait_for_state(void * jarg1, void * jarg2, int jarg3) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
-  switch_channel_state_t arg3 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_channel_t *)jarg2; 
-  arg3 = (switch_channel_state_t)jarg3; 
-  switch_channel_wait_for_state(arg1,arg2,arg3);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_wait_for_flag(void * jarg1, unsigned long jarg2, int jarg3, unsigned long jarg4, void * jarg5) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_channel_flag_t arg2 ;
-  switch_bool_t arg3 ;
-  uint32_t arg4 ;
-  switch_channel_t *arg5 = (switch_channel_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_channel_flag_t)jarg2; 
-  arg3 = (switch_bool_t)jarg3; 
-  arg4 = (uint32_t)jarg4; 
-  arg5 = (switch_channel_t *)jarg5; 
-  result = (switch_status_t)switch_channel_wait_for_flag(arg1,arg2,arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_set_state(void * jarg1, char * jarg2, char * jarg3, int jarg4, int jarg5) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_channel_state_t arg5 ;
-  switch_channel_state_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  arg5 = (switch_channel_state_t)jarg5; 
-  result = (switch_channel_state_t)switch_channel_perform_set_state(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_set_running_state(void * jarg1, int jarg2, char * jarg3, char * jarg4, int jarg5) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_channel_state_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  int arg5 ;
-  switch_channel_state_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_channel_state_t)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (int)jarg5; 
-  result = (switch_channel_state_t)switch_channel_perform_set_running_state(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_str2cause(char * jarg1) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_call_cause_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_call_cause_t)switch_channel_str2cause((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_get_cause(void * jarg1) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_call_cause_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (switch_call_cause_t)switch_channel_get_cause(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_cause_q850(int jarg1) {
-  int jresult ;
-  switch_call_cause_t arg1 ;
-  switch_call_cause_t result;
-  
-  arg1 = (switch_call_cause_t)jarg1; 
-  result = (switch_call_cause_t)switch_channel_cause_q850(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_get_cause_q850(void * jarg1) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_call_cause_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (switch_call_cause_t)switch_channel_get_cause_q850(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_cause2str(int jarg1) {
-  char * jresult ;
-  switch_call_cause_t arg1 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_call_cause_t)jarg1; 
-  result = (char *)switch_channel_cause2str(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_timetable(void * jarg1) {
-  void * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_channel_timetable_t *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (switch_channel_timetable_t *)switch_channel_get_timetable(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_alloc(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_channel_t **arg1 = (switch_channel_t **) 0 ;
-  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t **)jarg1; 
-  arg2 = (switch_memory_pool_t *)jarg2; 
-  result = (switch_status_t)switch_channel_alloc(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_init(void * jarg1, void * jarg2, int jarg3, unsigned long jarg4) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
-  switch_channel_state_t arg3 ;
-  uint32_t arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_core_session_t *)jarg2; 
-  arg3 = (switch_channel_state_t)jarg3; 
-  arg4 = (uint32_t)jarg4; 
-  result = (switch_status_t)switch_channel_init(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_presence(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  switch_channel_presence(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_uninit(void * jarg1) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  switch_channel_uninit(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_set_caller_profile(void * jarg1, void * jarg2) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_caller_profile_t *)jarg2; 
-  switch_channel_set_caller_profile(arg1,arg2);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_caller_profile(void * jarg1) {
-  void * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_caller_profile_t *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (switch_caller_profile_t *)switch_channel_get_caller_profile(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_set_originator_caller_profile(void * jarg1, void * jarg2) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_caller_profile_t *)jarg2; 
-  switch_channel_set_originator_caller_profile(arg1,arg2);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_originator_caller_profile(void * jarg1) {
-  void * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_caller_profile_t *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (switch_caller_profile_t *)switch_channel_get_originator_caller_profile(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_set_originatee_caller_profile(void * jarg1, void * jarg2) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_caller_profile_t *)jarg2; 
-  switch_channel_set_originatee_caller_profile(arg1,arg2);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_originatee_caller_profile(void * jarg1) {
-  void * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_caller_profile_t *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (switch_caller_profile_t *)switch_channel_get_originatee_caller_profile(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_get_uuid(void * jarg1) {
-  char * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (char *)switch_channel_get_uuid(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_variable(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_variable(arg1,(char const *)arg2,(char const *)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_variable_printf(void * jarg1, char * jarg2, char * jarg3) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  void *arg4 = 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (switch_status_t)switch_channel_set_variable_printf(arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_variable_partner(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_variable_partner(arg1,(char const *)arg2,(char const *)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_get_variable_partner(void * jarg1, char * jarg2) {
-  char * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)switch_channel_get_variable_partner(arg1,(char const *)arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_get_variable(void * jarg1, char * jarg2) {
-  char * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)switch_channel_get_variable(arg1,(char const *)arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_get_variables(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_event_t **arg2 = (switch_event_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_event_t **)jarg2; 
-  result = (switch_status_t)switch_channel_get_variables(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 ;
-  switch_event_header_t *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (switch_event_header_t *)switch_channel_variable_first(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_variable_last(void * jarg1) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  switch_channel_variable_last(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_set_caller_extension(void * jarg1, void * jarg2) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_caller_extension_t *arg2 = (switch_caller_extension_t *) 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_caller_extension_t *)jarg2; 
-  switch_channel_set_caller_extension(arg1,arg2);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_caller_extension(void * jarg1) {
-  void * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_caller_extension_t *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (switch_caller_extension_t *)switch_channel_get_caller_extension(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_channel_test_flag(void * jarg1, unsigned long jarg2) {
-  unsigned long jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_channel_flag_t arg2 ;
-  uint32_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_channel_flag_t)jarg2; 
-  result = (uint32_t)switch_channel_test_flag(arg1,arg2);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_set_flag(void * jarg1, unsigned long jarg2) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_channel_flag_t arg2 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_channel_flag_t)jarg2; 
-  switch_channel_set_flag(arg1,arg2);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_flag_partner(void * jarg1, unsigned long jarg2) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_channel_flag_t arg2 ;
-  switch_bool_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_channel_flag_t)jarg2; 
-  result = (switch_bool_t)switch_channel_set_flag_partner(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_clear_flag_partner(void * jarg1, unsigned long jarg2) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_channel_flag_t arg2 ;
-  switch_bool_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_channel_flag_t)jarg2; 
-  result = (switch_bool_t)switch_channel_clear_flag_partner(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_set_state_flag(void * jarg1, unsigned long jarg2) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_channel_flag_t arg2 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_channel_flag_t)jarg2; 
-  switch_channel_set_state_flag(arg1,arg2);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_clear_flag(void * jarg1, unsigned long jarg2) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_channel_flag_t arg2 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_channel_flag_t)jarg2; 
-  switch_channel_clear_flag(arg1,arg2);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_answer(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_channel_perform_answer(arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_mark_answered(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_channel_perform_mark_answered(arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_ring_ready(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_channel_perform_ring_ready(arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_pre_answer(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_channel_perform_pre_answer(arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_mark_pre_answered(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_channel_perform_mark_pre_answered(arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_mark_ring_ready(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (switch_status_t)switch_channel_perform_mark_ring_ready(arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_add_state_handler(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_state_handler_table_t *arg2 = (switch_state_handler_table_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_state_handler_table_t *)jarg2; 
-  result = (int)switch_channel_add_state_handler(arg1,(switch_state_handler_table const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_clear_state_handler(void * jarg1, void * jarg2) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_state_handler_table_t *arg2 = (switch_state_handler_table_t *) 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_state_handler_table_t *)jarg2; 
-  switch_channel_clear_state_handler(arg1,(switch_state_handler_table const *)arg2);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_state_handler(void * jarg1, int jarg2) {
-  void * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  int arg2 ;
-  switch_state_handler_table_t *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  result = (switch_state_handler_table_t *)switch_channel_get_state_handler(arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_private(void * jarg1, char * jarg2, void * jarg3) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  void *arg3 = (void *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (void *)jarg3; 
-  result = (switch_status_t)switch_channel_set_private(arg1,(char const *)arg2,(void const *)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_private(void * jarg1, char * jarg2) {
-  void * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (void *)switch_channel_get_private(arg1,(char const *)arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_name(void * jarg1, char * jarg2) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_channel_set_name(arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_get_name(void * jarg1) {
-  char * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (char *)switch_channel_get_name(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_hangup(void * jarg1, char * jarg2, char * jarg3, int jarg4, int jarg5) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  switch_call_cause_t arg5 ;
-  switch_channel_state_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  arg5 = (switch_call_cause_t)jarg5; 
-  result = (switch_channel_state_t)switch_channel_perform_hangup(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_has_dtmf(void * jarg1) {
-  void * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = switch_channel_has_dtmf(arg1);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_queue_dtmf(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_dtmf_t *)jarg2; 
-  result = (switch_status_t)switch_channel_queue_dtmf(arg1,(switch_dtmf_t const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_queue_dtmf_string(void * jarg1, char * jarg2) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_channel_queue_dtmf_string(arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_dequeue_dtmf(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_dtmf_t *)jarg2; 
-  result = (switch_status_t)switch_channel_dequeue_dtmf(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_flush_dtmf(void * jarg1) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  switch_channel_flush_dtmf(arg1);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_dequeue_dtmf_string(void * jarg1, char * jarg2, void * jarg3) {
-  void * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_size_t arg3 ;
-  switch_size_t *argp3 ;
-  switch_size_t result;
-  
-  arg1 = (switch_channel_t *)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 = switch_channel_dequeue_dtmf_string(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_state_name(int jarg1) {
-  char * jresult ;
-  switch_channel_state_t arg1 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_channel_state_t)jarg1; 
-  result = (char *)switch_channel_state_name(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_name_state(char * jarg1) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_channel_state_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_channel_state_t)switch_channel_name_state((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_event_set_data(void * jarg1, void * jarg2) {
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_event_t *arg2 = (switch_event_t *) 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_event_t *)jarg2; 
-  switch_channel_event_set_data(arg1,arg2);
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_expand_variables(void * jarg1, char * jarg2) {
-  char * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)switch_channel_expand_variables(arg1,(char const *)arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_build_param_string(void * jarg1, void * jarg2, char * jarg3) {
-  char * jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  arg2 = (switch_caller_profile_t *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (char *)switch_channel_build_param_string(arg1,arg2,(char const *)arg3);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_timestamps(void * jarg1) {
-  int jresult ;
-  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_channel_t *)jarg1; 
-  result = (switch_status_t)switch_channel_set_timestamps(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_buffer_create(void * jarg1, void * jarg2, void * jarg3) {
-  int jresult ;
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  switch_buffer_t **arg2 = (switch_buffer_t **) 0 ;
-  switch_size_t arg3 ;
-  switch_size_t *argp3 ;
-  switch_status_t result;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  arg2 = (switch_buffer_t **)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_status_t)switch_buffer_create(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_buffer_create_dynamic(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
-  int jresult ;
-  switch_buffer_t **arg1 = (switch_buffer_t **) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t arg3 ;
-  switch_size_t arg4 ;
-  switch_size_t *argp2 ;
-  switch_size_t *argp3 ;
-  switch_size_t *argp4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_buffer_t **)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
-  argp3 = (switch_size_t *)jarg3; 
-  if (!argp3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg3 = *argp3; 
-  argp4 = (switch_size_t *)jarg4; 
-  if (!argp4) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg4 = *argp4; 
-  result = (switch_status_t)switch_buffer_create_dynamic(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_add_mutex(void * jarg1, void * jarg2) {
-  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
-  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
-  
-  arg1 = (switch_buffer_t *)jarg1; 
-  arg2 = (switch_mutex_t *)jarg2; 
-  switch_buffer_add_mutex(arg1,arg2);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_lock(void * jarg1) {
-  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
-  
-  arg1 = (switch_buffer_t *)jarg1; 
-  switch_buffer_lock(arg1);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_buffer_trylock(void * jarg1) {
-  int jresult ;
-  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_buffer_t *)jarg1; 
-  result = (switch_status_t)switch_buffer_trylock(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_unlock(void * jarg1) {
-  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
-  
-  arg1 = (switch_buffer_t *)jarg1; 
-  switch_buffer_unlock(arg1);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_len(void * jarg1) {
-  void * jresult ;
-  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_buffer_t *)jarg1; 
-  result = switch_buffer_len(arg1);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_freespace(void * jarg1) {
-  void * jresult ;
-  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_buffer_t *)jarg1; 
-  result = switch_buffer_freespace(arg1);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_inuse(void * jarg1) {
-  void * jresult ;
-  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_buffer_t *)jarg1; 
-  result = switch_buffer_inuse(arg1);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_read(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 *argp3 ;
-  switch_size_t result;
-  
-  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_read(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_read_loop(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 *argp3 ;
-  switch_size_t result;
-  
-  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_read_loop(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_set_loops(void * jarg1, int jarg2) {
-  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
-  int32_t arg2 ;
-  
-  arg1 = (switch_buffer_t *)jarg1; 
-  arg2 = (int32_t)jarg2; 
-  switch_buffer_set_loops(arg1,arg2);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_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 *argp3 ;
-  switch_size_t result;
-  
-  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_write(arg1,(void const *)arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_toss(void * jarg1, void * jarg2) {
-  void * jresult ;
-  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  switch_size_t result;
-  
-  arg1 = (switch_buffer_t *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
-  result = switch_buffer_toss(arg1,arg2);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_zero(void * jarg1) {
-  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
-  
-  arg1 = (switch_buffer_t *)jarg1; 
-  switch_buffer_zero(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_destroy(void * jarg1) {
-  switch_buffer_t **arg1 = (switch_buffer_t **) 0 ;
-  
-  arg1 = (switch_buffer_t **)jarg1; 
-  switch_buffer_destroy(arg1);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_zwrite(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 *argp3 ;
-  switch_size_t result;
-  
-  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_zwrite(arg1,(void const *)arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)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 ;
-  
-  arg1 = (switch_event_header *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->name) delete [] arg1->name;
-    if (arg2) {
-      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->name, (const char *)arg2);
-    } else {
-      arg1->name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_header_name_get(void * jarg1) {
-  char * jresult ;
-  switch_event_header *arg1 = (switch_event_header *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_event_header *)jarg1; 
-  result = (char *) ((arg1)->name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_header_value_set(void * jarg1, char * jarg2) {
-  switch_event_header *arg1 = (switch_event_header *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_event_header *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->value) delete [] arg1->value;
-    if (arg2) {
-      arg1->value = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->value, (const char *)arg2);
-    } else {
-      arg1->value = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_header_value_get(void * jarg1) {
-  char * jresult ;
-  switch_event_header *arg1 = (switch_event_header *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_event_header *)jarg1; 
-  result = (char *) ((arg1)->value);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_header_next_set(void * jarg1, void * jarg2) {
-  switch_event_header *arg1 = (switch_event_header *) 0 ;
-  switch_event_header *arg2 = (switch_event_header *) 0 ;
-  
-  arg1 = (switch_event_header *)jarg1; 
-  arg2 = (switch_event_header *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_event_header_next_get(void * jarg1) {
-  void * jresult ;
-  switch_event_header *arg1 = (switch_event_header *) 0 ;
-  switch_event_header *result = 0 ;
-  
-  arg1 = (switch_event_header *)jarg1; 
-  result = (switch_event_header *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_event_header() {
-  void * jresult ;
-  switch_event_header *result = 0 ;
-  
-  result = (switch_event_header *)new switch_event_header();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_event_header(void * jarg1) {
-  switch_event_header *arg1 = (switch_event_header *) 0 ;
-  
-  arg1 = (switch_event_header *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_event_id_set(void * jarg1, int jarg2) {
-  switch_event *arg1 = (switch_event *) 0 ;
-  switch_event_types_t arg2 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  arg2 = (switch_event_types_t)jarg2; 
-  if (arg1) (arg1)->event_id = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_event_id_get(void * jarg1) {
-  int jresult ;
-  switch_event *arg1 = (switch_event *) 0 ;
-  switch_event_types_t result;
-  
-  arg1 = (switch_event *)jarg1; 
-  result = (switch_event_types_t) ((arg1)->event_id);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_priority_set(void * jarg1, int jarg2) {
-  switch_event *arg1 = (switch_event *) 0 ;
-  switch_priority_t arg2 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  arg2 = (switch_priority_t)jarg2; 
-  if (arg1) (arg1)->priority = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_priority_get(void * jarg1) {
-  int jresult ;
-  switch_event *arg1 = (switch_event *) 0 ;
-  switch_priority_t result;
-  
-  arg1 = (switch_event *)jarg1; 
-  result = (switch_priority_t) ((arg1)->priority);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_owner_set(void * jarg1, char * jarg2) {
-  switch_event *arg1 = (switch_event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->owner) delete [] arg1->owner;
-    if (arg2) {
-      arg1->owner = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->owner, (const char *)arg2);
-    } else {
-      arg1->owner = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_owner_get(void * jarg1) {
-  char * jresult ;
-  switch_event *arg1 = (switch_event *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  result = (char *) ((arg1)->owner);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_subclass_name_set(void * jarg1, char * jarg2) {
-  switch_event *arg1 = (switch_event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->subclass_name) delete [] arg1->subclass_name;
-    if (arg2) {
-      arg1->subclass_name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->subclass_name, (const char *)arg2);
-    } else {
-      arg1->subclass_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_subclass_name_get(void * jarg1) {
-  char * jresult ;
-  switch_event *arg1 = (switch_event *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  result = (char *) ((arg1)->subclass_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_headers_set(void * jarg1, void * jarg2) {
-  switch_event *arg1 = (switch_event *) 0 ;
-  switch_event_header_t *arg2 = (switch_event_header_t *) 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  arg2 = (switch_event_header_t *)jarg2; 
-  if (arg1) (arg1)->headers = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_event_headers_get(void * jarg1) {
-  void * jresult ;
-  switch_event *arg1 = (switch_event *) 0 ;
-  switch_event_header_t *result = 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  result = (switch_event_header_t *) ((arg1)->headers);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_last_header_set(void * jarg1, void * jarg2) {
-  switch_event *arg1 = (switch_event *) 0 ;
-  switch_event_header_t *arg2 = (switch_event_header_t *) 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  arg2 = (switch_event_header_t *)jarg2; 
-  if (arg1) (arg1)->last_header = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_event_last_header_get(void * jarg1) {
-  void * jresult ;
-  switch_event *arg1 = (switch_event *) 0 ;
-  switch_event_header_t *result = 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  result = (switch_event_header_t *) ((arg1)->last_header);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_body_set(void * jarg1, char * jarg2) {
-  switch_event *arg1 = (switch_event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->body) delete [] arg1->body;
-    if (arg2) {
-      arg1->body = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->body, (const char *)arg2);
-    } else {
-      arg1->body = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_body_get(void * jarg1) {
-  char * jresult ;
-  switch_event *arg1 = (switch_event *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  result = (char *) ((arg1)->body);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_bind_user_data_set(void * jarg1, void * jarg2) {
-  switch_event *arg1 = (switch_event *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->bind_user_data = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_event_bind_user_data_get(void * jarg1) {
-  void * jresult ;
-  switch_event *arg1 = (switch_event *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  result = (void *) ((arg1)->bind_user_data);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_event_user_data_set(void * jarg1, void * jarg2) {
-  switch_event *arg1 = (switch_event *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->event_user_data = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_event_event_user_data_get(void * jarg1) {
-  void * jresult ;
-  switch_event *arg1 = (switch_event *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  result = (void *) ((arg1)->event_user_data);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_key_set(void * jarg1, unsigned long jarg2) {
-  switch_event *arg1 = (switch_event *) 0 ;
-  unsigned long arg2 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  arg2 = (unsigned long)jarg2; 
-  if (arg1) (arg1)->key = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_event_key_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_event *arg1 = (switch_event *) 0 ;
-  unsigned long result;
-  
-  arg1 = (switch_event *)jarg1; 
-  result = (unsigned long) ((arg1)->key);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_next_set(void * jarg1, void * jarg2) {
-  switch_event *arg1 = (switch_event *) 0 ;
-  switch_event *arg2 = (switch_event *) 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  arg2 = (switch_event *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_event_next_get(void * jarg1) {
-  void * jresult ;
-  switch_event *arg1 = (switch_event *) 0 ;
-  switch_event *result = 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  result = (switch_event *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_event() {
-  void * jresult ;
-  switch_event *result = 0 ;
-  
-  result = (switch_event *)new switch_event();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_event(void * jarg1) {
-  switch_event *arg1 = (switch_event *) 0 ;
-  
-  arg1 = (switch_event *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_init(void * jarg1) {
-  int jresult ;
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  result = (switch_status_t)switch_event_init(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_shutdown() {
-  int jresult ;
-  switch_status_t result;
-  
-  result = (switch_status_t)switch_event_shutdown();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_create_subclass(void * jarg1, int jarg2, char * jarg3) {
-  int jresult ;
-  switch_event_t **arg1 = (switch_event_t **) 0 ;
-  switch_event_types_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_event_t **)jarg1; 
-  arg2 = (switch_event_types_t)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (switch_status_t)switch_event_create_subclass(arg1,arg2,(char const *)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_set_priority(void * jarg1, int jarg2) {
-  int jresult ;
-  switch_event_t *arg1 = (switch_event_t *) 0 ;
-  switch_priority_t arg2 ;
-  switch_status_t result;
-  
-  arg1 = (switch_event_t *)jarg1; 
-  arg2 = (switch_priority_t)jarg2; 
-  result = (switch_status_t)switch_event_set_priority(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_get_header(void * jarg1, char * jarg2) {
-  char * jresult ;
-  switch_event_t *arg1 = (switch_event_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_event_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)switch_event_get_header(arg1,(char const *)arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_get_body(void * jarg1) {
-  char * jresult ;
-  switch_event_t *arg1 = (switch_event_t *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_event_t *)jarg1; 
-  result = (char *)switch_event_get_body(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_add_header_string(void * jarg1, int jarg2, char * jarg3, char * jarg4) {
-  int jresult ;
-  switch_event_t *arg1 = (switch_event_t *) 0 ;
-  switch_stack_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_event_t *)jarg1; 
-  arg2 = (switch_stack_t)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  result = (switch_status_t)switch_event_add_header_string(arg1,arg2,(char const *)arg3,(char const *)arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_del_header(void * jarg1, char * jarg2) {
-  int jresult ;
-  switch_event_t *arg1 = (switch_event_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_event_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_event_del_header(arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_destroy(void * jarg1) {
-  switch_event_t **arg1 = (switch_event_t **) 0 ;
-  
-  arg1 = (switch_event_t **)jarg1; 
-  switch_event_destroy(arg1);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_dup(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_event_t **arg1 = (switch_event_t **) 0 ;
-  switch_event_t *arg2 = (switch_event_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_event_t **)jarg1; 
-  arg2 = (switch_event_t *)jarg2; 
-  result = (switch_status_t)switch_event_dup(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_fire_detailed(char * jarg1, char * jarg2, int jarg3, void * jarg4, void * jarg5) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int arg3 ;
-  switch_event_t **arg4 = (switch_event_t **) 0 ;
-  void *arg5 = (void *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (int)jarg3; 
-  arg4 = (switch_event_t **)jarg4; 
-  arg5 = (void *)jarg5; 
-  result = (switch_status_t)switch_event_fire_detailed((char const *)arg1,(char const *)arg2,arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_bind(char * jarg1, int jarg2, char * jarg3, void * jarg4, void * jarg5) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_event_types_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  switch_event_callback_t arg4 = (switch_event_callback_t) 0 ;
-  void *arg5 = (void *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_event_types_t)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (switch_event_callback_t)jarg4; 
-  arg5 = (void *)jarg5; 
-  result = (switch_status_t)switch_event_bind((char const *)arg1,arg2,(char const *)arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_bind_removable(char * jarg1, int jarg2, char * jarg3, void * jarg4, void * jarg5, void * jarg6) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_event_types_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  switch_event_callback_t arg4 = (switch_event_callback_t) 0 ;
-  void *arg5 = (void *) 0 ;
-  switch_event_node_t **arg6 = (switch_event_node_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_event_types_t)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (switch_event_callback_t)jarg4; 
-  arg5 = (void *)jarg5; 
-  arg6 = (switch_event_node_t **)jarg6; 
-  result = (switch_status_t)switch_event_bind_removable((char const *)arg1,arg2,(char const *)arg3,arg4,arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_unbind(void * jarg1) {
-  int jresult ;
-  switch_event_node_t **arg1 = (switch_event_node_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_event_node_t **)jarg1; 
-  result = (switch_status_t)switch_event_unbind(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_unbind_callback(void * jarg1) {
-  int jresult ;
-  switch_event_callback_t arg1 = (switch_event_callback_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_event_callback_t)jarg1; 
-  result = (switch_status_t)switch_event_unbind_callback(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_name(int jarg1) {
-  char * jresult ;
-  switch_event_types_t arg1 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_event_types_t)jarg1; 
-  result = (char *)switch_event_name(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_name_event(char * jarg1, void * jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_event_types_t *arg2 = (switch_event_types_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_event_types_t *)jarg2; 
-  result = (switch_status_t)switch_name_event((char const *)arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_reserve_subclass_detailed(char * jarg1, char * jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_event_reserve_subclass_detailed((char const *)arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_free_subclass_detailed(char * jarg1, char * jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_event_free_subclass_detailed((char const *)arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_serialize(void * jarg1, void * jarg2, int jarg3) {
-  int jresult ;
-  switch_event_t *arg1 = (switch_event_t *) 0 ;
-  char **arg2 = (char **) 0 ;
-  switch_bool_t arg3 ;
-  switch_status_t result;
-  
-  arg1 = (switch_event_t *)jarg1; 
-  arg2 = (char **)jarg2; 
-  arg3 = (switch_bool_t)jarg3; 
-  result = (switch_status_t)switch_event_serialize(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_running() {
-  int jresult ;
-  switch_status_t result;
-  
-  result = (switch_status_t)switch_event_running();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_expand_headers(void * jarg1, char * jarg2) {
-  char * jresult ;
-  switch_event_t *arg1 = (switch_event_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_event_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)switch_event_expand_headers(arg1,(char const *)arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_create_pres_in_detailed(char * jarg1, char * jarg2, int jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, char * jarg10, int jarg11, char * jarg12, char * jarg13, char * jarg14, char * jarg15) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int arg3 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  char *arg6 = (char *) 0 ;
-  char *arg7 = (char *) 0 ;
-  char *arg8 = (char *) 0 ;
-  char *arg9 = (char *) 0 ;
-  char *arg10 = (char *) 0 ;
-  int arg11 ;
-  char *arg12 = (char *) 0 ;
-  char *arg13 = (char *) 0 ;
-  char *arg14 = (char *) 0 ;
-  char *arg15 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (int)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (char *)jarg6; 
-  arg7 = (char *)jarg7; 
-  arg8 = (char *)jarg8; 
-  arg9 = (char *)jarg9; 
-  arg10 = (char *)jarg10; 
-  arg11 = (int)jarg11; 
-  arg12 = (char *)jarg12; 
-  arg13 = (char *)jarg13; 
-  arg14 = (char *)jarg14; 
-  arg15 = (char *)jarg15; 
-  result = (switch_status_t)switch_event_create_pres_in_detailed(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,(char const *)arg10,arg11,(char const *)arg12,(char const *)arg13,(char const *)arg14,(char const *)arg15);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_deliver(void * jarg1) {
-  switch_event_t **arg1 = (switch_event_t **) 0 ;
-  
-  arg1 = (switch_event_t **)jarg1; 
-  switch_event_deliver(arg1);
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_build_param_string(void * jarg1, char * jarg2, void * jarg3) {
-  char * jresult ;
-  switch_event_t *arg1 = (switch_event_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_hash_t *arg3 = (switch_hash_t *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_event_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_hash_t *)jarg3; 
-  result = (char *)switch_event_build_param_string(arg1,(char const *)arg2,arg3);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_resampler_set(void * jarg1, void * jarg2) {
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->resampler = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_resampler_get(void * jarg1) {
-  void * jresult ;
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  result = (void *) ((arg1)->resampler);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_rate_set(void * jarg1, int jarg2) {
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->from_rate = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_audio_resampler_t_from_rate_get(void * jarg1) {
-  int jresult ;
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  result = (int) ((arg1)->from_rate);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_to_rate_set(void * jarg1, int jarg2) {
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->to_rate = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_audio_resampler_t_to_rate_get(void * jarg1) {
-  int jresult ;
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  result = (int) ((arg1)->to_rate);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_factor_set(void * jarg1, double jarg2) {
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  double arg2 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  arg2 = (double)jarg2; 
-  if (arg1) (arg1)->factor = arg2;
-}
-
-
-SWIGEXPORT double SWIGSTDCALL CSharp_switch_audio_resampler_t_factor_get(void * jarg1) {
-  double jresult ;
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  double result;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  result = (double) ((arg1)->factor);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_rfactor_set(void * jarg1, double jarg2) {
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  double arg2 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  arg2 = (double)jarg2; 
-  if (arg1) (arg1)->rfactor = arg2;
-}
-
-
-SWIGEXPORT double SWIGSTDCALL CSharp_switch_audio_resampler_t_rfactor_get(void * jarg1) {
-  double jresult ;
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  double result;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  result = (double) ((arg1)->rfactor);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_set(void * jarg1, void * jarg2) {
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  float *arg2 = (float *) 0 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  arg2 = (float *)jarg2; 
-  if (arg1) (arg1)->from = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_from_get(void * jarg1) {
-  void * jresult ;
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  float *result = 0 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  result = (float *) ((arg1)->from);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_len_set(void * jarg1, int jarg2) {
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->from_len = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_audio_resampler_t_from_len_get(void * jarg1) {
-  int jresult ;
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  result = (int) ((arg1)->from_len);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_size_set(void * jarg1, void * jarg2) {
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->from_size = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_from_size_get(void * jarg1) {
-  void * jresult ;
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  result =  ((arg1)->from_size);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_to_set(void * jarg1, void * jarg2) {
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  float *arg2 = (float *) 0 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  arg2 = (float *)jarg2; 
-  if (arg1) (arg1)->to = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_to_get(void * jarg1) {
-  void * jresult ;
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  float *result = 0 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  result = (float *) ((arg1)->to);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_to_len_set(void * jarg1, unsigned long jarg2) {
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->to_len = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_audio_resampler_t_to_len_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  result = (uint32_t) ((arg1)->to_len);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_to_size_set(void * jarg1, unsigned long jarg2) {
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->to_size = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_audio_resampler_t_to_size_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  result = (uint32_t) ((arg1)->to_size);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_audio_resampler_t() {
-  void * jresult ;
-  switch_audio_resampler_t *result = 0 ;
-  
-  result = (switch_audio_resampler_t *)new switch_audio_resampler_t();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_audio_resampler_t(void * jarg1) {
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_resample_create(void * jarg1, int jarg2, void * jarg3, int jarg4, unsigned long jarg5, void * jarg6) {
-  int jresult ;
-  switch_audio_resampler_t **arg1 = (switch_audio_resampler_t **) 0 ;
-  int arg2 ;
-  switch_size_t arg3 ;
-  int arg4 ;
-  uint32_t arg5 ;
-  switch_memory_pool_t *arg6 = (switch_memory_pool_t *) 0 ;
-  switch_size_t *argp3 ;
-  switch_status_t result;
-  
-  arg1 = (switch_audio_resampler_t **)jarg1; 
-  arg2 = (int)jarg2; 
-  argp3 = (switch_size_t *)jarg3; 
-  if (!argp3) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg3 = *argp3; 
-  arg4 = (int)jarg4; 
-  arg5 = (uint32_t)jarg5; 
-  arg6 = (switch_memory_pool_t *)jarg6; 
-  result = (switch_status_t)switch_resample_create(arg1,arg2,arg3,arg4,arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_resample_destroy(void * jarg1) {
-  switch_audio_resampler_t **arg1 = (switch_audio_resampler_t **) 0 ;
-  
-  arg1 = (switch_audio_resampler_t **)jarg1; 
-  switch_resample_destroy(arg1);
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_resample_process(void * jarg1, void * jarg2, int jarg3, void * jarg4, unsigned long jarg5, int jarg6) {
-  unsigned long jresult ;
-  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
-  float *arg2 = (float *) 0 ;
-  int arg3 ;
-  float *arg4 = (float *) 0 ;
-  uint32_t arg5 ;
-  int arg6 ;
-  uint32_t result;
-  
-  arg1 = (switch_audio_resampler_t *)jarg1; 
-  arg2 = (float *)jarg2; 
-  arg3 = (int)jarg3; 
-  arg4 = (float *)jarg4; 
-  arg5 = (uint32_t)jarg5; 
-  arg6 = (int)jarg6; 
-  result = (uint32_t)switch_resample_process(arg1,arg2,arg3,arg4,arg5,arg6);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_float_to_short(void * jarg1, void * jarg2, void * jarg3) {
-  void * jresult ;
-  float *arg1 = (float *) 0 ;
-  short *arg2 = (short *) 0 ;
-  switch_size_t arg3 ;
-  switch_size_t *argp3 ;
-  switch_size_t result;
-  
-  arg1 = (float *)jarg1; 
-  arg2 = (short *)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_float_to_short(arg1,arg2,arg3);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_char_to_float(char * jarg1, void * jarg2, int jarg3) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  float *arg2 = (float *) 0 ;
-  int arg3 ;
-  int result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (float *)jarg2; 
-  arg3 = (int)jarg3; 
-  result = (int)switch_char_to_float(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_float_to_char(void * jarg1, char * jarg2, int jarg3) {
-  int jresult ;
-  float *arg1 = (float *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int arg3 ;
-  int result;
-  
-  arg1 = (float *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (int)jarg3; 
-  result = (int)switch_float_to_char(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_short_to_float(void * jarg1, void * jarg2, int jarg3) {
-  int jresult ;
-  short *arg1 = (short *) 0 ;
-  float *arg2 = (float *) 0 ;
-  int arg3 ;
-  int result;
-  
-  arg1 = (short *)jarg1; 
-  arg2 = (float *)jarg2; 
-  arg3 = (int)jarg3; 
-  result = (int)switch_short_to_float(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_swap_linear(void * jarg1, int jarg2) {
-  int16_t *arg1 = (int16_t *) 0 ;
-  int arg2 ;
-  
-  arg1 = (int16_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  switch_swap_linear(arg1,arg2);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_generate_sln_silence(void * jarg1, unsigned long jarg2, unsigned long jarg3) {
-  int16_t *arg1 = (int16_t *) 0 ;
-  uint32_t arg2 ;
-  uint32_t arg3 ;
-  
-  arg1 = (int16_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  arg3 = (uint32_t)jarg3; 
-  switch_generate_sln_silence(arg1,arg2,arg3);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_change_sln_volume(void * jarg1, unsigned long jarg2, int jarg3) {
-  int16_t *arg1 = (int16_t *) 0 ;
-  uint32_t arg2 ;
-  int32_t arg3 ;
-  
-  arg1 = (int16_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  arg3 = (int32_t)jarg3; 
-  switch_change_sln_volume(arg1,arg2,arg3);
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_merge_sln(void * jarg1, unsigned long jarg2, void * jarg3, unsigned long jarg4) {
-  unsigned long jresult ;
-  int16_t *arg1 = (int16_t *) 0 ;
-  uint32_t arg2 ;
-  int16_t *arg3 = (int16_t *) 0 ;
-  uint32_t arg4 ;
-  uint32_t result;
-  
-  arg1 = (int16_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  arg3 = (int16_t *)jarg3; 
-  arg4 = (uint32_t)jarg4; 
-  result = (uint32_t)switch_merge_sln(arg1,arg2,arg3,arg4);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_session_set(void * jarg1, void * jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (switch_core_session_t *)jarg2; 
-  if (arg1) (arg1)->session = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_session_get(void * jarg1) {
-  void * jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_core_session_t *result = 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (switch_core_session_t *) ((arg1)->session);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_read_codec_set(void * jarg1, void * jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (switch_codec_t *)jarg2; 
-  if (arg1) (arg1)->read_codec = *arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_read_codec_get(void * jarg1) {
-  void * jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_codec_t *result = 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (switch_codec_t *)& ((arg1)->read_codec);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_write_frame_set(void * jarg1, void * jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (switch_frame_t *)jarg2; 
-  if (arg1) (arg1)->write_frame = *arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_write_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_frame_t *result = 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (switch_frame_t *)& ((arg1)->write_frame);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_write_frame_data_set(void * jarg1, void * jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_byte_t *arg2 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (switch_byte_t *)jarg2; 
-  {
-    size_t ii;
-    switch_byte_t *b = (switch_byte_t *) arg1->write_frame_data;
-    for (ii = 0; ii < (size_t)(2*32*(120+10)); ii++) b[ii] = *((switch_byte_t *) arg2 + ii);
-  }
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_write_frame_data_get(void * jarg1) {
-  void * jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_byte_t *result = 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (switch_byte_t *)(switch_byte_t *) ((arg1)->write_frame_data);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_socket_set(void * jarg1, void * jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_socket_t *arg2 = (switch_socket_t *) 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (switch_socket_t *)jarg2; 
-  if (arg1) (arg1)->socket = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_socket_get(void * jarg1) {
-  void * jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_socket_t *result = 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (switch_socket_t *) ((arg1)->socket);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_local_ip_set(void * jarg1, char * jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->local_ip) delete [] arg1->local_ip;
-    if (arg2) {
-      arg1->local_ip = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->local_ip, (const char *)arg2);
-    } else {
-      arg1->local_ip = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_unicast_conninfo_local_ip_get(void * jarg1) {
-  char * jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (char *) ((arg1)->local_ip);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_local_port_set(void * jarg1, unsigned short jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_port_t arg2 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (switch_port_t)jarg2; 
-  if (arg1) (arg1)->local_port = arg2;
-}
-
-
-SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_unicast_conninfo_local_port_get(void * jarg1) {
-  unsigned short jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_port_t result;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (switch_port_t) ((arg1)->local_port);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_remote_ip_set(void * jarg1, char * jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->remote_ip) delete [] arg1->remote_ip;
-    if (arg2) {
-      arg1->remote_ip = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->remote_ip, (const char *)arg2);
-    } else {
-      arg1->remote_ip = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_unicast_conninfo_remote_ip_get(void * jarg1) {
-  char * jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (char *) ((arg1)->remote_ip);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_remote_port_set(void * jarg1, unsigned short jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_port_t arg2 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (switch_port_t)jarg2; 
-  if (arg1) (arg1)->remote_port = arg2;
-}
-
-
-SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_unicast_conninfo_remote_port_get(void * jarg1) {
-  unsigned short jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_port_t result;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (switch_port_t) ((arg1)->remote_port);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_local_addr_set(void * jarg1, void * jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_sockaddr_t *arg2 = (switch_sockaddr_t *) 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (switch_sockaddr_t *)jarg2; 
-  if (arg1) (arg1)->local_addr = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_local_addr_get(void * jarg1) {
-  void * jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_sockaddr_t *result = 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (switch_sockaddr_t *) ((arg1)->local_addr);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_remote_addr_set(void * jarg1, void * jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_sockaddr_t *arg2 = (switch_sockaddr_t *) 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (switch_sockaddr_t *)jarg2; 
-  if (arg1) (arg1)->remote_addr = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_remote_addr_get(void * jarg1) {
-  void * jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_sockaddr_t *result = 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (switch_sockaddr_t *) ((arg1)->remote_addr);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_flag_mutex_set(void * jarg1, void * jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (switch_mutex_t *)jarg2; 
-  if (arg1) (arg1)->flag_mutex = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_flag_mutex_get(void * jarg1) {
-  void * jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  switch_mutex_t *result = 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (switch_mutex_t *) ((arg1)->flag_mutex);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_flags_set(void * jarg1, int jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  int32_t arg2 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (int32_t)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_unicast_conninfo_flags_get(void * jarg1) {
-  int jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  int32_t result;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (int32_t) ((arg1)->flags);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_type_set(void * jarg1, int jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->type = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_unicast_conninfo_type_get(void * jarg1) {
-  int jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  int result;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (int) ((arg1)->type);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_transport_set(void * jarg1, int jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->transport = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_unicast_conninfo_transport_get(void * jarg1) {
-  int jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  int result;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (int) ((arg1)->transport);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_stream_id_set(void * jarg1, int jarg2) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->stream_id = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_unicast_conninfo_stream_id_get(void * jarg1) {
-  int jresult ;
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  int result;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  result = (int) ((arg1)->stream_id);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_unicast_conninfo() {
-  void * jresult ;
-  switch_unicast_conninfo *result = 0 ;
-  
-  result = (switch_unicast_conninfo *)new switch_unicast_conninfo();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_unicast_conninfo(void * jarg1) {
-  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
-  
-  arg1 = (switch_unicast_conninfo *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_deactivate_unicast(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_ivr_deactivate_unicast(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_activate_unicast(void * jarg1, char * jarg2, unsigned short jarg3, char * jarg4, unsigned short jarg5, char * jarg6, char * jarg7) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_port_t arg3 ;
-  char *arg4 = (char *) 0 ;
-  switch_port_t arg5 ;
-  char *arg6 = (char *) 0 ;
-  char *arg7 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_port_t)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (switch_port_t)jarg5; 
-  arg6 = (char *)jarg6; 
-  arg7 = (char *)jarg7; 
-  result = (switch_status_t)switch_ivr_activate_unicast(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_generate_xml_cdr(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_xml_t *arg2 = (switch_xml_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_xml_t *)jarg2; 
-  result = (switch_status_t)switch_ivr_generate_xml_cdr(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_set_xml_profile_data(void * jarg1, void * jarg2, int jarg3) {
-  int jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
-  int arg3 ;
-  int result;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  arg2 = (switch_caller_profile_t *)jarg2; 
-  arg3 = (int)jarg3; 
-  result = (int)switch_ivr_set_xml_profile_data(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_set_xml_chan_vars(void * jarg1, void * jarg2, int jarg3) {
-  int jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
-  int arg3 ;
-  int result;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  arg2 = (switch_channel_t *)jarg2; 
-  arg3 = (int)jarg3; 
-  result = (int)switch_ivr_set_xml_chan_vars(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_parse_event(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_event_t *arg2 = (switch_event_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_event_t *)jarg2; 
-  result = (switch_status_t)switch_ivr_parse_event(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_parse_all_events(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_ivr_parse_all_events(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_parse_next_event(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_ivr_parse_next_event(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_sleep(void * jarg1, unsigned long jarg2, void * jarg3) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  uint32_t arg2 ;
-  switch_input_args_t *arg3 = (switch_input_args_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  arg3 = (switch_input_args_t *)jarg3; 
-  result = (switch_status_t)switch_ivr_sleep(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_park(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_input_args_t *arg2 = (switch_input_args_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_input_args_t *)jarg2; 
-  result = (switch_status_t)switch_ivr_park(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_collect_digits_callback(void * jarg1, void * jarg2, unsigned long jarg3) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_input_args_t *arg2 = (switch_input_args_t *) 0 ;
-  uint32_t arg3 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_input_args_t *)jarg2; 
-  arg3 = (uint32_t)jarg3; 
-  result = (switch_status_t)switch_ivr_collect_digits_callback(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_collect_digits_count(void * jarg1, char * jarg2, void * jarg3, void * jarg4, char * jarg5, char * jarg6, unsigned long jarg7, unsigned long jarg8, unsigned long jarg9) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_size_t arg3 ;
-  switch_size_t arg4 ;
-  char *arg5 = (char *) 0 ;
-  char *arg6 = (char *) 0 ;
-  uint32_t arg7 ;
-  uint32_t arg8 ;
-  uint32_t arg9 ;
-  switch_size_t *argp3 ;
-  switch_size_t *argp4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)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; 
-  argp4 = (switch_size_t *)jarg4; 
-  if (!argp4) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg4 = *argp4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (char *)jarg6; 
-  arg7 = (uint32_t)jarg7; 
-  arg8 = (uint32_t)jarg8; 
-  arg9 = (uint32_t)jarg9; 
-  result = (switch_status_t)switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7,arg8,arg9);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_detect_speech(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, void * jarg6) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  switch_asr_handle_t *arg6 = (switch_asr_handle_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (switch_asr_handle_t *)jarg6; 
-  result = (switch_status_t)switch_ivr_detect_speech(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_stop_detect_speech(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_ivr_stop_detect_speech(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_pause_detect_speech(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_ivr_pause_detect_speech(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_resume_detect_speech(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_ivr_resume_detect_speech(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_detect_speech_load_grammar(void * jarg1, char * jarg2, char * jarg3) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (switch_status_t)switch_ivr_detect_speech_load_grammar(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_detect_speech_unload_grammar(void * jarg1, char * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_ivr_detect_speech_unload_grammar(arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_record_session(void * jarg1, char * jarg2, unsigned long jarg3, void * jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  uint32_t arg3 ;
-  switch_file_handle_t *arg4 = (switch_file_handle_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (uint32_t)jarg3; 
-  arg4 = (switch_file_handle_t *)jarg4; 
-  result = (switch_status_t)switch_ivr_record_session(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_eavesdrop_session(void * jarg1, char * jarg2, char * jarg3, unsigned long jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_eavesdrop_flag_t arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (switch_eavesdrop_flag_t)jarg4; 
-  result = (switch_status_t)switch_ivr_eavesdrop_session(arg1,(char const *)arg2,(char const *)arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_displace_session(void * jarg1, char * jarg2, unsigned long jarg3, char * jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  uint32_t arg3 ;
-  char *arg4 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (uint32_t)jarg3; 
-  arg4 = (char *)jarg4; 
-  result = (switch_status_t)switch_ivr_displace_session(arg1,(char const *)arg2,arg3,(char const *)arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_stop_displace_session(void * jarg1, char * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_ivr_stop_displace_session(arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_stop_record_session(void * jarg1, char * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_ivr_stop_record_session(arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_inband_dtmf_session(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_ivr_inband_dtmf_session(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_stop_inband_dtmf_session(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_ivr_stop_inband_dtmf_session(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_inband_dtmf_generate_session(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_inband_dtmf_generate_session(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_stop_inband_dtmf_generate_session(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_ivr_stop_inband_dtmf_generate_session(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_session_echo(void * jarg1, void * jarg2) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_input_args_t *arg2 = (switch_input_args_t *) 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_input_args_t *)jarg2; 
-  switch_ivr_session_echo(arg1,arg2);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_stop_tone_detect_session(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_ivr_stop_tone_detect_session(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_tone_detect_session(void * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, char * jarg6, char * jarg7) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  time_t arg5 ;
-  char *arg6 = (char *) 0 ;
-  char *arg7 = (char *) 0 ;
-  time_t *argp5 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  argp5 = (time_t *)jarg5; 
-  if (!argp5) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
-    return 0;
-  }
-  arg5 = *argp5; 
-  arg6 = (char *)jarg6; 
-  arg7 = (char *)jarg7; 
-  result = (switch_status_t)switch_ivr_tone_detect_session(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,(char const *)arg6,(char const *)arg7);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_play_file(void * jarg1, void * jarg2, char * jarg3, void * jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_input_args_t *arg4 = (switch_input_args_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_file_handle_t *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (switch_input_args_t *)jarg4; 
-  result = (switch_status_t)switch_ivr_play_file(arg1,arg2,(char const *)arg3,arg4);
-  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 ;
-  uint32_t arg2 ;
-  uint32_t arg3 ;
-  uint32_t arg4 ;
-  uint32_t arg5 ;
-  char *arg6 = (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 = (uint32_t)jarg5; 
-  arg6 = (char *)jarg6; 
-  result = (switch_status_t)switch_ivr_wait_for_silence(arg1,arg2,arg3,arg4,arg5,(char const *)arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_gentones(void * jarg1, char * jarg2, int jarg3, void * jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int32_t arg3 ;
-  switch_input_args_t *arg4 = (switch_input_args_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (int32_t)jarg3; 
-  arg4 = (switch_input_args_t *)jarg4; 
-  result = (switch_status_t)switch_ivr_gentones(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_record_file(void * jarg1, void * jarg2, char * jarg3, void * jarg4, unsigned long jarg5) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_input_args_t *arg4 = (switch_input_args_t *) 0 ;
-  uint32_t arg5 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_file_handle_t *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (switch_input_args_t *)jarg4; 
-  arg5 = (uint32_t)jarg5; 
-  result = (switch_status_t)switch_ivr_record_file(arg1,arg2,(char const *)arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_play_and_get_digits(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, unsigned long jarg5, char * jarg6, char * jarg7, char * jarg8, void * jarg9, unsigned long jarg10, char * jarg11) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  uint32_t arg2 ;
-  uint32_t arg3 ;
-  uint32_t arg4 ;
-  uint32_t arg5 ;
-  char *arg6 = (char *) 0 ;
-  char *arg7 = (char *) 0 ;
-  char *arg8 = (char *) 0 ;
-  void *arg9 = (void *) 0 ;
-  uint32_t arg10 ;
-  char *arg11 = (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 = (uint32_t)jarg5; 
-  arg6 = (char *)jarg6; 
-  arg7 = (char *)jarg7; 
-  arg8 = (char *)jarg8; 
-  arg9 = (void *)jarg9; 
-  arg10 = (uint32_t)jarg10; 
-  arg11 = (char *)jarg11; 
-  result = (switch_status_t)switch_play_and_get_digits(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_speak_text_handle(void * jarg1, void * jarg2, void * jarg3, void * jarg4, char * jarg5, void * jarg6) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_speech_handle_t *arg2 = (switch_speech_handle_t *) 0 ;
-  switch_codec_t *arg3 = (switch_codec_t *) 0 ;
-  switch_timer_t *arg4 = (switch_timer_t *) 0 ;
-  char *arg5 = (char *) 0 ;
-  switch_input_args_t *arg6 = (switch_input_args_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_speech_handle_t *)jarg2; 
-  arg3 = (switch_codec_t *)jarg3; 
-  arg4 = (switch_timer_t *)jarg4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (switch_input_args_t *)jarg6; 
-  result = (switch_status_t)switch_ivr_speak_text_handle(arg1,arg2,arg3,arg4,arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_clear_speech_cache(void * jarg1) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  switch_ivr_clear_speech_cache(arg1);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_speak_text(void * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  switch_input_args_t *arg5 = (switch_input_args_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (switch_input_args_t *)jarg5; 
-  result = (switch_status_t)switch_ivr_speak_text(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_originate(void * jarg1, void * jarg2, void * jarg3, char * jarg4, unsigned long jarg5, void * jarg6, char * jarg7, char * jarg8, void * jarg9, unsigned long jarg10) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_core_session_t **arg2 = (switch_core_session_t **) 0 ;
-  switch_call_cause_t *arg3 = (switch_call_cause_t *) 0 ;
-  char *arg4 = (char *) 0 ;
-  uint32_t arg5 ;
-  switch_state_handler_table_t *arg6 = (switch_state_handler_table_t *) 0 ;
-  char *arg7 = (char *) 0 ;
-  char *arg8 = (char *) 0 ;
-  switch_caller_profile_t *arg9 = (switch_caller_profile_t *) 0 ;
-  switch_originate_flag_t arg10 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_core_session_t **)jarg2; 
-  arg3 = (switch_call_cause_t *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (uint32_t)jarg5; 
-  arg6 = (switch_state_handler_table_t *)jarg6; 
-  arg7 = (char *)jarg7; 
-  arg8 = (char *)jarg8; 
-  arg9 = (switch_caller_profile_t *)jarg9; 
-  arg10 = (switch_originate_flag_t)jarg10; 
-  result = (switch_status_t)switch_ivr_originate(arg1,arg2,arg3,(char const *)arg4,arg5,(switch_state_handler_table const *)arg6,(char const *)arg7,(char const *)arg8,arg9,arg10);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_multi_threaded_bridge(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
-  switch_input_callback_function_t arg3 = (switch_input_callback_function_t) 0 ;
-  void *arg4 = (void *) 0 ;
-  void *arg5 = (void *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_core_session_t *)jarg2; 
-  arg3 = (switch_input_callback_function_t)jarg3; 
-  arg4 = (void *)jarg4; 
-  arg5 = (void *)jarg5; 
-  result = (switch_status_t)switch_ivr_multi_threaded_bridge(arg1,arg2,arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_signal_bridge(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_core_session_t *)jarg2; 
-  result = (switch_status_t)switch_ivr_signal_bridge(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_session_transfer(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  result = (switch_status_t)switch_ivr_session_transfer(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_ivr_schedule_transfer(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5) {
-  unsigned long jresult ;
-  time_t arg1 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  time_t *argp1 ;
-  uint32_t result;
-  
-  argp1 = (time_t *)jarg1; 
-  if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
-    return 0;
-  }
-  arg1 = *argp1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (char *)jarg5; 
-  result = (uint32_t)switch_ivr_schedule_transfer(arg1,(char const *)arg2,arg3,arg4,arg5);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_ivr_schedule_hangup(void * jarg1, char * jarg2, int jarg3, int jarg4) {
-  unsigned long jresult ;
-  time_t arg1 ;
-  char *arg2 = (char *) 0 ;
-  switch_call_cause_t arg3 ;
-  switch_bool_t arg4 ;
-  time_t *argp1 ;
-  uint32_t result;
-  
-  argp1 = (time_t *)jarg1; 
-  if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
-    return 0;
-  }
-  arg1 = *argp1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_call_cause_t)jarg3; 
-  arg4 = (switch_bool_t)jarg4; 
-  result = (uint32_t)switch_ivr_schedule_hangup(arg1,(char const *)arg2,arg3,arg4);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_uuid_bridge(char * jarg1, char * jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_ivr_uuid_bridge((char const *)arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_media(char * jarg1, unsigned long jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_media_flag_t arg2 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_media_flag_t)jarg2; 
-  result = (switch_status_t)switch_ivr_media((char const *)arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_nomedia(char * jarg1, unsigned long jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_media_flag_t arg2 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_media_flag_t)jarg2; 
-  result = (switch_status_t)switch_ivr_nomedia((char const *)arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_hold_uuid(char * jarg1, char * jarg2, int jarg3) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_bool_t arg3 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_bool_t)jarg3; 
-  result = (switch_status_t)switch_ivr_hold_uuid((char const *)arg1,(char const *)arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_unhold_uuid(char * jarg1) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_status_t)switch_ivr_unhold_uuid((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_hold(void * jarg1, char * jarg2, int jarg3) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_bool_t arg3 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_bool_t)jarg3; 
-  result = (switch_status_t)switch_ivr_hold(arg1,(char const *)arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_unhold(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_ivr_unhold(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_ivr_schedule_broadcast(void * jarg1, char * jarg2, char * jarg3, unsigned long jarg4) {
-  unsigned long jresult ;
-  time_t arg1 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_media_flag_t arg4 ;
-  time_t *argp1 ;
-  uint32_t result;
-  
-  argp1 = (time_t *)jarg1; 
-  if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
-    return 0;
-  }
-  arg1 = *argp1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (switch_media_flag_t)jarg4; 
-  result = (uint32_t)switch_ivr_schedule_broadcast(arg1,arg2,arg3,arg4);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_broadcast(char * jarg1, char * jarg2, unsigned long jarg3) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_media_flag_t arg3 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_media_flag_t)jarg3; 
-  result = (switch_status_t)switch_ivr_broadcast((char const *)arg1,(char const *)arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_transfer_variable(void * jarg1, void * jarg2, char * jarg3) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_core_session_t *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (switch_status_t)switch_ivr_transfer_variable(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_parser_new(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  switch_ivr_digit_stream_parser_t **arg2 = (switch_ivr_digit_stream_parser_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  arg2 = (switch_ivr_digit_stream_parser_t **)jarg2; 
-  result = (switch_status_t)switch_ivr_digit_stream_parser_new(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_parser_destroy(void * jarg1) {
-  int jresult ;
-  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
-  result = (switch_status_t)switch_ivr_digit_stream_parser_destroy(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_new(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
-  switch_ivr_digit_stream_t **arg2 = (switch_ivr_digit_stream_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
-  arg2 = (switch_ivr_digit_stream_t **)jarg2; 
-  result = (switch_status_t)switch_ivr_digit_stream_new(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_destroy(void * jarg1) {
-  int jresult ;
-  switch_ivr_digit_stream_t *arg1 = (switch_ivr_digit_stream_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_digit_stream_t *)jarg1; 
-  result = (switch_status_t)switch_ivr_digit_stream_destroy(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_parser_set_event(void * jarg1, char * jarg2, void * jarg3) {
-  int jresult ;
-  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  void *arg3 = (void *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (void *)jarg3; 
-  result = (switch_status_t)switch_ivr_digit_stream_parser_set_event(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_parser_del_event(void * jarg1, char * jarg2) {
-  int jresult ;
-  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_ivr_digit_stream_parser_del_event(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_ivr_digit_stream_parser_feed(void * jarg1, void * jarg2, char jarg3) {
-  void * jresult ;
-  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
-  switch_ivr_digit_stream_t *arg2 = (switch_ivr_digit_stream_t *) 0 ;
-  char arg3 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
-  arg2 = (switch_ivr_digit_stream_t *)jarg2; 
-  arg3 = (char)jarg3; 
-  result = (void *)switch_ivr_digit_stream_parser_feed(arg1,arg2,arg3);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_reset(void * jarg1) {
-  int jresult ;
-  switch_ivr_digit_stream_t *arg1 = (switch_ivr_digit_stream_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_digit_stream_t *)jarg1; 
-  result = (switch_status_t)switch_ivr_digit_stream_reset(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_parser_set_terminator(void * jarg1, char jarg2) {
-  int jresult ;
-  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
-  char arg2 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
-  arg2 = (char)jarg2; 
-  result = (switch_status_t)switch_ivr_digit_stream_parser_set_terminator(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_init(void * jarg1, void * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14, int jarg15, void * jarg16) {
-  int jresult ;
-  switch_ivr_menu_t **arg1 = (switch_ivr_menu_t **) 0 ;
-  switch_ivr_menu_t *arg2 = (switch_ivr_menu_t *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  char *arg6 = (char *) 0 ;
-  char *arg7 = (char *) 0 ;
-  char *arg8 = (char *) 0 ;
-  char *arg9 = (char *) 0 ;
-  int arg10 ;
-  int arg11 ;
-  int arg12 ;
-  int arg13 ;
-  int arg14 ;
-  int arg15 ;
-  switch_memory_pool_t *arg16 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_menu_t **)jarg1; 
-  arg2 = (switch_ivr_menu_t *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (char *)jarg6; 
-  arg7 = (char *)jarg7; 
-  arg8 = (char *)jarg8; 
-  arg9 = (char *)jarg9; 
-  arg10 = (int)jarg10; 
-  arg11 = (int)jarg11; 
-  arg12 = (int)jarg12; 
-  arg13 = (int)jarg13; 
-  arg14 = (int)jarg14; 
-  arg15 = (int)jarg15; 
-  arg16 = (switch_memory_pool_t *)jarg16; 
-  result = (switch_status_t)switch_ivr_menu_init(arg1,arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,arg10,arg11,arg12,arg13,arg14,arg15,arg16);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_bind_action(void * jarg1, int jarg2, char * jarg3, char * jarg4) {
-  int jresult ;
-  switch_ivr_menu_t *arg1 = (switch_ivr_menu_t *) 0 ;
-  switch_ivr_action_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_menu_t *)jarg1; 
-  arg2 = (switch_ivr_action_t)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  result = (switch_status_t)switch_ivr_menu_bind_action(arg1,arg2,(char const *)arg3,(char const *)arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_bind_function(void * jarg1, void * jarg2, char * jarg3, char * jarg4) {
-  int jresult ;
-  switch_ivr_menu_t *arg1 = (switch_ivr_menu_t *) 0 ;
-  switch_ivr_menu_action_function_t *arg2 = (switch_ivr_menu_action_function_t *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_menu_t *)jarg1; 
-  arg2 = (switch_ivr_menu_action_function_t *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  result = (switch_status_t)switch_ivr_menu_bind_function(arg1,arg2,(char const *)arg3,(char const *)arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_execute(void * jarg1, void * jarg2, char * jarg3, void * jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_ivr_menu_t *arg2 = (switch_ivr_menu_t *) 0 ;
-  char *arg3 = (char *) 0 ;
-  void *arg4 = (void *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_ivr_menu_t *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (void *)jarg4; 
-  result = (switch_status_t)switch_ivr_menu_execute(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_stack_free(void * jarg1) {
-  int jresult ;
-  switch_ivr_menu_t *arg1 = (switch_ivr_menu_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_menu_t *)jarg1; 
-  result = (switch_status_t)switch_ivr_menu_stack_free(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_stack_xml_build(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
-  int jresult ;
-  switch_ivr_menu_xml_ctx_t *arg1 = (switch_ivr_menu_xml_ctx_t *) 0 ;
-  switch_ivr_menu_t **arg2 = (switch_ivr_menu_t **) 0 ;
-  switch_xml_t arg3 = (switch_xml_t) 0 ;
-  switch_xml_t arg4 = (switch_xml_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_menu_xml_ctx_t *)jarg1; 
-  arg2 = (switch_ivr_menu_t **)jarg2; 
-  arg3 = (switch_xml_t)jarg3; 
-  arg4 = (switch_xml_t)jarg4; 
-  result = (switch_status_t)switch_ivr_menu_stack_xml_build(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_str2action(char * jarg1, void * jarg2) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_ivr_action_t *arg2 = (switch_ivr_action_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_ivr_action_t *)jarg2; 
-  result = (switch_status_t)switch_ivr_menu_str2action((char const *)arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_stack_xml_add_custom(void * jarg1, char * jarg2, void * jarg3) {
-  int jresult ;
-  switch_ivr_menu_xml_ctx_t *arg1 = (switch_ivr_menu_xml_ctx_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_ivr_menu_action_function_t *arg3 = (switch_ivr_menu_action_function_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_menu_xml_ctx_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_ivr_menu_action_function_t *)jarg3; 
-  result = (switch_status_t)switch_ivr_menu_stack_xml_add_custom(arg1,(char const *)arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_stack_xml_init(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_ivr_menu_xml_ctx_t **arg1 = (switch_ivr_menu_xml_ctx_t **) 0 ;
-  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_ivr_menu_xml_ctx_t **)jarg1; 
-  arg2 = (switch_memory_pool_t *)jarg2; 
-  result = (switch_status_t)switch_ivr_menu_stack_xml_init(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_phrase_macro(void * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  switch_input_args_t *arg5 = (switch_input_args_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (switch_input_args_t *)jarg5; 
-  result = (switch_status_t)switch_ivr_phrase_macro(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_delay_echo(void * jarg1, unsigned long jarg2) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  switch_ivr_delay_echo(arg1,arg2);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_find_bridged_uuid(char * jarg1, char * jarg2, void * jarg3) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_size_t arg3 ;
-  switch_size_t *argp3 ;
-  switch_status_t result;
-  
-  arg1 = (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 = (switch_status_t)switch_ivr_find_bridged_uuid((char const *)arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_intercept_session(void * jarg1, char * jarg2, int jarg3) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_bool_t arg3 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_bool_t)jarg3; 
-  switch_ivr_intercept_session(arg1,(char const *)arg2,arg3);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_park_session(void * jarg1) {
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  switch_ivr_park_session(arg1);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_wait_for_answer(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_core_session_t *)jarg2; 
-  result = (switch_status_t)switch_ivr_wait_for_answer(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_read(void * jarg1, unsigned long jarg2, unsigned long jarg3, char * jarg4, char * jarg5, char * jarg6, void * jarg7, unsigned long jarg8, char * jarg9) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  uint32_t arg2 ;
-  uint32_t arg3 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  char *arg6 = (char *) 0 ;
-  switch_size_t arg7 ;
-  uint32_t arg8 ;
-  char *arg9 = (char *) 0 ;
-  switch_size_t *argp7 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  arg3 = (uint32_t)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (char *)jarg6; 
-  argp7 = (switch_size_t *)jarg7; 
-  if (!argp7) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg7 = *argp7; 
-  arg8 = (uint32_t)jarg8; 
-  arg9 = (char *)jarg9; 
-  result = (switch_status_t)switch_ivr_read(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,arg6,arg7,arg8,(char const *)arg9);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_bind_dtmf_meta_session(void * jarg1, unsigned long jarg2, unsigned long jarg3, char * jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  uint32_t arg2 ;
-  switch_bind_flag_t arg3 ;
-  char *arg4 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  arg3 = (switch_bind_flag_t)jarg3; 
-  arg4 = (char *)jarg4; 
-  result = (switch_status_t)switch_ivr_bind_dtmf_meta_session(arg1,arg2,arg3,(char const *)arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_unbind_dtmf_meta_session(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_ivr_unbind_dtmf_meta_session(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_soft_hold(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  result = (switch_status_t)switch_ivr_soft_hold(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_say(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, void * jarg6) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  switch_input_args_t *arg6 = (switch_input_args_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (switch_input_args_t *)jarg6; 
-  result = (switch_status_t)switch_ivr_say(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_get_say_method_by_name(char * jarg1) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_say_method_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_say_method_t)switch_ivr_get_say_method_by_name((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_get_say_type_by_name(char * jarg1) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_say_type_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_say_type_t)switch_ivr_get_say_type_by_name((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_set_user(void * jarg1, char * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_status_t)switch_ivr_set_user(arg1,(char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTP_MAX_BUF_LEN_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 16384;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTP_MAX_CRYPTO_LEN_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 64;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTP_KEY_LEN_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 30;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_RTP_CRYPTO_KEY_32_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "AES_CM_128_HMAC_SHA1_32";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_RTP_CRYPTO_KEY_80_get() {
-  char * jresult ;
-  char *result = 0 ;
-  
-  result = (char *) "AES_CM_128_HMAC_SHA1_80";
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_crypto_key_index_set(void * jarg1, unsigned long jarg2) {
-  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_rtp_crypto_key *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->index = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_rtp_crypto_key_index_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_rtp_crypto_key *)jarg1; 
-  result = (uint32_t) ((arg1)->index);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_crypto_key_type_set(void * jarg1, int jarg2) {
-  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
-  switch_rtp_crypto_key_type_t arg2 ;
-  
-  arg1 = (switch_rtp_crypto_key *)jarg1; 
-  arg2 = (switch_rtp_crypto_key_type_t)jarg2; 
-  if (arg1) (arg1)->type = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_crypto_key_type_get(void * jarg1) {
-  int jresult ;
-  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
-  switch_rtp_crypto_key_type_t result;
-  
-  arg1 = (switch_rtp_crypto_key *)jarg1; 
-  result = (switch_rtp_crypto_key_type_t) ((arg1)->type);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_crypto_key_key_set(void * jarg1, void * jarg2) {
-  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
-  unsigned char *arg2 ;
-  
-  arg1 = (switch_rtp_crypto_key *)jarg1; 
-  arg2 = (unsigned char *)jarg2; 
-  {
-    size_t ii;
-    unsigned char *b = (unsigned char *) arg1->key;
-    for (ii = 0; ii < (size_t)64; ii++) b[ii] = *((unsigned char *) arg2 + ii);
-  }
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_crypto_key_key_get(void * jarg1) {
-  void * jresult ;
-  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
-  unsigned char *result = 0 ;
-  
-  arg1 = (switch_rtp_crypto_key *)jarg1; 
-  result = (unsigned char *)(unsigned char *) ((arg1)->key);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_crypto_key_keylen_set(void * jarg1, void * jarg2) {
-  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_rtp_crypto_key *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->keylen = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_crypto_key_keylen_get(void * jarg1) {
-  void * jresult ;
-  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_rtp_crypto_key *)jarg1; 
-  result =  ((arg1)->keylen);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_crypto_key_next_set(void * jarg1, void * jarg2) {
-  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
-  switch_rtp_crypto_key *arg2 = (switch_rtp_crypto_key *) 0 ;
-  
-  arg1 = (switch_rtp_crypto_key *)jarg1; 
-  arg2 = (switch_rtp_crypto_key *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_crypto_key_next_get(void * jarg1) {
-  void * jresult ;
-  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
-  switch_rtp_crypto_key *result = 0 ;
-  
-  arg1 = (switch_rtp_crypto_key *)jarg1; 
-  result = (switch_rtp_crypto_key *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_rtp_crypto_key() {
-  void * jresult ;
-  switch_rtp_crypto_key *result = 0 ;
-  
-  result = (switch_rtp_crypto_key *)new switch_rtp_crypto_key();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_rtp_crypto_key(void * jarg1) {
-  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
-  
-  arg1 = (switch_rtp_crypto_key *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_add_crypto_key(void * jarg1, int jarg2, unsigned long jarg3, int jarg4, void * jarg5, void * jarg6) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_rtp_crypto_direction_t arg2 ;
-  uint32_t arg3 ;
-  switch_rtp_crypto_key_type_t arg4 ;
-  unsigned char *arg5 = (unsigned char *) 0 ;
-  switch_size_t arg6 ;
-  switch_size_t *argp6 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_rtp_crypto_direction_t)jarg2; 
-  arg3 = (uint32_t)jarg3; 
-  arg4 = (switch_rtp_crypto_key_type_t)jarg4; 
-  arg5 = (unsigned char *)jarg5; 
-  argp6 = (switch_size_t *)jarg6; 
-  if (!argp6) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg6 = *argp6; 
-  result = (switch_status_t)switch_rtp_add_crypto_key(arg1,arg2,arg3,arg4,arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_get_random(void * jarg1, unsigned long jarg2) {
-  void *arg1 = (void *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (void *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  switch_rtp_get_random(arg1,arg2);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_init(void * jarg1) {
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  switch_rtp_init(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_shutdown() {
-  switch_rtp_shutdown();
-}
-
-
-SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_rtp_set_start_port(unsigned short jarg1) {
-  unsigned short jresult ;
-  switch_port_t arg1 ;
-  switch_port_t result;
-  
-  arg1 = (switch_port_t)jarg1; 
-  result = (switch_port_t)switch_rtp_set_start_port(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_rtp_set_end_port(unsigned short jarg1) {
-  unsigned short jresult ;
-  switch_port_t arg1 ;
-  switch_port_t result;
-  
-  arg1 = (switch_port_t)jarg1; 
-  result = (switch_port_t)switch_rtp_set_end_port(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_rtp_request_port(char * jarg1) {
-  unsigned short jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_port_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_port_t)switch_rtp_request_port((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_release_port(char * jarg1, unsigned short jarg2) {
-  char *arg1 = (char *) 0 ;
-  switch_port_t arg2 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_port_t)jarg2; 
-  switch_rtp_release_port((char const *)arg1,arg2);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_create(void * jarg1, unsigned char jarg2, unsigned long jarg3, unsigned long jarg4, unsigned long jarg5, char * jarg6, void * jarg7, void * jarg8) {
-  int jresult ;
-  switch_rtp_t **arg1 = (switch_rtp_t **) 0 ;
-  switch_payload_t arg2 ;
-  uint32_t arg3 ;
-  uint32_t arg4 ;
-  switch_rtp_flag_t arg5 ;
-  char *arg6 = (char *) 0 ;
-  char **arg7 = (char **) 0 ;
-  switch_memory_pool_t *arg8 = (switch_memory_pool_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t **)jarg1; 
-  arg2 = (switch_payload_t)jarg2; 
-  arg3 = (uint32_t)jarg3; 
-  arg4 = (uint32_t)jarg4; 
-  arg5 = (switch_rtp_flag_t)jarg5; 
-  arg6 = (char *)jarg6; 
-  arg7 = (char **)jarg7; 
-  arg8 = (switch_memory_pool_t *)jarg8; 
-  result = (switch_status_t)switch_rtp_create(arg1,arg2,arg3,arg4,arg5,arg6,(char const **)arg7,arg8);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_new(char * jarg1, unsigned short jarg2, char * jarg3, unsigned short jarg4, unsigned char jarg5, unsigned long jarg6, unsigned long jarg7, unsigned long jarg8, char * jarg9, void * jarg10, void * jarg11) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_port_t arg2 ;
-  char *arg3 = (char *) 0 ;
-  switch_port_t arg4 ;
-  switch_payload_t arg5 ;
-  uint32_t arg6 ;
-  uint32_t arg7 ;
-  switch_rtp_flag_t arg8 ;
-  char *arg9 = (char *) 0 ;
-  char **arg10 = (char **) 0 ;
-  switch_memory_pool_t *arg11 = (switch_memory_pool_t *) 0 ;
-  switch_rtp_t *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_port_t)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (switch_port_t)jarg4; 
-  arg5 = (switch_payload_t)jarg5; 
-  arg6 = (uint32_t)jarg6; 
-  arg7 = (uint32_t)jarg7; 
-  arg8 = (switch_rtp_flag_t)jarg8; 
-  arg9 = (char *)jarg9; 
-  arg10 = (char **)jarg10; 
-  arg11 = (switch_memory_pool_t *)jarg11; 
-  result = (switch_rtp_t *)switch_rtp_new((char const *)arg1,arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8,arg9,(char const **)arg10,arg11);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_set_remote_address(void * jarg1, char * jarg2, unsigned short jarg3, int jarg4, void * jarg5) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_port_t arg3 ;
-  switch_bool_t arg4 ;
-  char **arg5 = (char **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_port_t)jarg3; 
-  arg4 = (switch_bool_t)jarg4; 
-  arg5 = (char **)jarg5; 
-  result = (switch_status_t)switch_rtp_set_remote_address(arg1,(char const *)arg2,arg3,arg4,(char const **)arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_rtp_get_remote_host(void * jarg1) {
-  char * jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  result = (char *)switch_rtp_get_remote_host(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_rtp_get_remote_port(void * jarg1) {
-  unsigned short jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_port_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  result = (switch_port_t)switch_rtp_get_remote_port(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_max_missed_packets(void * jarg1, unsigned long jarg2) {
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  switch_rtp_set_max_missed_packets(arg1,arg2);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_set_local_address(void * jarg1, char * jarg2, unsigned short jarg3, void * jarg4) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_port_t arg3 ;
-  char **arg4 = (char **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_port_t)jarg3; 
-  arg4 = (char **)jarg4; 
-  result = (switch_status_t)switch_rtp_set_local_address(arg1,(char const *)arg2,arg3,(char const **)arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_kill_socket(void * jarg1) {
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  switch_rtp_kill_socket(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_break(void * jarg1) {
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  switch_rtp_break(arg1);
-}
-
-
-SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_rtp_ready(void * jarg1) {
-  unsigned char jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  uint8_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  result = (uint8_t)switch_rtp_ready(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_destroy(void * jarg1) {
-  switch_rtp_t **arg1 = (switch_rtp_t **) 0 ;
-  
-  arg1 = (switch_rtp_t **)jarg1; 
-  switch_rtp_destroy(arg1);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_activate_ice(void * jarg1, char * jarg2, char * jarg3) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (switch_status_t)switch_rtp_activate_ice(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_activate_jitter_buffer(void * jarg1, unsigned long jarg2) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  uint32_t arg2 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  result = (switch_status_t)switch_rtp_activate_jitter_buffer(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_flag(void * jarg1, unsigned long jarg2) {
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_rtp_flag_t arg2 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_rtp_flag_t)jarg2; 
-  switch_rtp_set_flag(arg1,arg2);
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_rtp_test_flag(void * jarg1, unsigned long jarg2) {
-  unsigned long jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_rtp_flag_t arg2 ;
-  uint32_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_rtp_flag_t)jarg2; 
-  result = (uint32_t)switch_rtp_test_flag(arg1,arg2);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_clear_flag(void * jarg1, unsigned long jarg2) {
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_rtp_flag_t arg2 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_rtp_flag_t)jarg2; 
-  switch_rtp_clear_flag(arg1,arg2);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_get_rtp_socket(void * jarg1) {
-  void * jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_socket_t *result = 0 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  result = (switch_socket_t *)switch_rtp_get_rtp_socket(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_default_samples_per_interval(void * jarg1, unsigned short jarg2) {
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  uint16_t arg2 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (uint16_t)jarg2; 
-  switch_rtp_set_default_samples_per_interval(arg1,arg2);
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_rtp_get_default_samples_per_interval(void * jarg1) {
-  unsigned long jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  result = (uint32_t)switch_rtp_get_default_samples_per_interval(arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_default_payload(void * jarg1, unsigned char jarg2) {
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_payload_t arg2 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_payload_t)jarg2; 
-  switch_rtp_set_default_payload(arg1,arg2);
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_rtp_get_default_payload(void * jarg1) {
-  unsigned long jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  result = (uint32_t)switch_rtp_get_default_payload(arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_invald_handler(void * jarg1, void * jarg2) {
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_rtp_invalid_handler_t arg2 = (switch_rtp_invalid_handler_t) 0 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_rtp_invalid_handler_t)jarg2; 
-  switch_rtp_set_invald_handler(arg1,arg2);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_read(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5, unsigned long jarg6) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  uint32_t *arg3 = (uint32_t *) 0 ;
-  switch_payload_t *arg4 = (switch_payload_t *) 0 ;
-  switch_frame_flag_t *arg5 = (switch_frame_flag_t *) 0 ;
-  switch_io_flag_t arg6 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  arg3 = (uint32_t *)jarg3; 
-  arg4 = (switch_payload_t *)jarg4; 
-  arg5 = (switch_frame_flag_t *)jarg5; 
-  arg6 = (switch_io_flag_t)jarg6; 
-  result = (switch_status_t)switch_rtp_read(arg1,arg2,arg3,arg4,arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_queue_rfc2833(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_dtmf_t *)jarg2; 
-  result = (switch_status_t)switch_rtp_queue_rfc2833(arg1,(switch_dtmf_t const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_queue_rfc2833_in(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_dtmf_t *)jarg2; 
-  result = (switch_status_t)switch_rtp_queue_rfc2833_in(arg1,(switch_dtmf_t const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_has_dtmf(void * jarg1) {
-  void * jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  result = switch_rtp_has_dtmf(arg1);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_dequeue_dtmf(void * jarg1, void * jarg2) {
-  void * jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_dtmf_t *)jarg2; 
-  result = switch_rtp_dequeue_dtmf(arg1,arg2);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_zerocopy_read(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5, unsigned long jarg6) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  void **arg2 = (void **) 0 ;
-  uint32_t *arg3 = (uint32_t *) 0 ;
-  switch_payload_t *arg4 = (switch_payload_t *) 0 ;
-  switch_frame_flag_t *arg5 = (switch_frame_flag_t *) 0 ;
-  switch_io_flag_t arg6 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (void **)jarg2; 
-  arg3 = (uint32_t *)jarg3; 
-  arg4 = (switch_payload_t *)jarg4; 
-  arg5 = (switch_frame_flag_t *)jarg5; 
-  arg6 = (switch_io_flag_t)jarg6; 
-  result = (switch_status_t)switch_rtp_zerocopy_read(arg1,arg2,arg3,arg4,arg5,arg6);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_zerocopy_read_frame(void * jarg1, void * jarg2, unsigned long jarg3) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
-  switch_io_flag_t arg3 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_frame_t *)jarg2; 
-  arg3 = (switch_io_flag_t)jarg3; 
-  result = (switch_status_t)switch_rtp_zerocopy_read_frame(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_enable_vad(void * jarg1, void * jarg2, void * jarg3, unsigned long jarg4) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
-  switch_codec_t *arg3 = (switch_codec_t *) 0 ;
-  switch_vad_flag_t arg4 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_core_session_t *)jarg2; 
-  arg3 = (switch_codec_t *)jarg3; 
-  arg4 = (switch_vad_flag_t)jarg4; 
-  result = (switch_status_t)switch_rtp_enable_vad(arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_disable_vad(void * jarg1) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  result = (switch_status_t)switch_rtp_disable_vad(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_write_frame(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_frame_t *)jarg2; 
-  result = (int)switch_rtp_write_frame(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_write_manual(void * jarg1, void * jarg2, unsigned long jarg3, unsigned char jarg4, unsigned char jarg5, unsigned long jarg6, void * jarg7) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  uint32_t arg3 ;
-  uint8_t arg4 ;
-  switch_payload_t arg5 ;
-  uint32_t arg6 ;
-  switch_frame_flag_t *arg7 = (switch_frame_flag_t *) 0 ;
-  int result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  arg3 = (uint32_t)jarg3; 
-  arg4 = (uint8_t)jarg4; 
-  arg5 = (switch_payload_t)jarg5; 
-  arg6 = (uint32_t)jarg6; 
-  arg7 = (switch_frame_flag_t *)jarg7; 
-  result = (int)switch_rtp_write_manual(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_rtp_get_ssrc(void * jarg1) {
-  unsigned long jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  result = (uint32_t)switch_rtp_get_ssrc(arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_private(void * jarg1, void * jarg2) {
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  switch_rtp_set_private(arg1,arg2);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_telephony_event(void * jarg1, unsigned char jarg2) {
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_payload_t arg2 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_payload_t)jarg2; 
-  switch_rtp_set_telephony_event(arg1,arg2);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_cng_pt(void * jarg1, unsigned char jarg2) {
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  switch_payload_t arg2 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (switch_payload_t)jarg2; 
-  switch_rtp_set_cng_pt(arg1,arg2);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_get_private(void * jarg1) {
-  void * jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  result = (void *)switch_rtp_get_private(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_activate_stun_ping(void * jarg1, char * jarg2, unsigned short jarg3, unsigned long jarg4, int jarg5) {
-  int jresult ;
-  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_port_t arg3 ;
-  uint32_t arg4 ;
-  switch_bool_t arg5 ;
-  switch_status_t result;
-  
-  arg1 = (switch_rtp_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (switch_port_t)jarg3; 
-  arg4 = (uint32_t)jarg4; 
-  arg5 = (switch_bool_t)jarg5; 
-  result = (switch_status_t)switch_rtp_activate_stun_ping(arg1,(char const *)arg2,arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_data_set(void * jarg1, char * jarg2) {
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->data) delete [] arg1->data;
-    if (arg2) {
-      arg1->data = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->data, (const char *)arg2);
-    } else {
-      arg1->data = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_log_node_t_data_get(void * jarg1) {
-  char * jresult ;
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  result = (char *) ((arg1)->data);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_file_set(void * jarg1, char * jarg2) {
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  char *arg2 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) strncpy((char *)arg1->file, (const char *)arg2, 80);
-    else arg1->file[0] = 0;
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_log_node_t_file_get(void * jarg1) {
-  char * jresult ;
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  result = (char *)(char *) ((arg1)->file);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_line_set(void * jarg1, unsigned long jarg2) {
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->line = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_log_node_t_line_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  result = (uint32_t) ((arg1)->line);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_func_set(void * jarg1, char * jarg2) {
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  char *arg2 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) strncpy((char *)arg1->func, (const char *)arg2, 80);
-    else arg1->func[0] = 0;
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_log_node_t_func_get(void * jarg1) {
-  char * jresult ;
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  result = (char *)(char *) ((arg1)->func);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_level_set(void * jarg1, int jarg2) {
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  switch_log_level_t arg2 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  arg2 = (switch_log_level_t)jarg2; 
-  if (arg1) (arg1)->level = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_node_t_level_get(void * jarg1) {
-  int jresult ;
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  switch_log_level_t result;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  result = (switch_log_level_t) ((arg1)->level);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_timestamp_set(void * jarg1, void * jarg2) {
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  switch_time_t arg2 ;
-  switch_time_t *argp2 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  argp2 = (switch_time_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->timestamp = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_log_node_t_timestamp_get(void * jarg1) {
-  void * jresult ;
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  switch_time_t result;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  result =  ((arg1)->timestamp);
-  jresult = new switch_time_t((const switch_time_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_content_set(void * jarg1, char * jarg2) {
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->content) delete [] arg1->content;
-    if (arg2) {
-      arg1->content = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->content, (const char *)arg2);
-    } else {
-      arg1->content = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_log_node_t_content_get(void * jarg1) {
-  char * jresult ;
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  result = (char *) ((arg1)->content);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_userdata_set(void * jarg1, char * jarg2) {
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) {
-      arg1->userdata = (char const *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->userdata, (const char *)arg2);
-    } else {
-      arg1->userdata = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_log_node_t_userdata_get(void * jarg1) {
-  char * jresult ;
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  result = (char *) ((arg1)->userdata);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_log_node_t() {
-  void * jresult ;
-  switch_log_node_t *result = 0 ;
-  
-  result = (switch_log_node_t *)new switch_log_node_t();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_log_node_t(void * jarg1) {
-  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
-  
-  arg1 = (switch_log_node_t *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_init(void * jarg1, int jarg2) {
-  int jresult ;
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  switch_bool_t arg2 ;
-  switch_status_t result;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  arg2 = (switch_bool_t)jarg2; 
-  result = (switch_status_t)switch_log_init(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_shutdown() {
-  int jresult ;
-  switch_status_t result;
-  
-  result = (switch_status_t)switch_log_shutdown();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_bind_logger(void * jarg1, int jarg2, int jarg3) {
-  int jresult ;
-  switch_log_function_t arg1 = (switch_log_function_t) 0 ;
-  switch_log_level_t arg2 ;
-  switch_bool_t arg3 ;
-  switch_status_t result;
-  
-  arg1 = (switch_log_function_t)jarg1; 
-  arg2 = (switch_log_level_t)jarg2; 
-  arg3 = (switch_bool_t)jarg3; 
-  result = (switch_status_t)switch_log_bind_logger(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_unbind_logger(void * jarg1) {
-  int jresult ;
-  switch_log_function_t arg1 = (switch_log_function_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_log_function_t)jarg1; 
-  result = (switch_status_t)switch_log_unbind_logger(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_log_level2str(int jarg1) {
-  char * jresult ;
-  switch_log_level_t arg1 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_log_level_t)jarg1; 
-  result = (char *)switch_log_level2str(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_str2level(char * jarg1) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_log_level_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_log_level_t)switch_log_str2level((char const *)arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_log_str2mask(char * jarg1) {
-  unsigned long jresult ;
-  char *arg1 = (char *) 0 ;
-  uint32_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (uint32_t)switch_log_str2mask((char const *)arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_XML_BUFSIZE_get() {
-  int jresult ;
-  int result;
-  
-  result = (int) 1024;
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_name_set(void * jarg1, char * jarg2) {
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->name) delete [] arg1->name;
-    if (arg2) {
-      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->name, (const char *)arg2);
-    } else {
-      arg1->name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_name_get(void * jarg1) {
-  char * jresult ;
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  result = (char *) ((arg1)->name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_attr_set(void * jarg1, void * jarg2) {
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  char **arg2 = (char **) 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  arg2 = (char **)jarg2; 
-  if (arg1) (arg1)->attr = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_attr_get(void * jarg1) {
-  void * jresult ;
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  char **result = 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  result = (char **) ((arg1)->attr);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_txt_set(void * jarg1, char * jarg2) {
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->txt) delete [] arg1->txt;
-    if (arg2) {
-      arg1->txt = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->txt, (const char *)arg2);
-    } else {
-      arg1->txt = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_txt_get(void * jarg1) {
-  char * jresult ;
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  result = (char *) ((arg1)->txt);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_free_path_set(void * jarg1, char * jarg2) {
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->free_path) delete [] arg1->free_path;
-    if (arg2) {
-      arg1->free_path = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->free_path, (const char *)arg2);
-    } else {
-      arg1->free_path = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_free_path_get(void * jarg1) {
-  char * jresult ;
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  result = (char *) ((arg1)->free_path);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_off_set(void * jarg1, void * jarg2) {
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return ;
-  }
-  arg2 = *argp2; 
-  if (arg1) (arg1)->off = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_off_get(void * jarg1) {
-  void * jresult ;
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  switch_size_t result;
-  
-  arg1 = (switch_xml *)jarg1; 
-  result =  ((arg1)->off);
-  jresult = new switch_size_t((const switch_size_t &)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_next_set(void * jarg1, void * jarg2) {
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  switch_xml_t arg2 = (switch_xml_t) 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  arg2 = (switch_xml_t)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_next_get(void * jarg1) {
-  void * jresult ;
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml *)jarg1; 
-  result = (switch_xml_t) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_sibling_set(void * jarg1, void * jarg2) {
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  switch_xml_t arg2 = (switch_xml_t) 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  arg2 = (switch_xml_t)jarg2; 
-  if (arg1) (arg1)->sibling = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_sibling_get(void * jarg1) {
-  void * jresult ;
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml *)jarg1; 
-  result = (switch_xml_t) ((arg1)->sibling);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_ordered_set(void * jarg1, void * jarg2) {
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  switch_xml_t arg2 = (switch_xml_t) 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  arg2 = (switch_xml_t)jarg2; 
-  if (arg1) (arg1)->ordered = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_ordered_get(void * jarg1) {
-  void * jresult ;
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml *)jarg1; 
-  result = (switch_xml_t) ((arg1)->ordered);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_child_set(void * jarg1, void * jarg2) {
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  switch_xml_t arg2 = (switch_xml_t) 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  arg2 = (switch_xml_t)jarg2; 
-  if (arg1) (arg1)->child = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_child_get(void * jarg1) {
-  void * jresult ;
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml *)jarg1; 
-  result = (switch_xml_t) ((arg1)->child);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_parent_set(void * jarg1, void * jarg2) {
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  switch_xml_t arg2 = (switch_xml_t) 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  arg2 = (switch_xml_t)jarg2; 
-  if (arg1) (arg1)->parent = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parent_get(void * jarg1) {
-  void * jresult ;
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml *)jarg1; 
-  result = (switch_xml_t) ((arg1)->parent);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_flags_set(void * jarg1, unsigned long jarg2) {
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_xml_flags_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_xml *)jarg1; 
-  result = (uint32_t) ((arg1)->flags);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_xml() {
-  void * jresult ;
-  switch_xml *result = 0 ;
-  
-  result = (switch_xml *)new switch_xml();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_xml(void * jarg1) {
-  switch_xml *arg1 = (switch_xml *) 0 ;
-  
-  arg1 = (switch_xml *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parse_str(char * jarg1, void * jarg2) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_size_t arg2 ;
-  switch_size_t *argp2 ;
-  switch_xml_t result;
-  
-  arg1 = (char *)jarg1; 
-  argp2 = (switch_size_t *)jarg2; 
-  if (!argp2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg2 = *argp2; 
-  result = (switch_xml_t)switch_xml_parse_str(arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parse_fd(int jarg1) {
-  void * jresult ;
-  int arg1 ;
-  switch_xml_t result;
-  
-  arg1 = (int)jarg1; 
-  result = (switch_xml_t)switch_xml_parse_fd(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parse_file(char * jarg1) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_xml_t)switch_xml_parse_file((char const *)arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parse_file_simple(char * jarg1) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_xml_t)switch_xml_parse_file_simple((char const *)arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parse_fp(void * jarg1) {
-  void * jresult ;
-  FILE *arg1 = (FILE *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (FILE *)jarg1; 
-  result = (switch_xml_t)switch_xml_parse_fp(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_child(void * jarg1, char * jarg2) {
-  void * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_xml_t)switch_xml_child(arg1,(char const *)arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_find_child(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
-  void * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  result = (switch_xml_t)switch_xml_find_child(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_attr(void * jarg1, char * jarg2) {
-  char * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)switch_xml_attr(arg1,(char const *)arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_attr_soft(void * jarg1, char * jarg2) {
-  char * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)switch_xml_attr_soft(arg1,(char const *)arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_get(void * jarg1) {
-  void * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  void *arg2 = 0 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  result = (switch_xml_t)switch_xml_get(arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_toxml(void * jarg1, int jarg2) {
-  char * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  switch_bool_t arg2 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  arg2 = (switch_bool_t)jarg2; 
-  result = (char *)switch_xml_toxml(arg1,arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_toxml_buf(void * jarg1, char * jarg2, void * jarg3, void * jarg4, int jarg5) {
-  char * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_size_t arg3 ;
-  switch_size_t arg4 ;
-  switch_bool_t arg5 ;
-  switch_size_t *argp3 ;
-  switch_size_t *argp4 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_xml_t)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; 
-  argp4 = (switch_size_t *)jarg4; 
-  if (!argp4) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
-    return 0;
-  }
-  arg4 = *argp4; 
-  arg5 = (switch_bool_t)jarg5; 
-  result = (char *)switch_xml_toxml_buf(arg1,arg2,arg3,arg4,arg5);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_free(void * jarg1) {
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  switch_xml_free(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_free_in_thread(void * jarg1, int jarg2) {
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  arg2 = (int)jarg2; 
-  switch_xml_free_in_thread(arg1,arg2);
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_error(void * jarg1) {
-  char * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  result = (char *)switch_xml_error(arg1);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_new(char * jarg1) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_xml_t)switch_xml_new((char const *)arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_add_child(void * jarg1, char * jarg2, void * jarg3) {
-  void * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_size_t arg3 ;
-  switch_size_t *argp3 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml_t)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 = (switch_xml_t)switch_xml_add_child(arg1,(char const *)arg2,arg3);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_set_txt(void * jarg1, char * jarg2) {
-  void * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  char *arg2 = (char *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (switch_xml_t)switch_xml_set_txt(arg1,(char const *)arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_set_attr(void * jarg1, char * jarg2, char * jarg3) {
-  void * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (switch_xml_t)switch_xml_set_attr(arg1,(char const *)arg2,(char const *)arg3);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_set_flag(void * jarg1, int jarg2) {
-  void * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  switch_xml_flag_t arg2 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  arg2 = (switch_xml_flag_t)jarg2; 
-  result = (switch_xml_t)switch_xml_set_flag(arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_cut(void * jarg1) {
-  void * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  result = (switch_xml_t)switch_xml_cut(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_insert(void * jarg1, void * jarg2, void * jarg3) {
-  void * jresult ;
-  switch_xml_t arg1 = (switch_xml_t) 0 ;
-  switch_xml_t arg2 = (switch_xml_t) 0 ;
-  switch_size_t arg3 ;
-  switch_size_t *argp3 ;
-  switch_xml_t result;
-  
-  arg1 = (switch_xml_t)jarg1; 
-  arg2 = (switch_xml_t)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_xml_t)switch_xml_insert(arg1,arg2,arg3);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_open_root(unsigned char jarg1, void * jarg2) {
-  void * jresult ;
-  uint8_t arg1 ;
-  char **arg2 = (char **) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (uint8_t)jarg1; 
-  arg2 = (char **)jarg2; 
-  result = (switch_xml_t)switch_xml_open_root(arg1,(char const **)arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_init(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
-  char **arg2 = (char **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_memory_pool_t *)jarg1; 
-  arg2 = (char **)jarg2; 
-  result = (switch_status_t)switch_xml_init(arg1,(char const **)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_destroy() {
-  int jresult ;
-  switch_status_t result;
-  
-  result = (switch_status_t)switch_xml_destroy();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_root() {
-  void * jresult ;
-  switch_xml_t result;
-  
-  result = (switch_xml_t)switch_xml_root();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_locate(char * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, void * jarg6, void * jarg7) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  switch_xml_t *arg5 = (switch_xml_t *) 0 ;
-  switch_xml_t *arg6 = (switch_xml_t *) 0 ;
-  switch_event_t *arg7 = (switch_event_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (switch_xml_t *)jarg5; 
-  arg6 = (switch_xml_t *)jarg6; 
-  arg7 = (switch_event_t *)jarg7; 
-  result = (switch_status_t)switch_xml_locate((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_locate_domain(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_event_t *arg2 = (switch_event_t *) 0 ;
-  switch_xml_t *arg3 = (switch_xml_t *) 0 ;
-  switch_xml_t *arg4 = (switch_xml_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_event_t *)jarg2; 
-  arg3 = (switch_xml_t *)jarg3; 
-  arg4 = (switch_xml_t *)jarg4; 
-  result = (switch_status_t)switch_xml_locate_domain((char const *)arg1,arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_locate_user(char * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, void * jarg6, void * jarg7, void * jarg8) {
-  int jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  switch_xml_t *arg5 = (switch_xml_t *) 0 ;
-  switch_xml_t *arg6 = (switch_xml_t *) 0 ;
-  switch_xml_t *arg7 = (switch_xml_t *) 0 ;
-  switch_event_t *arg8 = (switch_event_t *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (switch_xml_t *)jarg5; 
-  arg6 = (switch_xml_t *)jarg6; 
-  arg7 = (switch_xml_t *)jarg7; 
-  arg8 = (switch_event_t *)jarg8; 
-  result = (switch_status_t)switch_xml_locate_user((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7,arg8);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_open_cfg(char * jarg1, void * jarg2, void * jarg3) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_xml_t *arg2 = (switch_xml_t *) 0 ;
-  switch_event_t *arg3 = (switch_event_t *) 0 ;
-  switch_xml_t result;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (switch_xml_t *)jarg2; 
-  arg3 = (switch_event_t *)jarg3; 
-  result = (switch_xml_t)switch_xml_open_cfg((char const *)arg1,arg2,arg3);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_bind_search_function(void * jarg1, unsigned long jarg2, void * jarg3) {
-  int jresult ;
-  switch_xml_search_function_t arg1 = (switch_xml_search_function_t) 0 ;
-  switch_xml_section_t arg2 ;
-  void *arg3 = (void *) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_xml_search_function_t)jarg1; 
-  arg2 = (switch_xml_section_t)jarg2; 
-  arg3 = (void *)jarg3; 
-  result = (switch_status_t)switch_xml_bind_search_function(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_unbind_search_function(void * jarg1) {
-  int jresult ;
-  switch_xml_binding_t **arg1 = (switch_xml_binding_t **) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_xml_binding_t **)jarg1; 
-  result = (switch_status_t)switch_xml_unbind_search_function(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_unbind_search_function_ptr(void * jarg1) {
-  int jresult ;
-  switch_xml_search_function_t arg1 = (switch_xml_search_function_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_xml_search_function_t)jarg1; 
-  result = (switch_status_t)switch_xml_unbind_search_function_ptr(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_xml_parse_section_string(char * jarg1) {
-  unsigned long jresult ;
-  char *arg1 = (char *) 0 ;
-  switch_xml_section_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (switch_xml_section_t)switch_xml_parse_section_string((char const *)arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
-  switch_outgoing_channel_hook_t arg2 = (switch_outgoing_channel_hook_t) 0 ;
-  
-  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
-  arg2 = (switch_outgoing_channel_hook_t)jarg2; 
-  if (arg1) (arg1)->outgoing_channel = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
-  switch_outgoing_channel_hook_t result;
-  
-  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
-  result = (switch_outgoing_channel_hook_t) ((arg1)->outgoing_channel);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_outgoing_channel_next_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
-  switch_io_event_hook_outgoing_channel *arg2 = (switch_io_event_hook_outgoing_channel *) 0 ;
-  
-  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
-  arg2 = (switch_io_event_hook_outgoing_channel *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_outgoing_channel_next_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
-  switch_io_event_hook_outgoing_channel *result = 0 ;
-  
-  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
-  result = (switch_io_event_hook_outgoing_channel *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_outgoing_channel() {
-  void * jresult ;
-  switch_io_event_hook_outgoing_channel *result = 0 ;
-  
-  result = (switch_io_event_hook_outgoing_channel *)new switch_io_event_hook_outgoing_channel();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_outgoing_channel(void * jarg1) {
-  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
-  
-  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_receive_message_receive_message_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
-  switch_receive_message_hook_t arg2 = (switch_receive_message_hook_t) 0 ;
-  
-  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
-  arg2 = (switch_receive_message_hook_t)jarg2; 
-  if (arg1) (arg1)->receive_message = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_receive_message_receive_message_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
-  switch_receive_message_hook_t result;
-  
-  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
-  result = (switch_receive_message_hook_t) ((arg1)->receive_message);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_receive_message_next_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
-  switch_io_event_hook_receive_message *arg2 = (switch_io_event_hook_receive_message *) 0 ;
-  
-  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
-  arg2 = (switch_io_event_hook_receive_message *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_receive_message_next_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
-  switch_io_event_hook_receive_message *result = 0 ;
-  
-  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
-  result = (switch_io_event_hook_receive_message *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_receive_message() {
-  void * jresult ;
-  switch_io_event_hook_receive_message *result = 0 ;
-  
-  result = (switch_io_event_hook_receive_message *)new switch_io_event_hook_receive_message();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_receive_message(void * jarg1) {
-  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
-  
-  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_receive_event_receive_event_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
-  switch_receive_event_hook_t arg2 = (switch_receive_event_hook_t) 0 ;
-  
-  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
-  arg2 = (switch_receive_event_hook_t)jarg2; 
-  if (arg1) (arg1)->receive_event = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_receive_event_receive_event_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
-  switch_receive_event_hook_t result;
-  
-  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
-  result = (switch_receive_event_hook_t) ((arg1)->receive_event);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_receive_event_next_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
-  switch_io_event_hook_receive_event *arg2 = (switch_io_event_hook_receive_event *) 0 ;
-  
-  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
-  arg2 = (switch_io_event_hook_receive_event *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_receive_event_next_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
-  switch_io_event_hook_receive_event *result = 0 ;
-  
-  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
-  result = (switch_io_event_hook_receive_event *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_receive_event() {
-  void * jresult ;
-  switch_io_event_hook_receive_event *result = 0 ;
-  
-  result = (switch_io_event_hook_receive_event *)new switch_io_event_hook_receive_event();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_receive_event(void * jarg1) {
-  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
-  
-  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_read_frame_read_frame_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
-  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
-  
-  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
-  arg2 = (switch_read_frame_hook_t)jarg2; 
-  if (arg1) (arg1)->read_frame = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_read_frame_read_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
-  switch_read_frame_hook_t result;
-  
-  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
-  result = (switch_read_frame_hook_t) ((arg1)->read_frame);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_read_frame_next_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
-  switch_io_event_hook_read_frame *arg2 = (switch_io_event_hook_read_frame *) 0 ;
-  
-  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
-  arg2 = (switch_io_event_hook_read_frame *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_read_frame_next_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
-  switch_io_event_hook_read_frame *result = 0 ;
-  
-  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
-  result = (switch_io_event_hook_read_frame *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_read_frame() {
-  void * jresult ;
-  switch_io_event_hook_read_frame *result = 0 ;
-  
-  result = (switch_io_event_hook_read_frame *)new switch_io_event_hook_read_frame();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_read_frame(void * jarg1) {
-  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
-  
-  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_video_read_frame_video_read_frame_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
-  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
-  
-  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
-  arg2 = (switch_read_frame_hook_t)jarg2; 
-  if (arg1) (arg1)->video_read_frame = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_video_read_frame_video_read_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
-  switch_read_frame_hook_t result;
-  
-  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
-  result = (switch_read_frame_hook_t) ((arg1)->video_read_frame);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_video_read_frame_next_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
-  switch_io_event_hook_video_read_frame *arg2 = (switch_io_event_hook_video_read_frame *) 0 ;
-  
-  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
-  arg2 = (switch_io_event_hook_video_read_frame *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_video_read_frame_next_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
-  switch_io_event_hook_video_read_frame *result = 0 ;
-  
-  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
-  result = (switch_io_event_hook_video_read_frame *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_video_read_frame() {
-  void * jresult ;
-  switch_io_event_hook_video_read_frame *result = 0 ;
-  
-  result = (switch_io_event_hook_video_read_frame *)new switch_io_event_hook_video_read_frame();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_video_read_frame(void * jarg1) {
-  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
-  
-  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_write_frame_write_frame_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
-  switch_write_frame_hook_t arg2 = (switch_write_frame_hook_t) 0 ;
-  
-  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
-  arg2 = (switch_write_frame_hook_t)jarg2; 
-  if (arg1) (arg1)->write_frame = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_write_frame_write_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
-  switch_write_frame_hook_t result;
-  
-  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
-  result = (switch_write_frame_hook_t) ((arg1)->write_frame);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_write_frame_next_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
-  switch_io_event_hook_write_frame *arg2 = (switch_io_event_hook_write_frame *) 0 ;
-  
-  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
-  arg2 = (switch_io_event_hook_write_frame *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_write_frame_next_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
-  switch_io_event_hook_write_frame *result = 0 ;
-  
-  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
-  result = (switch_io_event_hook_write_frame *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_write_frame() {
-  void * jresult ;
-  switch_io_event_hook_write_frame *result = 0 ;
-  
-  result = (switch_io_event_hook_write_frame *)new switch_io_event_hook_write_frame();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_write_frame(void * jarg1) {
-  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
-  
-  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_video_write_frame_video_write_frame_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
-  switch_video_write_frame_hook_t arg2 = (switch_video_write_frame_hook_t) 0 ;
-  
-  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
-  arg2 = (switch_video_write_frame_hook_t)jarg2; 
-  if (arg1) (arg1)->video_write_frame = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_video_write_frame_video_write_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
-  switch_video_write_frame_hook_t result;
-  
-  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
-  result = (switch_video_write_frame_hook_t) ((arg1)->video_write_frame);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_video_write_frame_next_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
-  switch_io_event_hook_video_write_frame *arg2 = (switch_io_event_hook_video_write_frame *) 0 ;
-  
-  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
-  arg2 = (switch_io_event_hook_video_write_frame *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_video_write_frame_next_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
-  switch_io_event_hook_video_write_frame *result = 0 ;
-  
-  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
-  result = (switch_io_event_hook_video_write_frame *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_video_write_frame() {
-  void * jresult ;
-  switch_io_event_hook_video_write_frame *result = 0 ;
-  
-  result = (switch_io_event_hook_video_write_frame *)new switch_io_event_hook_video_write_frame();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_video_write_frame(void * jarg1) {
-  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
-  
-  arg1 = (switch_io_event_hook_video_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 ;
-  
-  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
-  arg2 = (switch_kill_channel_hook_t)jarg2; 
-  if (arg1) (arg1)->kill_channel = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_kill_channel_kill_channel_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
-  switch_kill_channel_hook_t result;
-  
-  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
-  result = (switch_kill_channel_hook_t) ((arg1)->kill_channel);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_kill_channel_next_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
-  switch_io_event_hook_kill_channel *arg2 = (switch_io_event_hook_kill_channel *) 0 ;
-  
-  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
-  arg2 = (switch_io_event_hook_kill_channel *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_kill_channel_next_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
-  switch_io_event_hook_kill_channel *result = 0 ;
-  
-  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
-  result = (switch_io_event_hook_kill_channel *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_kill_channel() {
-  void * jresult ;
-  switch_io_event_hook_kill_channel *result = 0 ;
-  
-  result = (switch_io_event_hook_kill_channel *)new switch_io_event_hook_kill_channel();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_kill_channel(void * jarg1) {
-  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
-  
-  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_send_dtmf_send_dtmf_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
-  switch_send_dtmf_hook_t arg2 = (switch_send_dtmf_hook_t) 0 ;
-  
-  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
-  arg2 = (switch_send_dtmf_hook_t)jarg2; 
-  if (arg1) (arg1)->send_dtmf = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_send_dtmf_send_dtmf_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
-  switch_send_dtmf_hook_t result;
-  
-  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
-  result = (switch_send_dtmf_hook_t) ((arg1)->send_dtmf);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_send_dtmf_next_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
-  switch_io_event_hook_send_dtmf *arg2 = (switch_io_event_hook_send_dtmf *) 0 ;
-  
-  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
-  arg2 = (switch_io_event_hook_send_dtmf *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_send_dtmf_next_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
-  switch_io_event_hook_send_dtmf *result = 0 ;
-  
-  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
-  result = (switch_io_event_hook_send_dtmf *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_send_dtmf() {
-  void * jresult ;
-  switch_io_event_hook_send_dtmf *result = 0 ;
-  
-  result = (switch_io_event_hook_send_dtmf *)new switch_io_event_hook_send_dtmf();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_send_dtmf(void * jarg1) {
-  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
-  
-  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
-  switch_recv_dtmf_hook_t arg2 = (switch_recv_dtmf_hook_t) 0 ;
-  
-  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
-  arg2 = (switch_recv_dtmf_hook_t)jarg2; 
-  if (arg1) (arg1)->recv_dtmf = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
-  switch_recv_dtmf_hook_t result;
-  
-  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
-  result = (switch_recv_dtmf_hook_t) ((arg1)->recv_dtmf);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_recv_dtmf_next_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
-  switch_io_event_hook_recv_dtmf *arg2 = (switch_io_event_hook_recv_dtmf *) 0 ;
-  
-  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
-  arg2 = (switch_io_event_hook_recv_dtmf *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_recv_dtmf_next_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
-  switch_io_event_hook_recv_dtmf *result = 0 ;
-  
-  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
-  result = (switch_io_event_hook_recv_dtmf *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_recv_dtmf() {
-  void * jresult ;
-  switch_io_event_hook_recv_dtmf *result = 0 ;
-  
-  result = (switch_io_event_hook_recv_dtmf *)new switch_io_event_hook_recv_dtmf();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_recv_dtmf(void * jarg1) {
-  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
-  
-  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_state_change_state_change_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
-  switch_state_change_hook_t arg2 = (switch_state_change_hook_t) 0 ;
-  
-  arg1 = (switch_io_event_hook_state_change *)jarg1; 
-  arg2 = (switch_state_change_hook_t)jarg2; 
-  if (arg1) (arg1)->state_change = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_state_change_state_change_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
-  switch_state_change_hook_t result;
-  
-  arg1 = (switch_io_event_hook_state_change *)jarg1; 
-  result = (switch_state_change_hook_t) ((arg1)->state_change);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_state_change_next_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
-  switch_io_event_hook_state_change *arg2 = (switch_io_event_hook_state_change *) 0 ;
-  
-  arg1 = (switch_io_event_hook_state_change *)jarg1; 
-  arg2 = (switch_io_event_hook_state_change *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_state_change_next_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
-  switch_io_event_hook_state_change *result = 0 ;
-  
-  arg1 = (switch_io_event_hook_state_change *)jarg1; 
-  result = (switch_io_event_hook_state_change *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_state_change() {
-  void * jresult ;
-  switch_io_event_hook_state_change *result = 0 ;
-  
-  result = (switch_io_event_hook_state_change *)new switch_io_event_hook_state_change();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_state_change(void * jarg1) {
-  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
-  
-  arg1 = (switch_io_event_hook_state_change *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_resurrect_session_resurrect_session_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
-  switch_resurrect_session_hook_t arg2 = (switch_resurrect_session_hook_t) 0 ;
-  
-  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
-  arg2 = (switch_resurrect_session_hook_t)jarg2; 
-  if (arg1) (arg1)->resurrect_session = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_resurrect_session_resurrect_session_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
-  switch_resurrect_session_hook_t result;
-  
-  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
-  result = (switch_resurrect_session_hook_t) ((arg1)->resurrect_session);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_resurrect_session_next_set(void * jarg1, void * jarg2) {
-  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
-  switch_io_event_hook_resurrect_session *arg2 = (switch_io_event_hook_resurrect_session *) 0 ;
-  
-  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
-  arg2 = (switch_io_event_hook_resurrect_session *)jarg2; 
-  if (arg1) (arg1)->next = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_resurrect_session_next_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
-  switch_io_event_hook_resurrect_session *result = 0 ;
-  
-  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
-  result = (switch_io_event_hook_resurrect_session *) ((arg1)->next);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_resurrect_session() {
-  void * jresult ;
-  switch_io_event_hook_resurrect_session *result = 0 ;
-  
-  result = (switch_io_event_hook_resurrect_session *)new switch_io_event_hook_resurrect_session();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_resurrect_session(void * jarg1) {
-  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
-  
-  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_outgoing_channel_set(void * jarg1, void * jarg2) {
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_outgoing_channel_t *arg2 = (switch_io_event_hook_outgoing_channel_t *) 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  arg2 = (switch_io_event_hook_outgoing_channel_t *)jarg2; 
-  if (arg1) (arg1)->outgoing_channel = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_outgoing_channel_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_outgoing_channel_t *result = 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  result = (switch_io_event_hook_outgoing_channel_t *) ((arg1)->outgoing_channel);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_receive_message_set(void * jarg1, void * jarg2) {
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_receive_message_t *arg2 = (switch_io_event_hook_receive_message_t *) 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  arg2 = (switch_io_event_hook_receive_message_t *)jarg2; 
-  if (arg1) (arg1)->receive_message = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_receive_message_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_receive_message_t *result = 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  result = (switch_io_event_hook_receive_message_t *) ((arg1)->receive_message);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_receive_event_set(void * jarg1, void * jarg2) {
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_receive_event_t *arg2 = (switch_io_event_hook_receive_event_t *) 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  arg2 = (switch_io_event_hook_receive_event_t *)jarg2; 
-  if (arg1) (arg1)->receive_event = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_receive_event_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_receive_event_t *result = 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  result = (switch_io_event_hook_receive_event_t *) ((arg1)->receive_event);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_read_frame_set(void * jarg1, void * jarg2) {
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_read_frame_t *arg2 = (switch_io_event_hook_read_frame_t *) 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  arg2 = (switch_io_event_hook_read_frame_t *)jarg2; 
-  if (arg1) (arg1)->read_frame = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_read_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_read_frame_t *result = 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  result = (switch_io_event_hook_read_frame_t *) ((arg1)->read_frame);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_video_read_frame_set(void * jarg1, void * jarg2) {
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_video_read_frame_t *arg2 = (switch_io_event_hook_video_read_frame_t *) 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  arg2 = (switch_io_event_hook_video_read_frame_t *)jarg2; 
-  if (arg1) (arg1)->video_read_frame = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_video_read_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_video_read_frame_t *result = 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  result = (switch_io_event_hook_video_read_frame_t *) ((arg1)->video_read_frame);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_write_frame_set(void * jarg1, void * jarg2) {
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_write_frame_t *arg2 = (switch_io_event_hook_write_frame_t *) 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  arg2 = (switch_io_event_hook_write_frame_t *)jarg2; 
-  if (arg1) (arg1)->write_frame = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_write_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_write_frame_t *result = 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  result = (switch_io_event_hook_write_frame_t *) ((arg1)->write_frame);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_video_write_frame_set(void * jarg1, void * jarg2) {
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_video_write_frame_t *arg2 = (switch_io_event_hook_video_write_frame_t *) 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  arg2 = (switch_io_event_hook_video_write_frame_t *)jarg2; 
-  if (arg1) (arg1)->video_write_frame = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_video_write_frame_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_video_write_frame_t *result = 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  result = (switch_io_event_hook_video_write_frame_t *) ((arg1)->video_write_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 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  arg2 = (switch_io_event_hook_kill_channel_t *)jarg2; 
-  if (arg1) (arg1)->kill_channel = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_kill_channel_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_kill_channel_t *result = 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  result = (switch_io_event_hook_kill_channel_t *) ((arg1)->kill_channel);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_send_dtmf_set(void * jarg1, void * jarg2) {
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_send_dtmf_t *arg2 = (switch_io_event_hook_send_dtmf_t *) 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  arg2 = (switch_io_event_hook_send_dtmf_t *)jarg2; 
-  if (arg1) (arg1)->send_dtmf = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_send_dtmf_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_send_dtmf_t *result = 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  result = (switch_io_event_hook_send_dtmf_t *) ((arg1)->send_dtmf);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_recv_dtmf_set(void * jarg1, void * jarg2) {
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_recv_dtmf_t *arg2 = (switch_io_event_hook_recv_dtmf_t *) 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  arg2 = (switch_io_event_hook_recv_dtmf_t *)jarg2; 
-  if (arg1) (arg1)->recv_dtmf = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_recv_dtmf_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_recv_dtmf_t *result = 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  result = (switch_io_event_hook_recv_dtmf_t *) ((arg1)->recv_dtmf);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_state_change_set(void * jarg1, void * jarg2) {
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_state_change_t *arg2 = (switch_io_event_hook_state_change_t *) 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  arg2 = (switch_io_event_hook_state_change_t *)jarg2; 
-  if (arg1) (arg1)->state_change = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_state_change_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_state_change_t *result = 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  result = (switch_io_event_hook_state_change_t *) ((arg1)->state_change);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_resurrect_session_set(void * jarg1, void * jarg2) {
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_resurrect_session_t *arg2 = (switch_io_event_hook_resurrect_session_t *) 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  arg2 = (switch_io_event_hook_resurrect_session_t *)jarg2; 
-  if (arg1) (arg1)->resurrect_session = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_resurrect_session_get(void * jarg1) {
-  void * jresult ;
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  switch_io_event_hook_resurrect_session_t *result = 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  result = (switch_io_event_hook_resurrect_session_t *) ((arg1)->resurrect_session);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hooks() {
-  void * jresult ;
-  switch_io_event_hooks *result = 0 ;
-  
-  result = (switch_io_event_hooks *)new switch_io_event_hooks();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hooks(void * jarg1) {
-  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
-  
-  arg1 = (switch_io_event_hooks *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_outgoing_channel(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_outgoing_channel_hook_t arg2 = (switch_outgoing_channel_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_outgoing_channel_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_add_outgoing_channel(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_receive_message(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_receive_message_hook_t arg2 = (switch_receive_message_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_receive_message_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_add_receive_message(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_receive_event(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_receive_event_hook_t arg2 = (switch_receive_event_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_receive_event_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_add_receive_event(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_state_change(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_state_change_hook_t arg2 = (switch_state_change_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_state_change_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_add_state_change(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_read_frame(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_read_frame_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_add_read_frame(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_write_frame(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_write_frame_hook_t arg2 = (switch_write_frame_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_write_frame_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_add_write_frame(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_video_read_frame(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_video_read_frame_hook_t arg2 = (switch_video_read_frame_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_video_read_frame_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_add_video_read_frame(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_video_write_frame(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_video_write_frame_hook_t arg2 = (switch_video_write_frame_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_video_write_frame_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_add_video_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 ;
-  switch_kill_channel_hook_t arg2 = (switch_kill_channel_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_kill_channel_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_add_kill_channel(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_send_dtmf(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_send_dtmf_hook_t arg2 = (switch_send_dtmf_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_send_dtmf_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_add_send_dtmf(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_recv_dtmf(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_recv_dtmf_hook_t arg2 = (switch_recv_dtmf_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_recv_dtmf_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_add_recv_dtmf(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_resurrect_session(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_resurrect_session_hook_t arg2 = (switch_resurrect_session_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_resurrect_session_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_add_resurrect_session(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_outgoing_channel(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_outgoing_channel_hook_t arg2 = (switch_outgoing_channel_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_outgoing_channel_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_remove_outgoing_channel(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_receive_message(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_receive_message_hook_t arg2 = (switch_receive_message_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_receive_message_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_remove_receive_message(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_receive_event(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_receive_event_hook_t arg2 = (switch_receive_event_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_receive_event_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_remove_receive_event(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_state_change(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_state_change_hook_t arg2 = (switch_state_change_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_state_change_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_remove_state_change(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_read_frame(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_read_frame_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_remove_read_frame(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_write_frame(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_write_frame_hook_t arg2 = (switch_write_frame_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_write_frame_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_remove_write_frame(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_video_read_frame(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_video_read_frame_hook_t arg2 = (switch_video_read_frame_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_video_read_frame_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_remove_video_read_frame(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_video_write_frame(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_video_write_frame_hook_t arg2 = (switch_video_write_frame_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_video_write_frame_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_remove_video_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 ;
-  switch_kill_channel_hook_t arg2 = (switch_kill_channel_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_kill_channel_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_remove_kill_channel(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_send_dtmf(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_send_dtmf_hook_t arg2 = (switch_send_dtmf_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_send_dtmf_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_remove_send_dtmf(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_recv_dtmf(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_recv_dtmf_hook_t arg2 = (switch_recv_dtmf_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_recv_dtmf_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_remove_recv_dtmf(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_resurrect_session(void * jarg1, void * jarg2) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  switch_resurrect_session_hook_t arg2 = (switch_resurrect_session_hook_t) 0 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (switch_resurrect_session_hook_t)jarg2; 
-  result = (switch_status_t)switch_core_event_hook_remove_resurrect_session(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_created_set(void * jarg1, long long jarg2) {
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  int64_t arg2 ;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  arg2 = (int64_t)jarg2; 
-  if (arg1) (arg1)->created = arg2;
-}
-
-
-SWIGEXPORT long long SWIGSTDCALL CSharp_switch_scheduler_task_created_get(void * jarg1) {
-  long long jresult ;
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  int64_t result;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  result = (int64_t) ((arg1)->created);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_runtime_set(void * jarg1, long long jarg2) {
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  int64_t arg2 ;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  arg2 = (int64_t)jarg2; 
-  if (arg1) (arg1)->runtime = arg2;
-}
-
-
-SWIGEXPORT long long SWIGSTDCALL CSharp_switch_scheduler_task_runtime_get(void * jarg1) {
-  long long jresult ;
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  int64_t result;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  result = (int64_t) ((arg1)->runtime);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_cmd_id_set(void * jarg1, unsigned long jarg2) {
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->cmd_id = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_scheduler_task_cmd_id_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  result = (uint32_t) ((arg1)->cmd_id);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_group_set(void * jarg1, char * jarg2) {
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->group) delete [] arg1->group;
-    if (arg2) {
-      arg1->group = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->group, (const char *)arg2);
-    } else {
-      arg1->group = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_scheduler_task_group_get(void * jarg1) {
-  char * jresult ;
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  result = (char *) ((arg1)->group);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_cmd_arg_set(void * jarg1, void * jarg2) {
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->cmd_arg = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_scheduler_task_cmd_arg_get(void * jarg1) {
-  void * jresult ;
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  result = (void *) ((arg1)->cmd_arg);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_task_id_set(void * jarg1, unsigned long jarg2) {
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->task_id = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_scheduler_task_task_id_get(void * jarg1) {
-  unsigned long jresult ;
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  uint32_t result;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  result = (uint32_t) ((arg1)->task_id);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_scheduler_task() {
-  void * jresult ;
-  switch_scheduler_task *result = 0 ;
-  
-  result = (switch_scheduler_task *)new switch_scheduler_task();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_scheduler_task(void * jarg1) {
-  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
-  
-  arg1 = (switch_scheduler_task *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_scheduler_add_task(void * jarg1, void * jarg2, char * jarg3, char * jarg4, unsigned long jarg5, void * jarg6, unsigned long jarg7) {
-  unsigned long jresult ;
-  time_t arg1 ;
-  switch_scheduler_func_t arg2 = (switch_scheduler_func_t) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  uint32_t arg5 ;
-  void *arg6 = (void *) 0 ;
-  switch_scheduler_flag_t arg7 ;
-  time_t *argp1 ;
-  uint32_t result;
-  
-  argp1 = (time_t *)jarg1; 
-  if (!argp1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
-    return 0;
-  }
-  arg1 = *argp1; 
-  arg2 = (switch_scheduler_func_t)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (uint32_t)jarg5; 
-  arg6 = (void *)jarg6; 
-  arg7 = (switch_scheduler_flag_t)jarg7; 
-  result = (uint32_t)switch_scheduler_add_task(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_scheduler_del_task_id(unsigned long jarg1) {
-  unsigned long jresult ;
-  uint32_t arg1 ;
-  uint32_t result;
-  
-  arg1 = (uint32_t)jarg1; 
-  result = (uint32_t)switch_scheduler_del_task_id(arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_scheduler_del_task_group(char * jarg1) {
-  unsigned long jresult ;
-  char *arg1 = (char *) 0 ;
-  uint32_t result;
-  
-  arg1 = (char *)jarg1; 
-  result = (uint32_t)switch_scheduler_del_task_group((char const *)arg1);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_thread_start() {
-  switch_scheduler_task_thread_start();
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_thread_stop() {
-  switch_scheduler_task_thread_stop();
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_file_set(void * jarg1, void * jarg2) {
-  switch_config *arg1 = (switch_config *) 0 ;
-  FILE *arg2 = (FILE *) 0 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  arg2 = (FILE *)jarg2; 
-  if (arg1) (arg1)->file = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_switch_config_file_get(void * jarg1) {
-  void * jresult ;
-  switch_config *arg1 = (switch_config *) 0 ;
-  FILE *result = 0 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  result = (FILE *) ((arg1)->file);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_path_set(void * jarg1, char * jarg2) {
-  switch_config *arg1 = (switch_config *) 0 ;
-  char *arg2 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) strncpy((char *)arg1->path, (const char *)arg2, 512);
-    else arg1->path[0] = 0;
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_config_path_get(void * jarg1) {
-  char * jresult ;
-  switch_config *arg1 = (switch_config *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  result = (char *)(char *) ((arg1)->path);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_category_set(void * jarg1, char * jarg2) {
-  switch_config *arg1 = (switch_config *) 0 ;
-  char *arg2 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) strncpy((char *)arg1->category, (const char *)arg2, 256);
-    else arg1->category[0] = 0;
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_config_category_get(void * jarg1) {
-  char * jresult ;
-  switch_config *arg1 = (switch_config *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  result = (char *)(char *) ((arg1)->category);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_section_set(void * jarg1, char * jarg2) {
-  switch_config *arg1 = (switch_config *) 0 ;
-  char *arg2 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) strncpy((char *)arg1->section, (const char *)arg2, 256);
-    else arg1->section[0] = 0;
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_config_section_get(void * jarg1) {
-  char * jresult ;
-  switch_config *arg1 = (switch_config *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  result = (char *)(char *) ((arg1)->section);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_buf_set(void * jarg1, char * jarg2) {
-  switch_config *arg1 = (switch_config *) 0 ;
-  char *arg2 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg2) strncpy((char *)arg1->buf, (const char *)arg2, 1024);
-    else arg1->buf[0] = 0;
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_switch_config_buf_get(void * jarg1) {
-  char * jresult ;
-  switch_config *arg1 = (switch_config *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  result = (char *)(char *) ((arg1)->buf);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_lineno_set(void * jarg1, int jarg2) {
-  switch_config *arg1 = (switch_config *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->lineno = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_config_lineno_get(void * jarg1) {
-  int jresult ;
-  switch_config *arg1 = (switch_config *) 0 ;
-  int result;
-  
-  arg1 = (switch_config *)jarg1; 
-  result = (int) ((arg1)->lineno);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_catno_set(void * jarg1, int jarg2) {
-  switch_config *arg1 = (switch_config *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->catno = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_config_catno_get(void * jarg1) {
-  int jresult ;
-  switch_config *arg1 = (switch_config *) 0 ;
-  int result;
-  
-  arg1 = (switch_config *)jarg1; 
-  result = (int) ((arg1)->catno);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_sectno_set(void * jarg1, int jarg2) {
-  switch_config *arg1 = (switch_config *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->sectno = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_config_sectno_get(void * jarg1) {
-  int jresult ;
-  switch_config *arg1 = (switch_config *) 0 ;
-  int result;
-  
-  arg1 = (switch_config *)jarg1; 
-  result = (int) ((arg1)->sectno);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_lockto_set(void * jarg1, int jarg2) {
-  switch_config *arg1 = (switch_config *) 0 ;
-  int arg2 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->lockto = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_config_lockto_get(void * jarg1) {
-  int jresult ;
-  switch_config *arg1 = (switch_config *) 0 ;
-  int result;
-  
-  arg1 = (switch_config *)jarg1; 
-  result = (int) ((arg1)->lockto);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_config() {
-  void * jresult ;
-  switch_config *result = 0 ;
-  
-  result = (switch_config *)new switch_config();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_config(void * jarg1) {
-  switch_config *arg1 = (switch_config *) 0 ;
-  
-  arg1 = (switch_config *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_config_open_file(void * jarg1, char * jarg2) {
-  int jresult ;
-  switch_config_t *arg1 = (switch_config_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int result;
-  
-  arg1 = (switch_config_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (int)switch_config_open_file(arg1,arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_close_file(void * jarg1) {
-  switch_config_t *arg1 = (switch_config_t *) 0 ;
-  
-  arg1 = (switch_config_t *)jarg1; 
-  switch_config_close_file(arg1);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_config_next_pair(void * jarg1, void * jarg2, void * jarg3) {
-  int jresult ;
-  switch_config_t *arg1 = (switch_config_t *) 0 ;
-  char **arg2 = (char **) 0 ;
-  char **arg3 = (char **) 0 ;
-  int result;
-  
-  arg1 = (switch_config_t *)jarg1; 
-  arg2 = (char **)jarg2; 
-  arg3 = (char **)jarg3; 
-  result = (int)switch_config_next_pair(arg1,arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_consoleLog(char * jarg1, char * jarg2) {
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  consoleLog(arg1,arg2);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_consoleCleanLog(char * jarg1) {
-  char *arg1 = (char *) 0 ;
-  
-  arg1 = (char *)jarg1; 
-  consoleCleanLog(arg1);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_IvrMenu(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, int jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14) {
-  void * jresult ;
-  IVRMenu *arg1 = (IVRMenu *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  char *arg6 = (char *) 0 ;
-  char *arg7 = (char *) 0 ;
-  char *arg8 = (char *) 0 ;
-  int arg9 ;
-  int arg10 ;
-  int arg11 ;
-  int arg12 ;
-  int arg13 ;
-  int arg14 ;
-  IVRMenu *result = 0 ;
-  
-  arg1 = (IVRMenu *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (char *)jarg5; 
-  arg6 = (char *)jarg6; 
-  arg7 = (char *)jarg7; 
-  arg8 = (char *)jarg8; 
-  arg9 = (int)jarg9; 
-  arg10 = (int)jarg10; 
-  arg11 = (int)jarg11; 
-  arg12 = (int)jarg12; 
-  arg13 = (int)jarg13; 
-  arg14 = (int)jarg14; 
-  result = (IVRMenu *)new IVRMenu(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,arg9,arg10,arg11,arg12,arg13,arg14);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_IvrMenu(void * jarg1) {
-  IVRMenu *arg1 = (IVRMenu *) 0 ;
-  
-  arg1 = (IVRMenu *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_IvrMenu_bindAction(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
-  IVRMenu *arg1 = (IVRMenu *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  
-  arg1 = (IVRMenu *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  (arg1)->bindAction(arg2,(char const *)arg3,(char const *)arg4);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_IvrMenu_Execute(void * jarg1, void * jarg2, char * jarg3) {
-  IVRMenu *arg1 = (IVRMenu *) 0 ;
-  CoreSession *arg2 = (CoreSession *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  arg1 = (IVRMenu *)jarg1; 
-  arg2 = (CoreSession *)jarg2; 
-  arg3 = (char *)jarg3; 
-  (arg1)->execute(arg2,(char const *)arg3);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_Api() {
-  void * jresult ;
-  API *result = 0 ;
-  
-  result = (API *)new API();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_Api(void * jarg1) {
-  API *arg1 = (API *) 0 ;
-  
-  arg1 = (API *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_Api_Execute(void * jarg1, char * jarg2, char * jarg3) {
-  char * jresult ;
-  API *arg1 = (API *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (API *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (char *)(arg1)->execute((char const *)arg2,(char const *)arg3);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_Api_ExecuteString(void * jarg1, char * jarg2) {
-  char * jresult ;
-  API *arg1 = (API *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (API *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)(arg1)->executeString((char const *)arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_input_callback_state_t_function_set(void * jarg1, void * jarg2) {
-  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (input_callback_state_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->function = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_input_callback_state_t_function_get(void * jarg1) {
-  void * jresult ;
-  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (input_callback_state_t *)jarg1; 
-  result = (void *) ((arg1)->function);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_input_callback_state_t_threadState_set(void * jarg1, void * jarg2) {
-  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (input_callback_state_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->threadState = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_input_callback_state_t_threadState_get(void * jarg1) {
-  void * jresult ;
-  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (input_callback_state_t *)jarg1; 
-  result = (void *) ((arg1)->threadState);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_input_callback_state_t_extra_set(void * jarg1, void * jarg2) {
-  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  
-  arg1 = (input_callback_state_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  if (arg1) (arg1)->extra = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_input_callback_state_t_extra_get(void * jarg1) {
-  void * jresult ;
-  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (input_callback_state_t *)jarg1; 
-  result = (void *) ((arg1)->extra);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_input_callback_state_t_funcargs_set(void * jarg1, char * jarg2) {
-  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (input_callback_state_t *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->funcargs) delete [] arg1->funcargs;
-    if (arg2) {
-      arg1->funcargs = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->funcargs, (const char *)arg2);
-    } else {
-      arg1->funcargs = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_input_callback_state_t_funcargs_get(void * jarg1) {
-  char * jresult ;
-  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (input_callback_state_t *)jarg1; 
-  result = (char *) ((arg1)->funcargs);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_input_callback_state_t() {
-  void * jresult ;
-  input_callback_state_t *result = 0 ;
-  
-  result = (input_callback_state_t *)new input_callback_state_t();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_input_callback_state_t(void * jarg1) {
-  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
-  
-  arg1 = (input_callback_state_t *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_DTMF_digit_set(void * jarg1, char jarg2) {
-  DTMF *arg1 = (DTMF *) 0 ;
-  char arg2 ;
-  
-  arg1 = (DTMF *)jarg1; 
-  arg2 = (char)jarg2; 
-  if (arg1) (arg1)->digit = arg2;
-}
-
-
-SWIGEXPORT char SWIGSTDCALL CSharp_DTMF_digit_get(void * jarg1) {
-  char jresult ;
-  DTMF *arg1 = (DTMF *) 0 ;
-  char result;
-  
-  arg1 = (DTMF *)jarg1; 
-  result = (char) ((arg1)->digit);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_DTMF_duration_set(void * jarg1, unsigned long jarg2) {
-  DTMF *arg1 = (DTMF *) 0 ;
-  uint32_t arg2 ;
-  
-  arg1 = (DTMF *)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  if (arg1) (arg1)->duration = arg2;
-}
-
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_DTMF_duration_get(void * jarg1) {
-  unsigned long jresult ;
-  DTMF *arg1 = (DTMF *) 0 ;
-  uint32_t result;
-  
-  arg1 = (DTMF *)jarg1; 
-  result = (uint32_t) ((arg1)->duration);
-  jresult = (unsigned long)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_DTMF(char jarg1, unsigned long jarg2) {
-  void * jresult ;
-  char arg1 ;
-  uint32_t arg2 = (uint32_t) 2000 ;
-  DTMF *result = 0 ;
-  
-  arg1 = (char)jarg1; 
-  arg2 = (uint32_t)jarg2; 
-  result = (DTMF *)new DTMF(arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_DTMF(void * jarg1) {
-  DTMF *arg1 = (DTMF *) 0 ;
-  
-  arg1 = (DTMF *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_Stream__SWIG_0() {
-  void * jresult ;
-  Stream *result = 0 ;
-  
-  result = (Stream *)new Stream();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_Stream__SWIG_1(void * jarg1) {
-  void * jresult ;
-  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
-  Stream *result = 0 ;
-  
-  arg1 = (switch_stream_handle_t *)jarg1; 
-  result = (Stream *)new Stream(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_Stream(void * jarg1) {
-  Stream *arg1 = (Stream *) 0 ;
-  
-  arg1 = (Stream *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Stream_Write(void * jarg1, char * jarg2) {
-  Stream *arg1 = (Stream *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (Stream *)jarg1; 
-  arg2 = (char *)jarg2; 
-  (arg1)->write((char const *)arg2);
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_Stream_get_data(void * jarg1) {
-  char * jresult ;
-  Stream *arg1 = (Stream *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (Stream *)jarg1; 
-  result = (char *)(arg1)->get_data();
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Event_InternalEvent_set(void * jarg1, void * jarg2) {
-  Event *arg1 = (Event *) 0 ;
-  switch_event_t *arg2 = (switch_event_t *) 0 ;
-  
-  arg1 = (Event *)jarg1; 
-  arg2 = (switch_event_t *)jarg2; 
-  if (arg1) (arg1)->event = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Event_InternalEvent_get(void * jarg1) {
-  void * jresult ;
-  Event *arg1 = (Event *) 0 ;
-  switch_event_t *result = 0 ;
-  
-  arg1 = (Event *)jarg1; 
-  result = (switch_event_t *) ((arg1)->event);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Event_serialized_string_set(void * jarg1, char * jarg2) {
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (Event *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->serialized_string) delete [] arg1->serialized_string;
-    if (arg2) {
-      arg1->serialized_string = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->serialized_string, (const char *)arg2);
-    } else {
-      arg1->serialized_string = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_Event_serialized_string_get(void * jarg1) {
-  char * jresult ;
-  Event *arg1 = (Event *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (Event *)jarg1; 
-  result = (char *) ((arg1)->serialized_string);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Event_mine_set(void * jarg1, int jarg2) {
-  Event *arg1 = (Event *) 0 ;
-  int arg2 ;
-  
-  arg1 = (Event *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->mine = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_Event_mine_get(void * jarg1) {
-  int jresult ;
-  Event *arg1 = (Event *) 0 ;
-  int result;
-  
-  arg1 = (Event *)jarg1; 
-  result = (int) ((arg1)->mine);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_Event__SWIG_0(char * jarg1, char * jarg2) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) NULL ;
-  Event *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (Event *)new Event((char const *)arg1,(char const *)arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_Event__SWIG_1(void * jarg1, int jarg2) {
-  void * jresult ;
-  switch_event_t *arg1 = (switch_event_t *) 0 ;
-  int arg2 = (int) 0 ;
-  Event *result = 0 ;
-  
-  arg1 = (switch_event_t *)jarg1; 
-  arg2 = (int)jarg2; 
-  result = (Event *)new Event(arg1,arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_Event(void * jarg1) {
-  Event *arg1 = (Event *) 0 ;
-  
-  arg1 = (Event *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_Event_Serialize(void * jarg1, char * jarg2) {
-  char * jresult ;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) NULL ;
-  char *result = 0 ;
-  
-  arg1 = (Event *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)(arg1)->serialize((char const *)arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Event_SetPriority(void * jarg1, int jarg2) {
-  unsigned int jresult ;
-  Event *arg1 = (Event *) 0 ;
-  switch_priority_t arg2 = (switch_priority_t) SWITCH_PRIORITY_NORMAL ;
-  bool result;
-  
-  arg1 = (Event *)jarg1; 
-  arg2 = (switch_priority_t)jarg2; 
-  result = (bool)(arg1)->setPriority(arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_Event_GetHeader(void * jarg1, char * jarg2) {
-  char * jresult ;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (Event *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)(arg1)->getHeader(arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_Event_GetBody(void * jarg1) {
-  char * jresult ;
-  Event *arg1 = (Event *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (Event *)jarg1; 
-  result = (char *)(arg1)->getBody();
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_Event_GetEventType(void * jarg1) {
-  char * jresult ;
-  Event *arg1 = (Event *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (Event *)jarg1; 
-  result = (char *)(arg1)->getType();
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Event_AddBody(void * jarg1, char * jarg2) {
-  unsigned int jresult ;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  bool result;
-  
-  arg1 = (Event *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (bool)(arg1)->addBody((char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Event_AddHeader(void * jarg1, char * jarg2, char * jarg3) {
-  unsigned int jresult ;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  bool result;
-  
-  arg1 = (Event *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  result = (bool)(arg1)->addHeader((char const *)arg2,(char const *)arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Event_DeleteHeader(void * jarg1, char * jarg2) {
-  unsigned int jresult ;
-  Event *arg1 = (Event *) 0 ;
-  char *arg2 = (char *) 0 ;
-  bool result;
-  
-  arg1 = (Event *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (bool)(arg1)->delHeader((char const *)arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Event_Fire(void * jarg1) {
-  unsigned int jresult ;
-  Event *arg1 = (Event *) 0 ;
-  bool result;
-  
-  arg1 = (Event *)jarg1; 
-  result = (bool)(arg1)->fire();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_events_set(void * jarg1, void * jarg2) {
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  switch_queue_t *arg2 = (switch_queue_t *) 0 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  arg2 = (switch_queue_t *)jarg2; 
-  if (arg1) (arg1)->events = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_EventConsumer_events_get(void * jarg1) {
-  void * jresult ;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  switch_queue_t *result = 0 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  result = (switch_queue_t *) ((arg1)->events);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_e_event_id_set(void * jarg1, int jarg2) {
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  switch_event_types_t arg2 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  arg2 = (switch_event_types_t)jarg2; 
-  if (arg1) (arg1)->e_event_id = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_EventConsumer_e_event_id_get(void * jarg1) {
-  int jresult ;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  switch_event_types_t result;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  result = (switch_event_types_t) ((arg1)->e_event_id);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_node_set(void * jarg1, void * jarg2) {
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  switch_event_node_t *arg2 = (switch_event_node_t *) 0 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  arg2 = (switch_event_node_t *)jarg2; 
-  if (arg1) (arg1)->node = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_EventConsumer_node_get(void * jarg1) {
-  void * jresult ;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  switch_event_node_t *result = 0 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  result = (switch_event_node_t *) ((arg1)->node);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_e_callback_set(void * jarg1, char * jarg2) {
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->e_callback) delete [] arg1->e_callback;
-    if (arg2) {
-      arg1->e_callback = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->e_callback, (const char *)arg2);
-    } else {
-      arg1->e_callback = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_EventConsumer_e_callback_get(void * jarg1) {
-  char * jresult ;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  result = (char *) ((arg1)->e_callback);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_e_subclass_name_set(void * jarg1, char * jarg2) {
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->e_subclass_name) delete [] arg1->e_subclass_name;
-    if (arg2) {
-      arg1->e_subclass_name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->e_subclass_name, (const char *)arg2);
-    } else {
-      arg1->e_subclass_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_EventConsumer_e_subclass_name_get(void * jarg1) {
-  char * jresult ;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  result = (char *) ((arg1)->e_subclass_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_e_cb_arg_set(void * jarg1, char * jarg2) {
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->e_cb_arg) delete [] arg1->e_cb_arg;
-    if (arg2) {
-      arg1->e_cb_arg = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->e_cb_arg, (const char *)arg2);
-    } else {
-      arg1->e_cb_arg = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_EventConsumer_e_cb_arg_get(void * jarg1) {
-  char * jresult ;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  result = (char *) ((arg1)->e_cb_arg);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_EventConsumer(char * jarg1, char * jarg2) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) "" ;
-  EventConsumer *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (EventConsumer *)new EventConsumer((char const *)arg1,(char const *)arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_EventConsumer(void * jarg1) {
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_EventConsumer_pop(void * jarg1, int jarg2) {
-  void * jresult ;
-  EventConsumer *arg1 = (EventConsumer *) 0 ;
-  int arg2 = (int) 0 ;
-  Event *result = 0 ;
-  
-  arg1 = (EventConsumer *)jarg1; 
-  arg2 = (int)jarg2; 
-  result = (Event *)(arg1)->pop(arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_CoreSession(void * jarg1) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_InternalSession_set(void * jarg1, void * jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (switch_core_session_t *)jarg2; 
-  if (arg1) (arg1)->session = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_CoreSession_InternalSession_get(void * jarg1) {
-  void * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_core_session_t *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (switch_core_session_t *) ((arg1)->session);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_channel_set(void * jarg1, void * jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (switch_channel_t *)jarg2; 
-  if (arg1) (arg1)->channel = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_CoreSession_channel_get(void * jarg1) {
-  void * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_channel_t *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (switch_channel_t *) ((arg1)->channel);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_flags_set(void * jarg1, unsigned int jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  unsigned int arg2 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (unsigned int)jarg2; 
-  if (arg1) (arg1)->flags = arg2;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CoreSession_flags_get(void * jarg1) {
-  unsigned int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  unsigned int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (unsigned int) ((arg1)->flags);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_allocated_set(void * jarg1, int jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (int)jarg2; 
-  if (arg1) (arg1)->allocated = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_allocated_get(void * jarg1) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (int) ((arg1)->allocated);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_cb_state_set(void * jarg1, void * jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  input_callback_state *arg2 = (input_callback_state *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (input_callback_state *)jarg2; 
-  if (arg1) (arg1)->cb_state = *arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_CoreSession_cb_state_get(void * jarg1) {
-  void * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  input_callback_state *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (input_callback_state *)& ((arg1)->cb_state);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_HookState_set(void * jarg1, int jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_channel_state_t arg2 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (switch_channel_state_t)jarg2; 
-  if (arg1) (arg1)->hook_state = arg2;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_HookState_get(void * jarg1) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_channel_state_t result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (switch_channel_state_t) ((arg1)->hook_state);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_uuid_set(void * jarg1, char * jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->uuid) delete [] arg1->uuid;
-    if (arg2) {
-      arg1->uuid = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->uuid, (const char *)arg2);
-    } else {
-      arg1->uuid = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_uuid_get(void * jarg1) {
-  char * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (char *) ((arg1)->uuid);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_tts_name_set(void * jarg1, char * jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->tts_name) delete [] arg1->tts_name;
-    if (arg2) {
-      arg1->tts_name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->tts_name, (const char *)arg2);
-    } else {
-      arg1->tts_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_tts_name_get(void * jarg1) {
-  char * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (char *) ((arg1)->tts_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_voice_name_set(void * jarg1, char * jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  {
-    if (arg1->voice_name) delete [] arg1->voice_name;
-    if (arg2) {
-      arg1->voice_name = (char *) (new char[strlen((const char *)arg2)+1]);
-      strcpy((char *)arg1->voice_name, (const char *)arg2);
-    } else {
-      arg1->voice_name = 0;
-    }
-  }
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_voice_name_get(void * jarg1) {
-  char * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (char *) ((arg1)->voice_name);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_Answer(void * jarg1) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (int)(arg1)->answer();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_preAnswer(void * jarg1) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (int)(arg1)->preAnswer();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_Hangup(void * jarg1, char * jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) "normal_clearing" ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  (arg1)->hangup((char const *)arg2);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_SetVariable(void * jarg1, char * jarg2, char * jarg3) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  (arg1)->setVariable(arg2,arg3);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_SetPrivate(void * jarg1, char * jarg2, void * jarg3) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  void *arg3 = (void *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (void *)jarg3; 
-  (arg1)->setPrivate(arg2,arg3);
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_CoreSession_GetPrivate(void * jarg1, char * jarg2) {
-  void * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  void *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (void *)(arg1)->getPrivate(arg2);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_GetVariable(void * jarg1, char * jarg2) {
-  char * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (char *)(arg1)->getVariable(arg2);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_Say(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  char *arg4 = (char *) 0 ;
-  char *arg5 = (char *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (char *)jarg5; 
-  (arg1)->say((char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_SayPhrase(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) "" ;
-  char *arg4 = (char *) NULL ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  (arg1)->sayPhrase((char const *)arg2,(char const *)arg3,(char const *)arg4);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_RecordFile(void * jarg1, char * jarg2, int jarg3, int jarg4, int jarg5) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int arg3 = (int) 0 ;
-  int arg4 = (int) 0 ;
-  int arg5 = (int) 0 ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (int)jarg3; 
-  arg4 = (int)jarg4; 
-  arg5 = (int)jarg5; 
-  result = (int)(arg1)->recordFile(arg2,arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_SetCallerData(void * jarg1, char * jarg2, char * jarg3) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  (arg1)->setCallerData(arg2,arg3);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_Originate(void * jarg1, void * jarg2, char * jarg3, int jarg4) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  CoreSession *arg2 = (CoreSession *) 0 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 = (int) 60 ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (CoreSession *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (int)(arg1)->originate(arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_destroy(void * jarg1) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  (arg1)->destroy();
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_Speak(void * jarg1, char * jarg2) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  result = (int)(arg1)->speak(arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_SetTtsParameters(void * jarg1, char * jarg2, char * jarg3) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  (arg1)->set_tts_parms(arg2,arg3);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_CollectDigits(void * jarg1, int jarg2) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (int)jarg2; 
-  result = (int)(arg1)->collectDigits(arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_GetDigits__SWIG_0(void * jarg1, int jarg2, char * jarg3, int jarg4) {
-  char * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  char *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (int)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  result = (char *)(arg1)->getDigits(arg2,arg3,arg4);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_GetDigits__SWIG_1(void * jarg1, int jarg2, char * jarg3, int jarg4, int jarg5) {
-  char * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  char *arg3 = (char *) 0 ;
-  int arg4 ;
-  int arg5 ;
-  char *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (int)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (int)jarg4; 
-  arg5 = (int)jarg5; 
-  result = (char *)(arg1)->getDigits(arg2,arg3,arg4,arg5);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_Transfer(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) NULL ;
-  char *arg4 = (char *) NULL ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  arg4 = (char *)jarg4; 
-  result = (int)(arg1)->transfer(arg2,arg3,arg4);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_read(void * jarg1, int jarg2, int jarg3, char * jarg4, int jarg5, char * jarg6) {
-  char * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  int arg3 ;
-  char *arg4 = (char *) 0 ;
-  int arg5 ;
-  char *arg6 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (int)jarg2; 
-  arg3 = (int)jarg3; 
-  arg4 = (char *)jarg4; 
-  arg5 = (int)jarg5; 
-  arg6 = (char *)jarg6; 
-  result = (char *)(arg1)->read(arg2,arg3,(char const *)arg4,arg5,(char const *)arg6);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_PlayAndGetDigits(void * jarg1, int jarg2, int jarg3, int jarg4, int jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9) {
-  char * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  int arg3 ;
-  int arg4 ;
-  int arg5 ;
-  char *arg6 = (char *) 0 ;
-  char *arg7 = (char *) 0 ;
-  char *arg8 = (char *) 0 ;
-  char *arg9 = (char *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (int)jarg2; 
-  arg3 = (int)jarg3; 
-  arg4 = (int)jarg4; 
-  arg5 = (int)jarg5; 
-  arg6 = (char *)jarg6; 
-  arg7 = (char *)jarg7; 
-  arg8 = (char *)jarg8; 
-  arg9 = (char *)jarg9; 
-  result = (char *)(arg1)->playAndGetDigits(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_StreamFile(void * jarg1, char * jarg2, int jarg3) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  int arg3 = (int) 0 ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (int)jarg3; 
-  result = (int)(arg1)->streamFile(arg2,arg3);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_sleep(void * jarg1, int jarg2) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int arg2 ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (int)jarg2; 
-  result = (int)(arg1)->sleep(arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_flushEvents(void * jarg1) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (int)(arg1)->flushEvents();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_flushDigits(void * jarg1) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (int)(arg1)->flushDigits();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_SetAutoHangup(void * jarg1, unsigned int jarg2) {
-  int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool arg2 ;
-  int result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = jarg2 ? true : false; 
-  result = (int)(arg1)->setAutoHangup(arg2);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CoreSession_Ready(void * jarg1) {
-  unsigned int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (bool)(arg1)->ready();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CoreSession_answered(void * jarg1) {
-  unsigned int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (bool)(arg1)->answered();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CoreSession_mediaReady(void * jarg1) {
-  unsigned int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (bool)(arg1)->mediaReady();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_waitForAnswer(void * jarg1, void * jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  CoreSession *arg2 = (CoreSession *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (CoreSession *)jarg2; 
-  (arg1)->waitForAnswer(arg2);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_Execute(void * jarg1, char * jarg2, char * jarg3) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *arg2 = (char *) 0 ;
-  char *arg3 = (char *) NULL ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (char *)jarg2; 
-  arg3 = (char *)jarg3; 
-  (arg1)->execute(arg2,arg3);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_sendEvent(void * jarg1, void * jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  Event *arg2 = (Event *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (Event *)jarg2; 
-  (arg1)->sendEvent(arg2);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_setEventData(void * jarg1, void * jarg2) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  Event *arg2 = (Event *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  arg2 = (Event *)jarg2; 
-  (arg1)->setEventData(arg2);
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_getXMLCDR(void * jarg1) {
-  char * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (char *)(arg1)->getXMLCDR();
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CoreSession_begin_allow_threads(void * jarg1) {
-  unsigned int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (bool)(arg1)->begin_allow_threads();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CoreSession_end_allow_threads(void * jarg1) {
-  unsigned int jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  bool result;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (bool)(arg1)->end_allow_threads();
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_GetUuid(void * jarg1) {
-  char * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  char *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  result = (char *)((CoreSession const *)arg1)->get_uuid();
-  jresult = SWIG_csharp_string_callback((const char *)result); 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_CoreSession_get_cb_args(void * jarg1) {
-  void * jresult ;
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  switch_input_args_t *result = 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  {
-    switch_input_args_t const &_result_ref = ((CoreSession const *)arg1)->get_cb_args();
-    result = (switch_input_args_t *) &_result_ref;
-  }
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_check_hangup_hook(void * jarg1) {
-  CoreSession *arg1 = (CoreSession *) 0 ;
-  
-  arg1 = (CoreSession *)jarg1; 
-  (arg1)->check_hangup_hook();
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_console_log(char * jarg1, char * jarg2) {
-  char *arg1 = (char *) 0 ;
-  char *arg2 = (char *) 0 ;
-  
-  arg1 = (char *)jarg1; 
-  arg2 = (char *)jarg2; 
-  console_log(arg1,arg2);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_console_clean_log(char * jarg1) {
-  char *arg1 = (char *) 0 ;
-  
-  arg1 = (char *)jarg1; 
-  console_clean_log(arg1);
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_bridge(void * jarg1, void * jarg2) {
-  CoreSession *arg1 = 0 ;
-  CoreSession *arg2 = 0 ;
-  
-  arg1 = (CoreSession *)jarg1;
-  if(!arg1) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "CoreSession & type is null", 0);
-    return ;
-  } 
-  arg2 = (CoreSession *)jarg2;
-  if(!arg2) {
-    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "CoreSession & type is null", 0);
-    return ;
-  } 
-  bridge(*arg1,*arg2);
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_hanguphook(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)hanguphook(arg1);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT int SWIGSTDCALL CSharp_dtmf_callback(void * jarg1, void * jarg2, int jarg3, void * jarg4, unsigned int jarg5) {
-  int jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  void *arg2 = (void *) 0 ;
-  switch_input_type_t arg3 ;
-  void *arg4 = (void *) 0 ;
-  unsigned int arg5 ;
-  switch_status_t result;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  arg2 = (void *)jarg2; 
-  arg3 = (switch_input_type_t)jarg3; 
-  arg4 = (void *)jarg4; 
-  arg5 = (unsigned int)jarg5; 
-  result = (switch_status_t)dtmf_callback(arg1,arg2,arg3,arg4,arg5);
-  jresult = result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_ManagedSession__SWIG_0() {
-  void * jresult ;
-  ManagedSession *result = 0 ;
-  
-  result = (ManagedSession *)new ManagedSession();
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_ManagedSession__SWIG_1(char * jarg1) {
-  void * jresult ;
-  char *arg1 = (char *) 0 ;
-  ManagedSession *result = 0 ;
-  
-  arg1 = (char *)jarg1; 
-  result = (ManagedSession *)new ManagedSession(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_new_ManagedSession__SWIG_2(void * jarg1) {
-  void * jresult ;
-  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
-  ManagedSession *result = 0 ;
-  
-  arg1 = (switch_core_session_t *)jarg1; 
-  result = (ManagedSession *)new ManagedSession(arg1);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_delete_ManagedSession(void * jarg1) {
-  ManagedSession *arg1 = (ManagedSession *) 0 ;
-  
-  arg1 = (ManagedSession *)jarg1; 
-  delete arg1;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_ManagedSession_dtmfDelegate_set(void * jarg1, void * jarg2) {
-  ManagedSession *arg1 = (ManagedSession *) 0 ;
-  inputFunction arg2 = (inputFunction) 0 ;
-  
-  arg1 = (ManagedSession *)jarg1; 
-  arg2 = (inputFunction)jarg2; 
-  if (arg1) (arg1)->dtmfDelegate = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_ManagedSession_dtmfDelegate_get(void * jarg1) {
-  void * jresult ;
-  ManagedSession *arg1 = (ManagedSession *) 0 ;
-  inputFunction result;
-  
-  arg1 = (ManagedSession *)jarg1; 
-  result = (inputFunction) ((arg1)->dtmfDelegate);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT void SWIGSTDCALL CSharp_ManagedSession_hangupDelegate_set(void * jarg1, void * jarg2) {
-  ManagedSession *arg1 = (ManagedSession *) 0 ;
-  hangupFunction arg2 = (hangupFunction) 0 ;
-  
-  arg1 = (ManagedSession *)jarg1; 
-  arg2 = (hangupFunction)jarg2; 
-  if (arg1) (arg1)->hangupDelegate = arg2;
-}
-
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_ManagedSession_hangupDelegate_get(void * jarg1) {
-  void * jresult ;
-  ManagedSession *arg1 = (ManagedSession *) 0 ;
-  hangupFunction result;
-  
-  arg1 = (ManagedSession *)jarg1; 
-  result = (hangupFunction) ((arg1)->hangupDelegate);
-  jresult = (void *)result; 
-  return jresult;
-}
-
-
-SWIGEXPORT CoreSession * SWIGSTDCALL CSharp_ManagedSessionUpcast(ManagedSession *objectRef) {
-    return (CoreSession *)objectRef;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.35
+ * 
+ * This file is not intended to be easily readable and contains a number of 
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG 
+ * interface file instead. 
+ * ----------------------------------------------------------------------------- */
+
+
+#ifdef __cplusplus
+template<typename T> class SwigValueWrapper {
+    T *tt;
+public:
+    SwigValueWrapper() : tt(0) { }
+    SwigValueWrapper(const SwigValueWrapper<T>& rhs) : tt(new T(*rhs.tt)) { }
+    SwigValueWrapper(const T& t) : tt(new T(t)) { }
+    ~SwigValueWrapper() { delete tt; } 
+    SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; }
+    operator T&() const { return *tt; }
+    T *operator&() { return tt; }
+private:
+    SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
+};
+
+template <typename T> T SwigValueInit() {
+  return T();
+}
+#endif
+
+/* -----------------------------------------------------------------------------
+ *  This section contains generic SWIG labels for method/variable
+ *  declarations/attributes, and other compiler dependent labels.
+ * ----------------------------------------------------------------------------- */
+
+/* template workaround for compilers that cannot correctly implement the C++ standard */
+#ifndef SWIGTEMPLATEDISAMBIGUATOR
+# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
+#  define SWIGTEMPLATEDISAMBIGUATOR template
+# elif defined(__HP_aCC)
+/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
+/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
+#  define SWIGTEMPLATEDISAMBIGUATOR template
+# else
+#  define SWIGTEMPLATEDISAMBIGUATOR
+# endif
+#endif
+
+/* inline attribute */
+#ifndef SWIGINLINE
+# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
+#   define SWIGINLINE inline
+# else
+#   define SWIGINLINE
+# endif
+#endif
+
+/* attribute recognised by some compilers to avoid 'unused' warnings */
+#ifndef SWIGUNUSED
+# if defined(__GNUC__)
+#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
+#     define SWIGUNUSED __attribute__ ((__unused__)) 
+#   else
+#     define SWIGUNUSED
+#   endif
+# elif defined(__ICC)
+#   define SWIGUNUSED __attribute__ ((__unused__)) 
+# else
+#   define SWIGUNUSED 
+# endif
+#endif
+
+#ifndef SWIGUNUSEDPARM
+# ifdef __cplusplus
+#   define SWIGUNUSEDPARM(p)
+# else
+#   define SWIGUNUSEDPARM(p) p SWIGUNUSED 
+# endif
+#endif
+
+/* internal SWIG method */
+#ifndef SWIGINTERN
+# define SWIGINTERN static SWIGUNUSED
+#endif
+
+/* internal inline SWIG method */
+#ifndef SWIGINTERNINLINE
+# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
+#endif
+
+/* exporting methods */
+#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
+#  ifndef GCC_HASCLASSVISIBILITY
+#    define GCC_HASCLASSVISIBILITY
+#  endif
+#endif
+
+#ifndef SWIGEXPORT
+# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+#   if defined(STATIC_LINKED)
+#     define SWIGEXPORT
+#   else
+#     define SWIGEXPORT __declspec(dllexport)
+#   endif
+# else
+#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
+#     define SWIGEXPORT __attribute__ ((visibility("default")))
+#   else
+#     define SWIGEXPORT
+#   endif
+# endif
+#endif
+
+/* calling conventions for Windows */
+#ifndef SWIGSTDCALL
+# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+#   define SWIGSTDCALL __stdcall
+# else
+#   define SWIGSTDCALL
+# endif 
+#endif
+
+/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
+#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
+# define _CRT_SECURE_NO_DEPRECATE
+#endif
+
+/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
+#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
+# define _SCL_SECURE_NO_DEPRECATE
+#endif
+
+
+
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+
+/* Support for throwing C# exceptions from C/C++. There are two types: 
+ * Exceptions that take a message and ArgumentExceptions that take a message and a parameter name. */
+typedef enum {
+  SWIG_CSharpApplicationException,
+  SWIG_CSharpArithmeticException,
+  SWIG_CSharpDivideByZeroException,
+  SWIG_CSharpIndexOutOfRangeException,
+  SWIG_CSharpInvalidCastException,
+  SWIG_CSharpInvalidOperationException,
+  SWIG_CSharpIOException,
+  SWIG_CSharpNullReferenceException,
+  SWIG_CSharpOutOfMemoryException,
+  SWIG_CSharpOverflowException,
+  SWIG_CSharpSystemException
+} SWIG_CSharpExceptionCodes;
+
+typedef enum {
+  SWIG_CSharpArgumentException,
+  SWIG_CSharpArgumentNullException,
+  SWIG_CSharpArgumentOutOfRangeException
+} SWIG_CSharpExceptionArgumentCodes;
+
+typedef void (SWIGSTDCALL* SWIG_CSharpExceptionCallback_t)(const char *);
+typedef void (SWIGSTDCALL* SWIG_CSharpExceptionArgumentCallback_t)(const char *, const char *);
+
+typedef struct {
+  SWIG_CSharpExceptionCodes code;
+  SWIG_CSharpExceptionCallback_t callback;
+} SWIG_CSharpException_t;
+
+typedef struct {
+  SWIG_CSharpExceptionArgumentCodes code;
+  SWIG_CSharpExceptionArgumentCallback_t callback;
+} SWIG_CSharpExceptionArgument_t;
+
+static SWIG_CSharpException_t SWIG_csharp_exceptions[] = {
+  { SWIG_CSharpApplicationException, NULL },
+  { SWIG_CSharpArithmeticException, NULL },
+  { SWIG_CSharpDivideByZeroException, NULL },
+  { SWIG_CSharpIndexOutOfRangeException, NULL },
+  { SWIG_CSharpInvalidCastException, NULL },
+  { SWIG_CSharpInvalidOperationException, NULL },
+  { SWIG_CSharpIOException, NULL },
+  { SWIG_CSharpNullReferenceException, NULL },
+  { SWIG_CSharpOutOfMemoryException, NULL },
+  { SWIG_CSharpOverflowException, NULL },
+  { SWIG_CSharpSystemException, NULL }
+};
+
+static SWIG_CSharpExceptionArgument_t SWIG_csharp_exceptions_argument[] = {
+  { SWIG_CSharpArgumentException, NULL },
+  { SWIG_CSharpArgumentNullException, NULL },
+  { SWIG_CSharpArgumentOutOfRangeException, NULL },
+};
+
+static void SWIGUNUSED SWIG_CSharpSetPendingException(SWIG_CSharpExceptionCodes code, const char *msg) {
+  SWIG_CSharpExceptionCallback_t callback = SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback;
+  if (code >=0 && (size_t)code < sizeof(SWIG_csharp_exceptions)/sizeof(SWIG_CSharpException_t)) {
+    callback = SWIG_csharp_exceptions[code].callback;
+  }
+  callback(msg);
+}
+
+static void SWIGUNUSED SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpExceptionArgumentCodes code, const char *msg, const char *param_name) {
+  SWIG_CSharpExceptionArgumentCallback_t callback = SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback;
+  if (code >=0 && (size_t)code < sizeof(SWIG_csharp_exceptions_argument)/sizeof(SWIG_CSharpExceptionArgument_t)) {
+    callback = SWIG_csharp_exceptions_argument[code].callback;
+  }
+  callback(msg, param_name);
+}
+
+
+#ifdef __cplusplus
+extern "C" 
+#endif
+SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionCallbacks_freeswitch(
+                                                SWIG_CSharpExceptionCallback_t applicationCallback,
+                                                SWIG_CSharpExceptionCallback_t arithmeticCallback,
+                                                SWIG_CSharpExceptionCallback_t divideByZeroCallback, 
+                                                SWIG_CSharpExceptionCallback_t indexOutOfRangeCallback, 
+                                                SWIG_CSharpExceptionCallback_t invalidCastCallback,
+                                                SWIG_CSharpExceptionCallback_t invalidOperationCallback,
+                                                SWIG_CSharpExceptionCallback_t ioCallback,
+                                                SWIG_CSharpExceptionCallback_t nullReferenceCallback,
+                                                SWIG_CSharpExceptionCallback_t outOfMemoryCallback, 
+                                                SWIG_CSharpExceptionCallback_t overflowCallback, 
+                                                SWIG_CSharpExceptionCallback_t systemCallback) {
+  SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback = applicationCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpArithmeticException].callback = arithmeticCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpDivideByZeroException].callback = divideByZeroCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpIndexOutOfRangeException].callback = indexOutOfRangeCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpInvalidCastException].callback = invalidCastCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpInvalidOperationException].callback = invalidOperationCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpIOException].callback = ioCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpNullReferenceException].callback = nullReferenceCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpOutOfMemoryException].callback = outOfMemoryCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpOverflowException].callback = overflowCallback;
+  SWIG_csharp_exceptions[SWIG_CSharpSystemException].callback = systemCallback;
+}
+
+#ifdef __cplusplus
+extern "C" 
+#endif
+SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionArgumentCallbacks_freeswitch(
+                                                SWIG_CSharpExceptionArgumentCallback_t argumentCallback,
+                                                SWIG_CSharpExceptionArgumentCallback_t argumentNullCallback,
+                                                SWIG_CSharpExceptionArgumentCallback_t argumentOutOfRangeCallback) {
+  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentException].callback = argumentCallback;
+  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentNullException].callback = argumentNullCallback;
+  SWIG_csharp_exceptions_argument[SWIG_CSharpArgumentOutOfRangeException].callback = argumentOutOfRangeCallback;
+}
+
+
+/* Callback for returning strings to C# without leaking memory */
+typedef char * (SWIGSTDCALL* SWIG_CSharpStringHelperCallback)(const char *);
+static SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback = NULL;
+
+
+#ifdef __cplusplus
+extern "C" 
+#endif
+SWIGEXPORT void SWIGSTDCALL SWIGRegisterStringCallback_freeswitch(SWIG_CSharpStringHelperCallback callback) {
+  SWIG_csharp_string_callback = callback;
+}
+
+
+/* Contract support */
+
+#define SWIG_contract_assert(nullreturn, expr, msg) if (!(expr)) {SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentOutOfRangeException, msg, ""); return nullreturn; } else
+
+
+#include "switch.h"
+#include "switch_cpp.h"
+#include "freeswitch_managed.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_FREESWITCH_PEN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "27880";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_FREESWITCH_OID_PREFIX_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) ".1.3.6.1.4.1.27880";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_FREESWITCH_ITAD_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "543";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp___EXTENSIONS___get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 1;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp___BSD_VISIBLE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 1;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BLANK_STRING_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\0";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_ESC_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char SWIGSTDCALL CSharp_SWITCH_SEQ_HOME_CHAR_get() {
+  char jresult ;
+  char result;
+  
+  result = (char) 'H';
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_HOME_CHAR_STR_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "H";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARLINE_CHAR_get() {
+  char jresult ;
+  char result;
+  
+  result = (char) '1';
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARLINE_CHAR_STR_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "1";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARLINEEND_CHAR_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "K";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARSCR_CHAR0_get() {
+  char jresult ;
+  char result;
+  
+  result = (char) '2';
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARSCR_CHAR1_get() {
+  char jresult ;
+  char result;
+  
+  result = (char) 'J';
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARSCR_CHAR_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "2J";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_AND_COLOR_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) ";";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_END_COLOR_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_BLACK_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "30";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_RED_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "31";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_GREEN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "32";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_YELLOW_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "33";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_BLUE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "34";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_MAGEN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "35";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_CYAN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "36";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_F_WHITE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "37";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_BLACK_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "40";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_RED_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "41";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_GREEN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "42";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_YELLOW_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "43";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_BLUE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "44";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_MAGEN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "45";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_CYAN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "46";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_B_WHITE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "47";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FBLACK_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[30m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FRED_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[31m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FGREEN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[32m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FYELLOW_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[33m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FBLUE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[34m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FMAGEN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[35m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FCYAN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[36m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_FWHITE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[37m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BBLACK_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[40m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BRED_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[41m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BGREEN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[42m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BYELLOW_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[43m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BBLUE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[44m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BMAGEN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[45m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BCYAN_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[46m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_BWHITE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[47m";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_HOME_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[H";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARLINE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[1";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARLINEEND_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[K";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SEQ_CLEARSCR_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "\33[2J\33[H";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_DEFAULT_DTMF_DURATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 2000;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_DTMF_DURATION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 192000;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PATH_SEPARATOR_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "/";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_URL_SEPARATOR_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "://";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "bypass_media_after_bridge";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_READ_RESULT_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "read_result";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_COPY_XML_CDR_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "copy_xml_cdr";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CURRENT_APPLICATION_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "current_application";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "proto_specific_hangup_cause";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CHANNEL_EXECUTE_ON_ANSWER_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "execute_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 ;
+  
+  result = (char *) "execute_on_ring";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CALL_TIMEOUT_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "call_timeout";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_HOLDING_UUID_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "holding_uuid";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_API_BRIDGE_END_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "api_after_bridge";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_API_HANGUP_HOOK_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "api_hangup_hook";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PROCESS_CDR_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "process_cdr";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BRIDGE_CHANNEL_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "bridge_channel";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CHANNEL_NAME_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "channel_name";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BRIDGE_UUID_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "bridge_uuid";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "continue_on_fail";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "playback_terminators";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PLAYBACK_TERMINATOR_USED_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "playback_terminator_used";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "cache_speech_handles";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "__cache_speech_handles_obj__";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BYPASS_MEDIA_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "bypass_media";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_PROXY_MEDIA_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "proxy_media";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "endpoint_disposition";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_HOLD_MUSIC_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "hold_music";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_EXPORT_VARS_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "export_vars";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_R_SDP_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "switch_r_sdp";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_L_SDP_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "switch_l_sdp";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_B_SDP_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "switch_m_sdp";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_BRIDGE_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "bridge_to";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SIGNAL_BRIDGE_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "signal_bridge_to";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SIGNAL_BOND_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "signal_bond";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_ORIGINATOR_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "originator";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_ORIGINATOR_CODEC_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "originator_codec";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "local_media_ip";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "local_media_port";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_REMOTE_MEDIA_IP_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "remote_media_ip";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "remote_media_port";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_REMOTE_VIDEO_IP_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "remote_video_ip";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "remote_video_port";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_LOCAL_VIDEO_IP_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "local_video_ip";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_LOCAL_VIDEO_PORT_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "local_video_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 ;
+  
+  result = (char *) "hangup_after_bridge";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "exec_after_bridge_app";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "exec_after_bridge_arg";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_MAX_FORWARDS_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "max_forwards";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_DISABLE_APP_LOG_VARIABLE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "disable_app_log";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_SPEECH_KEY_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "speech";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_UUID_BRIDGE_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "uuid_bridge";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_BITS_PER_BYTE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 8;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_dtmf_t_digit_set(void * jarg1, char jarg2) {
+  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
+  char arg2 ;
+  
+  arg1 = (switch_dtmf_t *)jarg1; 
+  arg2 = (char)jarg2; 
+  if (arg1) (arg1)->digit = arg2;
+  
+}
+
+
+SWIGEXPORT char SWIGSTDCALL CSharp_switch_dtmf_t_digit_get(void * jarg1) {
+  char jresult ;
+  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
+  char result;
+  
+  arg1 = (switch_dtmf_t *)jarg1; 
+  result = (char) ((arg1)->digit);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_dtmf_t_duration_set(void * jarg1, unsigned long jarg2) {
+  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_dtmf_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->duration = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_dtmf_t_duration_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_dtmf_t *)jarg1; 
+  result = (uint32_t) ((arg1)->duration);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_dtmf_t() {
+  void * jresult ;
+  switch_dtmf_t *result = 0 ;
+  
+  result = (switch_dtmf_t *)new switch_dtmf_t();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_dtmf_t(void * jarg1) {
+  switch_dtmf_t *arg1 = (switch_dtmf_t *) 0 ;
+  
+  arg1 = (switch_dtmf_t *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_buf_set(void * jarg1, void * jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t *arg2 = (switch_byte_t *) 0 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (switch_byte_t *)jarg2; 
+  if (arg1) (arg1)->buf = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_bitpack_t_buf_get(void * jarg1) {
+  void * jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t *result = 0 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (switch_byte_t *) ((arg1)->buf);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_buflen_set(void * jarg1, unsigned long jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->buflen = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_bitpack_t_buflen_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (uint32_t) ((arg1)->buflen);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_cur_set(void * jarg1, void * jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t *arg2 = (switch_byte_t *) 0 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (switch_byte_t *)jarg2; 
+  if (arg1) (arg1)->cur = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_bitpack_t_cur_get(void * jarg1) {
+  void * jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t *result = 0 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (switch_byte_t *) ((arg1)->cur);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_bytes_set(void * jarg1, unsigned long jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->bytes = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_bitpack_t_bytes_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (uint32_t) ((arg1)->bytes);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_bits_tot_set(void * jarg1, unsigned long jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->bits_tot = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_bitpack_t_bits_tot_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (uint32_t) ((arg1)->bits_tot);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_bits_cur_set(void * jarg1, unsigned char jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t arg2 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (switch_byte_t)jarg2; 
+  if (arg1) (arg1)->bits_cur = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_bits_cur_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t result;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (switch_byte_t) ((arg1)->bits_cur);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_bits_rem_set(void * jarg1, unsigned char jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t arg2 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (switch_byte_t)jarg2; 
+  if (arg1) (arg1)->bits_rem = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_bits_rem_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t result;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (switch_byte_t) ((arg1)->bits_rem);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_frame_bits_set(void * jarg1, unsigned char jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t arg2 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (switch_byte_t)jarg2; 
+  if (arg1) (arg1)->frame_bits = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_frame_bits_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t result;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (switch_byte_t) ((arg1)->frame_bits);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_shiftby_set(void * jarg1, unsigned char jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t arg2 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (switch_byte_t)jarg2; 
+  if (arg1) (arg1)->shiftby = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_shiftby_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t result;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (switch_byte_t) ((arg1)->shiftby);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_this_byte_set(void * jarg1, unsigned char jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t arg2 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (switch_byte_t)jarg2; 
+  if (arg1) (arg1)->this_byte = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_this_byte_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t result;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (switch_byte_t) ((arg1)->this_byte);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_under_set(void * jarg1, unsigned char jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t arg2 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (switch_byte_t)jarg2; 
+  if (arg1) (arg1)->under = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_under_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t result;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (switch_byte_t) ((arg1)->under);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_over_set(void * jarg1, unsigned char jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t arg2 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (switch_byte_t)jarg2; 
+  if (arg1) (arg1)->over = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_bitpack_t_over_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_byte_t result;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (switch_byte_t) ((arg1)->over);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_bitpack_t_mode_set(void * jarg1, int jarg2) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_bitpack_mode_t arg2 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  arg2 = (switch_bitpack_mode_t)jarg2; 
+  if (arg1) (arg1)->mode = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_bitpack_t_mode_get(void * jarg1) {
+  int jresult ;
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  switch_bitpack_mode_t result;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  result = (switch_bitpack_mode_t) ((arg1)->mode);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_bitpack_t() {
+  void * jresult ;
+  switch_bitpack_t *result = 0 ;
+  
+  result = (switch_bitpack_t *)new switch_bitpack_t();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_bitpack_t(void * jarg1) {
+  switch_bitpack_t *arg1 = (switch_bitpack_t *) 0 ;
+  
+  arg1 = (switch_bitpack_t *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_base_dir_set(void * jarg1, char * jarg2) {
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->base_dir) delete [] arg1->base_dir;
+    if (arg2) {
+      arg1->base_dir = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->base_dir, (const char *)arg2);
+    } else {
+      arg1->base_dir = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_base_dir_get(void * jarg1) {
+  char * jresult ;
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  result = (char *) ((arg1)->base_dir);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_mod_dir_set(void * jarg1, char * jarg2) {
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->mod_dir) delete [] arg1->mod_dir;
+    if (arg2) {
+      arg1->mod_dir = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->mod_dir, (const char *)arg2);
+    } else {
+      arg1->mod_dir = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_mod_dir_get(void * jarg1) {
+  char * jresult ;
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  result = (char *) ((arg1)->mod_dir);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_conf_dir_set(void * jarg1, char * jarg2) {
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->conf_dir) delete [] arg1->conf_dir;
+    if (arg2) {
+      arg1->conf_dir = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->conf_dir, (const char *)arg2);
+    } else {
+      arg1->conf_dir = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_conf_dir_get(void * jarg1) {
+  char * jresult ;
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  result = (char *) ((arg1)->conf_dir);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_log_dir_set(void * jarg1, char * jarg2) {
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->log_dir) delete [] arg1->log_dir;
+    if (arg2) {
+      arg1->log_dir = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->log_dir, (const char *)arg2);
+    } else {
+      arg1->log_dir = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_log_dir_get(void * jarg1) {
+  char * jresult ;
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  result = (char *) ((arg1)->log_dir);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_db_dir_set(void * jarg1, char * jarg2) {
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->db_dir) delete [] arg1->db_dir;
+    if (arg2) {
+      arg1->db_dir = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->db_dir, (const char *)arg2);
+    } else {
+      arg1->db_dir = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_db_dir_get(void * jarg1) {
+  char * jresult ;
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  result = (char *) ((arg1)->db_dir);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_script_dir_set(void * jarg1, char * jarg2) {
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->script_dir) delete [] arg1->script_dir;
+    if (arg2) {
+      arg1->script_dir = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->script_dir, (const char *)arg2);
+    } else {
+      arg1->script_dir = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_script_dir_get(void * jarg1) {
+  char * jresult ;
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  result = (char *) ((arg1)->script_dir);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_temp_dir_set(void * jarg1, char * jarg2) {
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->temp_dir) delete [] arg1->temp_dir;
+    if (arg2) {
+      arg1->temp_dir = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->temp_dir, (const char *)arg2);
+    } else {
+      arg1->temp_dir = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_temp_dir_get(void * jarg1) {
+  char * jresult ;
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  result = (char *) ((arg1)->temp_dir);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_htdocs_dir_set(void * jarg1, char * jarg2) {
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->htdocs_dir) delete [] arg1->htdocs_dir;
+    if (arg2) {
+      arg1->htdocs_dir = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->htdocs_dir, (const char *)arg2);
+    } else {
+      arg1->htdocs_dir = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_htdocs_dir_get(void * jarg1) {
+  char * jresult ;
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  result = (char *) ((arg1)->htdocs_dir);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_grammar_dir_set(void * jarg1, char * jarg2) {
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->grammar_dir) delete [] arg1->grammar_dir;
+    if (arg2) {
+      arg1->grammar_dir = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->grammar_dir, (const char *)arg2);
+    } else {
+      arg1->grammar_dir = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_grammar_dir_get(void * jarg1) {
+  char * jresult ;
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  result = (char *) ((arg1)->grammar_dir);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directories_storage_dir_set(void * jarg1, char * jarg2) {
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->storage_dir) delete [] arg1->storage_dir;
+    if (arg2) {
+      arg1->storage_dir = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->storage_dir, (const char *)arg2);
+    } else {
+      arg1->storage_dir = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directories_storage_dir_get(void * jarg1) {
+  char * jresult ;
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  result = (char *) ((arg1)->storage_dir);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_directories() {
+  void * jresult ;
+  switch_directories *result = 0 ;
+  
+  result = (switch_directories *)new switch_directories();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_directories(void * jarg1) {
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_SWITCH_GLOBAL_dirs_set(void * jarg1) {
+  switch_directories *arg1 = (switch_directories *) 0 ;
+  
+  arg1 = (switch_directories *)jarg1; 
+  SWITCH_GLOBAL_dirs = *arg1;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_SWITCH_GLOBAL_dirs_get() {
+  void * jresult ;
+  switch_directories *result = 0 ;
+  
+  result = (switch_directories *)&SWITCH_GLOBAL_dirs;
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_STACKS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 32;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_THREAD_STACKSIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 240*1024;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_SYSTEM_THREAD_STACKSIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 8192*1024;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_INTERVAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 120;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_INTERVAL_PAD_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 10;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_SAMPLE_LEN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 32;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_BYTES_PER_SAMPLE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 2;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RECOMMENDED_BUFFER_SIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) (2*32*(120+10));
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_CODECS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 50;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_STATE_HANDLERS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 30;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_QUEUE_LEN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 100000;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 1024*8;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTP_CNG_PAYLOAD_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 13;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_version_set(void * jarg1, unsigned int jarg2) {
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->version = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_version_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)->version);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_p_set(void * jarg1, unsigned int jarg2) {
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->p = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_p_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)->p);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_x_set(void * jarg1, unsigned int jarg2) {
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->x = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_x_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)->x);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_cc_set(void * jarg1, unsigned int jarg2) {
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->cc = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_cc_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)->cc);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_m_set(void * jarg1, unsigned int jarg2) {
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->m = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_m_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)->m);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_pt_set(void * jarg1, unsigned int jarg2) {
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->pt = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_pt_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)->pt);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_seq_set(void * jarg1, unsigned int jarg2) {
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->seq = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_seq_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)->seq);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_ts_set(void * jarg1, unsigned int jarg2) {
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->ts = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_ts_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)->ts);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_hdr_t_ssrc_set(void * jarg1, unsigned int jarg2) {
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->ssrc = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtp_hdr_t_ssrc_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)->ssrc);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_rtp_hdr_t() {
+  void * jresult ;
+  switch_rtp_hdr_t *result = 0 ;
+  
+  result = (switch_rtp_hdr_t *)new switch_rtp_hdr_t();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_rtp_hdr_t(void * jarg1) {
+  switch_rtp_hdr_t *arg1 = (switch_rtp_hdr_t *) 0 ;
+  
+  arg1 = (switch_rtp_hdr_t *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_input_args_t_input_callback_set(void * jarg1, void * jarg2) {
+  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
+  switch_input_callback_function_t arg2 = (switch_input_callback_function_t) 0 ;
+  
+  arg1 = (switch_input_args_t *)jarg1; 
+  arg2 = (switch_input_callback_function_t)jarg2; 
+  if (arg1) (arg1)->input_callback = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_input_args_t_input_callback_get(void * jarg1) {
+  void * jresult ;
+  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
+  switch_input_callback_function_t result;
+  
+  arg1 = (switch_input_args_t *)jarg1; 
+  result = (switch_input_callback_function_t) ((arg1)->input_callback);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_input_args_t_buf_set(void * jarg1, void * jarg2) {
+  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_input_args_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->buf = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_input_args_t_buf_get(void * jarg1) {
+  void * jresult ;
+  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_input_args_t *)jarg1; 
+  result = (void *) ((arg1)->buf);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_input_args_t_buflen_set(void * jarg1, unsigned long jarg2) {
+  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_input_args_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->buflen = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_input_args_t_buflen_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_input_args_t *)jarg1; 
+  result = (uint32_t) ((arg1)->buflen);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_input_args_t_read_frame_callback_set(void * jarg1, void * jarg2) {
+  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
+  switch_read_frame_callback_function_t arg2 = (switch_read_frame_callback_function_t) 0 ;
+  
+  arg1 = (switch_input_args_t *)jarg1; 
+  arg2 = (switch_read_frame_callback_function_t)jarg2; 
+  if (arg1) (arg1)->read_frame_callback = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_input_args_t_read_frame_callback_get(void * jarg1) {
+  void * jresult ;
+  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
+  switch_read_frame_callback_function_t result;
+  
+  arg1 = (switch_input_args_t *)jarg1; 
+  result = (switch_read_frame_callback_function_t) ((arg1)->read_frame_callback);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_input_args_t_user_data_set(void * jarg1, void * jarg2) {
+  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_input_args_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->user_data = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_input_args_t_user_data_get(void * jarg1) {
+  void * jresult ;
+  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_input_args_t *)jarg1; 
+  result = (void *) ((arg1)->user_data);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_input_args_t() {
+  void * jresult ;
+  switch_input_args_t *result = 0 ;
+  
+  result = (switch_input_args_t *)new switch_input_args_t();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_input_args_t(void * jarg1) {
+  switch_input_args_t *arg1 = (switch_input_args_t *) 0 ;
+  
+  arg1 = (switch_input_args_t *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_API_VERSION_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 1;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_switch_api_version_set(void * jarg1, int jarg2) {
+  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->switch_api_version = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_switch_api_version_get(void * jarg1) {
+  int jresult ;
+  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
+  result = (int) ((arg1)->switch_api_version);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_load_set(void * jarg1, void * jarg2) {
+  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
+  switch_module_load_t arg2 = (switch_module_load_t) 0 ;
+  
+  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
+  arg2 = (switch_module_load_t)jarg2; 
+  if (arg1) (arg1)->load = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_load_get(void * jarg1) {
+  void * jresult ;
+  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
+  switch_module_load_t result;
+  
+  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
+  result = (switch_module_load_t) ((arg1)->load);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_shutdown_set(void * jarg1, void * jarg2) {
+  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
+  switch_module_shutdown_t arg2 = (switch_module_shutdown_t) 0 ;
+  
+  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
+  arg2 = (switch_module_shutdown_t)jarg2; 
+  if (arg1) (arg1)->shutdown = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_shutdown_get(void * jarg1) {
+  void * jresult ;
+  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
+  switch_module_shutdown_t result;
+  
+  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
+  result = (switch_module_shutdown_t) ((arg1)->shutdown);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_runtime_set(void * jarg1, void * jarg2) {
+  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
+  switch_module_runtime_t arg2 = (switch_module_runtime_t) 0 ;
+  
+  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
+  arg2 = (switch_module_runtime_t)jarg2; 
+  if (arg1) (arg1)->runtime = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_loadable_module_function_table_t_runtime_get(void * jarg1) {
+  void * jresult ;
+  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
+  switch_module_runtime_t result;
+  
+  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
+  result = (switch_module_runtime_t) ((arg1)->runtime);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_loadable_module_function_table_t() {
+  void * jresult ;
+  switch_loadable_module_function_table_t *result = 0 ;
+  
+  result = (switch_loadable_module_function_table_t *)new switch_loadable_module_function_table_t();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_loadable_module_function_table_t(void * jarg1) {
+  switch_loadable_module_function_table_t *arg1 = (switch_loadable_module_function_table_t *) 0 ;
+  
+  arg1 = (switch_loadable_module_function_table_t *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_close(void * jarg1) {
+  int jresult ;
+  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_core_db_t *)jarg1; 
+  result = (int)switch_core_db_close(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_open(char * jarg1, void * jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_core_db_t **arg2 = (switch_core_db_t **) 0 ;
+  int result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_core_db_t **)jarg2; 
+  result = (int)switch_core_db_open((char const *)arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_db_column_text(void * jarg1, int jarg2) {
+  void * jresult ;
+  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
+  int arg2 ;
+  unsigned char *result = 0 ;
+  
+  arg1 = (switch_core_db_stmt_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  result = (unsigned char *)switch_core_db_column_text(arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_db_column_name(void * jarg1, int jarg2) {
+  char * jresult ;
+  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
+  int arg2 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_core_db_stmt_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  result = (char *)switch_core_db_column_name(arg1,arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_column_count(void * jarg1) {
+  int jresult ;
+  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_core_db_stmt_t *)jarg1; 
+  result = (int)switch_core_db_column_count(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_db_errmsg(void * jarg1) {
+  char * jresult ;
+  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_core_db_t *)jarg1; 
+  result = (char *)switch_core_db_errmsg(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_exec(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  int jresult ;
+  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_core_db_callback_func_t arg3 = (switch_core_db_callback_func_t) 0 ;
+  void *arg4 = (void *) 0 ;
+  char **arg5 = (char **) 0 ;
+  int result;
+  
+  arg1 = (switch_core_db_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_core_db_callback_func_t)jarg3; 
+  arg4 = (void *)jarg4; 
+  arg5 = (char **)jarg5; 
+  result = (int)switch_core_db_exec(arg1,(char const *)arg2,arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_finalize(void * jarg1) {
+  int jresult ;
+  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_core_db_stmt_t *)jarg1; 
+  result = (int)switch_core_db_finalize(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_prepare(void * jarg1, char * jarg2, int jarg3, void * jarg4, void * jarg5) {
+  int jresult ;
+  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int arg3 ;
+  switch_core_db_stmt_t **arg4 = (switch_core_db_stmt_t **) 0 ;
+  char **arg5 = (char **) 0 ;
+  int result;
+  
+  arg1 = (switch_core_db_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (switch_core_db_stmt_t **)jarg4; 
+  arg5 = (char **)jarg5; 
+  result = (int)switch_core_db_prepare(arg1,(char const *)arg2,arg3,arg4,(char const **)arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_step(void * jarg1) {
+  int jresult ;
+  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_core_db_stmt_t *)jarg1; 
+  result = (int)switch_core_db_step(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_reset(void * jarg1) {
+  int jresult ;
+  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_core_db_stmt_t *)jarg1; 
+  result = (int)switch_core_db_reset(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_bind_int(void * jarg1, int jarg2, int jarg3) {
+  int jresult ;
+  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  int result;
+  
+  arg1 = (switch_core_db_stmt_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  result = (int)switch_core_db_bind_int(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_bind_int64(void * jarg1, int jarg2, long long jarg3) {
+  int jresult ;
+  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
+  int arg2 ;
+  int64_t arg3 ;
+  int result;
+  
+  arg1 = (switch_core_db_stmt_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int64_t)jarg3; 
+  result = (int)switch_core_db_bind_int64(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_bind_text(void * jarg1, int jarg2, char * jarg3, int jarg4, void * jarg5) {
+  int jresult ;
+  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
+  int arg2 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  switch_core_db_destructor_type_t arg5 = (switch_core_db_destructor_type_t) 0 ;
+  int result;
+  
+  arg1 = (switch_core_db_stmt_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (switch_core_db_destructor_type_t)jarg5; 
+  result = (int)switch_core_db_bind_text(arg1,arg2,(char const *)arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_bind_double(void * jarg1, int jarg2, double jarg3) {
+  int jresult ;
+  switch_core_db_stmt_t *arg1 = (switch_core_db_stmt_t *) 0 ;
+  int arg2 ;
+  double arg3 ;
+  int result;
+  
+  arg1 = (switch_core_db_stmt_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (double)jarg3; 
+  result = (int)switch_core_db_bind_double(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT long long SWIGSTDCALL CSharp_switch_core_db_last_insert_rowid(void * jarg1) {
+  long long jresult ;
+  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
+  int64_t result;
+  
+  arg1 = (switch_core_db_t *)jarg1; 
+  result = (int64_t)switch_core_db_last_insert_rowid(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_get_table(void * jarg1, char * jarg2, void * jarg3, void * jarg4, void * jarg5, void * jarg6) {
+  int jresult ;
+  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char ***arg3 = (char ***) 0 ;
+  int *arg4 = (int *) 0 ;
+  int *arg5 = (int *) 0 ;
+  char **arg6 = (char **) 0 ;
+  int result;
+  
+  arg1 = (switch_core_db_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char ***)jarg3; 
+  arg4 = (int *)jarg4; 
+  arg5 = (int *)jarg5; 
+  arg6 = (char **)jarg6; 
+  result = (int)switch_core_db_get_table(arg1,(char const *)arg2,arg3,arg4,arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_db_free_table(void * jarg1) {
+  char **arg1 = (char **) 0 ;
+  
+  arg1 = (char **)jarg1; 
+  switch_core_db_free_table(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_db_free(char * jarg1) {
+  char *arg1 = (char *) 0 ;
+  
+  arg1 = (char *)jarg1; 
+  switch_core_db_free(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_changes(void * jarg1) {
+  int jresult ;
+  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_core_db_t *)jarg1; 
+  result = (int)switch_core_db_changes(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_OK_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 0;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_ERROR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 1;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_INTERNAL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 2;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_PERM_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 3;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_ABORT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 4;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_BUSY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 5;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_LOCKED_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 6;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_NOMEM_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 7;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_READONLY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 8;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_INTERRUPT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 9;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_IOERR_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 10;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_CORRUPT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 11;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_NOTFOUND_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 12;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_FULL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 13;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_CANTOPEN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 14;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_PROTOCOL_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 15;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_EMPTY_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 16;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_SCHEMA_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 17;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_TOOBIG_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 18;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_CONSTRAINT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 19;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_MISMATCH_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 20;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_MISUSE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 21;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_NOLFS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 22;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_AUTH_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 23;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_FORMAT_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 24;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_RANGE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 25;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_NOTADB_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 26;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_ROW_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 100;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CORE_DB_DONE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 101;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_mprintf(char * jarg1) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  void *arg2 = 0 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (char *)switch_mprintf((char const *)arg1,arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_regex_compile(char * jarg1, int jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  int arg2 ;
+  char **arg3 = (char **) 0 ;
+  int *arg4 = (int *) 0 ;
+  unsigned char *arg5 = (unsigned char *) 0 ;
+  switch_regex_t *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (char **)jarg3; 
+  arg4 = (int *)jarg4; 
+  arg5 = (unsigned char *)jarg5; 
+  result = (switch_regex_t *)switch_regex_compile((char const *)arg1,arg2,(char const **)arg3,arg4,(unsigned char const *)arg5);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_regex_copy_substring(char * jarg1, void * jarg2, int jarg3, int jarg4, char * jarg5, int jarg6) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  int *arg2 = (int *) 0 ;
+  int arg3 ;
+  int arg4 ;
+  char *arg5 = (char *) 0 ;
+  int arg6 ;
+  int result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (int *)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (int)jarg6; 
+  result = (int)switch_regex_copy_substring((char const *)arg1,arg2,arg3,arg4,arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_regex_free(void * jarg1) {
+  void *arg1 = (void *) 0 ;
+  
+  arg1 = (void *)jarg1; 
+  switch_regex_free(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_regex_perform(char * jarg1, char * jarg2, void * jarg3, void * jarg4, unsigned long jarg5) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_regex_t **arg3 = (switch_regex_t **) 0 ;
+  int *arg4 = (int *) 0 ;
+  uint32_t arg5 ;
+  int result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_regex_t **)jarg3; 
+  arg4 = (int *)jarg4; 
+  arg5 = (uint32_t)jarg5; 
+  result = (int)switch_regex_perform((char const *)arg1,(char const *)arg2,arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_perform_substitution(void * jarg1, int jarg2, char * jarg3, char * jarg4, char * jarg5, void * jarg6, void * jarg7) {
+  switch_regex_t *arg1 = (switch_regex_t *) 0 ;
+  int arg2 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  char *arg5 = (char *) 0 ;
+  switch_size_t arg6 ;
+  int *arg7 = (int *) 0 ;
+  switch_size_t *argp6 ;
+  
+  arg1 = (switch_regex_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (char *)jarg5; 
+  argp6 = (switch_size_t *)jarg6; 
+  if (!argp6) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg6 = *argp6; 
+  arg7 = (int *)jarg7; 
+  switch_perform_substitution(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_regex_match(char * jarg1, char * jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_regex_match((char const *)arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_regex_match_partial(char * jarg1, char * jarg2, void * jarg3) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int *arg3 = (int *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (int *)jarg3; 
+  result = (switch_status_t)switch_regex_match_partial((char const *)arg1,(char const *)arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 128;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_MAX_STREAMS_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 128;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_mms_set(void * jarg1, unsigned long jarg2) {
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->mms = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_mms_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  result = (uint32_t) ((arg1)->mms);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_ms_set(void * jarg1, unsigned long jarg2) {
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->ms = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_ms_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  result = (uint32_t) ((arg1)->ms);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_sec_set(void * jarg1, unsigned long jarg2) {
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->sec = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_sec_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  result = (uint32_t) ((arg1)->sec);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_min_set(void * jarg1, unsigned long jarg2) {
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->min = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_min_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  result = (uint32_t) ((arg1)->min);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_hr_set(void * jarg1, unsigned long jarg2) {
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->hr = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_hr_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  result = (uint32_t) ((arg1)->hr);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_day_set(void * jarg1, unsigned long jarg2) {
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->day = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_day_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  result = (uint32_t) ((arg1)->day);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_time_duration_yr_set(void * jarg1, unsigned long jarg2) {
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->yr = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_time_duration_yr_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  result = (uint32_t) ((arg1)->yr);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_core_time_duration() {
+  void * jresult ;
+  switch_core_time_duration *result = 0 ;
+  
+  result = (switch_core_time_duration *)new switch_core_time_duration();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_core_time_duration(void * jarg1) {
+  switch_core_time_duration *arg1 = (switch_core_time_duration *) 0 ;
+  
+  arg1 = (switch_core_time_duration *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_app_log_app_set(void * jarg1, char * jarg2) {
+  switch_app_log *arg1 = (switch_app_log *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_app_log *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->app) delete [] arg1->app;
+    if (arg2) {
+      arg1->app = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->app, (const char *)arg2);
+    } else {
+      arg1->app = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_app_log_app_get(void * jarg1) {
+  char * jresult ;
+  switch_app_log *arg1 = (switch_app_log *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_app_log *)jarg1; 
+  result = (char *) ((arg1)->app);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_app_log_arg_set(void * jarg1, char * jarg2) {
+  switch_app_log *arg1 = (switch_app_log *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_app_log *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->arg) delete [] arg1->arg;
+    if (arg2) {
+      arg1->arg = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->arg, (const char *)arg2);
+    } else {
+      arg1->arg = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_app_log_arg_get(void * jarg1) {
+  char * jresult ;
+  switch_app_log *arg1 = (switch_app_log *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_app_log *)jarg1; 
+  result = (char *) ((arg1)->arg);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_app_log_next_set(void * jarg1, void * jarg2) {
+  switch_app_log *arg1 = (switch_app_log *) 0 ;
+  switch_app_log *arg2 = (switch_app_log *) 0 ;
+  
+  arg1 = (switch_app_log *)jarg1; 
+  arg2 = (switch_app_log *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_app_log_next_get(void * jarg1) {
+  void * jresult ;
+  switch_app_log *arg1 = (switch_app_log *) 0 ;
+  switch_app_log *result = 0 ;
+  
+  arg1 = (switch_app_log *)jarg1; 
+  result = (switch_app_log *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_app_log() {
+  void * jresult ;
+  switch_app_log *result = 0 ;
+  
+  result = (switch_app_log *)new switch_app_log();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_app_log(void * jarg1) {
+  switch_app_log *arg1 = (switch_app_log *) 0 ;
+  
+  arg1 = (switch_app_log *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_from_set(void * jarg1, char * jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->from) delete [] arg1->from;
+    if (arg2) {
+      arg1->from = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->from, (const char *)arg2);
+    } else {
+      arg1->from = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_session_message_from_get(void * jarg1) {
+  char * jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result = (char *) ((arg1)->from);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_message_id_set(void * jarg1, int jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  switch_core_session_message_types_t arg2 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  arg2 = (switch_core_session_message_types_t)jarg2; 
+  if (arg1) (arg1)->message_id = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_message_message_id_get(void * jarg1) {
+  int jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  switch_core_session_message_types_t result;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result = (switch_core_session_message_types_t) ((arg1)->message_id);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_numeric_arg_set(void * jarg1, int jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->numeric_arg = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_message_numeric_arg_get(void * jarg1) {
+  int jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  int result;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result = (int) ((arg1)->numeric_arg);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_string_arg_set(void * jarg1, char * jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->string_arg = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->string_arg, (const char *)arg2);
+    } else {
+      arg1->string_arg = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_session_message_string_arg_get(void * jarg1) {
+  char * jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result = (char *) ((arg1)->string_arg);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_string_arg_size_set(void * jarg1, void * jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->string_arg_size = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_string_arg_size_get(void * jarg1) {
+  void * jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result =  ((arg1)->string_arg_size);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_pointer_arg_set(void * jarg1, void * jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->pointer_arg = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_pointer_arg_get(void * jarg1) {
+  void * jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result = (void *) ((arg1)->pointer_arg);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_pointer_arg_size_set(void * jarg1, void * jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->pointer_arg_size = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_pointer_arg_size_get(void * jarg1) {
+  void * jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result =  ((arg1)->pointer_arg_size);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_numeric_reply_set(void * jarg1, int jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->numeric_reply = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_message_numeric_reply_get(void * jarg1) {
+  int jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  int result;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result = (int) ((arg1)->numeric_reply);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_string_reply_set(void * jarg1, char * jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->string_reply) delete [] arg1->string_reply;
+    if (arg2) {
+      arg1->string_reply = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->string_reply, (const char *)arg2);
+    } else {
+      arg1->string_reply = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_session_message_string_reply_get(void * jarg1) {
+  char * jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result = (char *) ((arg1)->string_reply);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_string_reply_size_set(void * jarg1, void * jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->string_reply_size = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_string_reply_size_get(void * jarg1) {
+  void * jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result =  ((arg1)->string_reply_size);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_pointer_reply_set(void * jarg1, void * jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->pointer_reply = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_pointer_reply_get(void * jarg1) {
+  void * jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result = (void *) ((arg1)->pointer_reply);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_pointer_reply_size_set(void * jarg1, void * jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->pointer_reply_size = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_message_pointer_reply_size_get(void * jarg1) {
+  void * jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result =  ((arg1)->pointer_reply_size);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_message_flags_set(void * jarg1, unsigned long jarg2) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  switch_core_session_message_flag_t arg2 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  arg2 = (switch_core_session_message_flag_t)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_session_message_flags_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  switch_core_session_message_flag_t result;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  result = (switch_core_session_message_flag_t) ((arg1)->flags);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_core_session_message() {
+  void * jresult ;
+  switch_core_session_message *result = 0 ;
+  
+  result = (switch_core_session_message *)new switch_core_session_message();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_core_session_message(void * jarg1) {
+  switch_core_session_message *arg1 = (switch_core_session_message *) 0 ;
+  
+  arg1 = (switch_core_session_message *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_thread_session_running_set(void * jarg1, int jarg2) {
+  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_core_thread_session *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->running = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_thread_session_running_get(void * jarg1) {
+  int jresult ;
+  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
+  int result;
+  
+  arg1 = (switch_core_thread_session *)jarg1; 
+  result = (int) ((arg1)->running);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_thread_session_mutex_set(void * jarg1, void * jarg2) {
+  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
+  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
+  
+  arg1 = (switch_core_thread_session *)jarg1; 
+  arg2 = (switch_mutex_t *)jarg2; 
+  if (arg1) (arg1)->mutex = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_thread_session_mutex_get(void * jarg1) {
+  void * jresult ;
+  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
+  switch_mutex_t *result = 0 ;
+  
+  arg1 = (switch_core_thread_session *)jarg1; 
+  result = (switch_mutex_t *) ((arg1)->mutex);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_thread_session_objs_set(void * jarg1, void * jarg2) {
+  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
+  void **arg2 ;
+  
+  arg1 = (switch_core_thread_session *)jarg1; 
+  arg2 = (void **)jarg2; 
+  {
+    size_t ii;
+    void * *b = (void * *) arg1->objs;
+    for (ii = 0; ii < (size_t)128; ii++) b[ii] = *((void * *) arg2 + ii);
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_thread_session_objs_get(void * jarg1) {
+  void * jresult ;
+  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
+  void **result = 0 ;
+  
+  arg1 = (switch_core_thread_session *)jarg1; 
+  result = (void **)(void **) ((arg1)->objs);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_thread_session_input_callback_set(void * jarg1, void * jarg2) {
+  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
+  switch_input_callback_function_t arg2 = (switch_input_callback_function_t) 0 ;
+  
+  arg1 = (switch_core_thread_session *)jarg1; 
+  arg2 = (switch_input_callback_function_t)jarg2; 
+  if (arg1) (arg1)->input_callback = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_thread_session_input_callback_get(void * jarg1) {
+  void * jresult ;
+  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
+  switch_input_callback_function_t result;
+  
+  arg1 = (switch_core_thread_session *)jarg1; 
+  result = (switch_input_callback_function_t) ((arg1)->input_callback);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_thread_session_pool_set(void * jarg1, void * jarg2) {
+  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
+  
+  arg1 = (switch_core_thread_session *)jarg1; 
+  arg2 = (switch_memory_pool_t *)jarg2; 
+  if (arg1) (arg1)->pool = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_thread_session_pool_get(void * jarg1) {
+  void * jresult ;
+  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
+  switch_memory_pool_t *result = 0 ;
+  
+  arg1 = (switch_core_thread_session *)jarg1; 
+  result = (switch_memory_pool_t *) ((arg1)->pool);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_core_thread_session() {
+  void * jresult ;
+  switch_core_thread_session *result = 0 ;
+  
+  result = (switch_core_thread_session *)new switch_core_thread_session();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_core_thread_session(void * jarg1) {
+  switch_core_thread_session *arg1 = (switch_core_thread_session *) 0 ;
+  
+  arg1 = (switch_core_thread_session *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_add(void * jarg1, void * jarg2, void * jarg3, void * jarg4, unsigned long jarg5, void * jarg6) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_media_bug_callback_t arg2 = (switch_media_bug_callback_t) 0 ;
+  void *arg3 = (void *) 0 ;
+  time_t arg4 ;
+  switch_media_bug_flag_t arg5 ;
+  switch_media_bug_t **arg6 = (switch_media_bug_t **) 0 ;
+  switch_status_t result;
+  time_t *argp4 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_media_bug_callback_t)jarg2; 
+  arg3 = (void *)jarg3; 
+  argp4 = (time_t *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
+    return 0;
+  }
+  arg4 = *argp4; 
+  arg5 = (switch_media_bug_flag_t)jarg5; 
+  arg6 = (switch_media_bug_t **)jarg6; 
+  result = (switch_status_t)switch_core_media_bug_add(arg1,arg2,arg3,arg4,arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_media_bug_get_user_data(void * jarg1) {
+  void * jresult ;
+  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_media_bug_t *)jarg1; 
+  result = (void *)switch_core_media_bug_get_user_data(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_media_bug_get_write_replace_frame(void * jarg1) {
+  void * jresult ;
+  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
+  switch_frame_t *result = 0 ;
+  
+  arg1 = (switch_media_bug_t *)jarg1; 
+  result = (switch_frame_t *)switch_core_media_bug_get_write_replace_frame(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_media_bug_set_write_replace_frame(void * jarg1, void * jarg2) {
+  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
+  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
+  
+  arg1 = (switch_media_bug_t *)jarg1; 
+  arg2 = (switch_frame_t *)jarg2; 
+  switch_core_media_bug_set_write_replace_frame(arg1,arg2);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_media_bug_get_read_replace_frame(void * jarg1) {
+  void * jresult ;
+  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
+  switch_frame_t *result = 0 ;
+  
+  arg1 = (switch_media_bug_t *)jarg1; 
+  result = (switch_frame_t *)switch_core_media_bug_get_read_replace_frame(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_media_bug_get_session(void * jarg1) {
+  void * jresult ;
+  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
+  switch_core_session_t *result = 0 ;
+  
+  arg1 = (switch_media_bug_t *)jarg1; 
+  result = (switch_core_session_t *)switch_core_media_bug_get_session(arg1);
+  jresult = (void *)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 ;
+  uint32_t arg2 ;
+  uint32_t result;
+  
+  arg1 = (switch_media_bug_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  result = (uint32_t)switch_core_media_bug_test_flag(arg1,arg2);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_media_bug_set_read_replace_frame(void * jarg1, void * jarg2) {
+  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
+  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
+  
+  arg1 = (switch_media_bug_t *)jarg1; 
+  arg2 = (switch_frame_t *)jarg2; 
+  switch_core_media_bug_set_read_replace_frame(arg1,arg2);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_remove(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_media_bug_t **arg2 = (switch_media_bug_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_media_bug_t **)jarg2; 
+  result = (switch_status_t)switch_core_media_bug_remove(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_close(void * jarg1) {
+  int jresult ;
+  switch_media_bug_t **arg1 = (switch_media_bug_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_media_bug_t **)jarg1; 
+  result = (switch_status_t)switch_core_media_bug_close(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_remove_all(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_media_bug_remove_all(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_media_bug_read(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_media_bug_t *arg1 = (switch_media_bug_t *) 0 ;
+  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_media_bug_t *)jarg1; 
+  arg2 = (switch_frame_t *)jarg2; 
+  result = (switch_status_t)switch_core_media_bug_read(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_port_allocator_new(unsigned short jarg1, unsigned short jarg2, unsigned long jarg3, void * jarg4) {
+  int jresult ;
+  switch_port_t arg1 ;
+  switch_port_t arg2 ;
+  switch_port_flag_t arg3 ;
+  switch_core_port_allocator_t **arg4 = (switch_core_port_allocator_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_port_t)jarg1; 
+  arg2 = (switch_port_t)jarg2; 
+  arg3 = (switch_port_flag_t)jarg3; 
+  arg4 = (switch_core_port_allocator_t **)jarg4; 
+  result = (switch_status_t)switch_core_port_allocator_new(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_port_allocator_request_port(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_port_allocator_t *arg1 = (switch_core_port_allocator_t *) 0 ;
+  switch_port_t *arg2 = (switch_port_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_port_allocator_t *)jarg1; 
+  arg2 = (switch_port_t *)jarg2; 
+  result = (switch_status_t)switch_core_port_allocator_request_port(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_port_allocator_free_port(void * jarg1, unsigned short jarg2) {
+  int jresult ;
+  switch_core_port_allocator_t *arg1 = (switch_core_port_allocator_t *) 0 ;
+  switch_port_t arg2 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_port_allocator_t *)jarg1; 
+  arg2 = (switch_port_t)jarg2; 
+  result = (switch_status_t)switch_core_port_allocator_free_port(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_port_allocator_destroy(void * jarg1) {
+  switch_core_port_allocator_t **arg1 = (switch_core_port_allocator_t **) 0 ;
+  
+  arg1 = (switch_core_port_allocator_t **)jarg1; 
+  switch_core_port_allocator_destroy(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_init(unsigned long jarg1, int jarg2, void * jarg3) {
+  int jresult ;
+  switch_core_flag_t arg1 ;
+  switch_bool_t arg2 ;
+  char **arg3 = (char **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_flag_t)jarg1; 
+  arg2 = (switch_bool_t)jarg2; 
+  arg3 = (char **)jarg3; 
+  result = (switch_status_t)switch_core_init(arg1,arg2,(char const **)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_init_and_modload(unsigned long jarg1, int jarg2, void * jarg3) {
+  int jresult ;
+  switch_core_flag_t arg1 ;
+  switch_bool_t arg2 ;
+  char **arg3 = (char **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_flag_t)jarg1; 
+  arg2 = (switch_bool_t)jarg2; 
+  arg3 = (char **)jarg3; 
+  result = (switch_status_t)switch_core_init_and_modload(arg1,arg2,(char const **)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_session_limit(unsigned long jarg1) {
+  unsigned long jresult ;
+  uint32_t arg1 ;
+  uint32_t result;
+  
+  arg1 = (uint32_t)jarg1; 
+  result = (uint32_t)switch_core_session_limit(arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_sessions_per_second(unsigned long jarg1) {
+  unsigned long jresult ;
+  uint32_t arg1 ;
+  uint32_t result;
+  
+  arg1 = (uint32_t)jarg1; 
+  result = (uint32_t)switch_core_sessions_per_second(arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_destroy() {
+  int jresult ;
+  switch_status_t result;
+  
+  result = (switch_status_t)switch_core_destroy();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_signal_lock(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_signal_lock(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_signal_unlock(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_signal_unlock(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_read_lock(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_read_lock(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_write_lock(void * jarg1) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  switch_core_session_write_lock(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_rwunlock(void * jarg1) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  switch_core_session_rwunlock(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_add_state_handler(void * jarg1) {
+  int jresult ;
+  switch_state_handler_table_t *arg1 = (switch_state_handler_table_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_state_handler_table_t *)jarg1; 
+  result = (int)switch_core_add_state_handler((switch_state_handler_table const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_remove_state_handler(void * jarg1) {
+  switch_state_handler_table_t *arg1 = (switch_state_handler_table_t *) 0 ;
+  
+  arg1 = (switch_state_handler_table_t *)jarg1; 
+  switch_core_remove_state_handler((switch_state_handler_table const *)arg1);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_get_state_handler(int jarg1) {
+  void * jresult ;
+  int arg1 ;
+  switch_state_handler_table_t *result = 0 ;
+  
+  arg1 = (int)jarg1; 
+  result = (switch_state_handler_table_t *)switch_core_get_state_handler(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_pool_tag(void * jarg1, char * jarg2) {
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  switch_core_memory_pool_tag(arg1,(char const *)arg2);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_perform_new_memory_pool(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
+  int jresult ;
+  switch_memory_pool_t **arg1 = (switch_memory_pool_t **) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_memory_pool_t **)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_core_perform_new_memory_pool(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_perform_destroy_memory_pool(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
+  int jresult ;
+  switch_memory_pool_t **arg1 = (switch_memory_pool_t **) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_memory_pool_t **)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_core_perform_destroy_memory_pool(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_run(void * jarg1) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  switch_core_session_run(arg1);
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_core_session_running(void * jarg1) {
+  unsigned int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (unsigned int)switch_core_session_running(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_perform_permanent_alloc(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
+  void * jresult ;
+  switch_size_t arg1 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  void *result = 0 ;
+  switch_size_t *argp1 ;
+  
+  argp1 = (switch_size_t *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (void *)switch_core_perform_permanent_alloc(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_perform_alloc(void * jarg1, void * jarg2, char * jarg3, char * jarg4, int jarg5) {
+  void * jresult ;
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  switch_size_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  int arg5 ;
+  void *result = 0 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (int)jarg5; 
+  result = (void *)switch_core_perform_alloc(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_perform_session_alloc(void * jarg1, void * jarg2, char * jarg3, char * jarg4, int jarg5) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_size_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  int arg5 ;
+  void *result = 0 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (int)jarg5; 
+  result = (void *)switch_core_perform_session_alloc(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_perform_permanent_strdup(char * jarg1, char * jarg2, char * jarg3, int jarg4) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (char *)switch_core_perform_permanent_strdup((char const *)arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_perform_session_strdup(void * jarg1, char * jarg2, char * jarg3, char * jarg4, int jarg5) {
+  char * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  int arg5 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (int)jarg5; 
+  result = (char *)switch_core_perform_session_strdup(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_perform_strdup(void * jarg1, char * jarg2, char * jarg3, char * jarg4, int jarg5) {
+  char * jresult ;
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  int arg5 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (int)jarg5; 
+  result = (char *)switch_core_perform_strdup(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_session_sprintf(void * jarg1, char * jarg2) {
+  char * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  void *arg3 = 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)switch_core_session_sprintf(arg1,(char const *)arg2,arg3);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_sprintf(void * jarg1, char * jarg2) {
+  char * jresult ;
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  void *arg3 = 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)switch_core_sprintf(arg1,(char const *)arg2,arg3);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_pool(void * jarg1) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_memory_pool_t *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (switch_memory_pool_t *)switch_core_session_get_pool(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_request(void * jarg1, void * jarg2) {
+  void * jresult ;
+  switch_endpoint_interface_t *arg1 = (switch_endpoint_interface_t *) 0 ;
+  switch_memory_pool_t **arg2 = (switch_memory_pool_t **) 0 ;
+  switch_core_session_t *result = 0 ;
+  
+  arg1 = (switch_endpoint_interface_t *)jarg1; 
+  arg2 = (switch_memory_pool_t **)jarg2; 
+  result = (switch_core_session_t *)switch_core_session_request((switch_endpoint_interface const *)arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_perform_destroy(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
+  switch_core_session_t **arg1 = (switch_core_session_t **) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  
+  arg1 = (switch_core_session_t **)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  switch_core_session_perform_destroy(arg1,(char const *)arg2,(char const *)arg3,arg4);
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_session_count() {
+  unsigned long jresult ;
+  uint32_t result;
+  
+  result = (uint32_t)switch_core_session_count();
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_id() {
+  void * jresult ;
+  switch_size_t result;
+  
+  result = switch_core_session_id();
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_request_by_name(char * jarg1, void * jarg2) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_memory_pool_t **arg2 = (switch_memory_pool_t **) 0 ;
+  switch_core_session_t *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_memory_pool_t **)jarg2; 
+  result = (switch_core_session_t *)switch_core_session_request_by_name((char const *)arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_thread_launch(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_thread_launch(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_channel(void * jarg1) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_channel_t *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (switch_channel_t *)switch_core_session_get_channel(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_signal_state_change(void * jarg1) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  switch_core_session_signal_state_change(arg1);
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_session_get_uuid(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_uuid(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_get_uuid() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *)switch_core_get_uuid();
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_locate(char * jarg1) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_core_session_t *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_core_session_t *)switch_core_session_locate((char const *)arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_get_variable(char * jarg1) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (char *)switch_core_get_variable((char const *)arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_set_variable(char * jarg1, char * jarg2) {
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  switch_core_set_variable((char const *)arg1,(char const *)arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_dump_variables(void * jarg1) {
+  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
+  
+  arg1 = (switch_stream_handle_t *)jarg1; 
+  switch_core_dump_variables(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_hupall(int jarg1) {
+  switch_call_cause_t arg1 ;
+  
+  arg1 = (switch_call_cause_t)jarg1; 
+  switch_core_session_hupall(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_hupall_matching_var(char * jarg1, char * jarg2, int jarg3) {
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_call_cause_t arg3 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_call_cause_t)jarg3; 
+  switch_core_session_hupall_matching_var((char const *)arg1,(char const *)arg2,arg3);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_hupall_endpoint(void * jarg1, int jarg2) {
+  switch_endpoint_interface_t *arg1 = (switch_endpoint_interface_t *) 0 ;
+  switch_call_cause_t arg2 ;
+  
+  arg1 = (switch_endpoint_interface_t *)jarg1; 
+  arg2 = (switch_call_cause_t)jarg2; 
+  switch_core_session_hupall_endpoint((switch_endpoint_interface const *)arg1,arg2);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_message_send(char * jarg1, void * jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_core_session_message_t *arg2 = (switch_core_session_message_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_core_session_message_t *)jarg2; 
+  result = (switch_status_t)switch_core_session_message_send((char const *)arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_queue_message(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_session_message_t *arg2 = (switch_core_session_message_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_session_message_t *)jarg2; 
+  result = (switch_status_t)switch_core_session_queue_message(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_pass_indication(void * jarg1, int jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_session_message_types_t arg2 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_session_message_types_t)jarg2; 
+  result = (switch_status_t)switch_core_session_pass_indication(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_queue_indication(void * jarg1, int jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_session_message_types_t arg2 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_session_message_types_t)jarg2; 
+  result = (switch_status_t)switch_core_session_queue_indication(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_dequeue_message(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_session_message_t **arg2 = (switch_core_session_message_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_session_message_t **)jarg2; 
+  result = (switch_status_t)switch_core_session_dequeue_message(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_flush_message(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_flush_message(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_event_send(char * jarg1, void * jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_event_t **arg2 = (switch_event_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_event_t **)jarg2; 
+  result = (switch_status_t)switch_core_session_event_send((char const *)arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_app_log(void * jarg1) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_app_log_t *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (switch_app_log_t *)switch_core_session_get_app_log(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_exec(void * jarg1, void * jarg2, char * jarg3) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_application_interface_t *arg2 = (switch_application_interface_t *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_application_interface_t *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_status_t)switch_core_session_exec(arg1,(switch_application_interface const *)arg2,(char const *)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_execute_application(void * jarg1, char * jarg2, char * jarg3) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_status_t)switch_core_session_execute_application(arg1,(char const *)arg2,(char const *)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_execute_exten(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  result = (switch_status_t)switch_core_session_execute_exten(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_receive_event(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_event_t **arg2 = (switch_event_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_event_t **)jarg2; 
+  result = (switch_status_t)switch_core_session_receive_event(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_private(void * jarg1) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (void *)switch_core_session_get_private(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_set_private(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  result = (switch_status_t)switch_core_session_set_private(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_add_stream(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  int result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  result = (int)switch_core_session_add_stream(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_stream(void * jarg1, int jarg2) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  int arg2 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  result = (void *)switch_core_session_get_stream(arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_get_stream_count(void * jarg1) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (int)switch_core_session_get_stream_count(arg1);
+  jresult = 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 ;
+  void *arg3 = (void *) 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (void *(*)(switch_thread_t *,void *))jarg2; 
+  arg3 = (void *)jarg3; 
+  switch_core_session_launch_thread(arg1,arg2,arg3);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_thread_session_end(void * jarg1) {
+  switch_core_thread_session_t *arg1 = (switch_core_thread_session_t *) 0 ;
+  
+  arg1 = (switch_core_thread_session_t *)jarg1; 
+  switch_core_thread_session_end(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_service_session(void * jarg1, void * jarg2, int jarg3) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_thread_session_t *arg2 = (switch_core_thread_session_t *) 0 ;
+  int arg3 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_thread_session_t *)jarg2; 
+  arg3 = (int)jarg3; 
+  switch_core_service_session(arg1,arg2,arg3);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_outgoing_channel(void * jarg1, void * jarg2, char * jarg3, void * jarg4, void * jarg5, void * jarg6, unsigned long jarg7) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_event_t *arg2 = (switch_event_t *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_caller_profile_t *arg4 = (switch_caller_profile_t *) 0 ;
+  switch_core_session_t **arg5 = (switch_core_session_t **) 0 ;
+  switch_memory_pool_t **arg6 = (switch_memory_pool_t **) 0 ;
+  switch_originate_flag_t arg7 ;
+  switch_call_cause_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_event_t *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (switch_caller_profile_t *)jarg4; 
+  arg5 = (switch_core_session_t **)jarg5; 
+  arg6 = (switch_memory_pool_t **)jarg6; 
+  arg7 = (switch_originate_flag_t)jarg7; 
+  result = (switch_call_cause_t)switch_core_session_outgoing_channel(arg1,arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_resurrect_channel(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_core_session_t **arg2 = (switch_core_session_t **) 0 ;
+  switch_memory_pool_t **arg3 = (switch_memory_pool_t **) 0 ;
+  void *arg4 = (void *) 0 ;
+  switch_call_cause_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_core_session_t **)jarg2; 
+  arg3 = (switch_memory_pool_t **)jarg3; 
+  arg4 = (void *)jarg4; 
+  result = (switch_call_cause_t)switch_core_session_resurrect_channel((char const *)arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_receive_message(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_session_message_t *arg2 = (switch_core_session_message_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_session_message_t *)jarg2; 
+  result = (switch_status_t)switch_core_session_receive_message(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_queue_event(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_event_t **arg2 = (switch_event_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_event_t **)jarg2; 
+  result = (switch_status_t)switch_core_session_queue_event(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_session_event_count(void * jarg1) {
+  unsigned long jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (uint32_t)switch_core_session_event_count(arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_dequeue_event(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_event_t **arg2 = (switch_event_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_event_t **)jarg2; 
+  result = (switch_status_t)switch_core_session_dequeue_event(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_queue_private_event(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_event_t **arg2 = (switch_event_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_event_t **)jarg2; 
+  result = (switch_status_t)switch_core_session_queue_private_event(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_session_private_event_count(void * jarg1) {
+  unsigned long jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (uint32_t)switch_core_session_private_event_count(arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_dequeue_private_event(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_event_t **arg2 = (switch_event_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_event_t **)jarg2; 
+  result = (switch_status_t)switch_core_session_dequeue_private_event(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_session_flush_private_events(void * jarg1) {
+  unsigned long jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (uint32_t)switch_core_session_flush_private_events(arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_read_frame(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_frame_t **arg2 = (switch_frame_t **) 0 ;
+  switch_io_flag_t arg3 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_frame_t **)jarg2; 
+  arg3 = (switch_io_flag_t)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_core_session_read_frame(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_read_video_frame(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_frame_t **arg2 = (switch_frame_t **) 0 ;
+  switch_io_flag_t arg3 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_frame_t **)jarg2; 
+  arg3 = (switch_io_flag_t)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_core_session_read_video_frame(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_write_video_frame(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
+  switch_io_flag_t arg3 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_frame_t *)jarg2; 
+  arg3 = (switch_io_flag_t)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_core_session_write_video_frame(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_reset(void * jarg1, int jarg2) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_bool_t arg2 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_bool_t)jarg2; 
+  switch_core_session_reset(arg1,arg2);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_write_frame(void * jarg1, void * jarg2, unsigned long jarg3, int jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
+  switch_io_flag_t arg3 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_frame_t *)jarg2; 
+  arg3 = (switch_io_flag_t)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_core_session_write_frame(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_perform_kill_channel(void * jarg1, char * jarg2, char * jarg3, int jarg4, int jarg5) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  switch_signal_t arg5 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (switch_signal_t)jarg5; 
+  result = (switch_status_t)switch_core_session_perform_kill_channel(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_send_dtmf(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_dtmf_t *)jarg2; 
+  result = (switch_status_t)switch_core_session_send_dtmf(arg1,(switch_dtmf_t const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_send_dtmf_string(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_core_session_send_dtmf_string(arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_recv_dtmf(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_dtmf_t *)jarg2; 
+  result = (switch_status_t)switch_core_session_recv_dtmf(arg1,(switch_dtmf_t const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_init(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_hash_t **arg1 = (switch_hash_t **) 0 ;
+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_hash_t **)jarg1; 
+  arg2 = (switch_memory_pool_t *)jarg2; 
+  result = (switch_status_t)switch_core_hash_init(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_destroy(void * jarg1) {
+  int jresult ;
+  switch_hash_t **arg1 = (switch_hash_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_hash_t **)jarg1; 
+  result = (switch_status_t)switch_core_hash_destroy(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_insert(void * jarg1, char * jarg2, void * jarg3) {
+  int jresult ;
+  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  void *arg3 = (void *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_hash_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (void *)jarg3; 
+  result = (switch_status_t)switch_core_hash_insert(arg1,(char const *)arg2,(void const *)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_insert_locked(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {
+  int jresult ;
+  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  void *arg3 = (void *) 0 ;
+  switch_mutex_t *arg4 = (switch_mutex_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_hash_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (void *)jarg3; 
+  arg4 = (switch_mutex_t *)jarg4; 
+  result = (switch_status_t)switch_core_hash_insert_locked(arg1,(char const *)arg2,(void const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_delete(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_hash_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_core_hash_delete(arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_delete_locked(void * jarg1, char * jarg2, void * jarg3) {
+  int jresult ;
+  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_mutex_t *arg3 = (switch_mutex_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_hash_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_mutex_t *)jarg3; 
+  result = (switch_status_t)switch_core_hash_delete_locked(arg1,(char const *)arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_hash_find(void * jarg1, char * jarg2) {
+  void * jresult ;
+  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_hash_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (void *)switch_core_hash_find(arg1,(char const *)arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_hash_find_locked(void * jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  switch_hash_t *arg1 = (switch_hash_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_mutex_t *arg3 = (switch_mutex_t *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_hash_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_mutex_t *)jarg3; 
+  result = (void *)switch_core_hash_find_locked(arg1,(char const *)arg2,arg3);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_hash_first(char * jarg1, void * jarg2) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_hash_t *arg2 = (switch_hash_t *) 0 ;
+  switch_hash_index_t *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_hash_t *)jarg2; 
+  result = (switch_hash_index_t *)switch_hash_first(arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_hash_next(void * jarg1) {
+  void * jresult ;
+  switch_hash_index_t *arg1 = (switch_hash_index_t *) 0 ;
+  switch_hash_index_t *result = 0 ;
+  
+  arg1 = (switch_hash_index_t *)jarg1; 
+  result = (switch_hash_index_t *)switch_hash_next(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_hash_this(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  switch_hash_index_t *arg1 = (switch_hash_index_t *) 0 ;
+  void **arg2 = (void **) 0 ;
+  switch_ssize_t *arg3 = (switch_ssize_t *) 0 ;
+  void **arg4 = (void **) 0 ;
+  
+  arg1 = (switch_hash_index_t *)jarg1; 
+  arg2 = (void **)jarg2; 
+  arg3 = (switch_ssize_t *)jarg3; 
+  arg4 = (void **)jarg4; 
+  switch_hash_this(arg1,(void const **)arg2,arg3,arg4);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_timer_init(void * jarg1, char * jarg2, int jarg3, int jarg4, void * jarg5) {
+  int jresult ;
+  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int arg3 ;
+  int arg4 ;
+  switch_memory_pool_t *arg5 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_timer_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (switch_memory_pool_t *)jarg5; 
+  result = (switch_status_t)switch_core_timer_init(arg1,(char const *)arg2,arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_timer_next(void * jarg1) {
+  int jresult ;
+  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_timer_t *)jarg1; 
+  result = (switch_status_t)switch_core_timer_next(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_timer_step(void * jarg1) {
+  int jresult ;
+  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_timer_t *)jarg1; 
+  result = (switch_status_t)switch_core_timer_step(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_timer_sync(void * jarg1) {
+  int jresult ;
+  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_timer_t *)jarg1; 
+  result = (switch_status_t)switch_core_timer_sync(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_timer_check(void * jarg1, int jarg2) {
+  int jresult ;
+  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
+  switch_bool_t arg2 ;
+  switch_status_t result;
+  
+  arg1 = (switch_timer_t *)jarg1; 
+  arg2 = (switch_bool_t)jarg2; 
+  result = (switch_status_t)switch_core_timer_check(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_timer_destroy(void * jarg1) {
+  int jresult ;
+  switch_timer_t *arg1 = (switch_timer_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_timer_t *)jarg1; 
+  result = (switch_status_t)switch_core_timer_destroy(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_codec_init(void * jarg1, char * jarg2, char * jarg3, unsigned long jarg4, int jarg5, int jarg6, unsigned long jarg7, void * jarg8, void * jarg9) {
+  int jresult ;
+  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  uint32_t arg4 ;
+  int arg5 ;
+  int arg6 ;
+  uint32_t arg7 ;
+  switch_codec_settings_t *arg8 = (switch_codec_settings_t *) 0 ;
+  switch_memory_pool_t *arg9 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_codec_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (uint32_t)jarg4; 
+  arg5 = (int)jarg5; 
+  arg6 = (int)jarg6; 
+  arg7 = (uint32_t)jarg7; 
+  arg8 = (switch_codec_settings_t *)jarg8; 
+  arg9 = (switch_memory_pool_t *)jarg9; 
+  result = (switch_status_t)switch_core_codec_init(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7,(switch_codec_settings const *)arg8,arg9);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_codec_copy(void * jarg1, void * jarg2, void * jarg3) {
+  int jresult ;
+  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
+  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
+  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_codec_t *)jarg1; 
+  arg2 = (switch_codec_t *)jarg2; 
+  arg3 = (switch_memory_pool_t *)jarg3; 
+  result = (switch_status_t)switch_core_codec_copy(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_codec_encode(void * jarg1, void * jarg2, void * jarg3, unsigned long jarg4, unsigned long jarg5, void * jarg6, void * jarg7, void * jarg8, void * jarg9) {
+  int jresult ;
+  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
+  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
+  void *arg3 = (void *) 0 ;
+  uint32_t arg4 ;
+  uint32_t arg5 ;
+  void *arg6 = (void *) 0 ;
+  uint32_t *arg7 = (uint32_t *) 0 ;
+  uint32_t *arg8 = (uint32_t *) 0 ;
+  unsigned int *arg9 = (unsigned int *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_codec_t *)jarg1; 
+  arg2 = (switch_codec_t *)jarg2; 
+  arg3 = (void *)jarg3; 
+  arg4 = (uint32_t)jarg4; 
+  arg5 = (uint32_t)jarg5; 
+  arg6 = (void *)jarg6; 
+  arg7 = (uint32_t *)jarg7; 
+  arg8 = (uint32_t *)jarg8; 
+  arg9 = (unsigned int *)jarg9; 
+  result = (switch_status_t)switch_core_codec_encode(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_codec_decode(void * jarg1, void * jarg2, void * jarg3, unsigned long jarg4, unsigned long jarg5, void * jarg6, void * jarg7, void * jarg8, void * jarg9) {
+  int jresult ;
+  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
+  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
+  void *arg3 = (void *) 0 ;
+  uint32_t arg4 ;
+  uint32_t arg5 ;
+  void *arg6 = (void *) 0 ;
+  uint32_t *arg7 = (uint32_t *) 0 ;
+  uint32_t *arg8 = (uint32_t *) 0 ;
+  unsigned int *arg9 = (unsigned int *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_codec_t *)jarg1; 
+  arg2 = (switch_codec_t *)jarg2; 
+  arg3 = (void *)jarg3; 
+  arg4 = (uint32_t)jarg4; 
+  arg5 = (uint32_t)jarg5; 
+  arg6 = (void *)jarg6; 
+  arg7 = (uint32_t *)jarg7; 
+  arg8 = (uint32_t *)jarg8; 
+  arg9 = (unsigned int *)jarg9; 
+  result = (switch_status_t)switch_core_codec_decode(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_codec_destroy(void * jarg1) {
+  int jresult ;
+  switch_codec_t *arg1 = (switch_codec_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_codec_t *)jarg1; 
+  result = (switch_status_t)switch_core_codec_destroy(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_set_read_codec(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_codec_t *)jarg2; 
+  result = (switch_status_t)switch_core_session_set_read_codec(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_session_unset_read_codec(void * jarg1) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  switch_core_session_unset_read_codec(arg1);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_read_codec(void * jarg1) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_codec_t *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (switch_codec_t *)switch_core_session_get_read_codec(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_effective_read_codec(void * jarg1) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_codec_t *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (switch_codec_t *)switch_core_session_get_effective_read_codec(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_set_write_codec(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_codec_t *)jarg2; 
+  result = (switch_status_t)switch_core_session_set_write_codec(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_write_codec(void * jarg1) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_codec_t *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (switch_codec_t *)switch_core_session_get_write_codec(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_effective_write_codec(void * jarg1) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_codec_t *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (switch_codec_t *)switch_core_session_get_effective_write_codec(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_set_video_read_codec(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_codec_t *)jarg2; 
+  result = (switch_status_t)switch_core_session_set_video_read_codec(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_video_read_codec(void * jarg1) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_codec_t *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (switch_codec_t *)switch_core_session_get_video_read_codec(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_set_video_write_codec(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_codec_t *)jarg2; 
+  result = (switch_status_t)switch_core_session_set_video_write_codec(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_session_get_video_write_codec(void * jarg1) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_codec_t *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (switch_codec_t *)switch_core_session_get_video_write_codec(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_db_open_file(char * jarg1) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_core_db_t *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_core_db_t *)switch_core_db_open_file(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_db_persistant_execute(void * jarg1, char * jarg2, unsigned long jarg3) {
+  int jresult ;
+  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  uint32_t arg3 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_db_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  result = (switch_status_t)switch_core_db_persistant_execute(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_db_test_reactive(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
+  switch_core_db_t *arg1 = (switch_core_db_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  
+  arg1 = (switch_core_db_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  switch_core_db_test_reactive(arg1,arg2,arg3,arg4);
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_CORE_DB_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "core";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_perform_file_open(char * jarg1, char * jarg2, int jarg3, void * jarg4, char * jarg5, unsigned char jarg6, unsigned long jarg7, unsigned int jarg8, void * jarg9) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int arg3 ;
+  switch_file_handle_t *arg4 = (switch_file_handle_t *) 0 ;
+  char *arg5 = (char *) 0 ;
+  uint8_t arg6 ;
+  uint32_t arg7 ;
+  unsigned int arg8 ;
+  switch_memory_pool_t *arg9 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (switch_file_handle_t *)jarg4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (uint8_t)jarg6; 
+  arg7 = (uint32_t)jarg7; 
+  arg8 = (unsigned int)jarg8; 
+  arg9 = (switch_memory_pool_t *)jarg9; 
+  result = (switch_status_t)switch_core_perform_file_open((char const *)arg1,(char const *)arg2,arg3,arg4,(char const *)arg5,arg6,arg7,arg8,arg9);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_read(void * jarg1, void * jarg2, void * jarg3) {
+  int jresult ;
+  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  switch_size_t *arg3 = (switch_size_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_file_handle_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  arg3 = (switch_size_t *)jarg3; 
+  result = (switch_status_t)switch_core_file_read(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_write(void * jarg1, void * jarg2, void * jarg3) {
+  int jresult ;
+  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  switch_size_t *arg3 = (switch_size_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_file_handle_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  arg3 = (switch_size_t *)jarg3; 
+  result = (switch_status_t)switch_core_file_write(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_seek(void * jarg1, void * jarg2, long long jarg3, int jarg4) {
+  int jresult ;
+  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
+  unsigned int *arg2 = (unsigned int *) 0 ;
+  int64_t arg3 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_file_handle_t *)jarg1; 
+  arg2 = (unsigned int *)jarg2; 
+  arg3 = (int64_t)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_core_file_seek(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_set_string(void * jarg1, int jarg2, char * jarg3) {
+  int jresult ;
+  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
+  switch_audio_col_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_file_handle_t *)jarg1; 
+  arg2 = (switch_audio_col_t)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_status_t)switch_core_file_set_string(arg1,arg2,(char const *)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_get_string(void * jarg1, int jarg2, void * jarg3) {
+  int jresult ;
+  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
+  switch_audio_col_t arg2 ;
+  char **arg3 = (char **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_file_handle_t *)jarg1; 
+  arg2 = (switch_audio_col_t)jarg2; 
+  arg3 = (char **)jarg3; 
+  result = (switch_status_t)switch_core_file_get_string(arg1,arg2,(char const **)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_close(void * jarg1) {
+  int jresult ;
+  switch_file_handle_t *arg1 = (switch_file_handle_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_file_handle_t *)jarg1; 
+  result = (switch_status_t)switch_core_file_close(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_open(void * jarg1, char * jarg2, char * jarg3, unsigned int jarg4, unsigned int jarg5, void * jarg6, void * jarg7) {
+  int jresult ;
+  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  unsigned int arg4 ;
+  unsigned int arg5 ;
+  switch_speech_flag_t *arg6 = (switch_speech_flag_t *) 0 ;
+  switch_memory_pool_t *arg7 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_speech_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (unsigned int)jarg4; 
+  arg5 = (unsigned int)jarg5; 
+  arg6 = (switch_speech_flag_t *)jarg6; 
+  arg7 = (switch_memory_pool_t *)jarg7; 
+  result = (switch_status_t)switch_core_speech_open(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_feed_tts(void * jarg1, char * jarg2, void * jarg3) {
+  int jresult ;
+  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_speech_flag_t *arg3 = (switch_speech_flag_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_speech_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_speech_flag_t *)jarg3; 
+  result = (switch_status_t)switch_core_speech_feed_tts(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_speech_flush_tts(void * jarg1) {
+  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
+  
+  arg1 = (switch_speech_handle_t *)jarg1; 
+  switch_core_speech_flush_tts(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_speech_text_param_tts(void * jarg1, char * jarg2, char * jarg3) {
+  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  
+  arg1 = (switch_speech_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  switch_core_speech_text_param_tts(arg1,arg2,(char const *)arg3);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_speech_numeric_param_tts(void * jarg1, char * jarg2, int jarg3) {
+  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int arg3 ;
+  
+  arg1 = (switch_speech_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (int)jarg3; 
+  switch_core_speech_numeric_param_tts(arg1,arg2,arg3);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_speech_float_param_tts(void * jarg1, char * jarg2, double jarg3) {
+  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  double arg3 ;
+  
+  arg1 = (switch_speech_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (double)jarg3; 
+  switch_core_speech_float_param_tts(arg1,arg2,arg3);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_read_tts(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  int jresult ;
+  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  switch_size_t *arg3 = (switch_size_t *) 0 ;
+  uint32_t *arg4 = (uint32_t *) 0 ;
+  switch_speech_flag_t *arg5 = (switch_speech_flag_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_speech_handle_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  arg3 = (switch_size_t *)jarg3; 
+  arg4 = (uint32_t *)jarg4; 
+  arg5 = (switch_speech_flag_t *)jarg5; 
+  result = (switch_status_t)switch_core_speech_read_tts(arg1,arg2,arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_close(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;
+  switch_speech_flag_t *arg2 = (switch_speech_flag_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_speech_handle_t *)jarg1; 
+  arg2 = (switch_speech_flag_t *)jarg2; 
+  result = (switch_status_t)switch_core_speech_close(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_open(void * jarg1, char * jarg2, char * jarg3, int jarg4, char * jarg5, void * jarg6, void * jarg7) {
+  int jresult ;
+  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  char *arg5 = (char *) 0 ;
+  switch_asr_flag_t *arg6 = (switch_asr_flag_t *) 0 ;
+  switch_memory_pool_t *arg7 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_asr_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (switch_asr_flag_t *)jarg6; 
+  arg7 = (switch_memory_pool_t *)jarg7; 
+  result = (switch_status_t)switch_core_asr_open(arg1,(char const *)arg2,(char const *)arg3,arg4,(char const *)arg5,arg6,arg7);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_close(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
+  switch_asr_flag_t *arg2 = (switch_asr_flag_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_asr_handle_t *)jarg1; 
+  arg2 = (switch_asr_flag_t *)jarg2; 
+  result = (switch_status_t)switch_core_asr_close(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_feed(void * jarg1, void * jarg2, unsigned int jarg3, void * jarg4) {
+  int jresult ;
+  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  unsigned int arg3 ;
+  switch_asr_flag_t *arg4 = (switch_asr_flag_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_asr_handle_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  arg3 = (unsigned int)jarg3; 
+  arg4 = (switch_asr_flag_t *)jarg4; 
+  result = (switch_status_t)switch_core_asr_feed(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_check_results(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
+  switch_asr_flag_t *arg2 = (switch_asr_flag_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_asr_handle_t *)jarg1; 
+  arg2 = (switch_asr_flag_t *)jarg2; 
+  result = (switch_status_t)switch_core_asr_check_results(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_get_results(void * jarg1, void * jarg2, void * jarg3) {
+  int jresult ;
+  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
+  char **arg2 = (char **) 0 ;
+  switch_asr_flag_t *arg3 = (switch_asr_flag_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_asr_handle_t *)jarg1; 
+  arg2 = (char **)jarg2; 
+  arg3 = (switch_asr_flag_t *)jarg3; 
+  result = (switch_status_t)switch_core_asr_get_results(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_load_grammar(void * jarg1, char * jarg2, char * jarg3) {
+  int jresult ;
+  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_asr_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_status_t)switch_core_asr_load_grammar(arg1,(char const *)arg2,(char const *)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_unload_grammar(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_asr_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_core_asr_unload_grammar(arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_pause(void * jarg1) {
+  int jresult ;
+  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_asr_handle_t *)jarg1; 
+  result = (switch_status_t)switch_core_asr_pause(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_asr_resume(void * jarg1) {
+  int jresult ;
+  switch_asr_handle_t *arg1 = (switch_asr_handle_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_asr_handle_t *)jarg1; 
+  result = (switch_status_t)switch_core_asr_resume(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_directory_open(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, void * jarg6) {
+  int jresult ;
+  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  char *arg5 = (char *) 0 ;
+  switch_memory_pool_t *arg6 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_directory_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (switch_memory_pool_t *)jarg6; 
+  result = (switch_status_t)switch_core_directory_open(arg1,arg2,arg3,arg4,arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_directory_query(void * jarg1, char * jarg2, char * jarg3) {
+  int jresult ;
+  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_directory_handle_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_status_t)switch_core_directory_query(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_directory_next(void * jarg1) {
+  int jresult ;
+  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_directory_handle_t *)jarg1; 
+  result = (switch_status_t)switch_core_directory_next(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_directory_next_pair(void * jarg1, void * jarg2, void * jarg3) {
+  int jresult ;
+  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
+  char **arg2 = (char **) 0 ;
+  char **arg3 = (char **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_directory_handle_t *)jarg1; 
+  arg2 = (char **)jarg2; 
+  arg3 = (char **)jarg3; 
+  result = (switch_status_t)switch_core_directory_next_pair(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_directory_close(void * jarg1) {
+  int jresult ;
+  switch_directory_handle_t *arg1 = (switch_directory_handle_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_directory_handle_t *)jarg1; 
+  result = (switch_status_t)switch_core_directory_close(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_data_channel(int jarg1) {
+  void * jresult ;
+  switch_text_channel_t arg1 ;
+  FILE *result = 0 ;
+  
+  arg1 = (switch_text_channel_t)jarg1; 
+  result = (FILE *)switch_core_data_channel(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_ready() {
+  int jresult ;
+  switch_bool_t result;
+  
+  result = (switch_bool_t)switch_core_ready();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_flags() {
+  unsigned long jresult ;
+  switch_core_flag_t result;
+  
+  result = (switch_core_flag_t)switch_core_flags();
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_management_exec(char * jarg1, int jarg2, char * jarg3, void * jarg4) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_management_action_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  switch_size_t arg4 ;
+  switch_status_t result;
+  switch_size_t *argp4 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_management_action_t)jarg2; 
+  arg3 = (char *)jarg3; 
+  argp4 = (switch_size_t *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg4 = *argp4; 
+  result = (switch_status_t)switch_core_management_exec(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_set_high_priority() {
+  int jresult ;
+  int32_t result;
+  
+  result = (int32_t)set_high_priority();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_change_user_group(char * jarg1, char * jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int32_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (int32_t)change_user_group((char const *)arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_runtime_loop(int jarg1) {
+  int arg1 ;
+  
+  arg1 = (int)jarg1; 
+  switch_core_runtime_loop(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_set_console(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_status_t)switch_core_set_console((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_measure_time(void * jarg1, void * jarg2) {
+  switch_time_t arg1 ;
+  switch_core_time_duration_t *arg2 = (switch_core_time_duration_t *) 0 ;
+  switch_time_t *argp1 ;
+  
+  argp1 = (switch_time_t *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
+    return ;
+  }
+  arg1 = *argp1; 
+  arg2 = (switch_core_time_duration_t *)jarg2; 
+  switch_core_measure_time(arg1,arg2);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_uptime() {
+  void * jresult ;
+  switch_time_t result;
+  
+  result = switch_core_uptime();
+  jresult = new switch_time_t((switch_time_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_session_ctl(int jarg1, void * jarg2) {
+  int jresult ;
+  switch_session_ctl_t arg1 ;
+  int32_t *arg2 = (int32_t *) 0 ;
+  int32_t result;
+  
+  arg1 = (switch_session_ctl_t)jarg1; 
+  arg2 = (int32_t *)jarg2; 
+  result = (int32_t)switch_core_session_ctl(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_get_console() {
+  void * jresult ;
+  FILE *result = 0 ;
+  
+  result = (FILE *)switch_core_get_console();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_launch_thread(void * jarg1, void * jarg2, void * jarg3) {
+  void *(*arg1)(switch_thread_t *,void *) = (void *(*)(switch_thread_t *,void *)) 0 ;
+  void *arg2 = (void *) 0 ;
+  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
+  
+  arg1 = (void *(*)(switch_thread_t *,void *))jarg1; 
+  arg2 = (void *)jarg2; 
+  arg3 = (switch_memory_pool_t *)jarg3; 
+  switch_core_launch_thread(arg1,arg2,arg3);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_set_globals() {
+  switch_core_set_globals();
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_core_session_compare(void * jarg1, void * jarg2) {
+  unsigned char jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_session_t *)jarg2; 
+  result = (uint8_t)switch_core_session_compare(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_core_session_check_interface(void * jarg1, void * jarg2) {
+  unsigned char jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_endpoint_interface_t *arg2 = (switch_endpoint_interface_t *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_endpoint_interface_t *)jarg2; 
+  result = (uint8_t)switch_core_session_check_interface(arg1,(switch_endpoint_interface const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_core_mime_index() {
+  void * jresult ;
+  switch_hash_index_t *result = 0 ;
+  
+  result = (switch_hash_index_t *)switch_core_mime_index();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_core_mime_ext2type(char * jarg1) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (char *)switch_core_mime_ext2type((char const *)arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_mime_add_type(char * jarg1, char * jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_core_mime_add_type((char const *)arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_loadable_module_create_module_interface(void * jarg1, char * jarg2) {
+  void * jresult ;
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_loadable_module_interface_t *result = 0 ;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_loadable_module_interface_t *)switch_loadable_module_create_module_interface(arg1,(char const *)arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_loadable_module_create_interface(void * jarg1, int jarg2) {
+  void * jresult ;
+  switch_loadable_module_interface_t *arg1 = (switch_loadable_module_interface_t *) 0 ;
+  switch_module_interface_name_t arg2 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_loadable_module_interface_t *)jarg1; 
+  arg2 = (switch_module_interface_name_t)jarg2; 
+  result = (void *)switch_loadable_module_create_interface(arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timestamp_now() {
+  void * jresult ;
+  switch_time_t result;
+  
+  result = switch_timestamp_now();
+  jresult = new switch_time_t((switch_time_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_reclaim() {
+  switch_core_memory_reclaim();
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_reclaim_events() {
+  switch_core_memory_reclaim_events();
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_reclaim_logger() {
+  switch_core_memory_reclaim_logger();
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_memory_reclaim_all() {
+  switch_core_memory_reclaim_all();
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_core_setrlimits() {
+  switch_core_setrlimits();
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_time_sync() {
+  switch_time_sync();
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timestamp(void * jarg1) {
+  void * jresult ;
+  time_t *arg1 = (time_t *) 0 ;
+  time_t result;
+  
+  arg1 = (time_t *)jarg1; 
+  result = switch_timestamp(arg1);
+  jresult = new time_t((time_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_strftime_tz(char * jarg1, char * jarg2, char * jarg3, unsigned long jarg4) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  size_t arg4 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (size_t)jarg4; 
+  result = (switch_status_t)switch_strftime_tz((char const *)arg1,(char const *)arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_load_network_lists(int jarg1) {
+  switch_bool_t arg1 ;
+  
+  arg1 = (switch_bool_t)jarg1; 
+  switch_load_network_lists(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_check_network_list_ip_token(char * jarg1, char * jarg2, void * jarg3) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char **arg3 = (char **) 0 ;
+  switch_bool_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char **)jarg3; 
+  result = (switch_bool_t)switch_check_network_list_ip_token((char const *)arg1,(char const *)arg2,(char const **)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_time_set_monotonic(int jarg1) {
+  switch_bool_t arg1 ;
+  
+  arg1 = (switch_bool_t)jarg1; 
+  switch_time_set_monotonic(arg1);
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_max_dtmf_duration(unsigned long jarg1) {
+  unsigned long jresult ;
+  uint32_t arg1 ;
+  uint32_t result;
+  
+  arg1 = (uint32_t)jarg1; 
+  result = (uint32_t)switch_core_max_dtmf_duration(arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_core_default_dtmf_duration(unsigned long jarg1) {
+  unsigned long jresult ;
+  uint32_t arg1 ;
+  uint32_t result;
+  
+  arg1 = (uint32_t)jarg1; 
+  result = (uint32_t)switch_core_default_dtmf_duration(arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_console_set_complete(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_status_t)switch_console_set_complete((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_console_set_alias(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_status_t)switch_console_set_alias((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_system(char * jarg1, int jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_bool_t arg2 ;
+  int result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_bool_t)jarg2; 
+  result = (int)switch_system((char const *)arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_CMD_CHUNK_LEN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 1024;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_console_loop() {
+  switch_console_loop();
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_console_stream_raw_write(void * jarg1, void * jarg2, void * jarg3) {
+  int jresult ;
+  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
+  uint8_t *arg2 = (uint8_t *) 0 ;
+  switch_size_t arg3 ;
+  switch_status_t result;
+  switch_size_t *argp3 ;
+  
+  arg1 = (switch_stream_handle_t *)jarg1; 
+  arg2 = (uint8_t *)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_status_t)switch_console_stream_raw_write(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_SMAX_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 32767;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_SMIN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) -32768;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_is_moh(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_bool_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_bool_t)switch_is_moh((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_b64_encode(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  int jresult ;
+  unsigned char *arg1 = (unsigned char *) 0 ;
+  switch_size_t arg2 ;
+  unsigned char *arg3 = (unsigned char *) 0 ;
+  switch_size_t arg4 ;
+  switch_status_t result;
+  switch_size_t *argp2 ;
+  switch_size_t *argp4 ;
+  
+  arg1 = (unsigned char *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (unsigned char *)jarg3; 
+  argp4 = (switch_size_t *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg4 = *argp4; 
+  result = (switch_status_t)switch_b64_encode(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_b64_decode(char * jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_size_t arg3 ;
+  switch_size_t result;
+  switch_size_t *argp3 ;
+  
+  arg1 = (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 = switch_b64_decode(arg1,arg2,arg3);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_amp_encode(char * jarg1, char * jarg2, void * jarg3) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_size_t arg3 ;
+  char *result = 0 ;
+  switch_size_t *argp3 ;
+  
+  arg1 = (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_amp_encode(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 ;
+  switch_bool_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_bool_t)switch_is_digit_string((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_fd_read_line(int jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  int arg1 ;
+  char *arg2 = (char *) 0 ;
+  switch_size_t arg3 ;
+  switch_size_t result;
+  switch_size_t *argp3 ;
+  
+  arg1 = (int)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 = switch_fd_read_line(arg1,arg2,arg3);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_find_local_ip(char * jarg1, int jarg2, int jarg3) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  result = (switch_status_t)switch_find_local_ip(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_get_addr(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_size_t arg2 ;
+  sockaddr *arg3 = (sockaddr *) 0 ;
+  socklen_t arg4 ;
+  char *result = 0 ;
+  switch_size_t *argp2 ;
+  socklen_t *argp4 ;
+  
+  arg1 = (char *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (sockaddr *)jarg3; 
+  argp4 = (socklen_t *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null socklen_t", 0);
+    return 0;
+  }
+  arg4 = *argp4; 
+  result = (char *)get_addr(arg1,arg2,arg3,arg4);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_get_port(void * jarg1) {
+  unsigned short jresult ;
+  sockaddr *arg1 = (sockaddr *) 0 ;
+  unsigned short result;
+  
+  arg1 = (sockaddr *)jarg1; 
+  result = (unsigned short)get_port(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_build_uri(char * jarg1, void * jarg2, char * jarg3, char * jarg4, void * jarg5, int jarg6) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_size_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_sockaddr_t *arg5 = (switch_sockaddr_t *) 0 ;
+  int arg6 ;
+  int result;
+  switch_size_t *argp2 ;
+  
+  arg1 = (char *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (switch_sockaddr_t *)jarg5; 
+  arg6 = (int)jarg6; 
+  result = (int)switch_build_uri(arg1,arg2,(char const *)arg3,(char const *)arg4,(switch_sockaddr_t const *)arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_priority_name(int jarg1) {
+  char * jresult ;
+  switch_priority_t arg1 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_priority_t)jarg1; 
+  result = (char *)switch_priority_name(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char SWIGSTDCALL CSharp_switch_rfc2833_to_char(int jarg1) {
+  char jresult ;
+  int arg1 ;
+  char result;
+  
+  arg1 = (int)jarg1; 
+  result = (char)switch_rfc2833_to_char(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_char_to_rfc2833(char jarg1) {
+  unsigned char jresult ;
+  char arg1 ;
+  unsigned char result;
+  
+  arg1 = (char)jarg1; 
+  result = (unsigned char)switch_char_to_rfc2833(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_clean_string(char * jarg1) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (char *)switch_clean_string(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_safe_strdup(char * jarg1) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (char *)switch_safe_strdup((char const *)arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_strstr(char * jarg1, char * jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_bool_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_bool_t)switch_strstr(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_str_time(char * jarg1) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_time_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = switch_str_time((char const *)arg1);
+  jresult = new switch_time_t((switch_time_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_separate_string(char * jarg1, char jarg2, void * jarg3, unsigned int jarg4) {
+  unsigned int jresult ;
+  char *arg1 = (char *) 0 ;
+  char arg2 ;
+  char **arg3 = (char **) 0 ;
+  unsigned int arg4 ;
+  unsigned int result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char)jarg2; 
+  arg3 = (char **)jarg3; 
+  arg4 = (unsigned int)jarg4; 
+  result = (unsigned int)switch_separate_string(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_is_number(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_bool_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_bool_t)switch_is_number((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_strip_spaces(char * jarg1) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (char *)switch_strip_spaces((char const *)arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_separate_paren_args(char * jarg1) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (char *)switch_separate_paren_args(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_stristr(char * jarg1, char * jarg2) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)switch_stristr((char const *)arg1,(char const *)arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_is_lan_addr(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_bool_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_bool_t)switch_is_lan_addr((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_replace_char(char * jarg1, char jarg2, char jarg3, int jarg4) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char arg2 ;
+  char arg3 ;
+  switch_bool_t arg4 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char)jarg2; 
+  arg3 = (char)jarg3; 
+  arg4 = (switch_bool_t)jarg4; 
+  result = (char *)switch_replace_char(arg1,arg2,arg3,arg4);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ast2regex(char * jarg1, char * jarg2, unsigned long jarg3) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  size_t arg3 ;
+  switch_bool_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (size_t)jarg3; 
+  result = (switch_bool_t)switch_ast2regex(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_escape_char(void * jarg1, char * jarg2, char * jarg3, char jarg4) {
+  char * jresult ;
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char arg4 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char)jarg4; 
+  result = (char *)switch_escape_char(arg1,arg2,(char const *)arg3,arg4);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_socket_waitfor(void * jarg1, int jarg2) {
+  int jresult ;
+  switch_pollfd_t *arg1 = (switch_pollfd_t *) 0 ;
+  int arg2 ;
+  int result;
+  
+  arg1 = (switch_pollfd_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  result = (int)switch_socket_waitfor(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_cut_path(char * jarg1) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (char *)switch_cut_path((char const *)arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_string_replace(char * jarg1, char * jarg2, char * jarg3) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (char *)switch_string_replace((char const *)arg1,(char const *)arg2,(char const *)arg3);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_string_match(char * jarg1, unsigned long jarg2, char * jarg3, unsigned long jarg4) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  size_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  size_t arg4 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (size_t)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (size_t)jarg4; 
+  result = (switch_status_t)switch_string_match((char const *)arg1,arg2,(char const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_url_encode(char * jarg1, char * jarg2, unsigned long jarg3) {
+  unsigned long jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  size_t arg3 ;
+  size_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (size_t)jarg3; 
+  result = switch_url_encode((char const *)arg1,arg2,arg3);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_url_decode(char * jarg1) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (char *)switch_url_decode(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_simple_email(char * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  char *arg5 = (char *) 0 ;
+  switch_bool_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (char *)jarg5; 
+  result = (switch_bool_t)switch_simple_email((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_find_end_paren(char * jarg1, char jarg2, char jarg3) {
+  char * jresult ;
+  char *arg1 = (char *) 0 ;
+  char arg2 ;
+  char arg3 ;
+  char *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char)jarg2; 
+  arg3 = (char)jarg3; 
+  result = (char *)switch_find_end_paren((char const *)arg1,arg2,arg3);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_parse_cidr(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  uint32_t *arg2 = (uint32_t *) 0 ;
+  uint32_t *arg3 = (uint32_t *) 0 ;
+  uint32_t *arg4 = (uint32_t *) 0 ;
+  int result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (uint32_t *)jarg2; 
+  arg3 = (uint32_t *)jarg3; 
+  arg4 = (uint32_t *)jarg4; 
+  result = (int)switch_parse_cidr((char const *)arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_network_list_create(void * jarg1, int jarg2, void * jarg3) {
+  int jresult ;
+  switch_network_list_t **arg1 = (switch_network_list_t **) 0 ;
+  switch_bool_t arg2 ;
+  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_network_list_t **)jarg1; 
+  arg2 = (switch_bool_t)jarg2; 
+  arg3 = (switch_memory_pool_t *)jarg3; 
+  result = (switch_status_t)switch_network_list_create(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_network_list_add_cidr_token(void * jarg1, char * jarg2, int jarg3, char * jarg4) {
+  int jresult ;
+  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_bool_t arg3 ;
+  char *arg4 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_network_list_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_bool_t)jarg3; 
+  arg4 = (char *)jarg4; 
+  result = (switch_status_t)switch_network_list_add_cidr_token(arg1,(char const *)arg2,arg3,(char const *)arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_network_list_add_host_mask(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
+  int jresult ;
+  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_bool_t arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_network_list_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (switch_bool_t)jarg4; 
+  result = (switch_status_t)switch_network_list_add_host_mask(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_network_list_validate_ip_token(void * jarg1, unsigned long jarg2, void * jarg3) {
+  int jresult ;
+  switch_network_list_t *arg1 = (switch_network_list_t *) 0 ;
+  uint32_t arg2 ;
+  char **arg3 = (char **) 0 ;
+  switch_bool_t result;
+  
+  arg1 = (switch_network_list_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  arg3 = (char **)jarg3; 
+  result = (switch_bool_t)switch_network_list_validate_ip_token(arg1,arg2,(char const **)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_username_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->username = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->username, (const char *)arg2);
+    } else {
+      arg1->username = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_username_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->username);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_dialplan_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->dialplan = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->dialplan, (const char *)arg2);
+    } else {
+      arg1->dialplan = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_dialplan_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->dialplan);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_caller_id_name_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->caller_id_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->caller_id_name, (const char *)arg2);
+    } else {
+      arg1->caller_id_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_caller_id_name_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->caller_id_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_caller_id_number_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->caller_id_number = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->caller_id_number, (const char *)arg2);
+    } else {
+      arg1->caller_id_number = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_caller_id_number_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->caller_id_number);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_caller_ton_set(void * jarg1, unsigned char jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t arg2 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (uint8_t)jarg2; 
+  if (arg1) (arg1)->caller_ton = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_caller_ton_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (uint8_t) ((arg1)->caller_ton);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_caller_numplan_set(void * jarg1, unsigned char jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t arg2 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (uint8_t)jarg2; 
+  if (arg1) (arg1)->caller_numplan = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_caller_numplan_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (uint8_t) ((arg1)->caller_numplan);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_network_addr_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->network_addr = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->network_addr, (const char *)arg2);
+    } else {
+      arg1->network_addr = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_network_addr_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->network_addr);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_ani_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->ani = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->ani, (const char *)arg2);
+    } else {
+      arg1->ani = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_ani_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->ani);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_ani_ton_set(void * jarg1, unsigned char jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t arg2 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (uint8_t)jarg2; 
+  if (arg1) (arg1)->ani_ton = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_ani_ton_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (uint8_t) ((arg1)->ani_ton);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_ani_numplan_set(void * jarg1, unsigned char jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t arg2 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (uint8_t)jarg2; 
+  if (arg1) (arg1)->ani_numplan = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_ani_numplan_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (uint8_t) ((arg1)->ani_numplan);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_aniii_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->aniii = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->aniii, (const char *)arg2);
+    } else {
+      arg1->aniii = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_aniii_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->aniii);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_rdnis_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->rdnis = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->rdnis, (const char *)arg2);
+    } else {
+      arg1->rdnis = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_rdnis_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->rdnis);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_rdnis_ton_set(void * jarg1, unsigned char jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t arg2 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (uint8_t)jarg2; 
+  if (arg1) (arg1)->rdnis_ton = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_rdnis_ton_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (uint8_t) ((arg1)->rdnis_ton);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_rdnis_numplan_set(void * jarg1, unsigned char jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t arg2 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (uint8_t)jarg2; 
+  if (arg1) (arg1)->rdnis_numplan = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_rdnis_numplan_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (uint8_t) ((arg1)->rdnis_numplan);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_destination_number_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->destination_number) delete [] arg1->destination_number;
+    if (arg2) {
+      arg1->destination_number = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->destination_number, (const char *)arg2);
+    } else {
+      arg1->destination_number = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_destination_number_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->destination_number);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_destination_number_ton_set(void * jarg1, unsigned char jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t arg2 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (uint8_t)jarg2; 
+  if (arg1) (arg1)->destination_number_ton = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_destination_number_ton_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (uint8_t) ((arg1)->destination_number_ton);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_destination_number_numplan_set(void * jarg1, unsigned char jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t arg2 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (uint8_t)jarg2; 
+  if (arg1) (arg1)->destination_number_numplan = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_caller_profile_destination_number_numplan_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (uint8_t) ((arg1)->destination_number_numplan);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_source_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->source = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->source, (const char *)arg2);
+    } else {
+      arg1->source = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_source_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->source);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_chan_name_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->chan_name) delete [] arg1->chan_name;
+    if (arg2) {
+      arg1->chan_name = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->chan_name, (const char *)arg2);
+    } else {
+      arg1->chan_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_chan_name_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->chan_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_uuid_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->uuid) delete [] arg1->uuid;
+    if (arg2) {
+      arg1->uuid = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->uuid, (const char *)arg2);
+    } else {
+      arg1->uuid = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_uuid_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->uuid);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_context_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->context = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->context, (const char *)arg2);
+    } else {
+      arg1->context = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_context_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->context);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_profile_index_set(void * jarg1, char * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->profile_index = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->profile_index, (const char *)arg2);
+    } else {
+      arg1->profile_index = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_profile_profile_index_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (char *) ((arg1)->profile_index);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_flags_set(void * jarg1, unsigned long jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_caller_profile_flag_t arg2 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (switch_caller_profile_flag_t)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_caller_profile_flags_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_caller_profile_flag_t result;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (switch_caller_profile_flag_t) ((arg1)->flags);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_originator_caller_profile_set(void * jarg1, void * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (switch_caller_profile *)jarg2; 
+  if (arg1) (arg1)->originator_caller_profile = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_originator_caller_profile_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_caller_profile *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (switch_caller_profile *) ((arg1)->originator_caller_profile);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_originatee_caller_profile_set(void * jarg1, void * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (switch_caller_profile *)jarg2; 
+  if (arg1) (arg1)->originatee_caller_profile = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_originatee_caller_profile_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_caller_profile *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (switch_caller_profile *) ((arg1)->originatee_caller_profile);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_times_set(void * jarg1, void * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_channel_timetable *arg2 = (switch_channel_timetable *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (switch_channel_timetable *)jarg2; 
+  if (arg1) (arg1)->times = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_times_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_channel_timetable *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (switch_channel_timetable *) ((arg1)->times);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_caller_extension_set(void * jarg1, void * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_caller_extension *arg2 = (switch_caller_extension *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (switch_caller_extension *)jarg2; 
+  if (arg1) (arg1)->caller_extension = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_caller_extension_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_caller_extension *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (switch_caller_extension *) ((arg1)->caller_extension);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_pool_set(void * jarg1, void * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (switch_memory_pool_t *)jarg2; 
+  if (arg1) (arg1)->pool = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_pool_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_memory_pool_t *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (switch_memory_pool_t *) ((arg1)->pool);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_next_set(void * jarg1, void * jarg2) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  arg2 = (switch_caller_profile *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_next_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  switch_caller_profile *result = 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  result = (switch_caller_profile *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_caller_profile() {
+  void * jresult ;
+  switch_caller_profile *result = 0 ;
+  
+  result = (switch_caller_profile *)new switch_caller_profile();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_caller_profile(void * jarg1) {
+  switch_caller_profile *arg1 = (switch_caller_profile *) 0 ;
+  
+  arg1 = (switch_caller_profile *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_application_application_name_set(void * jarg1, char * jarg2) {
+  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_application *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->application_name) delete [] arg1->application_name;
+    if (arg2) {
+      arg1->application_name = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->application_name, (const char *)arg2);
+    } else {
+      arg1->application_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_application_application_name_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_application *)jarg1; 
+  result = (char *) ((arg1)->application_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_application_application_data_set(void * jarg1, char * jarg2) {
+  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_application *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->application_data) delete [] arg1->application_data;
+    if (arg2) {
+      arg1->application_data = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->application_data, (const char *)arg2);
+    } else {
+      arg1->application_data = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_application_application_data_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_application *)jarg1; 
+  result = (char *) ((arg1)->application_data);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_application_application_function_set(void * jarg1, void * jarg2) {
+  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
+  switch_application_function_t arg2 = (switch_application_function_t) 0 ;
+  
+  arg1 = (switch_caller_application *)jarg1; 
+  arg2 = (switch_application_function_t)jarg2; 
+  if (arg1) (arg1)->application_function = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_application_application_function_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
+  switch_application_function_t result;
+  
+  arg1 = (switch_caller_application *)jarg1; 
+  result = (switch_application_function_t) ((arg1)->application_function);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_application_next_set(void * jarg1, void * jarg2) {
+  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
+  switch_caller_application *arg2 = (switch_caller_application *) 0 ;
+  
+  arg1 = (switch_caller_application *)jarg1; 
+  arg2 = (switch_caller_application *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_application_next_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
+  switch_caller_application *result = 0 ;
+  
+  arg1 = (switch_caller_application *)jarg1; 
+  result = (switch_caller_application *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_caller_application() {
+  void * jresult ;
+  switch_caller_application *result = 0 ;
+  
+  result = (switch_caller_application *)new switch_caller_application();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_caller_application(void * jarg1) {
+  switch_caller_application *arg1 = (switch_caller_application *) 0 ;
+  
+  arg1 = (switch_caller_application *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_extension_name_set(void * jarg1, char * jarg2) {
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->extension_name) delete [] arg1->extension_name;
+    if (arg2) {
+      arg1->extension_name = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->extension_name, (const char *)arg2);
+    } else {
+      arg1->extension_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_extension_extension_name_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  result = (char *) ((arg1)->extension_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_extension_number_set(void * jarg1, char * jarg2) {
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->extension_number) delete [] arg1->extension_number;
+    if (arg2) {
+      arg1->extension_number = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->extension_number, (const char *)arg2);
+    } else {
+      arg1->extension_number = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_extension_extension_number_get(void * jarg1) {
+  char * jresult ;
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  result = (char *) ((arg1)->extension_number);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_current_application_set(void * jarg1, void * jarg2) {
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  switch_caller_application_t *arg2 = (switch_caller_application_t *) 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  arg2 = (switch_caller_application_t *)jarg2; 
+  if (arg1) (arg1)->current_application = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_extension_current_application_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  switch_caller_application_t *result = 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  result = (switch_caller_application_t *) ((arg1)->current_application);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_last_application_set(void * jarg1, void * jarg2) {
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  switch_caller_application_t *arg2 = (switch_caller_application_t *) 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  arg2 = (switch_caller_application_t *)jarg2; 
+  if (arg1) (arg1)->last_application = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_extension_last_application_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  switch_caller_application_t *result = 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  result = (switch_caller_application_t *) ((arg1)->last_application);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_applications_set(void * jarg1, void * jarg2) {
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  switch_caller_application_t *arg2 = (switch_caller_application_t *) 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  arg2 = (switch_caller_application_t *)jarg2; 
+  if (arg1) (arg1)->applications = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_extension_applications_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  switch_caller_application_t *result = 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  result = (switch_caller_application_t *) ((arg1)->applications);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_children_set(void * jarg1, void * jarg2) {
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  switch_caller_profile *arg2 = (switch_caller_profile *) 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  arg2 = (switch_caller_profile *)jarg2; 
+  if (arg1) (arg1)->children = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_extension_children_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  switch_caller_profile *result = 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  result = (switch_caller_profile *) ((arg1)->children);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_next_set(void * jarg1, void * jarg2) {
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  switch_caller_extension *arg2 = (switch_caller_extension *) 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  arg2 = (switch_caller_extension *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_extension_next_get(void * jarg1) {
+  void * jresult ;
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  switch_caller_extension *result = 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  result = (switch_caller_extension *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_caller_extension() {
+  void * jresult ;
+  switch_caller_extension *result = 0 ;
+  
+  result = (switch_caller_extension *)new switch_caller_extension();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_caller_extension(void * jarg1) {
+  switch_caller_extension *arg1 = (switch_caller_extension *) 0 ;
+  
+  arg1 = (switch_caller_extension *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_extension_new(void * jarg1, char * jarg2, char * jarg3) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_caller_extension_t *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_caller_extension_t *)switch_caller_extension_new(arg1,(char const *)arg2,(char const *)arg3);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_caller_extension_clone(void * jarg1, void * jarg2, void * jarg3) {
+  int jresult ;
+  switch_caller_extension_t **arg1 = (switch_caller_extension_t **) 0 ;
+  switch_caller_extension_t *arg2 = (switch_caller_extension_t *) 0 ;
+  switch_memory_pool_t *arg3 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_caller_extension_t **)jarg1; 
+  arg2 = (switch_caller_extension_t *)jarg2; 
+  arg3 = (switch_memory_pool_t *)jarg3; 
+  result = (switch_status_t)switch_caller_extension_clone(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_extension_add_application(void * jarg1, void * jarg2, char * jarg3, char * jarg4) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_caller_extension_t *arg2 = (switch_caller_extension_t *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_caller_extension_t *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  switch_caller_extension_add_application(arg1,arg2,(char const *)arg3,(char const *)arg4);
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_caller_get_field_by_name(void * jarg1, char * jarg2) {
+  char * jresult ;
+  switch_caller_profile_t *arg1 = (switch_caller_profile_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_caller_profile_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)switch_caller_get_field_by_name(arg1,(char const *)arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_new(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, char * jarg10, char * jarg11, char * jarg12) {
+  void * jresult ;
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  char *arg5 = (char *) 0 ;
+  char *arg6 = (char *) 0 ;
+  char *arg7 = (char *) 0 ;
+  char *arg8 = (char *) 0 ;
+  char *arg9 = (char *) 0 ;
+  char *arg10 = (char *) 0 ;
+  char *arg11 = (char *) 0 ;
+  char *arg12 = (char *) 0 ;
+  switch_caller_profile_t *result = 0 ;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (char *)jarg6; 
+  arg7 = (char *)jarg7; 
+  arg8 = (char *)jarg8; 
+  arg9 = (char *)jarg9; 
+  arg10 = (char *)jarg10; 
+  arg11 = (char *)jarg11; 
+  arg12 = (char *)jarg12; 
+  result = (switch_caller_profile_t *)switch_caller_profile_new(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,(char const *)arg10,(char const *)arg11,(char const *)arg12);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_clone(void * jarg1, void * jarg2) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
+  switch_caller_profile_t *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_caller_profile_t *)jarg2; 
+  result = (switch_caller_profile_t *)switch_caller_profile_clone(arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_caller_profile_dup(void * jarg1, void * jarg2) {
+  void * jresult ;
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
+  switch_caller_profile_t *result = 0 ;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  arg2 = (switch_caller_profile_t *)jarg2; 
+  result = (switch_caller_profile_t *)switch_caller_profile_dup(arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_caller_profile_event_set_data(void * jarg1, char * jarg2, void * jarg3) {
+  switch_caller_profile_t *arg1 = (switch_caller_profile_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_event_t *arg3 = (switch_event_t *) 0 ;
+  
+  arg1 = (switch_caller_profile_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_event_t *)jarg3; 
+  switch_caller_profile_event_set_data(arg1,(char const *)arg2,arg3);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_codec_set(void * jarg1, void * jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (switch_codec_t *)jarg2; 
+  if (arg1) (arg1)->codec = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_frame_codec_get(void * jarg1) {
+  void * jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  switch_codec_t *result = 0 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (switch_codec_t *) ((arg1)->codec);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_source_set(void * jarg1, char * jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->source = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->source, (const char *)arg2);
+    } else {
+      arg1->source = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_frame_source_get(void * jarg1) {
+  char * jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (char *) ((arg1)->source);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_packet_set(void * jarg1, void * jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->packet = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_frame_packet_get(void * jarg1) {
+  void * jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (void *) ((arg1)->packet);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_packetlen_set(void * jarg1, unsigned long jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->packetlen = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_packetlen_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (uint32_t) ((arg1)->packetlen);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_data_set(void * jarg1, void * jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->data = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_frame_data_get(void * jarg1) {
+  void * jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (void *) ((arg1)->data);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_datalen_set(void * jarg1, unsigned long jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->datalen = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_datalen_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (uint32_t) ((arg1)->datalen);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_buflen_set(void * jarg1, unsigned long jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->buflen = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_buflen_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (uint32_t) ((arg1)->buflen);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_samples_set(void * jarg1, unsigned long jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->samples = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_samples_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (uint32_t) ((arg1)->samples);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_rate_set(void * jarg1, unsigned long jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->rate = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_rate_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (uint32_t) ((arg1)->rate);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_payload_set(void * jarg1, unsigned char jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  switch_payload_t arg2 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (switch_payload_t)jarg2; 
+  if (arg1) (arg1)->payload = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_frame_payload_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  switch_payload_t result;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (switch_payload_t) ((arg1)->payload);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_timestamp_set(void * jarg1, void * jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->timestamp = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_frame_timestamp_get(void * jarg1) {
+  void * jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result =  ((arg1)->timestamp);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_seq_set(void * jarg1, unsigned short jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint16_t arg2 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (uint16_t)jarg2; 
+  if (arg1) (arg1)->seq = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_frame_seq_get(void * jarg1) {
+  unsigned short jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint16_t result;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (uint16_t) ((arg1)->seq);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_ssrc_set(void * jarg1, unsigned long jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->ssrc = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_ssrc_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (uint32_t) ((arg1)->ssrc);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_m_set(void * jarg1, int jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  switch_bool_t arg2 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (switch_bool_t)jarg2; 
+  if (arg1) (arg1)->m = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_frame_m_get(void * jarg1) {
+  int jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  switch_bool_t result;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (switch_bool_t) ((arg1)->m);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_frame_flags_set(void * jarg1, unsigned long jarg2) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  switch_frame_flag_t arg2 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  arg2 = (switch_frame_flag_t)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_frame_flags_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  switch_frame_flag_t result;
+  
+  arg1 = (switch_frame *)jarg1; 
+  result = (switch_frame_flag_t) ((arg1)->flags);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_frame() {
+  void * jresult ;
+  switch_frame *result = 0 ;
+  
+  result = (switch_frame *)new switch_frame();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_frame(void * jarg1) {
+  switch_frame *arg1 = (switch_frame *) 0 ;
+  
+  arg1 = (switch_frame *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_init_set(void * jarg1, void * jarg2) {
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  arg2 = (switch_state_handler_t)jarg2; 
+  if (arg1) (arg1)->on_init = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_init_get(void * jarg1) {
+  void * jresult ;
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t result;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  result = (switch_state_handler_t) ((arg1)->on_init);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_routing_set(void * jarg1, void * jarg2) {
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  arg2 = (switch_state_handler_t)jarg2; 
+  if (arg1) (arg1)->on_routing = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_routing_get(void * jarg1) {
+  void * jresult ;
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t result;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  result = (switch_state_handler_t) ((arg1)->on_routing);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_execute_set(void * jarg1, void * jarg2) {
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  arg2 = (switch_state_handler_t)jarg2; 
+  if (arg1) (arg1)->on_execute = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_execute_get(void * jarg1) {
+  void * jresult ;
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t result;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  result = (switch_state_handler_t) ((arg1)->on_execute);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_hangup_set(void * jarg1, void * jarg2) {
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  arg2 = (switch_state_handler_t)jarg2; 
+  if (arg1) (arg1)->on_hangup = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_hangup_get(void * jarg1) {
+  void * jresult ;
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t result;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  result = (switch_state_handler_t) ((arg1)->on_hangup);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_exchange_media_set(void * jarg1, void * jarg2) {
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  arg2 = (switch_state_handler_t)jarg2; 
+  if (arg1) (arg1)->on_exchange_media = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_exchange_media_get(void * jarg1) {
+  void * jresult ;
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t result;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  result = (switch_state_handler_t) ((arg1)->on_exchange_media);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_soft_execute_set(void * jarg1, void * jarg2) {
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  arg2 = (switch_state_handler_t)jarg2; 
+  if (arg1) (arg1)->on_soft_execute = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_soft_execute_get(void * jarg1) {
+  void * jresult ;
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t result;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  result = (switch_state_handler_t) ((arg1)->on_soft_execute);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_consume_media_set(void * jarg1, void * jarg2) {
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  arg2 = (switch_state_handler_t)jarg2; 
+  if (arg1) (arg1)->on_consume_media = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_consume_media_get(void * jarg1) {
+  void * jresult ;
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t result;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  result = (switch_state_handler_t) ((arg1)->on_consume_media);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_hibernate_set(void * jarg1, void * jarg2) {
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  arg2 = (switch_state_handler_t)jarg2; 
+  if (arg1) (arg1)->on_hibernate = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_hibernate_get(void * jarg1) {
+  void * jresult ;
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t result;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  result = (switch_state_handler_t) ((arg1)->on_hibernate);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_reset_set(void * jarg1, void * jarg2) {
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  arg2 = (switch_state_handler_t)jarg2; 
+  if (arg1) (arg1)->on_reset = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_reset_get(void * jarg1) {
+  void * jresult ;
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t result;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  result = (switch_state_handler_t) ((arg1)->on_reset);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_state_handler_table_on_park_set(void * jarg1, void * jarg2) {
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t arg2 = (switch_state_handler_t) 0 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  arg2 = (switch_state_handler_t)jarg2; 
+  if (arg1) (arg1)->on_park = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_on_park_get(void * jarg1) {
+  void * jresult ;
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  switch_state_handler_t result;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  result = (switch_state_handler_t) ((arg1)->on_park);
+  jresult = (void *)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 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  arg2 = (void **)jarg2; 
+  {
+    size_t ii;
+    void * *b = (void * *) arg1->padding;
+    for (ii = 0; ii < (size_t)10; ii++) b[ii] = *((void * *) arg2 + ii);
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_state_handler_table_padding_get(void * jarg1) {
+  void * jresult ;
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  void **result = 0 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  result = (void **)(void **) ((arg1)->padding);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_state_handler_table() {
+  void * jresult ;
+  switch_state_handler_table *result = 0 ;
+  
+  result = (switch_state_handler_table *)new switch_state_handler_table();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_state_handler_table(void * jarg1) {
+  switch_state_handler_table *arg1 = (switch_state_handler_table *) 0 ;
+  
+  arg1 = (switch_state_handler_table *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_write_function_set(void * jarg1, void * jarg2) {
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_stream_handle_write_function_t arg2 = (switch_stream_handle_write_function_t) 0 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  arg2 = (switch_stream_handle_write_function_t)jarg2; 
+  if (arg1) (arg1)->write_function = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_write_function_get(void * jarg1) {
+  void * jresult ;
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_stream_handle_write_function_t result;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  result = (switch_stream_handle_write_function_t) ((arg1)->write_function);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_raw_write_function_set(void * jarg1, void * jarg2) {
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_stream_handle_raw_write_function_t arg2 = (switch_stream_handle_raw_write_function_t) 0 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  arg2 = (switch_stream_handle_raw_write_function_t)jarg2; 
+  if (arg1) (arg1)->raw_write_function = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_raw_write_function_get(void * jarg1) {
+  void * jresult ;
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_stream_handle_raw_write_function_t result;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  result = (switch_stream_handle_raw_write_function_t) ((arg1)->raw_write_function);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_data_set(void * jarg1, void * jarg2) {
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->data = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_data_get(void * jarg1) {
+  void * jresult ;
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  result = (void *) ((arg1)->data);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_end_set(void * jarg1, void * jarg2) {
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->end = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_end_get(void * jarg1) {
+  void * jresult ;
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  result = (void *) ((arg1)->end);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_data_size_set(void * jarg1, void * jarg2) {
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->data_size = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_data_size_get(void * jarg1) {
+  void * jresult ;
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  result =  ((arg1)->data_size);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_data_len_set(void * jarg1, void * jarg2) {
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->data_len = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_data_len_get(void * jarg1) {
+  void * jresult ;
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  result =  ((arg1)->data_len);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_alloc_len_set(void * jarg1, void * jarg2) {
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->alloc_len = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_alloc_len_get(void * jarg1) {
+  void * jresult ;
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  result =  ((arg1)->alloc_len);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_alloc_chunk_set(void * jarg1, void * jarg2) {
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->alloc_chunk = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_alloc_chunk_get(void * jarg1) {
+  void * jresult ;
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  result =  ((arg1)->alloc_chunk);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_stream_handle_param_event_set(void * jarg1, void * jarg2) {
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_event_t *arg2 = (switch_event_t *) 0 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  arg2 = (switch_event_t *)jarg2; 
+  if (arg1) (arg1)->param_event = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_stream_handle_param_event_get(void * jarg1) {
+  void * jresult ;
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  switch_event_t *result = 0 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  result = (switch_event_t *) ((arg1)->param_event);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_stream_handle() {
+  void * jresult ;
+  switch_stream_handle *result = 0 ;
+  
+  result = (switch_stream_handle *)new switch_stream_handle();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_stream_handle(void * jarg1) {
+  switch_stream_handle *arg1 = (switch_stream_handle *) 0 ;
+  
+  arg1 = (switch_stream_handle *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_outgoing_channel_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_outgoing_channel_t arg2 = (switch_io_outgoing_channel_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_outgoing_channel_t)jarg2; 
+  if (arg1) (arg1)->outgoing_channel = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_outgoing_channel_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_outgoing_channel_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_outgoing_channel_t) ((arg1)->outgoing_channel);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_read_frame_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_read_frame_t arg2 = (switch_io_read_frame_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_read_frame_t)jarg2; 
+  if (arg1) (arg1)->read_frame = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_read_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_read_frame_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_read_frame_t) ((arg1)->read_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_write_frame_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_write_frame_t arg2 = (switch_io_write_frame_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_write_frame_t)jarg2; 
+  if (arg1) (arg1)->write_frame = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_write_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_write_frame_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_write_frame_t) ((arg1)->write_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_kill_channel_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_kill_channel_t arg2 = (switch_io_kill_channel_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_kill_channel_t)jarg2; 
+  if (arg1) (arg1)->kill_channel = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_kill_channel_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_kill_channel_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_kill_channel_t) ((arg1)->kill_channel);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_send_dtmf_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_send_dtmf_t arg2 = (switch_io_send_dtmf_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_send_dtmf_t)jarg2; 
+  if (arg1) (arg1)->send_dtmf = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_send_dtmf_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_send_dtmf_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_send_dtmf_t) ((arg1)->send_dtmf);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_receive_message_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_receive_message_t arg2 = (switch_io_receive_message_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_receive_message_t)jarg2; 
+  if (arg1) (arg1)->receive_message = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_receive_message_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_receive_message_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_receive_message_t) ((arg1)->receive_message);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_receive_event_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_receive_event_t arg2 = (switch_io_receive_event_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_receive_event_t)jarg2; 
+  if (arg1) (arg1)->receive_event = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_receive_event_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_receive_event_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_receive_event_t) ((arg1)->receive_event);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_state_change_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_state_change_t arg2 = (switch_io_state_change_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_state_change_t)jarg2; 
+  if (arg1) (arg1)->state_change = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_state_change_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_state_change_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_state_change_t) ((arg1)->state_change);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_read_video_frame_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_read_video_frame_t arg2 = (switch_io_read_video_frame_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_read_video_frame_t)jarg2; 
+  if (arg1) (arg1)->read_video_frame = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_read_video_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_read_video_frame_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_read_video_frame_t) ((arg1)->read_video_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_write_video_frame_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_write_video_frame_t arg2 = (switch_io_write_video_frame_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_write_video_frame_t)jarg2; 
+  if (arg1) (arg1)->write_video_frame = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_write_video_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_write_video_frame_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_write_video_frame_t) ((arg1)->write_video_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_resurrect_session_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_resurrect_session_t arg2 = (switch_io_resurrect_session_t) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (switch_io_resurrect_session_t)jarg2; 
+  if (arg1) (arg1)->resurrect_session = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_resurrect_session_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  switch_io_resurrect_session_t result;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (switch_io_resurrect_session_t) ((arg1)->resurrect_session);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_routines_padding_set(void * jarg1, void * jarg2) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  void **arg2 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  arg2 = (void **)jarg2; 
+  {
+    size_t ii;
+    void * *b = (void * *) arg1->padding;
+    for (ii = 0; ii < (size_t)10; ii++) b[ii] = *((void * *) arg2 + ii);
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_routines_padding_get(void * jarg1) {
+  void * jresult ;
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  void **result = 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  result = (void **)(void **) ((arg1)->padding);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_routines() {
+  void * jresult ;
+  switch_io_routines *result = 0 ;
+  
+  result = (switch_io_routines *)new switch_io_routines();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_routines(void * jarg1) {
+  switch_io_routines *arg1 = (switch_io_routines *) 0 ;
+  
+  arg1 = (switch_io_routines *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_endpoint_interface_interface_name_set(void * jarg1, char * jarg2) {
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->interface_name, (const char *)arg2);
+    } else {
+      arg1->interface_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_endpoint_interface_interface_name_get(void * jarg1) {
+  char * jresult ;
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  result = (char *) ((arg1)->interface_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_endpoint_interface_io_routines_set(void * jarg1, void * jarg2) {
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  switch_io_routines_t *arg2 = (switch_io_routines_t *) 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  arg2 = (switch_io_routines_t *)jarg2; 
+  if (arg1) (arg1)->io_routines = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_endpoint_interface_io_routines_get(void * jarg1) {
+  void * jresult ;
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  switch_io_routines_t *result = 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  result = (switch_io_routines_t *) ((arg1)->io_routines);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_endpoint_interface_state_handler_set(void * jarg1, void * jarg2) {
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  switch_state_handler_table_t *arg2 = (switch_state_handler_table_t *) 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  arg2 = (switch_state_handler_table_t *)jarg2; 
+  if (arg1) (arg1)->state_handler = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_endpoint_interface_state_handler_get(void * jarg1) {
+  void * jresult ;
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  switch_state_handler_table_t *result = 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  result = (switch_state_handler_table_t *) ((arg1)->state_handler);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_endpoint_interface_private_info_set(void * jarg1, void * jarg2) {
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->private_info = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_endpoint_interface_private_info_get(void * jarg1) {
+  void * jresult ;
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  result = (void *) ((arg1)->private_info);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_endpoint_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_endpoint_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_endpoint_interface_next_set(void * jarg1, void * jarg2) {
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  switch_endpoint_interface *arg2 = (switch_endpoint_interface *) 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  arg2 = (switch_endpoint_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_endpoint_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  switch_endpoint_interface *result = 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  result = (switch_endpoint_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_endpoint_interface() {
+  void * jresult ;
+  switch_endpoint_interface *result = 0 ;
+  
+  result = (switch_endpoint_interface *)new switch_endpoint_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_endpoint_interface(void * jarg1) {
+  switch_endpoint_interface *arg1 = (switch_endpoint_interface *) 0 ;
+  
+  arg1 = (switch_endpoint_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interval_set(void * jarg1, int jarg2) {
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->interval = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_timer_interval_get(void * jarg1) {
+  int jresult ;
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  int result;
+  
+  arg1 = (switch_timer *)jarg1; 
+  result = (int) ((arg1)->interval);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_flags_set(void * jarg1, unsigned long jarg2) {
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_timer_flags_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_timer *)jarg1; 
+  result = (uint32_t) ((arg1)->flags);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_samples_set(void * jarg1, unsigned int jarg2) {
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->samples = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_timer_samples_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_timer *)jarg1; 
+  result = (unsigned int) ((arg1)->samples);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_samplecount_set(void * jarg1, unsigned long jarg2) {
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->samplecount = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_timer_samplecount_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_timer *)jarg1; 
+  result = (uint32_t) ((arg1)->samplecount);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_timer_interface_set(void * jarg1, void * jarg2) {
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  switch_timer_interface_t *arg2 = (switch_timer_interface_t *) 0 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  arg2 = (switch_timer_interface_t *)jarg2; 
+  if (arg1) (arg1)->timer_interface = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_timer_interface_get(void * jarg1) {
+  void * jresult ;
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  switch_timer_interface_t *result = 0 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  result = (switch_timer_interface_t *) ((arg1)->timer_interface);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_memory_pool_set(void * jarg1, void * jarg2) {
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  arg2 = (switch_memory_pool_t *)jarg2; 
+  if (arg1) (arg1)->memory_pool = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_memory_pool_get(void * jarg1) {
+  void * jresult ;
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  switch_memory_pool_t *result = 0 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_private_info_set(void * jarg1, void * jarg2) {
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->private_info = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_private_info_get(void * jarg1) {
+  void * jresult ;
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  result = (void *) ((arg1)->private_info);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_diff_set(void * jarg1, void * jarg2) {
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->diff = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_diff_get(void * jarg1) {
+  void * jresult ;
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_timer *)jarg1; 
+  result =  ((arg1)->diff);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_tick_set(void * jarg1, void * jarg2) {
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->tick = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_tick_get(void * jarg1) {
+  void * jresult ;
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_timer *)jarg1; 
+  result =  ((arg1)->tick);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_timer() {
+  void * jresult ;
+  switch_timer *result = 0 ;
+  
+  result = (switch_timer *)new switch_timer();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_timer(void * jarg1) {
+  switch_timer *arg1 = (switch_timer *) 0 ;
+  
+  arg1 = (switch_timer *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_interface_name_set(void * jarg1, char * jarg2) {
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->interface_name, (const char *)arg2);
+    } else {
+      arg1->interface_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_timer_interface_interface_name_get(void * jarg1) {
+  char * jresult ;
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  result = (char *) ((arg1)->interface_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_timer_init_set(void * jarg1, void * jarg2) {
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
+  if (arg1) (arg1)->timer_init = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_timer_init_get(void * jarg1) {
+  void * jresult ;
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_status_t (*result)(switch_timer_t *) = 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_init);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_timer_next_set(void * jarg1, void * jarg2) {
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
+  if (arg1) (arg1)->timer_next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_timer_next_get(void * jarg1) {
+  void * jresult ;
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_status_t (*result)(switch_timer_t *) = 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_timer_step_set(void * jarg1, void * jarg2) {
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
+  if (arg1) (arg1)->timer_step = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_timer_step_get(void * jarg1) {
+  void * jresult ;
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_status_t (*result)(switch_timer_t *) = 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_step);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_timer_sync_set(void * jarg1, void * jarg2) {
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
+  if (arg1) (arg1)->timer_sync = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_timer_sync_get(void * jarg1) {
+  void * jresult ;
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_status_t (*result)(switch_timer_t *) = 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_sync);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_timer_check_set(void * jarg1, void * jarg2) {
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_status_t (*arg2)(switch_timer_t *,switch_bool_t) = (switch_status_t (*)(switch_timer_t *,switch_bool_t)) 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_timer_t *,switch_bool_t))jarg2; 
+  if (arg1) (arg1)->timer_check = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_timer_check_get(void * jarg1) {
+  void * jresult ;
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_status_t (*result)(switch_timer_t *,switch_bool_t) = 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_timer_t *,switch_bool_t)) ((arg1)->timer_check);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_timer_destroy_set(void * jarg1, void * jarg2) {
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_status_t (*arg2)(switch_timer_t *) = (switch_status_t (*)(switch_timer_t *)) 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_timer_t *))jarg2; 
+  if (arg1) (arg1)->timer_destroy = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_timer_destroy_get(void * jarg1) {
+  void * jresult ;
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_status_t (*result)(switch_timer_t *) = 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_timer_t *)) ((arg1)->timer_destroy);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_timer_interface_next_set(void * jarg1, void * jarg2) {
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_timer_interface *arg2 = (switch_timer_interface *) 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  arg2 = (switch_timer_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_timer_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  switch_timer_interface *result = 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  result = (switch_timer_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_timer_interface() {
+  void * jresult ;
+  switch_timer_interface *result = 0 ;
+  
+  result = (switch_timer_interface *)new switch_timer_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_timer_interface(void * jarg1) {
+  switch_timer_interface *arg1 = (switch_timer_interface *) 0 ;
+  
+  arg1 = (switch_timer_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_dialplan_interface_interface_name_set(void * jarg1, char * jarg2) {
+  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_dialplan_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->interface_name, (const char *)arg2);
+    } else {
+      arg1->interface_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_dialplan_interface_interface_name_get(void * jarg1) {
+  char * jresult ;
+  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_dialplan_interface *)jarg1; 
+  result = (char *) ((arg1)->interface_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_dialplan_interface_hunt_function_set(void * jarg1, void * jarg2) {
+  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
+  switch_dialplan_hunt_function_t arg2 = (switch_dialplan_hunt_function_t) 0 ;
+  
+  arg1 = (switch_dialplan_interface *)jarg1; 
+  arg2 = (switch_dialplan_hunt_function_t)jarg2; 
+  if (arg1) (arg1)->hunt_function = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_dialplan_interface_hunt_function_get(void * jarg1) {
+  void * jresult ;
+  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
+  switch_dialplan_hunt_function_t result;
+  
+  arg1 = (switch_dialplan_interface *)jarg1; 
+  result = (switch_dialplan_hunt_function_t) ((arg1)->hunt_function);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_dialplan_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_dialplan_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_dialplan_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_dialplan_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_dialplan_interface_next_set(void * jarg1, void * jarg2) {
+  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
+  switch_dialplan_interface *arg2 = (switch_dialplan_interface *) 0 ;
+  
+  arg1 = (switch_dialplan_interface *)jarg1; 
+  arg2 = (switch_dialplan_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_dialplan_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
+  switch_dialplan_interface *result = 0 ;
+  
+  arg1 = (switch_dialplan_interface *)jarg1; 
+  result = (switch_dialplan_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_dialplan_interface() {
+  void * jresult ;
+  switch_dialplan_interface *result = 0 ;
+  
+  result = (switch_dialplan_interface *)new switch_dialplan_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_dialplan_interface(void * jarg1) {
+  switch_dialplan_interface *arg1 = (switch_dialplan_interface *) 0 ;
+  
+  arg1 = (switch_dialplan_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_interface_name_set(void * jarg1, char * jarg2) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->interface_name, (const char *)arg2);
+    } else {
+      arg1->interface_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_file_interface_interface_name_get(void * jarg1) {
+  char * jresult ;
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  result = (char *) ((arg1)->interface_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_open_set(void * jarg1, void * jarg2) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*arg2)(switch_file_handle_t *,char const *) = (switch_status_t (*)(switch_file_handle_t *,char const *)) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_file_handle_t *,char const *))jarg2; 
+  if (arg1) (arg1)->file_open = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_open_get(void * jarg1) {
+  void * jresult ;
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*result)(switch_file_handle_t *,char const *) = 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_file_handle_t *,char const *)) ((arg1)->file_open);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_close_set(void * jarg1, void * jarg2) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*arg2)(switch_file_handle_t *) = (switch_status_t (*)(switch_file_handle_t *)) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_file_handle_t *))jarg2; 
+  if (arg1) (arg1)->file_close = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_close_get(void * jarg1) {
+  void * jresult ;
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*result)(switch_file_handle_t *) = 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_file_handle_t *)) ((arg1)->file_close);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_read_set(void * jarg1, void * jarg2) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*arg2)(switch_file_handle_t *,void *,switch_size_t *) = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *))jarg2; 
+  if (arg1) (arg1)->file_read = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_read_get(void * jarg1) {
+  void * jresult ;
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*result)(switch_file_handle_t *,void *,switch_size_t *) = 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) ((arg1)->file_read);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_write_set(void * jarg1, void * jarg2) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*arg2)(switch_file_handle_t *,void *,switch_size_t *) = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *))jarg2; 
+  if (arg1) (arg1)->file_write = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_write_get(void * jarg1) {
+  void * jresult ;
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*result)(switch_file_handle_t *,void *,switch_size_t *) = 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_file_handle_t *,void *,switch_size_t *)) ((arg1)->file_write);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_seek_set(void * jarg1, void * jarg2) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*arg2)(switch_file_handle_t *,unsigned int *,int64_t,int) = (switch_status_t (*)(switch_file_handle_t *,unsigned int *,int64_t,int)) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_file_handle_t *,unsigned int *,int64_t,int))jarg2; 
+  if (arg1) (arg1)->file_seek = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_seek_get(void * jarg1) {
+  void * jresult ;
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*result)(switch_file_handle_t *,unsigned int *,int64_t,int) = 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_file_handle_t *,unsigned int *,int64_t,int)) ((arg1)->file_seek);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_set_string_set(void * jarg1, void * jarg2) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*arg2)(switch_file_handle_t *,switch_audio_col_t,char const *) = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const *)) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const *))jarg2; 
+  if (arg1) (arg1)->file_set_string = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_set_string_get(void * jarg1) {
+  void * jresult ;
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*result)(switch_file_handle_t *,switch_audio_col_t,char const *) = 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const *)) ((arg1)->file_set_string);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_file_get_string_set(void * jarg1, void * jarg2) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*arg2)(switch_file_handle_t *,switch_audio_col_t,char const **) = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const **)) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const **))jarg2; 
+  if (arg1) (arg1)->file_get_string = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_file_get_string_get(void * jarg1) {
+  void * jresult ;
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_status_t (*result)(switch_file_handle_t *,switch_audio_col_t,char const **) = 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_file_handle_t *,switch_audio_col_t,char const **)) ((arg1)->file_get_string);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_extens_set(void * jarg1, void * jarg2) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  char **arg2 = (char **) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  arg2 = (char **)jarg2; 
+  if (arg1) (arg1)->extens = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_extens_get(void * jarg1) {
+  void * jresult ;
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  char **result = 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  result = (char **) ((arg1)->extens);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_interface_next_set(void * jarg1, void * jarg2) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_file_interface *arg2 = (switch_file_interface *) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  arg2 = (switch_file_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  switch_file_interface *result = 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  result = (switch_file_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_file_interface() {
+  void * jresult ;
+  switch_file_interface *result = 0 ;
+  
+  result = (switch_file_interface *)new switch_file_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_file_interface(void * jarg1) {
+  switch_file_interface *arg1 = (switch_file_interface *) 0 ;
+  
+  arg1 = (switch_file_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_file_interface_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_file_interface_t *arg2 = (switch_file_interface_t *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (switch_file_interface_t *)jarg2; 
+  if (arg1) (arg1)->file_interface = (switch_file_interface_t const *)arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_file_interface_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_file_interface_t *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (switch_file_interface_t *) ((arg1)->file_interface);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_flags_set(void * jarg1, unsigned long jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_flags_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->flags);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_fd_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_file_t *arg2 = (switch_file_t *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (switch_file_t *)jarg2; 
+  if (arg1) (arg1)->fd = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_fd_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_file_t *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (switch_file_t *) ((arg1)->fd);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_samples_set(void * jarg1, unsigned int jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->samples = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_file_handle_samples_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (unsigned int) ((arg1)->samples);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_samplerate_set(void * jarg1, unsigned long jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->samplerate = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_samplerate_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->samplerate);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_native_rate_set(void * jarg1, unsigned long jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->native_rate = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_native_rate_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->native_rate);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_channels_set(void * jarg1, unsigned char jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint8_t arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (uint8_t)jarg2; 
+  if (arg1) (arg1)->channels = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_file_handle_channels_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (uint8_t) ((arg1)->channels);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_format_set(void * jarg1, unsigned int jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->format = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_file_handle_format_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (unsigned int) ((arg1)->format);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_sections_set(void * jarg1, unsigned int jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->sections = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_file_handle_sections_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (unsigned int) ((arg1)->sections);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_seekable_set(void * jarg1, int jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->seekable = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_file_handle_seekable_get(void * jarg1) {
+  int jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  int result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (int) ((arg1)->seekable);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_sample_count_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->sample_count = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_sample_count_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result =  ((arg1)->sample_count);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_speed_set(void * jarg1, int jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->speed = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_file_handle_speed_get(void * jarg1) {
+  int jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  int result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (int) ((arg1)->speed);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_memory_pool_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (switch_memory_pool_t *)jarg2; 
+  if (arg1) (arg1)->memory_pool = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_memory_pool_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_memory_pool_t *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_prebuf_set(void * jarg1, unsigned long jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->prebuf = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_prebuf_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->prebuf);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_interval_set(void * jarg1, unsigned long jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->interval = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_interval_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->interval);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_private_info_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->private_info = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_private_info_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (void *) ((arg1)->private_info);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_handler_set(void * jarg1, char * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->handler) delete [] arg1->handler;
+    if (arg2) {
+      arg1->handler = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->handler, (const char *)arg2);
+    } else {
+      arg1->handler = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_file_handle_handler_get(void * jarg1) {
+  char * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (char *) ((arg1)->handler);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_pos_set(void * jarg1, long long jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  int64_t arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (int64_t)jarg2; 
+  if (arg1) (arg1)->pos = arg2;
+  
+}
+
+
+SWIGEXPORT long long SWIGSTDCALL CSharp_switch_file_handle_pos_get(void * jarg1) {
+  long long jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  int64_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (int64_t) ((arg1)->pos);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_audio_buffer_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (switch_buffer_t *)jarg2; 
+  if (arg1) (arg1)->audio_buffer = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_audio_buffer_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_buffer_t *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (switch_buffer_t *) ((arg1)->audio_buffer);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_sp_audio_buffer_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (switch_buffer_t *)jarg2; 
+  if (arg1) (arg1)->sp_audio_buffer = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_sp_audio_buffer_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_buffer_t *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (switch_buffer_t *) ((arg1)->sp_audio_buffer);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_thresh_set(void * jarg1, unsigned long jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->thresh = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_thresh_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->thresh);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_silence_hits_set(void * jarg1, unsigned long jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->silence_hits = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_silence_hits_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->silence_hits);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_offset_pos_set(void * jarg1, unsigned long jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->offset_pos = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_offset_pos_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->offset_pos);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_last_pos_set(void * jarg1, unsigned long jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->last_pos = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_last_pos_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->last_pos);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_vol_set(void * jarg1, int jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  int32_t arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (int32_t)jarg2; 
+  if (arg1) (arg1)->vol = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_file_handle_vol_get(void * jarg1) {
+  int jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  int32_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (int32_t) ((arg1)->vol);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_resampler_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_audio_resampler_t *arg2 = (switch_audio_resampler_t *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (switch_audio_resampler_t *)jarg2; 
+  if (arg1) (arg1)->resampler = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_resampler_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_audio_resampler_t *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (switch_audio_resampler_t *) ((arg1)->resampler);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_buffer_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_buffer_t *arg2 = (switch_buffer_t *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (switch_buffer_t *)jarg2; 
+  if (arg1) (arg1)->buffer = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_buffer_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_buffer_t *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (switch_buffer_t *) ((arg1)->buffer);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_dbuf_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_byte_t *arg2 = (switch_byte_t *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (switch_byte_t *)jarg2; 
+  if (arg1) (arg1)->dbuf = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_dbuf_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_byte_t *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (switch_byte_t *) ((arg1)->dbuf);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_dbuflen_set(void * jarg1, void * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->dbuflen = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_file_handle_dbuflen_get(void * jarg1) {
+  void * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result =  ((arg1)->dbuflen);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_file_set(void * jarg1, char * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->file = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->file, (const char *)arg2);
+    } else {
+      arg1->file = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_file_handle_file_get(void * jarg1) {
+  char * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (char *) ((arg1)->file);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_func_set(void * jarg1, char * jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->func = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->func, (const char *)arg2);
+    } else {
+      arg1->func = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_file_handle_func_get(void * jarg1) {
+  char * jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (char *) ((arg1)->func);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_line_set(void * jarg1, int jarg2) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->line = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_file_handle_line_get(void * jarg1) {
+  int jresult ;
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  int result;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  result = (int) ((arg1)->line);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_file_handle() {
+  void * jresult ;
+  switch_file_handle *result = 0 ;
+  
+  result = (switch_file_handle *)new switch_file_handle();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_file_handle(void * jarg1) {
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;
+  
+  arg1 = (switch_file_handle *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_interface_name_set(void * jarg1, char * jarg2) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->interface_name, (const char *)arg2);
+    } else {
+      arg1->interface_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_asr_interface_interface_name_get(void * jarg1) {
+  char * jresult ;
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  result = (char *) ((arg1)->interface_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_open_set(void * jarg1, void * jarg2) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*arg2)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *)) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *))jarg2; 
+  if (arg1) (arg1)->asr_open = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_open_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*result)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *) = 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_asr_handle_t *,char const *,int,char const *,switch_asr_flag_t *)) ((arg1)->asr_open);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_load_grammar_set(void * jarg1, void * jarg2) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*arg2)(switch_asr_handle_t *,char const *,char const *) = (switch_status_t (*)(switch_asr_handle_t *,char const *,char const *)) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char const *,char const *))jarg2; 
+  if (arg1) (arg1)->asr_load_grammar = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_load_grammar_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*result)(switch_asr_handle_t *,char const *,char const *) = 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_asr_handle_t *,char const *,char const *)) ((arg1)->asr_load_grammar);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_unload_grammar_set(void * jarg1, void * jarg2) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*arg2)(switch_asr_handle_t *,char const *) = (switch_status_t (*)(switch_asr_handle_t *,char const *)) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char const *))jarg2; 
+  if (arg1) (arg1)->asr_unload_grammar = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_unload_grammar_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*result)(switch_asr_handle_t *,char const *) = 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_asr_handle_t *,char const *)) ((arg1)->asr_unload_grammar);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_close_set(void * jarg1, void * jarg2) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*arg2)(switch_asr_handle_t *,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *)) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *))jarg2; 
+  if (arg1) (arg1)->asr_close = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_close_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*result)(switch_asr_handle_t *,switch_asr_flag_t *) = 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *)) ((arg1)->asr_close);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_feed_set(void * jarg1, void * jarg2) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*arg2)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *)) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *))jarg2; 
+  if (arg1) (arg1)->asr_feed = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_feed_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*result)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *) = 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_asr_handle_t *,void *,unsigned int,switch_asr_flag_t *)) ((arg1)->asr_feed);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_resume_set(void * jarg1, void * jarg2) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*arg2)(switch_asr_handle_t *) = (switch_status_t (*)(switch_asr_handle_t *)) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_asr_handle_t *))jarg2; 
+  if (arg1) (arg1)->asr_resume = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_resume_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*result)(switch_asr_handle_t *) = 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_asr_handle_t *)) ((arg1)->asr_resume);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_pause_set(void * jarg1, void * jarg2) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*arg2)(switch_asr_handle_t *) = (switch_status_t (*)(switch_asr_handle_t *)) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_asr_handle_t *))jarg2; 
+  if (arg1) (arg1)->asr_pause = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_pause_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*result)(switch_asr_handle_t *) = 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_asr_handle_t *)) ((arg1)->asr_pause);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_check_results_set(void * jarg1, void * jarg2) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*arg2)(switch_asr_handle_t *,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *)) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *))jarg2; 
+  if (arg1) (arg1)->asr_check_results = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_check_results_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*result)(switch_asr_handle_t *,switch_asr_flag_t *) = 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_asr_handle_t *,switch_asr_flag_t *)) ((arg1)->asr_check_results);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_asr_get_results_set(void * jarg1, void * jarg2) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*arg2)(switch_asr_handle_t *,char **,switch_asr_flag_t *) = (switch_status_t (*)(switch_asr_handle_t *,char **,switch_asr_flag_t *)) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_asr_handle_t *,char **,switch_asr_flag_t *))jarg2; 
+  if (arg1) (arg1)->asr_get_results = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_asr_get_results_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_status_t (*result)(switch_asr_handle_t *,char **,switch_asr_flag_t *) = 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_asr_handle_t *,char **,switch_asr_flag_t *)) ((arg1)->asr_get_results);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_interface_next_set(void * jarg1, void * jarg2) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_asr_interface *arg2 = (switch_asr_interface *) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  arg2 = (switch_asr_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  switch_asr_interface *result = 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  result = (switch_asr_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_asr_interface() {
+  void * jresult ;
+  switch_asr_interface *result = 0 ;
+  
+  result = (switch_asr_interface *)new switch_asr_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_asr_interface(void * jarg1) {
+  switch_asr_interface *arg1 = (switch_asr_interface *) 0 ;
+  
+  arg1 = (switch_asr_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_asr_interface_set(void * jarg1, void * jarg2) {
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  switch_asr_interface_t *arg2 = (switch_asr_interface_t *) 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  arg2 = (switch_asr_interface_t *)jarg2; 
+  if (arg1) (arg1)->asr_interface = (switch_asr_interface_t const *)arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_handle_asr_interface_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  switch_asr_interface_t *result = 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  result = (switch_asr_interface_t *) ((arg1)->asr_interface);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_flags_set(void * jarg1, unsigned long jarg2) {
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_asr_handle_flags_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->flags);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_name_set(void * jarg1, char * jarg2) {
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->name) delete [] arg1->name;
+    if (arg2) {
+      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->name, (const char *)arg2);
+    } else {
+      arg1->name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_asr_handle_name_get(void * jarg1) {
+  char * jresult ;
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  result = (char *) ((arg1)->name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_codec_set(void * jarg1, char * jarg2) {
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->codec) delete [] arg1->codec;
+    if (arg2) {
+      arg1->codec = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->codec, (const char *)arg2);
+    } else {
+      arg1->codec = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_asr_handle_codec_get(void * jarg1) {
+  char * jresult ;
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  result = (char *) ((arg1)->codec);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_rate_set(void * jarg1, unsigned long jarg2) {
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->rate = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_asr_handle_rate_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->rate);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_grammar_set(void * jarg1, char * jarg2) {
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->grammar) delete [] arg1->grammar;
+    if (arg2) {
+      arg1->grammar = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->grammar, (const char *)arg2);
+    } else {
+      arg1->grammar = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_asr_handle_grammar_get(void * jarg1) {
+  char * jresult ;
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  result = (char *) ((arg1)->grammar);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_param_set(void * jarg1, char * jarg2) {
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->param) delete [] arg1->param;
+    if (arg2) {
+      arg1->param = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->param, (const char *)arg2);
+    } else {
+      arg1->param = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_asr_handle_param_get(void * jarg1) {
+  char * jresult ;
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  result = (char *) ((arg1)->param);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_memory_pool_set(void * jarg1, void * jarg2) {
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  arg2 = (switch_memory_pool_t *)jarg2; 
+  if (arg1) (arg1)->memory_pool = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_handle_memory_pool_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  switch_memory_pool_t *result = 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_asr_handle_private_info_set(void * jarg1, void * jarg2) {
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->private_info = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_asr_handle_private_info_get(void * jarg1) {
+  void * jresult ;
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  result = (void *) ((arg1)->private_info);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_asr_handle() {
+  void * jresult ;
+  switch_asr_handle *result = 0 ;
+  
+  result = (switch_asr_handle *)new switch_asr_handle();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_asr_handle(void * jarg1) {
+  switch_asr_handle *arg1 = (switch_asr_handle *) 0 ;
+  
+  arg1 = (switch_asr_handle *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_interface_name_set(void * jarg1, char * jarg2) {
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->interface_name, (const char *)arg2);
+    } else {
+      arg1->interface_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_speech_interface_interface_name_get(void * jarg1) {
+  char * jresult ;
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  result = (char *) ((arg1)->interface_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_open_set(void * jarg1, void * jarg2) {
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  switch_status_t (*arg2)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *)) 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *))jarg2; 
+  if (arg1) (arg1)->speech_open = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_open_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  switch_status_t (*result)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *) = 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *)) ((arg1)->speech_open);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_close_set(void * jarg1, void * jarg2) {
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  switch_status_t (*arg2)(switch_speech_handle_t *,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,switch_speech_flag_t *)) 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_speech_handle_t *,switch_speech_flag_t *))jarg2; 
+  if (arg1) (arg1)->speech_close = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_close_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  switch_status_t (*result)(switch_speech_handle_t *,switch_speech_flag_t *) = 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_speech_handle_t *,switch_speech_flag_t *)) ((arg1)->speech_close);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_feed_tts_set(void * jarg1, void * jarg2) {
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  switch_status_t (*arg2)(switch_speech_handle_t *,char *,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,char *,switch_speech_flag_t *)) 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_speech_handle_t *,char *,switch_speech_flag_t *))jarg2; 
+  if (arg1) (arg1)->speech_feed_tts = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_feed_tts_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  switch_status_t (*result)(switch_speech_handle_t *,char *,switch_speech_flag_t *) = 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_speech_handle_t *,char *,switch_speech_flag_t *)) ((arg1)->speech_feed_tts);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_read_tts_set(void * jarg1, void * jarg2) {
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  switch_status_t (*arg2)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *)) 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *))jarg2; 
+  if (arg1) (arg1)->speech_read_tts = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_read_tts_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  switch_status_t (*result)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *) = 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_speech_handle_t *,void *,switch_size_t *,uint32_t *,switch_speech_flag_t *)) ((arg1)->speech_read_tts);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_flush_tts_set(void * jarg1, void * jarg2) {
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  void (*arg2)(switch_speech_handle_t *) = (void (*)(switch_speech_handle_t *)) 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  arg2 = (void (*)(switch_speech_handle_t *))jarg2; 
+  if (arg1) (arg1)->speech_flush_tts = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_flush_tts_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  void (*result)(switch_speech_handle_t *) = 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  result = (void (*)(switch_speech_handle_t *)) ((arg1)->speech_flush_tts);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_text_param_tts_set(void * jarg1, void * jarg2) {
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  void (*arg2)(switch_speech_handle_t *,char *,char const *) = (void (*)(switch_speech_handle_t *,char *,char const *)) 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  arg2 = (void (*)(switch_speech_handle_t *,char *,char const *))jarg2; 
+  if (arg1) (arg1)->speech_text_param_tts = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_text_param_tts_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  void (*result)(switch_speech_handle_t *,char *,char const *) = 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  result = (void (*)(switch_speech_handle_t *,char *,char const *)) ((arg1)->speech_text_param_tts);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_numeric_param_tts_set(void * jarg1, void * jarg2) {
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  void (*arg2)(switch_speech_handle_t *,char *,int) = (void (*)(switch_speech_handle_t *,char *,int)) 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  arg2 = (void (*)(switch_speech_handle_t *,char *,int))jarg2; 
+  if (arg1) (arg1)->speech_numeric_param_tts = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_numeric_param_tts_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  void (*result)(switch_speech_handle_t *,char *,int) = 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  result = (void (*)(switch_speech_handle_t *,char *,int)) ((arg1)->speech_numeric_param_tts);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_float_param_tts_set(void * jarg1, void * jarg2) {
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  void (*arg2)(switch_speech_handle_t *,char *,double) = (void (*)(switch_speech_handle_t *,char *,double)) 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  arg2 = (void (*)(switch_speech_handle_t *,char *,double))jarg2; 
+  if (arg1) (arg1)->speech_float_param_tts = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_float_param_tts_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  void (*result)(switch_speech_handle_t *,char *,double) = 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  result = (void (*)(switch_speech_handle_t *,char *,double)) ((arg1)->speech_float_param_tts);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_next_set(void * jarg1, void * jarg2) {
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  switch_speech_interface *arg2 = (switch_speech_interface *) 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  arg2 = (switch_speech_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  switch_speech_interface *result = 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  result = (switch_speech_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_speech_interface() {
+  void * jresult ;
+  switch_speech_interface *result = 0 ;
+  
+  result = (switch_speech_interface *)new switch_speech_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_speech_interface(void * jarg1) {
+  switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;
+  
+  arg1 = (switch_speech_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_speech_interface_set(void * jarg1, void * jarg2) {
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  switch_speech_interface_t *arg2 = (switch_speech_interface_t *) 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  arg2 = (switch_speech_interface_t *)jarg2; 
+  if (arg1) (arg1)->speech_interface = (switch_speech_interface_t const *)arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_handle_speech_interface_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  switch_speech_interface_t *result = 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  result = (switch_speech_interface_t *) ((arg1)->speech_interface);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_flags_set(void * jarg1, unsigned long jarg2) {
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_speech_handle_flags_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->flags);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_name_set(void * jarg1, char * jarg2) {
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->name) delete [] arg1->name;
+    if (arg2) {
+      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->name, (const char *)arg2);
+    } else {
+      arg1->name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_speech_handle_name_get(void * jarg1) {
+  char * jresult ;
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  result = (char *) ((arg1)->name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_rate_set(void * jarg1, unsigned long jarg2) {
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->rate = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_speech_handle_rate_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->rate);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_speed_set(void * jarg1, unsigned long jarg2) {
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->speed = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_speech_handle_speed_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->speed);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_samples_set(void * jarg1, unsigned long jarg2) {
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->samples = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_speech_handle_samples_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->samples);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_voice_set(void * jarg1, char * jarg2) {
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  char *arg2 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) strncpy((char *)arg1->voice, (const char *)arg2, 80);
+    else arg1->voice[0] = 0;
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_speech_handle_voice_get(void * jarg1) {
+  char * jresult ;
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  result = (char *)(char *) ((arg1)->voice);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_engine_set(void * jarg1, char * jarg2) {
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->engine) delete [] arg1->engine;
+    if (arg2) {
+      arg1->engine = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->engine, (const char *)arg2);
+    } else {
+      arg1->engine = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_speech_handle_engine_get(void * jarg1) {
+  char * jresult ;
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  result = (char *) ((arg1)->engine);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_param_set(void * jarg1, char * jarg2) {
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->param) delete [] arg1->param;
+    if (arg2) {
+      arg1->param = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->param, (const char *)arg2);
+    } else {
+      arg1->param = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_speech_handle_param_get(void * jarg1) {
+  char * jresult ;
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  result = (char *) ((arg1)->param);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_memory_pool_set(void * jarg1, void * jarg2) {
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  arg2 = (switch_memory_pool_t *)jarg2; 
+  if (arg1) (arg1)->memory_pool = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_handle_memory_pool_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  switch_memory_pool_t *result = 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_private_info_set(void * jarg1, void * jarg2) {
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->private_info = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_handle_private_info_get(void * jarg1) {
+  void * jresult ;
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  result = (void *) ((arg1)->private_info);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_speech_handle() {
+  void * jresult ;
+  switch_speech_handle *result = 0 ;
+  
+  result = (switch_speech_handle *)new switch_speech_handle();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_speech_handle(void * jarg1) {
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;
+  
+  arg1 = (switch_speech_handle *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_interface_interface_name_set(void * jarg1, char * jarg2) {
+  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_say_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->interface_name, (const char *)arg2);
+    } else {
+      arg1->interface_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_say_interface_interface_name_get(void * jarg1) {
+  char * jresult ;
+  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_say_interface *)jarg1; 
+  result = (char *) ((arg1)->interface_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_interface_say_function_set(void * jarg1, void * jarg2) {
+  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
+  switch_say_callback_t arg2 = (switch_say_callback_t) 0 ;
+  
+  arg1 = (switch_say_interface *)jarg1; 
+  arg2 = (switch_say_callback_t)jarg2; 
+  if (arg1) (arg1)->say_function = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_say_interface_say_function_get(void * jarg1) {
+  void * jresult ;
+  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
+  switch_say_callback_t result;
+  
+  arg1 = (switch_say_interface *)jarg1; 
+  result = (switch_say_callback_t) ((arg1)->say_function);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_say_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_say_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_say_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_say_interface_next_set(void * jarg1, void * jarg2) {
+  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
+  switch_say_interface *arg2 = (switch_say_interface *) 0 ;
+  
+  arg1 = (switch_say_interface *)jarg1; 
+  arg2 = (switch_say_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_say_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
+  switch_say_interface *result = 0 ;
+  
+  arg1 = (switch_say_interface *)jarg1; 
+  result = (switch_say_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_say_interface() {
+  void * jresult ;
+  switch_say_interface *result = 0 ;
+  
+  result = (switch_say_interface *)new switch_say_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_say_interface(void * jarg1) {
+  switch_say_interface *arg1 = (switch_say_interface *) 0 ;
+  
+  arg1 = (switch_say_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_chat_interface_interface_name_set(void * jarg1, char * jarg2) {
+  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_chat_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->interface_name, (const char *)arg2);
+    } else {
+      arg1->interface_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_chat_interface_interface_name_get(void * jarg1) {
+  char * jresult ;
+  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_chat_interface *)jarg1; 
+  result = (char *) ((arg1)->interface_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_chat_interface_chat_send_set(void * jarg1, void * jarg2) {
+  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
+  switch_status_t (*arg2)(char *,char *,char *,char *,char *,char *) = (switch_status_t (*)(char *,char *,char *,char *,char *,char *)) 0 ;
+  
+  arg1 = (switch_chat_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(char *,char *,char *,char *,char *,char *))jarg2; 
+  if (arg1) (arg1)->chat_send = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_chat_interface_chat_send_get(void * jarg1) {
+  void * jresult ;
+  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
+  switch_status_t (*result)(char *,char *,char *,char *,char *,char *) = 0 ;
+  
+  arg1 = (switch_chat_interface *)jarg1; 
+  result = (switch_status_t (*)(char *,char *,char *,char *,char *,char *)) ((arg1)->chat_send);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_chat_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_chat_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_chat_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_chat_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_chat_interface_next_set(void * jarg1, void * jarg2) {
+  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
+  switch_chat_interface *arg2 = (switch_chat_interface *) 0 ;
+  
+  arg1 = (switch_chat_interface *)jarg1; 
+  arg2 = (switch_chat_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_chat_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
+  switch_chat_interface *result = 0 ;
+  
+  arg1 = (switch_chat_interface *)jarg1; 
+  result = (switch_chat_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_chat_interface() {
+  void * jresult ;
+  switch_chat_interface *result = 0 ;
+  
+  result = (switch_chat_interface *)new switch_chat_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_chat_interface(void * jarg1) {
+  switch_chat_interface *arg1 = (switch_chat_interface *) 0 ;
+  
+  arg1 = (switch_chat_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_management_interface_relative_oid_set(void * jarg1, char * jarg2) {
+  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_management_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->relative_oid = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->relative_oid, (const char *)arg2);
+    } else {
+      arg1->relative_oid = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_management_interface_relative_oid_get(void * jarg1) {
+  char * jresult ;
+  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_management_interface *)jarg1; 
+  result = (char *) ((arg1)->relative_oid);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_management_interface_management_function_set(void * jarg1, void * jarg2) {
+  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
+  switch_status_t (*arg2)(char *,switch_management_action_t,char *,switch_size_t) = (switch_status_t (*)(char *,switch_management_action_t,char *,switch_size_t)) 0 ;
+  
+  arg1 = (switch_management_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(char *,switch_management_action_t,char *,switch_size_t))jarg2; 
+  if (arg1) (arg1)->management_function = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_management_interface_management_function_get(void * jarg1) {
+  void * jresult ;
+  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
+  switch_status_t (*result)(char *,switch_management_action_t,char *,switch_size_t) = 0 ;
+  
+  arg1 = (switch_management_interface *)jarg1; 
+  result = (switch_status_t (*)(char *,switch_management_action_t,char *,switch_size_t)) ((arg1)->management_function);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_management_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_management_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_management_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_management_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_management_interface_next_set(void * jarg1, void * jarg2) {
+  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
+  switch_management_interface *arg2 = (switch_management_interface *) 0 ;
+  
+  arg1 = (switch_management_interface *)jarg1; 
+  arg2 = (switch_management_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_management_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
+  switch_management_interface *result = 0 ;
+  
+  arg1 = (switch_management_interface *)jarg1; 
+  result = (switch_management_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_management_interface() {
+  void * jresult ;
+  switch_management_interface *result = 0 ;
+  
+  result = (switch_management_interface *)new switch_management_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_management_interface(void * jarg1) {
+  switch_management_interface *arg1 = (switch_management_interface *) 0 ;
+  
+  arg1 = (switch_management_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_interface_name_set(void * jarg1, char * jarg2) {
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->interface_name, (const char *)arg2);
+    } else {
+      arg1->interface_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_directory_interface_interface_name_get(void * jarg1) {
+  char * jresult ;
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  result = (char *) ((arg1)->interface_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_directory_open_set(void * jarg1, void * jarg2) {
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_status_t (*arg2)(switch_directory_handle_t *,char *,char *,char *) = (switch_status_t (*)(switch_directory_handle_t *,char *,char *,char *)) 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_directory_handle_t *,char *,char *,char *))jarg2; 
+  if (arg1) (arg1)->directory_open = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_directory_open_get(void * jarg1) {
+  void * jresult ;
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_status_t (*result)(switch_directory_handle_t *,char *,char *,char *) = 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_directory_handle_t *,char *,char *,char *)) ((arg1)->directory_open);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_directory_close_set(void * jarg1, void * jarg2) {
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_status_t (*arg2)(switch_directory_handle_t *) = (switch_status_t (*)(switch_directory_handle_t *)) 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_directory_handle_t *))jarg2; 
+  if (arg1) (arg1)->directory_close = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_directory_close_get(void * jarg1) {
+  void * jresult ;
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_status_t (*result)(switch_directory_handle_t *) = 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_directory_handle_t *)) ((arg1)->directory_close);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_directory_query_set(void * jarg1, void * jarg2) {
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_status_t (*arg2)(switch_directory_handle_t *,char *,char *) = (switch_status_t (*)(switch_directory_handle_t *,char *,char *)) 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_directory_handle_t *,char *,char *))jarg2; 
+  if (arg1) (arg1)->directory_query = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_directory_query_get(void * jarg1) {
+  void * jresult ;
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_status_t (*result)(switch_directory_handle_t *,char *,char *) = 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_directory_handle_t *,char *,char *)) ((arg1)->directory_query);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_directory_next_set(void * jarg1, void * jarg2) {
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_status_t (*arg2)(switch_directory_handle_t *) = (switch_status_t (*)(switch_directory_handle_t *)) 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_directory_handle_t *))jarg2; 
+  if (arg1) (arg1)->directory_next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_directory_next_get(void * jarg1) {
+  void * jresult ;
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_status_t (*result)(switch_directory_handle_t *) = 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_directory_handle_t *)) ((arg1)->directory_next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_directory_next_pair_set(void * jarg1, void * jarg2) {
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_status_t (*arg2)(switch_directory_handle_t *,char **,char **) = (switch_status_t (*)(switch_directory_handle_t *,char **,char **)) 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  arg2 = (switch_status_t (*)(switch_directory_handle_t *,char **,char **))jarg2; 
+  if (arg1) (arg1)->directory_next_pair = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_directory_next_pair_get(void * jarg1) {
+  void * jresult ;
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_status_t (*result)(switch_directory_handle_t *,char **,char **) = 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  result = (switch_status_t (*)(switch_directory_handle_t *,char **,char **)) ((arg1)->directory_next_pair);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_interface_next_set(void * jarg1, void * jarg2) {
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_directory_interface *arg2 = (switch_directory_interface *) 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  arg2 = (switch_directory_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  switch_directory_interface *result = 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  result = (switch_directory_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_directory_interface() {
+  void * jresult ;
+  switch_directory_interface *result = 0 ;
+  
+  result = (switch_directory_interface *)new switch_directory_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_directory_interface(void * jarg1) {
+  switch_directory_interface *arg1 = (switch_directory_interface *) 0 ;
+  
+  arg1 = (switch_directory_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_handle_directory_interface_set(void * jarg1, void * jarg2) {
+  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
+  switch_directory_interface_t *arg2 = (switch_directory_interface_t *) 0 ;
+  
+  arg1 = (switch_directory_handle *)jarg1; 
+  arg2 = (switch_directory_interface_t *)jarg2; 
+  if (arg1) (arg1)->directory_interface = (switch_directory_interface_t const *)arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_handle_directory_interface_get(void * jarg1) {
+  void * jresult ;
+  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
+  switch_directory_interface_t *result = 0 ;
+  
+  arg1 = (switch_directory_handle *)jarg1; 
+  result = (switch_directory_interface_t *) ((arg1)->directory_interface);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_handle_flags_set(void * jarg1, unsigned long jarg2) {
+  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_directory_handle *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_directory_handle_flags_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_directory_handle *)jarg1; 
+  result = (uint32_t) ((arg1)->flags);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_handle_memory_pool_set(void * jarg1, void * jarg2) {
+  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
+  
+  arg1 = (switch_directory_handle *)jarg1; 
+  arg2 = (switch_memory_pool_t *)jarg2; 
+  if (arg1) (arg1)->memory_pool = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_handle_memory_pool_get(void * jarg1) {
+  void * jresult ;
+  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
+  switch_memory_pool_t *result = 0 ;
+  
+  arg1 = (switch_directory_handle *)jarg1; 
+  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_directory_handle_private_info_set(void * jarg1, void * jarg2) {
+  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_directory_handle *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->private_info = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_directory_handle_private_info_get(void * jarg1) {
+  void * jresult ;
+  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_directory_handle *)jarg1; 
+  result = (void *) ((arg1)->private_info);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_directory_handle() {
+  void * jresult ;
+  switch_directory_handle *result = 0 ;
+  
+  result = (switch_directory_handle *)new switch_directory_handle();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_directory_handle(void * jarg1) {
+  switch_directory_handle *arg1 = (switch_directory_handle *) 0 ;
+  
+  arg1 = (switch_directory_handle *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_quality_set(void * jarg1, int jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->quality = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_quality_get(void * jarg1) {
+  int jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (int) ((arg1)->quality);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_complexity_set(void * jarg1, int jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->complexity = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_complexity_get(void * jarg1) {
+  int jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (int) ((arg1)->complexity);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_enhancement_set(void * jarg1, int jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->enhancement = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_enhancement_get(void * jarg1) {
+  int jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (int) ((arg1)->enhancement);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_vad_set(void * jarg1, int jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->vad = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_vad_get(void * jarg1) {
+  int jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (int) ((arg1)->vad);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_vbr_set(void * jarg1, int jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->vbr = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_vbr_get(void * jarg1) {
+  int jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (int) ((arg1)->vbr);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_vbr_quality_set(void * jarg1, float jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  float arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->vbr_quality = arg2;
+  
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_switch_codec_settings_vbr_quality_get(void * jarg1) {
+  float jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  float result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (float) ((arg1)->vbr_quality);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_abr_set(void * jarg1, int jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->abr = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_abr_get(void * jarg1) {
+  int jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (int) ((arg1)->abr);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_dtx_set(void * jarg1, int jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->dtx = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_dtx_get(void * jarg1) {
+  int jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (int) ((arg1)->dtx);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_preproc_set(void * jarg1, int jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->preproc = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_preproc_get(void * jarg1) {
+  int jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (int) ((arg1)->preproc);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_vad_set(void * jarg1, int jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->pp_vad = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_pp_vad_get(void * jarg1) {
+  int jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (int) ((arg1)->pp_vad);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_agc_set(void * jarg1, int jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->pp_agc = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_pp_agc_get(void * jarg1) {
+  int jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (int) ((arg1)->pp_agc);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_agc_level_set(void * jarg1, float jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  float arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->pp_agc_level = arg2;
+  
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_switch_codec_settings_pp_agc_level_get(void * jarg1) {
+  float jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  float result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (float) ((arg1)->pp_agc_level);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_denoise_set(void * jarg1, int jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->pp_denoise = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_pp_denoise_get(void * jarg1) {
+  int jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (int) ((arg1)->pp_denoise);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_set(void * jarg1, int jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->pp_dereverb = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_get(void * jarg1) {
+  int jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (int) ((arg1)->pp_dereverb);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_decay_set(void * jarg1, float jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  float arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->pp_dereverb_decay = arg2;
+  
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_decay_get(void * jarg1) {
+  float jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  float result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (float) ((arg1)->pp_dereverb_decay);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_level_set(void * jarg1, float jarg2) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  float arg2 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  arg2 = (float)jarg2; 
+  if (arg1) (arg1)->pp_dereverb_level = arg2;
+  
+}
+
+
+SWIGEXPORT float SWIGSTDCALL CSharp_switch_codec_settings_pp_dereverb_level_get(void * jarg1) {
+  float jresult ;
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  float result;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  result = (float) ((arg1)->pp_dereverb_level);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_codec_settings() {
+  void * jresult ;
+  switch_codec_settings *result = 0 ;
+  
+  result = (switch_codec_settings *)new switch_codec_settings();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_codec_settings(void * jarg1) {
+  switch_codec_settings *arg1 = (switch_codec_settings *) 0 ;
+  
+  arg1 = (switch_codec_settings *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_codec_interface_set(void * jarg1, void * jarg2) {
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  switch_codec_interface_t *arg2 = (switch_codec_interface_t *) 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  arg2 = (switch_codec_interface_t *)jarg2; 
+  if (arg1) (arg1)->codec_interface = (switch_codec_interface_t const *)arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_codec_interface_get(void * jarg1) {
+  void * jresult ;
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  switch_codec_interface_t *result = 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  result = (switch_codec_interface_t *) ((arg1)->codec_interface);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_set(void * jarg1, void * jarg2) {
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  arg2 = (switch_codec_implementation_t *)jarg2; 
+  if (arg1) (arg1)->implementation = (switch_codec_implementation_t const *)arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_implementation_get(void * jarg1) {
+  void * jresult ;
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  switch_codec_implementation_t *result = 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  result = (switch_codec_implementation_t *) ((arg1)->implementation);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_fmtp_in_set(void * jarg1, char * jarg2) {
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->fmtp_in) delete [] arg1->fmtp_in;
+    if (arg2) {
+      arg1->fmtp_in = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->fmtp_in, (const char *)arg2);
+    } else {
+      arg1->fmtp_in = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_codec_fmtp_in_get(void * jarg1) {
+  char * jresult ;
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  result = (char *) ((arg1)->fmtp_in);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_fmtp_out_set(void * jarg1, char * jarg2) {
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->fmtp_out) delete [] arg1->fmtp_out;
+    if (arg2) {
+      arg1->fmtp_out = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->fmtp_out, (const char *)arg2);
+    } else {
+      arg1->fmtp_out = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_codec_fmtp_out_get(void * jarg1) {
+  char * jresult ;
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  result = (char *) ((arg1)->fmtp_out);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_codec_settings_set(void * jarg1, void * jarg2) {
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  switch_codec_settings_t *arg2 = (switch_codec_settings_t *) 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  arg2 = (switch_codec_settings_t *)jarg2; 
+  if (arg1) (arg1)->codec_settings = *arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_codec_settings_get(void * jarg1) {
+  void * jresult ;
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  switch_codec_settings_t *result = 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  result = (switch_codec_settings_t *)& ((arg1)->codec_settings);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_flags_set(void * jarg1, unsigned long jarg2) {
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_flags_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_codec *)jarg1; 
+  result = (uint32_t) ((arg1)->flags);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_memory_pool_set(void * jarg1, void * jarg2) {
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  arg2 = (switch_memory_pool_t *)jarg2; 
+  if (arg1) (arg1)->memory_pool = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_memory_pool_get(void * jarg1) {
+  void * jresult ;
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  switch_memory_pool_t *result = 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  result = (switch_memory_pool_t *) ((arg1)->memory_pool);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_private_info_set(void * jarg1, void * jarg2) {
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->private_info = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_private_info_get(void * jarg1) {
+  void * jresult ;
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  result = (void *) ((arg1)->private_info);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_agreed_pt_set(void * jarg1, unsigned char jarg2) {
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  switch_payload_t arg2 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  arg2 = (switch_payload_t)jarg2; 
+  if (arg1) (arg1)->agreed_pt = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_codec_agreed_pt_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  switch_payload_t result;
+  
+  arg1 = (switch_codec *)jarg1; 
+  result = (switch_payload_t) ((arg1)->agreed_pt);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_codec() {
+  void * jresult ;
+  switch_codec *result = 0 ;
+  
+  result = (switch_codec *)new switch_codec();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_codec(void * jarg1) {
+  switch_codec *arg1 = (switch_codec *) 0 ;
+  
+  arg1 = (switch_codec *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_codec_type_set(void * jarg1, int jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_codec_type_t arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (switch_codec_type_t)jarg2; 
+  if (arg1) (arg1)->codec_type = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_implementation_codec_type_get(void * jarg1) {
+  int jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_codec_type_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (switch_codec_type_t) ((arg1)->codec_type);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_ianacode_set(void * jarg1, unsigned char jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_payload_t arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (switch_payload_t)jarg2; 
+  if (arg1) (arg1)->ianacode = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_codec_implementation_ianacode_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_payload_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (switch_payload_t) ((arg1)->ianacode);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_iananame_set(void * jarg1, char * jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->iananame) delete [] arg1->iananame;
+    if (arg2) {
+      arg1->iananame = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->iananame, (const char *)arg2);
+    } else {
+      arg1->iananame = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_codec_implementation_iananame_get(void * jarg1) {
+  char * jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (char *) ((arg1)->iananame);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_fmtp_set(void * jarg1, char * jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->fmtp) delete [] arg1->fmtp;
+    if (arg2) {
+      arg1->fmtp = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->fmtp, (const char *)arg2);
+    } else {
+      arg1->fmtp = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_codec_implementation_fmtp_get(void * jarg1) {
+  char * jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (char *) ((arg1)->fmtp);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_samples_per_second_set(void * jarg1, unsigned long jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->samples_per_second = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_implementation_samples_per_second_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (uint32_t) ((arg1)->samples_per_second);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_actual_samples_per_second_set(void * jarg1, unsigned long jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->actual_samples_per_second = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_implementation_actual_samples_per_second_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (uint32_t) ((arg1)->actual_samples_per_second);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_bits_per_second_set(void * jarg1, int jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->bits_per_second = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_implementation_bits_per_second_get(void * jarg1) {
+  int jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (int) ((arg1)->bits_per_second);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_microseconds_per_frame_set(void * jarg1, int jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->microseconds_per_frame = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_implementation_microseconds_per_frame_get(void * jarg1) {
+  int jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (int) ((arg1)->microseconds_per_frame);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_samples_per_frame_set(void * jarg1, unsigned long jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->samples_per_frame = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_implementation_samples_per_frame_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (uint32_t) ((arg1)->samples_per_frame);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_bytes_per_frame_set(void * jarg1, unsigned long jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->bytes_per_frame = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_implementation_bytes_per_frame_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (uint32_t) ((arg1)->bytes_per_frame);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_encoded_bytes_per_frame_set(void * jarg1, unsigned long jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->encoded_bytes_per_frame = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_implementation_encoded_bytes_per_frame_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (uint32_t) ((arg1)->encoded_bytes_per_frame);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_number_of_channels_set(void * jarg1, unsigned char jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint8_t arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (uint8_t)jarg2; 
+  if (arg1) (arg1)->number_of_channels = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_codec_implementation_number_of_channels_get(void * jarg1) {
+  unsigned char jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (uint8_t) ((arg1)->number_of_channels);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_pref_frames_per_packet_set(void * jarg1, int jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->pref_frames_per_packet = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_implementation_pref_frames_per_packet_get(void * jarg1) {
+  int jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (int) ((arg1)->pref_frames_per_packet);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_max_frames_per_packet_set(void * jarg1, int jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->max_frames_per_packet = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_implementation_max_frames_per_packet_get(void * jarg1) {
+  int jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  int result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (int) ((arg1)->max_frames_per_packet);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_init_set(void * jarg1, void * jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_core_codec_init_func_t arg2 = (switch_core_codec_init_func_t) 0 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (switch_core_codec_init_func_t)jarg2; 
+  if (arg1) (arg1)->init = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_implementation_init_get(void * jarg1) {
+  void * jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_core_codec_init_func_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (switch_core_codec_init_func_t) ((arg1)->init);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_encode_set(void * jarg1, void * jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_core_codec_encode_func_t arg2 = (switch_core_codec_encode_func_t) 0 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (switch_core_codec_encode_func_t)jarg2; 
+  if (arg1) (arg1)->encode = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_implementation_encode_get(void * jarg1) {
+  void * jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_core_codec_encode_func_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (switch_core_codec_encode_func_t) ((arg1)->encode);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_decode_set(void * jarg1, void * jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_core_codec_decode_func_t arg2 = (switch_core_codec_decode_func_t) 0 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (switch_core_codec_decode_func_t)jarg2; 
+  if (arg1) (arg1)->decode = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_implementation_decode_get(void * jarg1) {
+  void * jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_core_codec_decode_func_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (switch_core_codec_decode_func_t) ((arg1)->decode);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_destroy_set(void * jarg1, void * jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_core_codec_destroy_func_t arg2 = (switch_core_codec_destroy_func_t) 0 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (switch_core_codec_destroy_func_t)jarg2; 
+  if (arg1) (arg1)->destroy = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_implementation_destroy_get(void * jarg1) {
+  void * jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_core_codec_destroy_func_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (switch_core_codec_destroy_func_t) ((arg1)->destroy);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_codec_id_set(void * jarg1, unsigned long jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->codec_id = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_implementation_codec_id_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (uint32_t) ((arg1)->codec_id);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_implementation_next_set(void * jarg1, void * jarg2) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_codec_implementation *arg2 = (switch_codec_implementation *) 0 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  arg2 = (switch_codec_implementation *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_implementation_next_get(void * jarg1) {
+  void * jresult ;
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  switch_codec_implementation *result = 0 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  result = (switch_codec_implementation *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_codec_implementation() {
+  void * jresult ;
+  switch_codec_implementation *result = 0 ;
+  
+  result = (switch_codec_implementation *)new switch_codec_implementation();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_codec_implementation(void * jarg1) {
+  switch_codec_implementation *arg1 = (switch_codec_implementation *) 0 ;
+  
+  arg1 = (switch_codec_implementation *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_interface_interface_name_set(void * jarg1, char * jarg2) {
+  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_codec_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->interface_name, (const char *)arg2);
+    } else {
+      arg1->interface_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_codec_interface_interface_name_get(void * jarg1) {
+  char * jresult ;
+  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_codec_interface *)jarg1; 
+  result = (char *) ((arg1)->interface_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_interface_implementations_set(void * jarg1, void * jarg2) {
+  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
+  switch_codec_implementation_t *arg2 = (switch_codec_implementation_t *) 0 ;
+  
+  arg1 = (switch_codec_interface *)jarg1; 
+  arg2 = (switch_codec_implementation_t *)jarg2; 
+  if (arg1) (arg1)->implementations = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_interface_implementations_get(void * jarg1) {
+  void * jresult ;
+  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
+  switch_codec_implementation_t *result = 0 ;
+  
+  arg1 = (switch_codec_interface *)jarg1; 
+  result = (switch_codec_implementation_t *) ((arg1)->implementations);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_interface_codec_id_set(void * jarg1, unsigned long jarg2) {
+  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_codec_interface *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->codec_id = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_codec_interface_codec_id_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_codec_interface *)jarg1; 
+  result = (uint32_t) ((arg1)->codec_id);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_codec_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_codec_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_interface_next_set(void * jarg1, void * jarg2) {
+  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
+  switch_codec_interface *arg2 = (switch_codec_interface *) 0 ;
+  
+  arg1 = (switch_codec_interface *)jarg1; 
+  arg2 = (switch_codec_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_codec_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
+  switch_codec_interface *result = 0 ;
+  
+  arg1 = (switch_codec_interface *)jarg1; 
+  result = (switch_codec_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_codec_interface() {
+  void * jresult ;
+  switch_codec_interface *result = 0 ;
+  
+  result = (switch_codec_interface *)new switch_codec_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_codec_interface(void * jarg1) {
+  switch_codec_interface *arg1 = (switch_codec_interface *) 0 ;
+  
+  arg1 = (switch_codec_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_interface_name_set(void * jarg1, char * jarg2) {
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->interface_name, (const char *)arg2);
+    } else {
+      arg1->interface_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_application_interface_interface_name_get(void * jarg1) {
+  char * jresult ;
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  result = (char *) ((arg1)->interface_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_application_function_set(void * jarg1, void * jarg2) {
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  switch_application_function_t arg2 = (switch_application_function_t) 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  arg2 = (switch_application_function_t)jarg2; 
+  if (arg1) (arg1)->application_function = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_application_interface_application_function_get(void * jarg1) {
+  void * jresult ;
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  switch_application_function_t result;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  result = (switch_application_function_t) ((arg1)->application_function);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_long_desc_set(void * jarg1, char * jarg2) {
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->long_desc = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->long_desc, (const char *)arg2);
+    } else {
+      arg1->long_desc = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_application_interface_long_desc_get(void * jarg1) {
+  char * jresult ;
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  result = (char *) ((arg1)->long_desc);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_short_desc_set(void * jarg1, char * jarg2) {
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->short_desc = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->short_desc, (const char *)arg2);
+    } else {
+      arg1->short_desc = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_application_interface_short_desc_get(void * jarg1) {
+  char * jresult ;
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  result = (char *) ((arg1)->short_desc);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_syntax_set(void * jarg1, char * jarg2) {
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->syntax = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->syntax, (const char *)arg2);
+    } else {
+      arg1->syntax = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_application_interface_syntax_get(void * jarg1) {
+  char * jresult ;
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  result = (char *) ((arg1)->syntax);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_flags_set(void * jarg1, unsigned long jarg2) {
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_application_interface_flags_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  result = (uint32_t) ((arg1)->flags);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_application_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_application_interface_next_set(void * jarg1, void * jarg2) {
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  switch_application_interface *arg2 = (switch_application_interface *) 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  arg2 = (switch_application_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_application_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  switch_application_interface *result = 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  result = (switch_application_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_application_interface() {
+  void * jresult ;
+  switch_application_interface *result = 0 ;
+  
+  result = (switch_application_interface *)new switch_application_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_application_interface(void * jarg1) {
+  switch_application_interface *arg1 = (switch_application_interface *) 0 ;
+  
+  arg1 = (switch_application_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_api_interface_interface_name_set(void * jarg1, char * jarg2) {
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->interface_name = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->interface_name, (const char *)arg2);
+    } else {
+      arg1->interface_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_api_interface_interface_name_get(void * jarg1) {
+  char * jresult ;
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  result = (char *) ((arg1)->interface_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_api_interface_desc_set(void * jarg1, char * jarg2) {
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->desc = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->desc, (const char *)arg2);
+    } else {
+      arg1->desc = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_api_interface_desc_get(void * jarg1) {
+  char * jresult ;
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  result = (char *) ((arg1)->desc);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_api_interface_function_set(void * jarg1, void * jarg2) {
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  switch_api_function_t arg2 = (switch_api_function_t) 0 ;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  arg2 = (switch_api_function_t)jarg2; 
+  if (arg1) (arg1)->function = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_api_interface_function_get(void * jarg1) {
+  void * jresult ;
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  switch_api_function_t result;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  result = (switch_api_function_t) ((arg1)->function);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_api_interface_syntax_set(void * jarg1, char * jarg2) {
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->syntax = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->syntax, (const char *)arg2);
+    } else {
+      arg1->syntax = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_api_interface_syntax_get(void * jarg1) {
+  char * jresult ;
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  result = (char *) ((arg1)->syntax);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_api_interface_rwlock_set(void * jarg1, void * jarg2) {
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  switch_thread_rwlock_t *arg2 = (switch_thread_rwlock_t *) 0 ;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  arg2 = (switch_thread_rwlock_t *)jarg2; 
+  if (arg1) (arg1)->rwlock = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_api_interface_rwlock_get(void * jarg1) {
+  void * jresult ;
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  switch_thread_rwlock_t *result = 0 ;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  result = (switch_thread_rwlock_t *) ((arg1)->rwlock);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_api_interface_next_set(void * jarg1, void * jarg2) {
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  switch_api_interface *arg2 = (switch_api_interface *) 0 ;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  arg2 = (switch_api_interface *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_api_interface_next_get(void * jarg1) {
+  void * jresult ;
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  switch_api_interface *result = 0 ;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  result = (switch_api_interface *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_api_interface() {
+  void * jresult ;
+  switch_api_interface *result = 0 ;
+  
+  result = (switch_api_interface *)new switch_api_interface();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_api_interface(void * jarg1) {
+  switch_api_interface *arg1 = (switch_api_interface *) 0 ;
+  
+  arg1 = (switch_api_interface *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_profile_created_set(void * jarg1, void * jarg2) {
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t arg2 ;
+  switch_time_t *argp2 ;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  argp2 = (switch_time_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->profile_created = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_profile_created_get(void * jarg1) {
+  void * jresult ;
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t result;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  result =  ((arg1)->profile_created);
+  jresult = new switch_time_t((switch_time_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_created_set(void * jarg1, void * jarg2) {
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t arg2 ;
+  switch_time_t *argp2 ;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  argp2 = (switch_time_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->created = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_created_get(void * jarg1) {
+  void * jresult ;
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t result;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  result =  ((arg1)->created);
+  jresult = new switch_time_t((switch_time_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_answered_set(void * jarg1, void * jarg2) {
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t arg2 ;
+  switch_time_t *argp2 ;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  argp2 = (switch_time_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->answered = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_answered_get(void * jarg1) {
+  void * jresult ;
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t result;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  result =  ((arg1)->answered);
+  jresult = new switch_time_t((switch_time_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_progress_set(void * jarg1, void * jarg2) {
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t arg2 ;
+  switch_time_t *argp2 ;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  argp2 = (switch_time_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->progress = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_progress_get(void * jarg1) {
+  void * jresult ;
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t result;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  result =  ((arg1)->progress);
+  jresult = new switch_time_t((switch_time_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_progress_media_set(void * jarg1, void * jarg2) {
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t arg2 ;
+  switch_time_t *argp2 ;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  argp2 = (switch_time_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->progress_media = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_progress_media_get(void * jarg1) {
+  void * jresult ;
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t result;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  result =  ((arg1)->progress_media);
+  jresult = new switch_time_t((switch_time_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_hungup_set(void * jarg1, void * jarg2) {
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t arg2 ;
+  switch_time_t *argp2 ;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  argp2 = (switch_time_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->hungup = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_hungup_get(void * jarg1) {
+  void * jresult ;
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t result;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  result =  ((arg1)->hungup);
+  jresult = new switch_time_t((switch_time_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_transferred_set(void * jarg1, void * jarg2) {
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t arg2 ;
+  switch_time_t *argp2 ;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  argp2 = (switch_time_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->transferred = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_transferred_get(void * jarg1) {
+  void * jresult ;
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_time_t result;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  result =  ((arg1)->transferred);
+  jresult = new switch_time_t((switch_time_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_timetable_next_set(void * jarg1, void * jarg2) {
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_channel_timetable *arg2 = (switch_channel_timetable *) 0 ;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  arg2 = (switch_channel_timetable *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_timetable_next_get(void * jarg1) {
+  void * jresult ;
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  switch_channel_timetable *result = 0 ;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  result = (switch_channel_timetable *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_channel_timetable() {
+  void * jresult ;
+  switch_channel_timetable *result = 0 ;
+  
+  result = (switch_channel_timetable *)new switch_channel_timetable();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_channel_timetable(void * jarg1) {
+  switch_channel_timetable *arg1 = (switch_channel_timetable *) 0 ;
+  
+  arg1 = (switch_channel_timetable *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_get_state(void * jarg1) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_state_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (switch_channel_state_t)switch_channel_get_state(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_get_running_state(void * jarg1) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_state_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (switch_channel_state_t)switch_channel_get_running_state(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_channel_ready(void * jarg1) {
+  unsigned char jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (uint8_t)switch_channel_ready(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_wait_for_state(void * jarg1, void * jarg2, int jarg3) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
+  switch_channel_state_t arg3 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_channel_t *)jarg2; 
+  arg3 = (switch_channel_state_t)jarg3; 
+  switch_channel_wait_for_state(arg1,arg2,arg3);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_wait_for_flag(void * jarg1, unsigned long jarg2, int jarg3, unsigned long jarg4, void * jarg5) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_flag_t arg2 ;
+  switch_bool_t arg3 ;
+  uint32_t arg4 ;
+  switch_channel_t *arg5 = (switch_channel_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_channel_flag_t)jarg2; 
+  arg3 = (switch_bool_t)jarg3; 
+  arg4 = (uint32_t)jarg4; 
+  arg5 = (switch_channel_t *)jarg5; 
+  result = (switch_status_t)switch_channel_wait_for_flag(arg1,arg2,arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_set_state(void * jarg1, char * jarg2, char * jarg3, int jarg4, int jarg5) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  switch_channel_state_t arg5 ;
+  switch_channel_state_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (switch_channel_state_t)jarg5; 
+  result = (switch_channel_state_t)switch_channel_perform_set_state(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_set_running_state(void * jarg1, int jarg2, char * jarg3, char * jarg4, int jarg5) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_state_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  int arg5 ;
+  switch_channel_state_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_channel_state_t)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (int)jarg5; 
+  result = (switch_channel_state_t)switch_channel_perform_set_running_state(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_str2cause(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_call_cause_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_call_cause_t)switch_channel_str2cause((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_get_cause(void * jarg1) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_call_cause_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (switch_call_cause_t)switch_channel_get_cause(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_cause_q850(int jarg1) {
+  int jresult ;
+  switch_call_cause_t arg1 ;
+  switch_call_cause_t result;
+  
+  arg1 = (switch_call_cause_t)jarg1; 
+  result = (switch_call_cause_t)switch_channel_cause_q850(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_get_cause_q850(void * jarg1) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_call_cause_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (switch_call_cause_t)switch_channel_get_cause_q850(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_cause2str(int jarg1) {
+  char * jresult ;
+  switch_call_cause_t arg1 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_call_cause_t)jarg1; 
+  result = (char *)switch_channel_cause2str(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_timetable(void * jarg1) {
+  void * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_timetable_t *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (switch_channel_timetable_t *)switch_channel_get_timetable(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_alloc(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_channel_t **arg1 = (switch_channel_t **) 0 ;
+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t **)jarg1; 
+  arg2 = (switch_memory_pool_t *)jarg2; 
+  result = (switch_status_t)switch_channel_alloc(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_init(void * jarg1, void * jarg2, int jarg3, unsigned long jarg4) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
+  switch_channel_state_t arg3 ;
+  uint32_t arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_core_session_t *)jarg2; 
+  arg3 = (switch_channel_state_t)jarg3; 
+  arg4 = (uint32_t)jarg4; 
+  result = (switch_status_t)switch_channel_init(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_presence(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  switch_channel_presence(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_uninit(void * jarg1) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  switch_channel_uninit(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_set_caller_profile(void * jarg1, void * jarg2) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_caller_profile_t *)jarg2; 
+  switch_channel_set_caller_profile(arg1,arg2);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_caller_profile(void * jarg1) {
+  void * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_caller_profile_t *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (switch_caller_profile_t *)switch_channel_get_caller_profile(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_set_originator_caller_profile(void * jarg1, void * jarg2) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_caller_profile_t *)jarg2; 
+  switch_channel_set_originator_caller_profile(arg1,arg2);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_originator_caller_profile(void * jarg1) {
+  void * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_caller_profile_t *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (switch_caller_profile_t *)switch_channel_get_originator_caller_profile(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_set_originatee_caller_profile(void * jarg1, void * jarg2) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_caller_profile_t *)jarg2; 
+  switch_channel_set_originatee_caller_profile(arg1,arg2);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_originatee_caller_profile(void * jarg1) {
+  void * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_caller_profile_t *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (switch_caller_profile_t *)switch_channel_get_originatee_caller_profile(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_get_uuid(void * jarg1) {
+  char * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (char *)switch_channel_get_uuid(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_variable(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_variable(arg1,(char const *)arg2,(char const *)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_variable_printf(void * jarg1, char * jarg2, char * jarg3) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  void *arg4 = 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_status_t)switch_channel_set_variable_printf(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_variable_partner(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_variable_partner(arg1,(char const *)arg2,(char const *)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_get_variable_partner(void * jarg1, char * jarg2) {
+  char * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)switch_channel_get_variable_partner(arg1,(char const *)arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_get_variable(void * jarg1, char * jarg2) {
+  char * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)switch_channel_get_variable(arg1,(char const *)arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_get_variables(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_event_t **arg2 = (switch_event_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_event_t **)jarg2; 
+  result = (switch_status_t)switch_channel_get_variables(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 ;
+  switch_event_header_t *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (switch_event_header_t *)switch_channel_variable_first(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_variable_last(void * jarg1) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  switch_channel_variable_last(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_set_caller_extension(void * jarg1, void * jarg2) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_caller_extension_t *arg2 = (switch_caller_extension_t *) 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_caller_extension_t *)jarg2; 
+  switch_channel_set_caller_extension(arg1,arg2);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_caller_extension(void * jarg1) {
+  void * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_caller_extension_t *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (switch_caller_extension_t *)switch_channel_get_caller_extension(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_channel_test_flag(void * jarg1, unsigned long jarg2) {
+  unsigned long jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_flag_t arg2 ;
+  uint32_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_channel_flag_t)jarg2; 
+  result = (uint32_t)switch_channel_test_flag(arg1,arg2);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_set_flag(void * jarg1, unsigned long jarg2) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_flag_t arg2 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_channel_flag_t)jarg2; 
+  switch_channel_set_flag(arg1,arg2);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_flag_partner(void * jarg1, unsigned long jarg2) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_flag_t arg2 ;
+  switch_bool_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_channel_flag_t)jarg2; 
+  result = (switch_bool_t)switch_channel_set_flag_partner(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_clear_flag_partner(void * jarg1, unsigned long jarg2) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_flag_t arg2 ;
+  switch_bool_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_channel_flag_t)jarg2; 
+  result = (switch_bool_t)switch_channel_clear_flag_partner(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_set_state_flag(void * jarg1, unsigned long jarg2) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_flag_t arg2 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_channel_flag_t)jarg2; 
+  switch_channel_set_state_flag(arg1,arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_clear_flag(void * jarg1, unsigned long jarg2) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_channel_flag_t arg2 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_channel_flag_t)jarg2; 
+  switch_channel_clear_flag(arg1,arg2);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_answer(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_channel_perform_answer(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_mark_answered(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_channel_perform_mark_answered(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_ring_ready(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_channel_perform_ring_ready(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_pre_answer(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_channel_perform_pre_answer(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_mark_pre_answered(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_channel_perform_mark_pre_answered(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_mark_ring_ready(void * jarg1, char * jarg2, char * jarg3, int jarg4) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (switch_status_t)switch_channel_perform_mark_ring_ready(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_add_state_handler(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_state_handler_table_t *arg2 = (switch_state_handler_table_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_state_handler_table_t *)jarg2; 
+  result = (int)switch_channel_add_state_handler(arg1,(switch_state_handler_table const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_clear_state_handler(void * jarg1, void * jarg2) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_state_handler_table_t *arg2 = (switch_state_handler_table_t *) 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_state_handler_table_t *)jarg2; 
+  switch_channel_clear_state_handler(arg1,(switch_state_handler_table const *)arg2);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_state_handler(void * jarg1, int jarg2) {
+  void * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  int arg2 ;
+  switch_state_handler_table_t *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  result = (switch_state_handler_table_t *)switch_channel_get_state_handler(arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_private(void * jarg1, char * jarg2, void * jarg3) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  void *arg3 = (void *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (void *)jarg3; 
+  result = (switch_status_t)switch_channel_set_private(arg1,(char const *)arg2,(void const *)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_get_private(void * jarg1, char * jarg2) {
+  void * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (void *)switch_channel_get_private(arg1,(char const *)arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_name(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_channel_set_name(arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_get_name(void * jarg1) {
+  char * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (char *)switch_channel_get_name(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_perform_hangup(void * jarg1, char * jarg2, char * jarg3, int jarg4, int jarg5) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  switch_call_cause_t arg5 ;
+  switch_channel_state_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (switch_call_cause_t)jarg5; 
+  result = (switch_channel_state_t)switch_channel_perform_hangup(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_has_dtmf(void * jarg1) {
+  void * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = switch_channel_has_dtmf(arg1);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_queue_dtmf(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_dtmf_t *)jarg2; 
+  result = (switch_status_t)switch_channel_queue_dtmf(arg1,(switch_dtmf_t const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_queue_dtmf_string(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_channel_queue_dtmf_string(arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_dequeue_dtmf(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_dtmf_t *)jarg2; 
+  result = (switch_status_t)switch_channel_dequeue_dtmf(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_flush_dtmf(void * jarg1) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  switch_channel_flush_dtmf(arg1);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_channel_dequeue_dtmf_string(void * jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_size_t arg3 ;
+  switch_size_t result;
+  switch_size_t *argp3 ;
+  
+  arg1 = (switch_channel_t *)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 = switch_channel_dequeue_dtmf_string(arg1,arg2,arg3);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_state_name(int jarg1) {
+  char * jresult ;
+  switch_channel_state_t arg1 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_channel_state_t)jarg1; 
+  result = (char *)switch_channel_state_name(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_name_state(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_channel_state_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_channel_state_t)switch_channel_name_state((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_channel_event_set_data(void * jarg1, void * jarg2) {
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_event_t *arg2 = (switch_event_t *) 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_event_t *)jarg2; 
+  switch_channel_event_set_data(arg1,arg2);
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_expand_variables(void * jarg1, char * jarg2) {
+  char * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)switch_channel_expand_variables(arg1,(char const *)arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_channel_build_param_string(void * jarg1, void * jarg2, char * jarg3) {
+  char * jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  arg2 = (switch_caller_profile_t *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (char *)switch_channel_build_param_string(arg1,arg2,(char const *)arg3);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_channel_set_timestamps(void * jarg1) {
+  int jresult ;
+  switch_channel_t *arg1 = (switch_channel_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_channel_t *)jarg1; 
+  result = (switch_status_t)switch_channel_set_timestamps(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_buffer_create(void * jarg1, void * jarg2, void * jarg3) {
+  int jresult ;
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  switch_buffer_t **arg2 = (switch_buffer_t **) 0 ;
+  switch_size_t arg3 ;
+  switch_status_t result;
+  switch_size_t *argp3 ;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  arg2 = (switch_buffer_t **)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_status_t)switch_buffer_create(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_buffer_create_dynamic(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  int jresult ;
+  switch_buffer_t **arg1 = (switch_buffer_t **) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t arg3 ;
+  switch_size_t arg4 ;
+  switch_status_t result;
+  switch_size_t *argp2 ;
+  switch_size_t *argp3 ;
+  switch_size_t *argp4 ;
+  
+  arg1 = (switch_buffer_t **)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  argp3 = (switch_size_t *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  argp4 = (switch_size_t *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg4 = *argp4; 
+  result = (switch_status_t)switch_buffer_create_dynamic(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_add_mutex(void * jarg1, void * jarg2) {
+  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
+  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
+  
+  arg1 = (switch_buffer_t *)jarg1; 
+  arg2 = (switch_mutex_t *)jarg2; 
+  switch_buffer_add_mutex(arg1,arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_lock(void * jarg1) {
+  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
+  
+  arg1 = (switch_buffer_t *)jarg1; 
+  switch_buffer_lock(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_buffer_trylock(void * jarg1) {
+  int jresult ;
+  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_buffer_t *)jarg1; 
+  result = (switch_status_t)switch_buffer_trylock(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_unlock(void * jarg1) {
+  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
+  
+  arg1 = (switch_buffer_t *)jarg1; 
+  switch_buffer_unlock(arg1);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_len(void * jarg1) {
+  void * jresult ;
+  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_buffer_t *)jarg1; 
+  result = switch_buffer_len(arg1);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_freespace(void * jarg1) {
+  void * jresult ;
+  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_buffer_t *)jarg1; 
+  result = switch_buffer_freespace(arg1);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_inuse(void * jarg1) {
+  void * jresult ;
+  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_buffer_t *)jarg1; 
+  result = switch_buffer_inuse(arg1);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_read(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_read(arg1,arg2,arg3);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_read_loop(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_read_loop(arg1,arg2,arg3);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_set_loops(void * jarg1, int jarg2) {
+  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
+  int32_t arg2 ;
+  
+  arg1 = (switch_buffer_t *)jarg1; 
+  arg2 = (int32_t)jarg2; 
+  switch_buffer_set_loops(arg1,arg2);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_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_write(arg1,(void const *)arg2,arg3);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_toss(void * jarg1, void * jarg2) {
+  void * jresult ;
+  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t result;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_buffer_t *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  result = switch_buffer_toss(arg1,arg2);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_zero(void * jarg1) {
+  switch_buffer_t *arg1 = (switch_buffer_t *) 0 ;
+  
+  arg1 = (switch_buffer_t *)jarg1; 
+  switch_buffer_zero(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_buffer_destroy(void * jarg1) {
+  switch_buffer_t **arg1 = (switch_buffer_t **) 0 ;
+  
+  arg1 = (switch_buffer_t **)jarg1; 
+  switch_buffer_destroy(arg1);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_buffer_zwrite(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_zwrite(arg1,(void const *)arg2,arg3);
+  jresult = new switch_size_t((switch_size_t &)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 ;
+  
+  arg1 = (switch_event_header *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->name) delete [] arg1->name;
+    if (arg2) {
+      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->name, (const char *)arg2);
+    } else {
+      arg1->name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_header_name_get(void * jarg1) {
+  char * jresult ;
+  switch_event_header *arg1 = (switch_event_header *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_event_header *)jarg1; 
+  result = (char *) ((arg1)->name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_header_value_set(void * jarg1, char * jarg2) {
+  switch_event_header *arg1 = (switch_event_header *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_event_header *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->value) delete [] arg1->value;
+    if (arg2) {
+      arg1->value = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->value, (const char *)arg2);
+    } else {
+      arg1->value = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_header_value_get(void * jarg1) {
+  char * jresult ;
+  switch_event_header *arg1 = (switch_event_header *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_event_header *)jarg1; 
+  result = (char *) ((arg1)->value);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_header_next_set(void * jarg1, void * jarg2) {
+  switch_event_header *arg1 = (switch_event_header *) 0 ;
+  switch_event_header *arg2 = (switch_event_header *) 0 ;
+  
+  arg1 = (switch_event_header *)jarg1; 
+  arg2 = (switch_event_header *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_event_header_next_get(void * jarg1) {
+  void * jresult ;
+  switch_event_header *arg1 = (switch_event_header *) 0 ;
+  switch_event_header *result = 0 ;
+  
+  arg1 = (switch_event_header *)jarg1; 
+  result = (switch_event_header *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_event_header() {
+  void * jresult ;
+  switch_event_header *result = 0 ;
+  
+  result = (switch_event_header *)new switch_event_header();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_event_header(void * jarg1) {
+  switch_event_header *arg1 = (switch_event_header *) 0 ;
+  
+  arg1 = (switch_event_header *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_event_id_set(void * jarg1, int jarg2) {
+  switch_event *arg1 = (switch_event *) 0 ;
+  switch_event_types_t arg2 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  arg2 = (switch_event_types_t)jarg2; 
+  if (arg1) (arg1)->event_id = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_event_id_get(void * jarg1) {
+  int jresult ;
+  switch_event *arg1 = (switch_event *) 0 ;
+  switch_event_types_t result;
+  
+  arg1 = (switch_event *)jarg1; 
+  result = (switch_event_types_t) ((arg1)->event_id);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_priority_set(void * jarg1, int jarg2) {
+  switch_event *arg1 = (switch_event *) 0 ;
+  switch_priority_t arg2 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  arg2 = (switch_priority_t)jarg2; 
+  if (arg1) (arg1)->priority = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_priority_get(void * jarg1) {
+  int jresult ;
+  switch_event *arg1 = (switch_event *) 0 ;
+  switch_priority_t result;
+  
+  arg1 = (switch_event *)jarg1; 
+  result = (switch_priority_t) ((arg1)->priority);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_owner_set(void * jarg1, char * jarg2) {
+  switch_event *arg1 = (switch_event *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->owner) delete [] arg1->owner;
+    if (arg2) {
+      arg1->owner = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->owner, (const char *)arg2);
+    } else {
+      arg1->owner = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_owner_get(void * jarg1) {
+  char * jresult ;
+  switch_event *arg1 = (switch_event *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  result = (char *) ((arg1)->owner);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_subclass_name_set(void * jarg1, char * jarg2) {
+  switch_event *arg1 = (switch_event *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->subclass_name) delete [] arg1->subclass_name;
+    if (arg2) {
+      arg1->subclass_name = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->subclass_name, (const char *)arg2);
+    } else {
+      arg1->subclass_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_subclass_name_get(void * jarg1) {
+  char * jresult ;
+  switch_event *arg1 = (switch_event *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  result = (char *) ((arg1)->subclass_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_headers_set(void * jarg1, void * jarg2) {
+  switch_event *arg1 = (switch_event *) 0 ;
+  switch_event_header_t *arg2 = (switch_event_header_t *) 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  arg2 = (switch_event_header_t *)jarg2; 
+  if (arg1) (arg1)->headers = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_event_headers_get(void * jarg1) {
+  void * jresult ;
+  switch_event *arg1 = (switch_event *) 0 ;
+  switch_event_header_t *result = 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  result = (switch_event_header_t *) ((arg1)->headers);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_last_header_set(void * jarg1, void * jarg2) {
+  switch_event *arg1 = (switch_event *) 0 ;
+  switch_event_header_t *arg2 = (switch_event_header_t *) 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  arg2 = (switch_event_header_t *)jarg2; 
+  if (arg1) (arg1)->last_header = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_event_last_header_get(void * jarg1) {
+  void * jresult ;
+  switch_event *arg1 = (switch_event *) 0 ;
+  switch_event_header_t *result = 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  result = (switch_event_header_t *) ((arg1)->last_header);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_body_set(void * jarg1, char * jarg2) {
+  switch_event *arg1 = (switch_event *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->body) delete [] arg1->body;
+    if (arg2) {
+      arg1->body = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->body, (const char *)arg2);
+    } else {
+      arg1->body = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_body_get(void * jarg1) {
+  char * jresult ;
+  switch_event *arg1 = (switch_event *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  result = (char *) ((arg1)->body);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_bind_user_data_set(void * jarg1, void * jarg2) {
+  switch_event *arg1 = (switch_event *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->bind_user_data = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_event_bind_user_data_get(void * jarg1) {
+  void * jresult ;
+  switch_event *arg1 = (switch_event *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  result = (void *) ((arg1)->bind_user_data);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_event_user_data_set(void * jarg1, void * jarg2) {
+  switch_event *arg1 = (switch_event *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->event_user_data = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_event_event_user_data_get(void * jarg1) {
+  void * jresult ;
+  switch_event *arg1 = (switch_event *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  result = (void *) ((arg1)->event_user_data);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_key_set(void * jarg1, unsigned long jarg2) {
+  switch_event *arg1 = (switch_event *) 0 ;
+  unsigned long arg2 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  arg2 = (unsigned long)jarg2; 
+  if (arg1) (arg1)->key = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_event_key_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_event *arg1 = (switch_event *) 0 ;
+  unsigned long result;
+  
+  arg1 = (switch_event *)jarg1; 
+  result = (unsigned long) ((arg1)->key);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_next_set(void * jarg1, void * jarg2) {
+  switch_event *arg1 = (switch_event *) 0 ;
+  switch_event *arg2 = (switch_event *) 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  arg2 = (switch_event *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_event_next_get(void * jarg1) {
+  void * jresult ;
+  switch_event *arg1 = (switch_event *) 0 ;
+  switch_event *result = 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  result = (switch_event *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_event() {
+  void * jresult ;
+  switch_event *result = 0 ;
+  
+  result = (switch_event *)new switch_event();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_event(void * jarg1) {
+  switch_event *arg1 = (switch_event *) 0 ;
+  
+  arg1 = (switch_event *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_init(void * jarg1) {
+  int jresult ;
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  result = (switch_status_t)switch_event_init(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_shutdown() {
+  int jresult ;
+  switch_status_t result;
+  
+  result = (switch_status_t)switch_event_shutdown();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_create_subclass(void * jarg1, int jarg2, char * jarg3) {
+  int jresult ;
+  switch_event_t **arg1 = (switch_event_t **) 0 ;
+  switch_event_types_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_event_t **)jarg1; 
+  arg2 = (switch_event_types_t)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_status_t)switch_event_create_subclass(arg1,arg2,(char const *)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_set_priority(void * jarg1, int jarg2) {
+  int jresult ;
+  switch_event_t *arg1 = (switch_event_t *) 0 ;
+  switch_priority_t arg2 ;
+  switch_status_t result;
+  
+  arg1 = (switch_event_t *)jarg1; 
+  arg2 = (switch_priority_t)jarg2; 
+  result = (switch_status_t)switch_event_set_priority(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_get_header(void * jarg1, char * jarg2) {
+  char * jresult ;
+  switch_event_t *arg1 = (switch_event_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_event_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)switch_event_get_header(arg1,(char const *)arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_get_body(void * jarg1) {
+  char * jresult ;
+  switch_event_t *arg1 = (switch_event_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_event_t *)jarg1; 
+  result = (char *)switch_event_get_body(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_add_header_string(void * jarg1, int jarg2, char * jarg3, char * jarg4) {
+  int jresult ;
+  switch_event_t *arg1 = (switch_event_t *) 0 ;
+  switch_stack_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_event_t *)jarg1; 
+  arg2 = (switch_stack_t)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  result = (switch_status_t)switch_event_add_header_string(arg1,arg2,(char const *)arg3,(char const *)arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_del_header(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_event_t *arg1 = (switch_event_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_event_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_event_del_header(arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_destroy(void * jarg1) {
+  switch_event_t **arg1 = (switch_event_t **) 0 ;
+  
+  arg1 = (switch_event_t **)jarg1; 
+  switch_event_destroy(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_dup(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_event_t **arg1 = (switch_event_t **) 0 ;
+  switch_event_t *arg2 = (switch_event_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_event_t **)jarg1; 
+  arg2 = (switch_event_t *)jarg2; 
+  result = (switch_status_t)switch_event_dup(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_fire_detailed(char * jarg1, char * jarg2, int jarg3, void * jarg4, void * jarg5) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int arg3 ;
+  switch_event_t **arg4 = (switch_event_t **) 0 ;
+  void *arg5 = (void *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (switch_event_t **)jarg4; 
+  arg5 = (void *)jarg5; 
+  result = (switch_status_t)switch_event_fire_detailed((char const *)arg1,(char const *)arg2,arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_bind(char * jarg1, int jarg2, char * jarg3, void * jarg4, void * jarg5) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_event_types_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  switch_event_callback_t arg4 = (switch_event_callback_t) 0 ;
+  void *arg5 = (void *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_event_types_t)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (switch_event_callback_t)jarg4; 
+  arg5 = (void *)jarg5; 
+  result = (switch_status_t)switch_event_bind((char const *)arg1,arg2,(char const *)arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_bind_removable(char * jarg1, int jarg2, char * jarg3, void * jarg4, void * jarg5, void * jarg6) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_event_types_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  switch_event_callback_t arg4 = (switch_event_callback_t) 0 ;
+  void *arg5 = (void *) 0 ;
+  switch_event_node_t **arg6 = (switch_event_node_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_event_types_t)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (switch_event_callback_t)jarg4; 
+  arg5 = (void *)jarg5; 
+  arg6 = (switch_event_node_t **)jarg6; 
+  result = (switch_status_t)switch_event_bind_removable((char const *)arg1,arg2,(char const *)arg3,arg4,arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_unbind(void * jarg1) {
+  int jresult ;
+  switch_event_node_t **arg1 = (switch_event_node_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_event_node_t **)jarg1; 
+  result = (switch_status_t)switch_event_unbind(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_unbind_callback(void * jarg1) {
+  int jresult ;
+  switch_event_callback_t arg1 = (switch_event_callback_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_event_callback_t)jarg1; 
+  result = (switch_status_t)switch_event_unbind_callback(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_name(int jarg1) {
+  char * jresult ;
+  switch_event_types_t arg1 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_event_types_t)jarg1; 
+  result = (char *)switch_event_name(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_name_event(char * jarg1, void * jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_event_types_t *arg2 = (switch_event_types_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_event_types_t *)jarg2; 
+  result = (switch_status_t)switch_name_event((char const *)arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_reserve_subclass_detailed(char * jarg1, char * jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_event_reserve_subclass_detailed((char const *)arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_free_subclass_detailed(char * jarg1, char * jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_event_free_subclass_detailed((char const *)arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_serialize(void * jarg1, void * jarg2, int jarg3) {
+  int jresult ;
+  switch_event_t *arg1 = (switch_event_t *) 0 ;
+  char **arg2 = (char **) 0 ;
+  switch_bool_t arg3 ;
+  switch_status_t result;
+  
+  arg1 = (switch_event_t *)jarg1; 
+  arg2 = (char **)jarg2; 
+  arg3 = (switch_bool_t)jarg3; 
+  result = (switch_status_t)switch_event_serialize(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_running() {
+  int jresult ;
+  switch_status_t result;
+  
+  result = (switch_status_t)switch_event_running();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_expand_headers(void * jarg1, char * jarg2) {
+  char * jresult ;
+  switch_event_t *arg1 = (switch_event_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_event_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)switch_event_expand_headers(arg1,(char const *)arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_event_create_pres_in_detailed(char * jarg1, char * jarg2, int jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, char * jarg10, int jarg11, char * jarg12, char * jarg13, char * jarg14, char * jarg15) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int arg3 ;
+  char *arg4 = (char *) 0 ;
+  char *arg5 = (char *) 0 ;
+  char *arg6 = (char *) 0 ;
+  char *arg7 = (char *) 0 ;
+  char *arg8 = (char *) 0 ;
+  char *arg9 = (char *) 0 ;
+  char *arg10 = (char *) 0 ;
+  int arg11 ;
+  char *arg12 = (char *) 0 ;
+  char *arg13 = (char *) 0 ;
+  char *arg14 = (char *) 0 ;
+  char *arg15 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (char *)jarg6; 
+  arg7 = (char *)jarg7; 
+  arg8 = (char *)jarg8; 
+  arg9 = (char *)jarg9; 
+  arg10 = (char *)jarg10; 
+  arg11 = (int)jarg11; 
+  arg12 = (char *)jarg12; 
+  arg13 = (char *)jarg13; 
+  arg14 = (char *)jarg14; 
+  arg15 = (char *)jarg15; 
+  result = (switch_status_t)switch_event_create_pres_in_detailed(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,(char const *)arg10,arg11,(char const *)arg12,(char const *)arg13,(char const *)arg14,(char const *)arg15);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_event_deliver(void * jarg1) {
+  switch_event_t **arg1 = (switch_event_t **) 0 ;
+  
+  arg1 = (switch_event_t **)jarg1; 
+  switch_event_deliver(arg1);
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_event_build_param_string(void * jarg1, char * jarg2, void * jarg3) {
+  char * jresult ;
+  switch_event_t *arg1 = (switch_event_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_hash_t *arg3 = (switch_hash_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_event_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_hash_t *)jarg3; 
+  result = (char *)switch_event_build_param_string(arg1,(char const *)arg2,arg3);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_resampler_set(void * jarg1, void * jarg2) {
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->resampler = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_resampler_get(void * jarg1) {
+  void * jresult ;
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  result = (void *) ((arg1)->resampler);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_rate_set(void * jarg1, int jarg2) {
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->from_rate = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_audio_resampler_t_from_rate_get(void * jarg1) {
+  int jresult ;
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  result = (int) ((arg1)->from_rate);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_to_rate_set(void * jarg1, int jarg2) {
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->to_rate = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_audio_resampler_t_to_rate_get(void * jarg1) {
+  int jresult ;
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  result = (int) ((arg1)->to_rate);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_factor_set(void * jarg1, double jarg2) {
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  double arg2 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  arg2 = (double)jarg2; 
+  if (arg1) (arg1)->factor = arg2;
+  
+}
+
+
+SWIGEXPORT double SWIGSTDCALL CSharp_switch_audio_resampler_t_factor_get(void * jarg1) {
+  double jresult ;
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  double result;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  result = (double) ((arg1)->factor);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_rfactor_set(void * jarg1, double jarg2) {
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  double arg2 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  arg2 = (double)jarg2; 
+  if (arg1) (arg1)->rfactor = arg2;
+  
+}
+
+
+SWIGEXPORT double SWIGSTDCALL CSharp_switch_audio_resampler_t_rfactor_get(void * jarg1) {
+  double jresult ;
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  double result;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  result = (double) ((arg1)->rfactor);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_set(void * jarg1, void * jarg2) {
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  float *arg2 = (float *) 0 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  arg2 = (float *)jarg2; 
+  if (arg1) (arg1)->from = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_from_get(void * jarg1) {
+  void * jresult ;
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  float *result = 0 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  result = (float *) ((arg1)->from);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_len_set(void * jarg1, int jarg2) {
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->from_len = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_audio_resampler_t_from_len_get(void * jarg1) {
+  int jresult ;
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  result = (int) ((arg1)->from_len);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_from_size_set(void * jarg1, void * jarg2) {
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->from_size = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_from_size_get(void * jarg1) {
+  void * jresult ;
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  result =  ((arg1)->from_size);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_to_set(void * jarg1, void * jarg2) {
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  float *arg2 = (float *) 0 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  arg2 = (float *)jarg2; 
+  if (arg1) (arg1)->to = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_audio_resampler_t_to_get(void * jarg1) {
+  void * jresult ;
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  float *result = 0 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  result = (float *) ((arg1)->to);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_to_len_set(void * jarg1, unsigned long jarg2) {
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->to_len = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_audio_resampler_t_to_len_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  result = (uint32_t) ((arg1)->to_len);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_to_size_set(void * jarg1, unsigned long jarg2) {
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->to_size = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_audio_resampler_t_to_size_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  result = (uint32_t) ((arg1)->to_size);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_audio_resampler_t() {
+  void * jresult ;
+  switch_audio_resampler_t *result = 0 ;
+  
+  result = (switch_audio_resampler_t *)new switch_audio_resampler_t();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_audio_resampler_t(void * jarg1) {
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_resample_create(void * jarg1, int jarg2, void * jarg3, int jarg4, unsigned long jarg5, void * jarg6) {
+  int jresult ;
+  switch_audio_resampler_t **arg1 = (switch_audio_resampler_t **) 0 ;
+  int arg2 ;
+  switch_size_t arg3 ;
+  int arg4 ;
+  uint32_t arg5 ;
+  switch_memory_pool_t *arg6 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  switch_size_t *argp3 ;
+  
+  arg1 = (switch_audio_resampler_t **)jarg1; 
+  arg2 = (int)jarg2; 
+  argp3 = (switch_size_t *)jarg3; 
+  if (!argp3) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg3 = *argp3; 
+  arg4 = (int)jarg4; 
+  arg5 = (uint32_t)jarg5; 
+  arg6 = (switch_memory_pool_t *)jarg6; 
+  result = (switch_status_t)switch_resample_create(arg1,arg2,arg3,arg4,arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_resample_destroy(void * jarg1) {
+  switch_audio_resampler_t **arg1 = (switch_audio_resampler_t **) 0 ;
+  
+  arg1 = (switch_audio_resampler_t **)jarg1; 
+  switch_resample_destroy(arg1);
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_resample_process(void * jarg1, void * jarg2, int jarg3, void * jarg4, unsigned long jarg5, int jarg6) {
+  unsigned long jresult ;
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;
+  float *arg2 = (float *) 0 ;
+  int arg3 ;
+  float *arg4 = (float *) 0 ;
+  uint32_t arg5 ;
+  int arg6 ;
+  uint32_t result;
+  
+  arg1 = (switch_audio_resampler_t *)jarg1; 
+  arg2 = (float *)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (float *)jarg4; 
+  arg5 = (uint32_t)jarg5; 
+  arg6 = (int)jarg6; 
+  result = (uint32_t)switch_resample_process(arg1,arg2,arg3,arg4,arg5,arg6);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_float_to_short(void * jarg1, void * jarg2, void * jarg3) {
+  void * jresult ;
+  float *arg1 = (float *) 0 ;
+  short *arg2 = (short *) 0 ;
+  switch_size_t arg3 ;
+  switch_size_t result;
+  switch_size_t *argp3 ;
+  
+  arg1 = (float *)jarg1; 
+  arg2 = (short *)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_float_to_short(arg1,arg2,arg3);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_char_to_float(char * jarg1, void * jarg2, int jarg3) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  float *arg2 = (float *) 0 ;
+  int arg3 ;
+  int result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (float *)jarg2; 
+  arg3 = (int)jarg3; 
+  result = (int)switch_char_to_float(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_float_to_char(void * jarg1, char * jarg2, int jarg3) {
+  int jresult ;
+  float *arg1 = (float *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int arg3 ;
+  int result;
+  
+  arg1 = (float *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (int)jarg3; 
+  result = (int)switch_float_to_char(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_short_to_float(void * jarg1, void * jarg2, int jarg3) {
+  int jresult ;
+  short *arg1 = (short *) 0 ;
+  float *arg2 = (float *) 0 ;
+  int arg3 ;
+  int result;
+  
+  arg1 = (short *)jarg1; 
+  arg2 = (float *)jarg2; 
+  arg3 = (int)jarg3; 
+  result = (int)switch_short_to_float(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_swap_linear(void * jarg1, int jarg2) {
+  int16_t *arg1 = (int16_t *) 0 ;
+  int arg2 ;
+  
+  arg1 = (int16_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  switch_swap_linear(arg1,arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_generate_sln_silence(void * jarg1, unsigned long jarg2, unsigned long jarg3) {
+  int16_t *arg1 = (int16_t *) 0 ;
+  uint32_t arg2 ;
+  uint32_t arg3 ;
+  
+  arg1 = (int16_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  switch_generate_sln_silence(arg1,arg2,arg3);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_change_sln_volume(void * jarg1, unsigned long jarg2, int jarg3) {
+  int16_t *arg1 = (int16_t *) 0 ;
+  uint32_t arg2 ;
+  int32_t arg3 ;
+  
+  arg1 = (int16_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  arg3 = (int32_t)jarg3; 
+  switch_change_sln_volume(arg1,arg2,arg3);
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_merge_sln(void * jarg1, unsigned long jarg2, void * jarg3, unsigned long jarg4) {
+  unsigned long jresult ;
+  int16_t *arg1 = (int16_t *) 0 ;
+  uint32_t arg2 ;
+  int16_t *arg3 = (int16_t *) 0 ;
+  uint32_t arg4 ;
+  uint32_t result;
+  
+  arg1 = (int16_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  arg3 = (int16_t *)jarg3; 
+  arg4 = (uint32_t)jarg4; 
+  result = (uint32_t)switch_merge_sln(arg1,arg2,arg3,arg4);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_session_set(void * jarg1, void * jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (switch_core_session_t *)jarg2; 
+  if (arg1) (arg1)->session = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_session_get(void * jarg1) {
+  void * jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_core_session_t *result = 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (switch_core_session_t *) ((arg1)->session);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_read_codec_set(void * jarg1, void * jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_codec_t *arg2 = (switch_codec_t *) 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (switch_codec_t *)jarg2; 
+  if (arg1) (arg1)->read_codec = *arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_read_codec_get(void * jarg1) {
+  void * jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_codec_t *result = 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (switch_codec_t *)& ((arg1)->read_codec);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_write_frame_set(void * jarg1, void * jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (switch_frame_t *)jarg2; 
+  if (arg1) (arg1)->write_frame = *arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_write_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_frame_t *result = 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (switch_frame_t *)& ((arg1)->write_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_write_frame_data_set(void * jarg1, void * jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_byte_t *arg2 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (switch_byte_t *)jarg2; 
+  {
+    size_t ii;
+    switch_byte_t *b = (switch_byte_t *) arg1->write_frame_data;
+    for (ii = 0; ii < (size_t)(2*32*(120+10)); ii++) b[ii] = *((switch_byte_t *) arg2 + ii);
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_write_frame_data_get(void * jarg1) {
+  void * jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_byte_t *result = 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (switch_byte_t *)(switch_byte_t *) ((arg1)->write_frame_data);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_socket_set(void * jarg1, void * jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_socket_t *arg2 = (switch_socket_t *) 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (switch_socket_t *)jarg2; 
+  if (arg1) (arg1)->socket = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_socket_get(void * jarg1) {
+  void * jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_socket_t *result = 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (switch_socket_t *) ((arg1)->socket);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_local_ip_set(void * jarg1, char * jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->local_ip) delete [] arg1->local_ip;
+    if (arg2) {
+      arg1->local_ip = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->local_ip, (const char *)arg2);
+    } else {
+      arg1->local_ip = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_unicast_conninfo_local_ip_get(void * jarg1) {
+  char * jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (char *) ((arg1)->local_ip);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_local_port_set(void * jarg1, unsigned short jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_port_t arg2 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (switch_port_t)jarg2; 
+  if (arg1) (arg1)->local_port = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_unicast_conninfo_local_port_get(void * jarg1) {
+  unsigned short jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_port_t result;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (switch_port_t) ((arg1)->local_port);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_remote_ip_set(void * jarg1, char * jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->remote_ip) delete [] arg1->remote_ip;
+    if (arg2) {
+      arg1->remote_ip = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->remote_ip, (const char *)arg2);
+    } else {
+      arg1->remote_ip = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_unicast_conninfo_remote_ip_get(void * jarg1) {
+  char * jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (char *) ((arg1)->remote_ip);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_remote_port_set(void * jarg1, unsigned short jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_port_t arg2 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (switch_port_t)jarg2; 
+  if (arg1) (arg1)->remote_port = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_unicast_conninfo_remote_port_get(void * jarg1) {
+  unsigned short jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_port_t result;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (switch_port_t) ((arg1)->remote_port);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_local_addr_set(void * jarg1, void * jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_sockaddr_t *arg2 = (switch_sockaddr_t *) 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (switch_sockaddr_t *)jarg2; 
+  if (arg1) (arg1)->local_addr = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_local_addr_get(void * jarg1) {
+  void * jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_sockaddr_t *result = 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (switch_sockaddr_t *) ((arg1)->local_addr);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_remote_addr_set(void * jarg1, void * jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_sockaddr_t *arg2 = (switch_sockaddr_t *) 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (switch_sockaddr_t *)jarg2; 
+  if (arg1) (arg1)->remote_addr = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_remote_addr_get(void * jarg1) {
+  void * jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_sockaddr_t *result = 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (switch_sockaddr_t *) ((arg1)->remote_addr);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_flag_mutex_set(void * jarg1, void * jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_mutex_t *arg2 = (switch_mutex_t *) 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (switch_mutex_t *)jarg2; 
+  if (arg1) (arg1)->flag_mutex = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_unicast_conninfo_flag_mutex_get(void * jarg1) {
+  void * jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  switch_mutex_t *result = 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (switch_mutex_t *) ((arg1)->flag_mutex);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_flags_set(void * jarg1, int jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  int32_t arg2 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (int32_t)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_unicast_conninfo_flags_get(void * jarg1) {
+  int jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  int32_t result;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (int32_t) ((arg1)->flags);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_type_set(void * jarg1, int jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->type = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_unicast_conninfo_type_get(void * jarg1) {
+  int jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  int result;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (int) ((arg1)->type);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_transport_set(void * jarg1, int jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->transport = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_unicast_conninfo_transport_get(void * jarg1) {
+  int jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  int result;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (int) ((arg1)->transport);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_unicast_conninfo_stream_id_set(void * jarg1, int jarg2) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->stream_id = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_unicast_conninfo_stream_id_get(void * jarg1) {
+  int jresult ;
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  int result;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  result = (int) ((arg1)->stream_id);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_unicast_conninfo() {
+  void * jresult ;
+  switch_unicast_conninfo *result = 0 ;
+  
+  result = (switch_unicast_conninfo *)new switch_unicast_conninfo();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_unicast_conninfo(void * jarg1) {
+  switch_unicast_conninfo *arg1 = (switch_unicast_conninfo *) 0 ;
+  
+  arg1 = (switch_unicast_conninfo *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_deactivate_unicast(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_ivr_deactivate_unicast(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_activate_unicast(void * jarg1, char * jarg2, unsigned short jarg3, char * jarg4, unsigned short jarg5, char * jarg6, char * jarg7) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_port_t arg3 ;
+  char *arg4 = (char *) 0 ;
+  switch_port_t arg5 ;
+  char *arg6 = (char *) 0 ;
+  char *arg7 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_port_t)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (switch_port_t)jarg5; 
+  arg6 = (char *)jarg6; 
+  arg7 = (char *)jarg7; 
+  result = (switch_status_t)switch_ivr_activate_unicast(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_generate_xml_cdr(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_xml_t *arg2 = (switch_xml_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_xml_t *)jarg2; 
+  result = (switch_status_t)switch_ivr_generate_xml_cdr(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_set_xml_profile_data(void * jarg1, void * jarg2, int jarg3) {
+  int jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  switch_caller_profile_t *arg2 = (switch_caller_profile_t *) 0 ;
+  int arg3 ;
+  int result;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  arg2 = (switch_caller_profile_t *)jarg2; 
+  arg3 = (int)jarg3; 
+  result = (int)switch_ivr_set_xml_profile_data(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_set_xml_chan_vars(void * jarg1, void * jarg2, int jarg3) {
+  int jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
+  int arg3 ;
+  int result;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  arg2 = (switch_channel_t *)jarg2; 
+  arg3 = (int)jarg3; 
+  result = (int)switch_ivr_set_xml_chan_vars(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_parse_event(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_event_t *arg2 = (switch_event_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_event_t *)jarg2; 
+  result = (switch_status_t)switch_ivr_parse_event(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_parse_all_events(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_ivr_parse_all_events(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_parse_next_event(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_ivr_parse_next_event(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_sleep(void * jarg1, unsigned long jarg2, void * jarg3) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  uint32_t arg2 ;
+  switch_input_args_t *arg3 = (switch_input_args_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  arg3 = (switch_input_args_t *)jarg3; 
+  result = (switch_status_t)switch_ivr_sleep(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_park(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_input_args_t *arg2 = (switch_input_args_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_input_args_t *)jarg2; 
+  result = (switch_status_t)switch_ivr_park(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_collect_digits_callback(void * jarg1, void * jarg2, unsigned long jarg3) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_input_args_t *arg2 = (switch_input_args_t *) 0 ;
+  uint32_t arg3 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_input_args_t *)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  result = (switch_status_t)switch_ivr_collect_digits_callback(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_collect_digits_count(void * jarg1, char * jarg2, void * jarg3, void * jarg4, char * jarg5, char * jarg6, unsigned long jarg7, unsigned long jarg8, unsigned long jarg9) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_size_t arg3 ;
+  switch_size_t arg4 ;
+  char *arg5 = (char *) 0 ;
+  char *arg6 = (char *) 0 ;
+  uint32_t arg7 ;
+  uint32_t arg8 ;
+  uint32_t arg9 ;
+  switch_status_t result;
+  switch_size_t *argp3 ;
+  switch_size_t *argp4 ;
+  
+  arg1 = (switch_core_session_t *)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; 
+  argp4 = (switch_size_t *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg4 = *argp4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (char *)jarg6; 
+  arg7 = (uint32_t)jarg7; 
+  arg8 = (uint32_t)jarg8; 
+  arg9 = (uint32_t)jarg9; 
+  result = (switch_status_t)switch_ivr_collect_digits_count(arg1,arg2,arg3,arg4,(char const *)arg5,arg6,arg7,arg8,arg9);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_detect_speech(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, void * jarg6) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  char *arg5 = (char *) 0 ;
+  switch_asr_handle_t *arg6 = (switch_asr_handle_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (switch_asr_handle_t *)jarg6; 
+  result = (switch_status_t)switch_ivr_detect_speech(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_stop_detect_speech(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_ivr_stop_detect_speech(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_pause_detect_speech(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_ivr_pause_detect_speech(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_resume_detect_speech(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_ivr_resume_detect_speech(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_detect_speech_load_grammar(void * jarg1, char * jarg2, char * jarg3) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_status_t)switch_ivr_detect_speech_load_grammar(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_detect_speech_unload_grammar(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_ivr_detect_speech_unload_grammar(arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_record_session(void * jarg1, char * jarg2, unsigned long jarg3, void * jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  uint32_t arg3 ;
+  switch_file_handle_t *arg4 = (switch_file_handle_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  arg4 = (switch_file_handle_t *)jarg4; 
+  result = (switch_status_t)switch_ivr_record_session(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_eavesdrop_session(void * jarg1, char * jarg2, char * jarg3, unsigned long jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_eavesdrop_flag_t arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (switch_eavesdrop_flag_t)jarg4; 
+  result = (switch_status_t)switch_ivr_eavesdrop_session(arg1,(char const *)arg2,(char const *)arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_displace_session(void * jarg1, char * jarg2, unsigned long jarg3, char * jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  uint32_t arg3 ;
+  char *arg4 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  arg4 = (char *)jarg4; 
+  result = (switch_status_t)switch_ivr_displace_session(arg1,(char const *)arg2,arg3,(char const *)arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_stop_displace_session(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_ivr_stop_displace_session(arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_stop_record_session(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_ivr_stop_record_session(arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_inband_dtmf_session(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_ivr_inband_dtmf_session(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_stop_inband_dtmf_session(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_ivr_stop_inband_dtmf_session(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_inband_dtmf_generate_session(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_inband_dtmf_generate_session(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_stop_inband_dtmf_generate_session(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_ivr_stop_inband_dtmf_generate_session(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_session_echo(void * jarg1, void * jarg2) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_input_args_t *arg2 = (switch_input_args_t *) 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_input_args_t *)jarg2; 
+  switch_ivr_session_echo(arg1,arg2);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_stop_tone_detect_session(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_ivr_stop_tone_detect_session(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_tone_detect_session(void * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, char * jarg6, char * jarg7) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  time_t arg5 ;
+  char *arg6 = (char *) 0 ;
+  char *arg7 = (char *) 0 ;
+  switch_status_t result;
+  time_t *argp5 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  argp5 = (time_t *)jarg5; 
+  if (!argp5) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
+    return 0;
+  }
+  arg5 = *argp5; 
+  arg6 = (char *)jarg6; 
+  arg7 = (char *)jarg7; 
+  result = (switch_status_t)switch_ivr_tone_detect_session(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,(char const *)arg6,(char const *)arg7);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_play_file(void * jarg1, void * jarg2, char * jarg3, void * jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_input_args_t *arg4 = (switch_input_args_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_file_handle_t *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (switch_input_args_t *)jarg4; 
+  result = (switch_status_t)switch_ivr_play_file(arg1,arg2,(char const *)arg3,arg4);
+  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 ;
+  uint32_t arg2 ;
+  uint32_t arg3 ;
+  uint32_t arg4 ;
+  uint32_t arg5 ;
+  char *arg6 = (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 = (uint32_t)jarg5; 
+  arg6 = (char *)jarg6; 
+  result = (switch_status_t)switch_ivr_wait_for_silence(arg1,arg2,arg3,arg4,arg5,(char const *)arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_gentones(void * jarg1, char * jarg2, int jarg3, void * jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int32_t arg3 ;
+  switch_input_args_t *arg4 = (switch_input_args_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (int32_t)jarg3; 
+  arg4 = (switch_input_args_t *)jarg4; 
+  result = (switch_status_t)switch_ivr_gentones(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_record_file(void * jarg1, void * jarg2, char * jarg3, void * jarg4, unsigned long jarg5) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_file_handle_t *arg2 = (switch_file_handle_t *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_input_args_t *arg4 = (switch_input_args_t *) 0 ;
+  uint32_t arg5 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_file_handle_t *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (switch_input_args_t *)jarg4; 
+  arg5 = (uint32_t)jarg5; 
+  result = (switch_status_t)switch_ivr_record_file(arg1,arg2,(char const *)arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_play_and_get_digits(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4, unsigned long jarg5, char * jarg6, char * jarg7, char * jarg8, void * jarg9, unsigned long jarg10, char * jarg11) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  uint32_t arg2 ;
+  uint32_t arg3 ;
+  uint32_t arg4 ;
+  uint32_t arg5 ;
+  char *arg6 = (char *) 0 ;
+  char *arg7 = (char *) 0 ;
+  char *arg8 = (char *) 0 ;
+  void *arg9 = (void *) 0 ;
+  uint32_t arg10 ;
+  char *arg11 = (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 = (uint32_t)jarg5; 
+  arg6 = (char *)jarg6; 
+  arg7 = (char *)jarg7; 
+  arg8 = (char *)jarg8; 
+  arg9 = (void *)jarg9; 
+  arg10 = (uint32_t)jarg10; 
+  arg11 = (char *)jarg11; 
+  result = (switch_status_t)switch_play_and_get_digits(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_speak_text_handle(void * jarg1, void * jarg2, void * jarg3, void * jarg4, char * jarg5, void * jarg6) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_speech_handle_t *arg2 = (switch_speech_handle_t *) 0 ;
+  switch_codec_t *arg3 = (switch_codec_t *) 0 ;
+  switch_timer_t *arg4 = (switch_timer_t *) 0 ;
+  char *arg5 = (char *) 0 ;
+  switch_input_args_t *arg6 = (switch_input_args_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_speech_handle_t *)jarg2; 
+  arg3 = (switch_codec_t *)jarg3; 
+  arg4 = (switch_timer_t *)jarg4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (switch_input_args_t *)jarg6; 
+  result = (switch_status_t)switch_ivr_speak_text_handle(arg1,arg2,arg3,arg4,arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_clear_speech_cache(void * jarg1) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  switch_ivr_clear_speech_cache(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_speak_text(void * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_input_args_t *arg5 = (switch_input_args_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (switch_input_args_t *)jarg5; 
+  result = (switch_status_t)switch_ivr_speak_text(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_originate(void * jarg1, void * jarg2, void * jarg3, char * jarg4, unsigned long jarg5, void * jarg6, char * jarg7, char * jarg8, void * jarg9, unsigned long jarg10) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_session_t **arg2 = (switch_core_session_t **) 0 ;
+  switch_call_cause_t *arg3 = (switch_call_cause_t *) 0 ;
+  char *arg4 = (char *) 0 ;
+  uint32_t arg5 ;
+  switch_state_handler_table_t *arg6 = (switch_state_handler_table_t *) 0 ;
+  char *arg7 = (char *) 0 ;
+  char *arg8 = (char *) 0 ;
+  switch_caller_profile_t *arg9 = (switch_caller_profile_t *) 0 ;
+  switch_originate_flag_t arg10 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_session_t **)jarg2; 
+  arg3 = (switch_call_cause_t *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (uint32_t)jarg5; 
+  arg6 = (switch_state_handler_table_t *)jarg6; 
+  arg7 = (char *)jarg7; 
+  arg8 = (char *)jarg8; 
+  arg9 = (switch_caller_profile_t *)jarg9; 
+  arg10 = (switch_originate_flag_t)jarg10; 
+  result = (switch_status_t)switch_ivr_originate(arg1,arg2,arg3,(char const *)arg4,arg5,(switch_state_handler_table const *)arg6,(char const *)arg7,(char const *)arg8,arg9,arg10);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_multi_threaded_bridge(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
+  switch_input_callback_function_t arg3 = (switch_input_callback_function_t) 0 ;
+  void *arg4 = (void *) 0 ;
+  void *arg5 = (void *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_session_t *)jarg2; 
+  arg3 = (switch_input_callback_function_t)jarg3; 
+  arg4 = (void *)jarg4; 
+  arg5 = (void *)jarg5; 
+  result = (switch_status_t)switch_ivr_multi_threaded_bridge(arg1,arg2,arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_signal_bridge(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_session_t *)jarg2; 
+  result = (switch_status_t)switch_ivr_signal_bridge(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_session_transfer(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  result = (switch_status_t)switch_ivr_session_transfer(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_ivr_schedule_transfer(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5) {
+  unsigned long jresult ;
+  time_t arg1 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  char *arg5 = (char *) 0 ;
+  uint32_t result;
+  time_t *argp1 ;
+  
+  argp1 = (time_t *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (char *)jarg5; 
+  result = (uint32_t)switch_ivr_schedule_transfer(arg1,(char const *)arg2,arg3,arg4,arg5);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_ivr_schedule_hangup(void * jarg1, char * jarg2, int jarg3, int jarg4) {
+  unsigned long jresult ;
+  time_t arg1 ;
+  char *arg2 = (char *) 0 ;
+  switch_call_cause_t arg3 ;
+  switch_bool_t arg4 ;
+  uint32_t result;
+  time_t *argp1 ;
+  
+  argp1 = (time_t *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_call_cause_t)jarg3; 
+  arg4 = (switch_bool_t)jarg4; 
+  result = (uint32_t)switch_ivr_schedule_hangup(arg1,(char const *)arg2,arg3,arg4);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_uuid_bridge(char * jarg1, char * jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_ivr_uuid_bridge((char const *)arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_media(char * jarg1, unsigned long jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_media_flag_t arg2 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_media_flag_t)jarg2; 
+  result = (switch_status_t)switch_ivr_media((char const *)arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_nomedia(char * jarg1, unsigned long jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_media_flag_t arg2 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_media_flag_t)jarg2; 
+  result = (switch_status_t)switch_ivr_nomedia((char const *)arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_hold_uuid(char * jarg1, char * jarg2, int jarg3) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_bool_t arg3 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_bool_t)jarg3; 
+  result = (switch_status_t)switch_ivr_hold_uuid((char const *)arg1,(char const *)arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_unhold_uuid(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_status_t)switch_ivr_unhold_uuid((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_hold(void * jarg1, char * jarg2, int jarg3) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_bool_t arg3 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_bool_t)jarg3; 
+  result = (switch_status_t)switch_ivr_hold(arg1,(char const *)arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_unhold(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_ivr_unhold(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_ivr_schedule_broadcast(void * jarg1, char * jarg2, char * jarg3, unsigned long jarg4) {
+  unsigned long jresult ;
+  time_t arg1 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_media_flag_t arg4 ;
+  uint32_t result;
+  time_t *argp1 ;
+  
+  argp1 = (time_t *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (switch_media_flag_t)jarg4; 
+  result = (uint32_t)switch_ivr_schedule_broadcast(arg1,arg2,arg3,arg4);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_broadcast(char * jarg1, char * jarg2, unsigned long jarg3) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_media_flag_t arg3 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_media_flag_t)jarg3; 
+  result = (switch_status_t)switch_ivr_broadcast((char const *)arg1,(char const *)arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_transfer_variable(void * jarg1, void * jarg2, char * jarg3) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_session_t *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_status_t)switch_ivr_transfer_variable(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_parser_new(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  switch_ivr_digit_stream_parser_t **arg2 = (switch_ivr_digit_stream_parser_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  arg2 = (switch_ivr_digit_stream_parser_t **)jarg2; 
+  result = (switch_status_t)switch_ivr_digit_stream_parser_new(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_parser_destroy(void * jarg1) {
+  int jresult ;
+  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
+  result = (switch_status_t)switch_ivr_digit_stream_parser_destroy(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_new(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
+  switch_ivr_digit_stream_t **arg2 = (switch_ivr_digit_stream_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
+  arg2 = (switch_ivr_digit_stream_t **)jarg2; 
+  result = (switch_status_t)switch_ivr_digit_stream_new(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_destroy(void * jarg1) {
+  int jresult ;
+  switch_ivr_digit_stream_t *arg1 = (switch_ivr_digit_stream_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_digit_stream_t *)jarg1; 
+  result = (switch_status_t)switch_ivr_digit_stream_destroy(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_parser_set_event(void * jarg1, char * jarg2, void * jarg3) {
+  int jresult ;
+  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  void *arg3 = (void *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (void *)jarg3; 
+  result = (switch_status_t)switch_ivr_digit_stream_parser_set_event(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_parser_del_event(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_ivr_digit_stream_parser_del_event(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_ivr_digit_stream_parser_feed(void * jarg1, void * jarg2, char jarg3) {
+  void * jresult ;
+  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
+  switch_ivr_digit_stream_t *arg2 = (switch_ivr_digit_stream_t *) 0 ;
+  char arg3 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
+  arg2 = (switch_ivr_digit_stream_t *)jarg2; 
+  arg3 = (char)jarg3; 
+  result = (void *)switch_ivr_digit_stream_parser_feed(arg1,arg2,arg3);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_reset(void * jarg1) {
+  int jresult ;
+  switch_ivr_digit_stream_t *arg1 = (switch_ivr_digit_stream_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_digit_stream_t *)jarg1; 
+  result = (switch_status_t)switch_ivr_digit_stream_reset(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_digit_stream_parser_set_terminator(void * jarg1, char jarg2) {
+  int jresult ;
+  switch_ivr_digit_stream_parser_t *arg1 = (switch_ivr_digit_stream_parser_t *) 0 ;
+  char arg2 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_digit_stream_parser_t *)jarg1; 
+  arg2 = (char)jarg2; 
+  result = (switch_status_t)switch_ivr_digit_stream_parser_set_terminator(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_init(void * jarg1, void * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14, int jarg15, void * jarg16) {
+  int jresult ;
+  switch_ivr_menu_t **arg1 = (switch_ivr_menu_t **) 0 ;
+  switch_ivr_menu_t *arg2 = (switch_ivr_menu_t *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  char *arg5 = (char *) 0 ;
+  char *arg6 = (char *) 0 ;
+  char *arg7 = (char *) 0 ;
+  char *arg8 = (char *) 0 ;
+  char *arg9 = (char *) 0 ;
+  int arg10 ;
+  int arg11 ;
+  int arg12 ;
+  int arg13 ;
+  int arg14 ;
+  int arg15 ;
+  switch_memory_pool_t *arg16 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_menu_t **)jarg1; 
+  arg2 = (switch_ivr_menu_t *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (char *)jarg6; 
+  arg7 = (char *)jarg7; 
+  arg8 = (char *)jarg8; 
+  arg9 = (char *)jarg9; 
+  arg10 = (int)jarg10; 
+  arg11 = (int)jarg11; 
+  arg12 = (int)jarg12; 
+  arg13 = (int)jarg13; 
+  arg14 = (int)jarg14; 
+  arg15 = (int)jarg15; 
+  arg16 = (switch_memory_pool_t *)jarg16; 
+  result = (switch_status_t)switch_ivr_menu_init(arg1,arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,(char const *)arg9,arg10,arg11,arg12,arg13,arg14,arg15,arg16);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_bind_action(void * jarg1, int jarg2, char * jarg3, char * jarg4) {
+  int jresult ;
+  switch_ivr_menu_t *arg1 = (switch_ivr_menu_t *) 0 ;
+  switch_ivr_action_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_menu_t *)jarg1; 
+  arg2 = (switch_ivr_action_t)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  result = (switch_status_t)switch_ivr_menu_bind_action(arg1,arg2,(char const *)arg3,(char const *)arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_bind_function(void * jarg1, void * jarg2, char * jarg3, char * jarg4) {
+  int jresult ;
+  switch_ivr_menu_t *arg1 = (switch_ivr_menu_t *) 0 ;
+  switch_ivr_menu_action_function_t *arg2 = (switch_ivr_menu_action_function_t *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_menu_t *)jarg1; 
+  arg2 = (switch_ivr_menu_action_function_t *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  result = (switch_status_t)switch_ivr_menu_bind_function(arg1,arg2,(char const *)arg3,(char const *)arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_execute(void * jarg1, void * jarg2, char * jarg3, void * jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_ivr_menu_t *arg2 = (switch_ivr_menu_t *) 0 ;
+  char *arg3 = (char *) 0 ;
+  void *arg4 = (void *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_ivr_menu_t *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (void *)jarg4; 
+  result = (switch_status_t)switch_ivr_menu_execute(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_stack_free(void * jarg1) {
+  int jresult ;
+  switch_ivr_menu_t *arg1 = (switch_ivr_menu_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_menu_t *)jarg1; 
+  result = (switch_status_t)switch_ivr_menu_stack_free(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_stack_xml_build(void * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  int jresult ;
+  switch_ivr_menu_xml_ctx_t *arg1 = (switch_ivr_menu_xml_ctx_t *) 0 ;
+  switch_ivr_menu_t **arg2 = (switch_ivr_menu_t **) 0 ;
+  switch_xml_t arg3 = (switch_xml_t) 0 ;
+  switch_xml_t arg4 = (switch_xml_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_menu_xml_ctx_t *)jarg1; 
+  arg2 = (switch_ivr_menu_t **)jarg2; 
+  arg3 = (switch_xml_t)jarg3; 
+  arg4 = (switch_xml_t)jarg4; 
+  result = (switch_status_t)switch_ivr_menu_stack_xml_build(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_str2action(char * jarg1, void * jarg2) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_ivr_action_t *arg2 = (switch_ivr_action_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_ivr_action_t *)jarg2; 
+  result = (switch_status_t)switch_ivr_menu_str2action((char const *)arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_stack_xml_add_custom(void * jarg1, char * jarg2, void * jarg3) {
+  int jresult ;
+  switch_ivr_menu_xml_ctx_t *arg1 = (switch_ivr_menu_xml_ctx_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_ivr_menu_action_function_t *arg3 = (switch_ivr_menu_action_function_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_menu_xml_ctx_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_ivr_menu_action_function_t *)jarg3; 
+  result = (switch_status_t)switch_ivr_menu_stack_xml_add_custom(arg1,(char const *)arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_menu_stack_xml_init(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_ivr_menu_xml_ctx_t **arg1 = (switch_ivr_menu_xml_ctx_t **) 0 ;
+  switch_memory_pool_t *arg2 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_ivr_menu_xml_ctx_t **)jarg1; 
+  arg2 = (switch_memory_pool_t *)jarg2; 
+  result = (switch_status_t)switch_ivr_menu_stack_xml_init(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_phrase_macro(void * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_input_args_t *arg5 = (switch_input_args_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (switch_input_args_t *)jarg5; 
+  result = (switch_status_t)switch_ivr_phrase_macro(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_delay_echo(void * jarg1, unsigned long jarg2) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  switch_ivr_delay_echo(arg1,arg2);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_find_bridged_uuid(char * jarg1, char * jarg2, void * jarg3) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_size_t arg3 ;
+  switch_status_t result;
+  switch_size_t *argp3 ;
+  
+  arg1 = (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 = (switch_status_t)switch_ivr_find_bridged_uuid((char const *)arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_intercept_session(void * jarg1, char * jarg2, int jarg3) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_bool_t arg3 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_bool_t)jarg3; 
+  switch_ivr_intercept_session(arg1,(char const *)arg2,arg3);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_ivr_park_session(void * jarg1) {
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  switch_ivr_park_session(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_wait_for_answer(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_core_session_t *)jarg2; 
+  result = (switch_status_t)switch_ivr_wait_for_answer(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_read(void * jarg1, unsigned long jarg2, unsigned long jarg3, char * jarg4, char * jarg5, char * jarg6, void * jarg7, unsigned long jarg8, char * jarg9) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  uint32_t arg2 ;
+  uint32_t arg3 ;
+  char *arg4 = (char *) 0 ;
+  char *arg5 = (char *) 0 ;
+  char *arg6 = (char *) 0 ;
+  switch_size_t arg7 ;
+  uint32_t arg8 ;
+  char *arg9 = (char *) 0 ;
+  switch_status_t result;
+  switch_size_t *argp7 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (char *)jarg6; 
+  argp7 = (switch_size_t *)jarg7; 
+  if (!argp7) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg7 = *argp7; 
+  arg8 = (uint32_t)jarg8; 
+  arg9 = (char *)jarg9; 
+  result = (switch_status_t)switch_ivr_read(arg1,arg2,arg3,(char const *)arg4,(char const *)arg5,arg6,arg7,arg8,(char const *)arg9);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_bind_dtmf_meta_session(void * jarg1, unsigned long jarg2, unsigned long jarg3, char * jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  uint32_t arg2 ;
+  switch_bind_flag_t arg3 ;
+  char *arg4 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  arg3 = (switch_bind_flag_t)jarg3; 
+  arg4 = (char *)jarg4; 
+  result = (switch_status_t)switch_ivr_bind_dtmf_meta_session(arg1,arg2,arg3,(char const *)arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_unbind_dtmf_meta_session(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_ivr_unbind_dtmf_meta_session(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_soft_hold(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  result = (switch_status_t)switch_ivr_soft_hold(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_say(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, void * jarg6) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  char *arg5 = (char *) 0 ;
+  switch_input_args_t *arg6 = (switch_input_args_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (switch_input_args_t *)jarg6; 
+  result = (switch_status_t)switch_ivr_say(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_get_say_method_by_name(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_say_method_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_say_method_t)switch_ivr_get_say_method_by_name((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_get_say_type_by_name(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_say_type_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_say_type_t)switch_ivr_get_say_type_by_name((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_set_user(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_status_t)switch_ivr_set_user(arg1,(char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTP_MAX_BUF_LEN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 16384;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTP_MAX_CRYPTO_LEN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 64;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTP_KEY_LEN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 30;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_RTP_CRYPTO_KEY_32_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "AES_CM_128_HMAC_SHA1_32";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_SWITCH_RTP_CRYPTO_KEY_80_get() {
+  char * jresult ;
+  char *result = 0 ;
+  
+  result = (char *) "AES_CM_128_HMAC_SHA1_80";
+  
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_crypto_key_index_set(void * jarg1, unsigned long jarg2) {
+  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_rtp_crypto_key *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->index = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_rtp_crypto_key_index_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_rtp_crypto_key *)jarg1; 
+  result = (uint32_t) ((arg1)->index);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_crypto_key_type_set(void * jarg1, int jarg2) {
+  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
+  switch_rtp_crypto_key_type_t arg2 ;
+  
+  arg1 = (switch_rtp_crypto_key *)jarg1; 
+  arg2 = (switch_rtp_crypto_key_type_t)jarg2; 
+  if (arg1) (arg1)->type = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_crypto_key_type_get(void * jarg1) {
+  int jresult ;
+  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
+  switch_rtp_crypto_key_type_t result;
+  
+  arg1 = (switch_rtp_crypto_key *)jarg1; 
+  result = (switch_rtp_crypto_key_type_t) ((arg1)->type);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_crypto_key_key_set(void * jarg1, void * jarg2) {
+  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
+  unsigned char *arg2 ;
+  
+  arg1 = (switch_rtp_crypto_key *)jarg1; 
+  arg2 = (unsigned char *)jarg2; 
+  {
+    size_t ii;
+    unsigned char *b = (unsigned char *) arg1->key;
+    for (ii = 0; ii < (size_t)64; ii++) b[ii] = *((unsigned char *) arg2 + ii);
+  }
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_crypto_key_key_get(void * jarg1) {
+  void * jresult ;
+  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
+  unsigned char *result = 0 ;
+  
+  arg1 = (switch_rtp_crypto_key *)jarg1; 
+  result = (unsigned char *)(unsigned char *) ((arg1)->key);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_crypto_key_keylen_set(void * jarg1, void * jarg2) {
+  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_rtp_crypto_key *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->keylen = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_crypto_key_keylen_get(void * jarg1) {
+  void * jresult ;
+  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_rtp_crypto_key *)jarg1; 
+  result =  ((arg1)->keylen);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_crypto_key_next_set(void * jarg1, void * jarg2) {
+  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
+  switch_rtp_crypto_key *arg2 = (switch_rtp_crypto_key *) 0 ;
+  
+  arg1 = (switch_rtp_crypto_key *)jarg1; 
+  arg2 = (switch_rtp_crypto_key *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_crypto_key_next_get(void * jarg1) {
+  void * jresult ;
+  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
+  switch_rtp_crypto_key *result = 0 ;
+  
+  arg1 = (switch_rtp_crypto_key *)jarg1; 
+  result = (switch_rtp_crypto_key *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_rtp_crypto_key() {
+  void * jresult ;
+  switch_rtp_crypto_key *result = 0 ;
+  
+  result = (switch_rtp_crypto_key *)new switch_rtp_crypto_key();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_rtp_crypto_key(void * jarg1) {
+  switch_rtp_crypto_key *arg1 = (switch_rtp_crypto_key *) 0 ;
+  
+  arg1 = (switch_rtp_crypto_key *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_add_crypto_key(void * jarg1, int jarg2, unsigned long jarg3, int jarg4, void * jarg5, void * jarg6) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_rtp_crypto_direction_t arg2 ;
+  uint32_t arg3 ;
+  switch_rtp_crypto_key_type_t arg4 ;
+  unsigned char *arg5 = (unsigned char *) 0 ;
+  switch_size_t arg6 ;
+  switch_status_t result;
+  switch_size_t *argp6 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_rtp_crypto_direction_t)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  arg4 = (switch_rtp_crypto_key_type_t)jarg4; 
+  arg5 = (unsigned char *)jarg5; 
+  argp6 = (switch_size_t *)jarg6; 
+  if (!argp6) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg6 = *argp6; 
+  result = (switch_status_t)switch_rtp_add_crypto_key(arg1,arg2,arg3,arg4,arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_get_random(void * jarg1, unsigned long jarg2) {
+  void *arg1 = (void *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (void *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  switch_rtp_get_random(arg1,arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_init(void * jarg1) {
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  switch_rtp_init(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_shutdown() {
+  switch_rtp_shutdown();
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_rtp_set_start_port(unsigned short jarg1) {
+  unsigned short jresult ;
+  switch_port_t arg1 ;
+  switch_port_t result;
+  
+  arg1 = (switch_port_t)jarg1; 
+  result = (switch_port_t)switch_rtp_set_start_port(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_rtp_set_end_port(unsigned short jarg1) {
+  unsigned short jresult ;
+  switch_port_t arg1 ;
+  switch_port_t result;
+  
+  arg1 = (switch_port_t)jarg1; 
+  result = (switch_port_t)switch_rtp_set_end_port(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_rtp_request_port(char * jarg1) {
+  unsigned short jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_port_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_port_t)switch_rtp_request_port((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_release_port(char * jarg1, unsigned short jarg2) {
+  char *arg1 = (char *) 0 ;
+  switch_port_t arg2 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_port_t)jarg2; 
+  switch_rtp_release_port((char const *)arg1,arg2);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_create(void * jarg1, unsigned char jarg2, unsigned long jarg3, unsigned long jarg4, unsigned long jarg5, char * jarg6, void * jarg7, void * jarg8) {
+  int jresult ;
+  switch_rtp_t **arg1 = (switch_rtp_t **) 0 ;
+  switch_payload_t arg2 ;
+  uint32_t arg3 ;
+  uint32_t arg4 ;
+  switch_rtp_flag_t arg5 ;
+  char *arg6 = (char *) 0 ;
+  char **arg7 = (char **) 0 ;
+  switch_memory_pool_t *arg8 = (switch_memory_pool_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t **)jarg1; 
+  arg2 = (switch_payload_t)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  arg4 = (uint32_t)jarg4; 
+  arg5 = (switch_rtp_flag_t)jarg5; 
+  arg6 = (char *)jarg6; 
+  arg7 = (char **)jarg7; 
+  arg8 = (switch_memory_pool_t *)jarg8; 
+  result = (switch_status_t)switch_rtp_create(arg1,arg2,arg3,arg4,arg5,arg6,(char const **)arg7,arg8);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_new(char * jarg1, unsigned short jarg2, char * jarg3, unsigned short jarg4, unsigned char jarg5, unsigned long jarg6, unsigned long jarg7, unsigned long jarg8, char * jarg9, void * jarg10, void * jarg11) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_port_t arg2 ;
+  char *arg3 = (char *) 0 ;
+  switch_port_t arg4 ;
+  switch_payload_t arg5 ;
+  uint32_t arg6 ;
+  uint32_t arg7 ;
+  switch_rtp_flag_t arg8 ;
+  char *arg9 = (char *) 0 ;
+  char **arg10 = (char **) 0 ;
+  switch_memory_pool_t *arg11 = (switch_memory_pool_t *) 0 ;
+  switch_rtp_t *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_port_t)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (switch_port_t)jarg4; 
+  arg5 = (switch_payload_t)jarg5; 
+  arg6 = (uint32_t)jarg6; 
+  arg7 = (uint32_t)jarg7; 
+  arg8 = (switch_rtp_flag_t)jarg8; 
+  arg9 = (char *)jarg9; 
+  arg10 = (char **)jarg10; 
+  arg11 = (switch_memory_pool_t *)jarg11; 
+  result = (switch_rtp_t *)switch_rtp_new((char const *)arg1,arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8,arg9,(char const **)arg10,arg11);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_set_remote_address(void * jarg1, char * jarg2, unsigned short jarg3, int jarg4, void * jarg5) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_port_t arg3 ;
+  switch_bool_t arg4 ;
+  char **arg5 = (char **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_port_t)jarg3; 
+  arg4 = (switch_bool_t)jarg4; 
+  arg5 = (char **)jarg5; 
+  result = (switch_status_t)switch_rtp_set_remote_address(arg1,(char const *)arg2,arg3,arg4,(char const **)arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_rtp_get_remote_host(void * jarg1) {
+  char * jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  result = (char *)switch_rtp_get_remote_host(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned short SWIGSTDCALL CSharp_switch_rtp_get_remote_port(void * jarg1) {
+  unsigned short jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_port_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  result = (switch_port_t)switch_rtp_get_remote_port(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_max_missed_packets(void * jarg1, unsigned long jarg2) {
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  switch_rtp_set_max_missed_packets(arg1,arg2);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_set_local_address(void * jarg1, char * jarg2, unsigned short jarg3, void * jarg4) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_port_t arg3 ;
+  char **arg4 = (char **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_port_t)jarg3; 
+  arg4 = (char **)jarg4; 
+  result = (switch_status_t)switch_rtp_set_local_address(arg1,(char const *)arg2,arg3,(char const **)arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_kill_socket(void * jarg1) {
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  switch_rtp_kill_socket(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_break(void * jarg1) {
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  switch_rtp_break(arg1);
+}
+
+
+SWIGEXPORT unsigned char SWIGSTDCALL CSharp_switch_rtp_ready(void * jarg1) {
+  unsigned char jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  uint8_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  result = (uint8_t)switch_rtp_ready(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_destroy(void * jarg1) {
+  switch_rtp_t **arg1 = (switch_rtp_t **) 0 ;
+  
+  arg1 = (switch_rtp_t **)jarg1; 
+  switch_rtp_destroy(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_activate_ice(void * jarg1, char * jarg2, char * jarg3) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_status_t)switch_rtp_activate_ice(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_activate_jitter_buffer(void * jarg1, unsigned long jarg2) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  uint32_t arg2 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  result = (switch_status_t)switch_rtp_activate_jitter_buffer(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_flag(void * jarg1, unsigned long jarg2) {
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_rtp_flag_t arg2 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_rtp_flag_t)jarg2; 
+  switch_rtp_set_flag(arg1,arg2);
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_rtp_test_flag(void * jarg1, unsigned long jarg2) {
+  unsigned long jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_rtp_flag_t arg2 ;
+  uint32_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_rtp_flag_t)jarg2; 
+  result = (uint32_t)switch_rtp_test_flag(arg1,arg2);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_clear_flag(void * jarg1, unsigned long jarg2) {
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_rtp_flag_t arg2 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_rtp_flag_t)jarg2; 
+  switch_rtp_clear_flag(arg1,arg2);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_get_rtp_socket(void * jarg1) {
+  void * jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_socket_t *result = 0 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  result = (switch_socket_t *)switch_rtp_get_rtp_socket(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_default_samples_per_interval(void * jarg1, unsigned short jarg2) {
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  uint16_t arg2 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (uint16_t)jarg2; 
+  switch_rtp_set_default_samples_per_interval(arg1,arg2);
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_rtp_get_default_samples_per_interval(void * jarg1) {
+  unsigned long jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  result = (uint32_t)switch_rtp_get_default_samples_per_interval(arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_default_payload(void * jarg1, unsigned char jarg2) {
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_payload_t arg2 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_payload_t)jarg2; 
+  switch_rtp_set_default_payload(arg1,arg2);
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_rtp_get_default_payload(void * jarg1) {
+  unsigned long jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  result = (uint32_t)switch_rtp_get_default_payload(arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_invald_handler(void * jarg1, void * jarg2) {
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_rtp_invalid_handler_t arg2 = (switch_rtp_invalid_handler_t) 0 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_rtp_invalid_handler_t)jarg2; 
+  switch_rtp_set_invald_handler(arg1,arg2);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_read(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5, unsigned long jarg6) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  uint32_t *arg3 = (uint32_t *) 0 ;
+  switch_payload_t *arg4 = (switch_payload_t *) 0 ;
+  switch_frame_flag_t *arg5 = (switch_frame_flag_t *) 0 ;
+  switch_io_flag_t arg6 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  arg3 = (uint32_t *)jarg3; 
+  arg4 = (switch_payload_t *)jarg4; 
+  arg5 = (switch_frame_flag_t *)jarg5; 
+  arg6 = (switch_io_flag_t)jarg6; 
+  result = (switch_status_t)switch_rtp_read(arg1,arg2,arg3,arg4,arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_queue_rfc2833(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_dtmf_t *)jarg2; 
+  result = (switch_status_t)switch_rtp_queue_rfc2833(arg1,(switch_dtmf_t const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_queue_rfc2833_in(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_dtmf_t *)jarg2; 
+  result = (switch_status_t)switch_rtp_queue_rfc2833_in(arg1,(switch_dtmf_t const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_has_dtmf(void * jarg1) {
+  void * jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  result = switch_rtp_has_dtmf(arg1);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_dequeue_dtmf(void * jarg1, void * jarg2) {
+  void * jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_dtmf_t *arg2 = (switch_dtmf_t *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_dtmf_t *)jarg2; 
+  result = switch_rtp_dequeue_dtmf(arg1,arg2);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_zerocopy_read(void * jarg1, void * jarg2, void * jarg3, void * jarg4, void * jarg5, unsigned long jarg6) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  void **arg2 = (void **) 0 ;
+  uint32_t *arg3 = (uint32_t *) 0 ;
+  switch_payload_t *arg4 = (switch_payload_t *) 0 ;
+  switch_frame_flag_t *arg5 = (switch_frame_flag_t *) 0 ;
+  switch_io_flag_t arg6 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (void **)jarg2; 
+  arg3 = (uint32_t *)jarg3; 
+  arg4 = (switch_payload_t *)jarg4; 
+  arg5 = (switch_frame_flag_t *)jarg5; 
+  arg6 = (switch_io_flag_t)jarg6; 
+  result = (switch_status_t)switch_rtp_zerocopy_read(arg1,arg2,arg3,arg4,arg5,arg6);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_zerocopy_read_frame(void * jarg1, void * jarg2, unsigned long jarg3) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
+  switch_io_flag_t arg3 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_frame_t *)jarg2; 
+  arg3 = (switch_io_flag_t)jarg3; 
+  result = (switch_status_t)switch_rtp_zerocopy_read_frame(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_enable_vad(void * jarg1, void * jarg2, void * jarg3, unsigned long jarg4) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
+  switch_codec_t *arg3 = (switch_codec_t *) 0 ;
+  switch_vad_flag_t arg4 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_core_session_t *)jarg2; 
+  arg3 = (switch_codec_t *)jarg3; 
+  arg4 = (switch_vad_flag_t)jarg4; 
+  result = (switch_status_t)switch_rtp_enable_vad(arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_disable_vad(void * jarg1) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  result = (switch_status_t)switch_rtp_disable_vad(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_write_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_frame_t *arg2 = (switch_frame_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_frame_t *)jarg2; 
+  result = (int)switch_rtp_write_frame(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_write_manual(void * jarg1, void * jarg2, unsigned long jarg3, unsigned char jarg4, unsigned char jarg5, unsigned long jarg6, void * jarg7) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  uint32_t arg3 ;
+  uint8_t arg4 ;
+  switch_payload_t arg5 ;
+  uint32_t arg6 ;
+  switch_frame_flag_t *arg7 = (switch_frame_flag_t *) 0 ;
+  int result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  arg3 = (uint32_t)jarg3; 
+  arg4 = (uint8_t)jarg4; 
+  arg5 = (switch_payload_t)jarg5; 
+  arg6 = (uint32_t)jarg6; 
+  arg7 = (switch_frame_flag_t *)jarg7; 
+  result = (int)switch_rtp_write_manual(arg1,arg2,arg3,arg4,arg5,arg6,arg7);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_rtp_get_ssrc(void * jarg1) {
+  unsigned long jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  result = (uint32_t)switch_rtp_get_ssrc(arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_private(void * jarg1, void * jarg2) {
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  switch_rtp_set_private(arg1,arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_telephony_event(void * jarg1, unsigned char jarg2) {
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_payload_t arg2 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_payload_t)jarg2; 
+  switch_rtp_set_telephony_event(arg1,arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtp_set_cng_pt(void * jarg1, unsigned char jarg2) {
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_payload_t arg2 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_payload_t)jarg2; 
+  switch_rtp_set_cng_pt(arg1,arg2);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_rtp_get_private(void * jarg1) {
+  void * jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  result = (void *)switch_rtp_get_private(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_activate_stun_ping(void * jarg1, char * jarg2, unsigned short jarg3, unsigned long jarg4, int jarg5) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_port_t arg3 ;
+  uint32_t arg4 ;
+  switch_bool_t arg5 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (switch_port_t)jarg3; 
+  arg4 = (uint32_t)jarg4; 
+  arg5 = (switch_bool_t)jarg5; 
+  result = (switch_status_t)switch_rtp_activate_stun_ping(arg1,(char const *)arg2,arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_data_set(void * jarg1, char * jarg2) {
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->data) delete [] arg1->data;
+    if (arg2) {
+      arg1->data = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->data, (const char *)arg2);
+    } else {
+      arg1->data = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_log_node_t_data_get(void * jarg1) {
+  char * jresult ;
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  result = (char *) ((arg1)->data);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_file_set(void * jarg1, char * jarg2) {
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  char *arg2 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) strncpy((char *)arg1->file, (const char *)arg2, 80);
+    else arg1->file[0] = 0;
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_log_node_t_file_get(void * jarg1) {
+  char * jresult ;
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  result = (char *)(char *) ((arg1)->file);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_line_set(void * jarg1, unsigned long jarg2) {
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->line = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_log_node_t_line_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  result = (uint32_t) ((arg1)->line);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_func_set(void * jarg1, char * jarg2) {
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  char *arg2 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) strncpy((char *)arg1->func, (const char *)arg2, 80);
+    else arg1->func[0] = 0;
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_log_node_t_func_get(void * jarg1) {
+  char * jresult ;
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  result = (char *)(char *) ((arg1)->func);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_level_set(void * jarg1, int jarg2) {
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  switch_log_level_t arg2 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  arg2 = (switch_log_level_t)jarg2; 
+  if (arg1) (arg1)->level = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_node_t_level_get(void * jarg1) {
+  int jresult ;
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  switch_log_level_t result;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  result = (switch_log_level_t) ((arg1)->level);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_timestamp_set(void * jarg1, void * jarg2) {
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  switch_time_t arg2 ;
+  switch_time_t *argp2 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  argp2 = (switch_time_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_time_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->timestamp = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_log_node_t_timestamp_get(void * jarg1) {
+  void * jresult ;
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  switch_time_t result;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  result =  ((arg1)->timestamp);
+  jresult = new switch_time_t((switch_time_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_content_set(void * jarg1, char * jarg2) {
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->content) delete [] arg1->content;
+    if (arg2) {
+      arg1->content = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->content, (const char *)arg2);
+    } else {
+      arg1->content = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_log_node_t_content_get(void * jarg1) {
+  char * jresult ;
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  result = (char *) ((arg1)->content);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_log_node_t_userdata_set(void * jarg1, char * jarg2) {
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) {
+      arg1->userdata = (char const *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->userdata, (const char *)arg2);
+    } else {
+      arg1->userdata = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_log_node_t_userdata_get(void * jarg1) {
+  char * jresult ;
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  result = (char *) ((arg1)->userdata);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_log_node_t() {
+  void * jresult ;
+  switch_log_node_t *result = 0 ;
+  
+  result = (switch_log_node_t *)new switch_log_node_t();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_log_node_t(void * jarg1) {
+  switch_log_node_t *arg1 = (switch_log_node_t *) 0 ;
+  
+  arg1 = (switch_log_node_t *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_init(void * jarg1, int jarg2) {
+  int jresult ;
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  switch_bool_t arg2 ;
+  switch_status_t result;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  arg2 = (switch_bool_t)jarg2; 
+  result = (switch_status_t)switch_log_init(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_shutdown() {
+  int jresult ;
+  switch_status_t result;
+  
+  result = (switch_status_t)switch_log_shutdown();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_bind_logger(void * jarg1, int jarg2, int jarg3) {
+  int jresult ;
+  switch_log_function_t arg1 = (switch_log_function_t) 0 ;
+  switch_log_level_t arg2 ;
+  switch_bool_t arg3 ;
+  switch_status_t result;
+  
+  arg1 = (switch_log_function_t)jarg1; 
+  arg2 = (switch_log_level_t)jarg2; 
+  arg3 = (switch_bool_t)jarg3; 
+  result = (switch_status_t)switch_log_bind_logger(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_unbind_logger(void * jarg1) {
+  int jresult ;
+  switch_log_function_t arg1 = (switch_log_function_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_log_function_t)jarg1; 
+  result = (switch_status_t)switch_log_unbind_logger(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_log_level2str(int jarg1) {
+  char * jresult ;
+  switch_log_level_t arg1 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_log_level_t)jarg1; 
+  result = (char *)switch_log_level2str(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_log_str2level(char * jarg1) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_log_level_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_log_level_t)switch_log_str2level((char const *)arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_log_str2mask(char * jarg1) {
+  unsigned long jresult ;
+  char *arg1 = (char *) 0 ;
+  uint32_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (uint32_t)switch_log_str2mask((char const *)arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_XML_BUFSIZE_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 1024;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_name_set(void * jarg1, char * jarg2) {
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->name) delete [] arg1->name;
+    if (arg2) {
+      arg1->name = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->name, (const char *)arg2);
+    } else {
+      arg1->name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_name_get(void * jarg1) {
+  char * jresult ;
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  result = (char *) ((arg1)->name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_attr_set(void * jarg1, void * jarg2) {
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  char **arg2 = (char **) 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  arg2 = (char **)jarg2; 
+  if (arg1) (arg1)->attr = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_attr_get(void * jarg1) {
+  void * jresult ;
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  char **result = 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  result = (char **) ((arg1)->attr);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_txt_set(void * jarg1, char * jarg2) {
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->txt) delete [] arg1->txt;
+    if (arg2) {
+      arg1->txt = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->txt, (const char *)arg2);
+    } else {
+      arg1->txt = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_txt_get(void * jarg1) {
+  char * jresult ;
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  result = (char *) ((arg1)->txt);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_free_path_set(void * jarg1, char * jarg2) {
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->free_path) delete [] arg1->free_path;
+    if (arg2) {
+      arg1->free_path = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->free_path, (const char *)arg2);
+    } else {
+      arg1->free_path = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_free_path_get(void * jarg1) {
+  char * jresult ;
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  result = (char *) ((arg1)->free_path);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_off_set(void * jarg1, void * jarg2) {
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  switch_size_t arg2 ;
+  switch_size_t *argp2 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return ;
+  }
+  arg2 = *argp2; 
+  if (arg1) (arg1)->off = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_off_get(void * jarg1) {
+  void * jresult ;
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  switch_size_t result;
+  
+  arg1 = (switch_xml *)jarg1; 
+  result =  ((arg1)->off);
+  jresult = new switch_size_t((switch_size_t &)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_next_set(void * jarg1, void * jarg2) {
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  switch_xml_t arg2 = (switch_xml_t) 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  arg2 = (switch_xml_t)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_next_get(void * jarg1) {
+  void * jresult ;
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (switch_xml *)jarg1; 
+  result = (switch_xml_t) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_sibling_set(void * jarg1, void * jarg2) {
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  switch_xml_t arg2 = (switch_xml_t) 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  arg2 = (switch_xml_t)jarg2; 
+  if (arg1) (arg1)->sibling = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_sibling_get(void * jarg1) {
+  void * jresult ;
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (switch_xml *)jarg1; 
+  result = (switch_xml_t) ((arg1)->sibling);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_ordered_set(void * jarg1, void * jarg2) {
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  switch_xml_t arg2 = (switch_xml_t) 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  arg2 = (switch_xml_t)jarg2; 
+  if (arg1) (arg1)->ordered = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_ordered_get(void * jarg1) {
+  void * jresult ;
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (switch_xml *)jarg1; 
+  result = (switch_xml_t) ((arg1)->ordered);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_child_set(void * jarg1, void * jarg2) {
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  switch_xml_t arg2 = (switch_xml_t) 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  arg2 = (switch_xml_t)jarg2; 
+  if (arg1) (arg1)->child = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_child_get(void * jarg1) {
+  void * jresult ;
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (switch_xml *)jarg1; 
+  result = (switch_xml_t) ((arg1)->child);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_parent_set(void * jarg1, void * jarg2) {
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  switch_xml_t arg2 = (switch_xml_t) 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  arg2 = (switch_xml_t)jarg2; 
+  if (arg1) (arg1)->parent = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parent_get(void * jarg1) {
+  void * jresult ;
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (switch_xml *)jarg1; 
+  result = (switch_xml_t) ((arg1)->parent);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_flags_set(void * jarg1, unsigned long jarg2) {
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_xml_flags_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_xml *)jarg1; 
+  result = (uint32_t) ((arg1)->flags);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_xml() {
+  void * jresult ;
+  switch_xml *result = 0 ;
+  
+  result = (switch_xml *)new switch_xml();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_xml(void * jarg1) {
+  switch_xml *arg1 = (switch_xml *) 0 ;
+  
+  arg1 = (switch_xml *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parse_str(char * jarg1, void * jarg2) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_size_t arg2 ;
+  switch_xml_t result;
+  switch_size_t *argp2 ;
+  
+  arg1 = (char *)jarg1; 
+  argp2 = (switch_size_t *)jarg2; 
+  if (!argp2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg2 = *argp2; 
+  result = (switch_xml_t)switch_xml_parse_str(arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parse_fd(int jarg1) {
+  void * jresult ;
+  int arg1 ;
+  switch_xml_t result;
+  
+  arg1 = (int)jarg1; 
+  result = (switch_xml_t)switch_xml_parse_fd(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parse_file(char * jarg1) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_xml_t)switch_xml_parse_file((char const *)arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parse_file_simple(char * jarg1) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_xml_t)switch_xml_parse_file_simple((char const *)arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_parse_fp(void * jarg1) {
+  void * jresult ;
+  FILE *arg1 = (FILE *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (FILE *)jarg1; 
+  result = (switch_xml_t)switch_xml_parse_fp(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_child(void * jarg1, char * jarg2) {
+  void * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_xml_t)switch_xml_child(arg1,(char const *)arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_find_child(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
+  void * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  result = (switch_xml_t)switch_xml_find_child(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_attr(void * jarg1, char * jarg2) {
+  char * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)switch_xml_attr(arg1,(char const *)arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_attr_soft(void * jarg1, char * jarg2) {
+  char * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)switch_xml_attr_soft(arg1,(char const *)arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_get(void * jarg1) {
+  void * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  void *arg2 = 0 ;
+  switch_xml_t result;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  result = (switch_xml_t)switch_xml_get(arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_toxml(void * jarg1, int jarg2) {
+  char * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  switch_bool_t arg2 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  arg2 = (switch_bool_t)jarg2; 
+  result = (char *)switch_xml_toxml(arg1,arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_toxml_buf(void * jarg1, char * jarg2, void * jarg3, void * jarg4, int jarg5) {
+  char * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_size_t arg3 ;
+  switch_size_t arg4 ;
+  switch_bool_t arg5 ;
+  char *result = 0 ;
+  switch_size_t *argp3 ;
+  switch_size_t *argp4 ;
+  
+  arg1 = (switch_xml_t)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; 
+  argp4 = (switch_size_t *)jarg4; 
+  if (!argp4) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null switch_size_t", 0);
+    return 0;
+  }
+  arg4 = *argp4; 
+  arg5 = (switch_bool_t)jarg5; 
+  result = (char *)switch_xml_toxml_buf(arg1,arg2,arg3,arg4,arg5);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_free(void * jarg1) {
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  switch_xml_free(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_xml_free_in_thread(void * jarg1, int jarg2) {
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  arg2 = (int)jarg2; 
+  switch_xml_free_in_thread(arg1,arg2);
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_xml_error(void * jarg1) {
+  char * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  result = (char *)switch_xml_error(arg1);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_new(char * jarg1) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_xml_t)switch_xml_new((char const *)arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_add_child(void * jarg1, char * jarg2, void * jarg3) {
+  void * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_size_t arg3 ;
+  switch_xml_t result;
+  switch_size_t *argp3 ;
+  
+  arg1 = (switch_xml_t)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 = (switch_xml_t)switch_xml_add_child(arg1,(char const *)arg2,arg3);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_set_txt(void * jarg1, char * jarg2) {
+  void * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  char *arg2 = (char *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (switch_xml_t)switch_xml_set_txt(arg1,(char const *)arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_set_attr(void * jarg1, char * jarg2, char * jarg3) {
+  void * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (switch_xml_t)switch_xml_set_attr(arg1,(char const *)arg2,(char const *)arg3);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_set_flag(void * jarg1, int jarg2) {
+  void * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  switch_xml_flag_t arg2 ;
+  switch_xml_t result;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  arg2 = (switch_xml_flag_t)jarg2; 
+  result = (switch_xml_t)switch_xml_set_flag(arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_cut(void * jarg1) {
+  void * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  result = (switch_xml_t)switch_xml_cut(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_insert(void * jarg1, void * jarg2, void * jarg3) {
+  void * jresult ;
+  switch_xml_t arg1 = (switch_xml_t) 0 ;
+  switch_xml_t arg2 = (switch_xml_t) 0 ;
+  switch_size_t arg3 ;
+  switch_xml_t result;
+  switch_size_t *argp3 ;
+  
+  arg1 = (switch_xml_t)jarg1; 
+  arg2 = (switch_xml_t)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_xml_t)switch_xml_insert(arg1,arg2,arg3);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_open_root(unsigned char jarg1, void * jarg2) {
+  void * jresult ;
+  uint8_t arg1 ;
+  char **arg2 = (char **) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (uint8_t)jarg1; 
+  arg2 = (char **)jarg2; 
+  result = (switch_xml_t)switch_xml_open_root(arg1,(char const **)arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_init(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_memory_pool_t *arg1 = (switch_memory_pool_t *) 0 ;
+  char **arg2 = (char **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_memory_pool_t *)jarg1; 
+  arg2 = (char **)jarg2; 
+  result = (switch_status_t)switch_xml_init(arg1,(char const **)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_destroy() {
+  int jresult ;
+  switch_status_t result;
+  
+  result = (switch_status_t)switch_xml_destroy();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_root() {
+  void * jresult ;
+  switch_xml_t result;
+  
+  result = (switch_xml_t)switch_xml_root();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_locate(char * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, void * jarg6, void * jarg7) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_xml_t *arg5 = (switch_xml_t *) 0 ;
+  switch_xml_t *arg6 = (switch_xml_t *) 0 ;
+  switch_event_t *arg7 = (switch_event_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (switch_xml_t *)jarg5; 
+  arg6 = (switch_xml_t *)jarg6; 
+  arg7 = (switch_event_t *)jarg7; 
+  result = (switch_status_t)switch_xml_locate((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_locate_domain(char * jarg1, void * jarg2, void * jarg3, void * jarg4) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_event_t *arg2 = (switch_event_t *) 0 ;
+  switch_xml_t *arg3 = (switch_xml_t *) 0 ;
+  switch_xml_t *arg4 = (switch_xml_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_event_t *)jarg2; 
+  arg3 = (switch_xml_t *)jarg3; 
+  arg4 = (switch_xml_t *)jarg4; 
+  result = (switch_status_t)switch_xml_locate_domain((char const *)arg1,arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_locate_user(char * jarg1, char * jarg2, char * jarg3, char * jarg4, void * jarg5, void * jarg6, void * jarg7, void * jarg8) {
+  int jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  switch_xml_t *arg5 = (switch_xml_t *) 0 ;
+  switch_xml_t *arg6 = (switch_xml_t *) 0 ;
+  switch_xml_t *arg7 = (switch_xml_t *) 0 ;
+  switch_event_t *arg8 = (switch_event_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (switch_xml_t *)jarg5; 
+  arg6 = (switch_xml_t *)jarg6; 
+  arg7 = (switch_xml_t *)jarg7; 
+  arg8 = (switch_event_t *)jarg8; 
+  result = (switch_status_t)switch_xml_locate_user((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7,arg8);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_xml_open_cfg(char * jarg1, void * jarg2, void * jarg3) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_xml_t *arg2 = (switch_xml_t *) 0 ;
+  switch_event_t *arg3 = (switch_event_t *) 0 ;
+  switch_xml_t result;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (switch_xml_t *)jarg2; 
+  arg3 = (switch_event_t *)jarg3; 
+  result = (switch_xml_t)switch_xml_open_cfg((char const *)arg1,arg2,arg3);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_bind_search_function(void * jarg1, unsigned long jarg2, void * jarg3) {
+  int jresult ;
+  switch_xml_search_function_t arg1 = (switch_xml_search_function_t) 0 ;
+  switch_xml_section_t arg2 ;
+  void *arg3 = (void *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_xml_search_function_t)jarg1; 
+  arg2 = (switch_xml_section_t)jarg2; 
+  arg3 = (void *)jarg3; 
+  result = (switch_status_t)switch_xml_bind_search_function(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_unbind_search_function(void * jarg1) {
+  int jresult ;
+  switch_xml_binding_t **arg1 = (switch_xml_binding_t **) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_xml_binding_t **)jarg1; 
+  result = (switch_status_t)switch_xml_unbind_search_function(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_xml_unbind_search_function_ptr(void * jarg1) {
+  int jresult ;
+  switch_xml_search_function_t arg1 = (switch_xml_search_function_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_xml_search_function_t)jarg1; 
+  result = (switch_status_t)switch_xml_unbind_search_function_ptr(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_xml_parse_section_string(char * jarg1) {
+  unsigned long jresult ;
+  char *arg1 = (char *) 0 ;
+  switch_xml_section_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (switch_xml_section_t)switch_xml_parse_section_string((char const *)arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
+  switch_outgoing_channel_hook_t arg2 = (switch_outgoing_channel_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
+  arg2 = (switch_outgoing_channel_hook_t)jarg2; 
+  if (arg1) (arg1)->outgoing_channel = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
+  switch_outgoing_channel_hook_t result;
+  
+  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
+  result = (switch_outgoing_channel_hook_t) ((arg1)->outgoing_channel);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_outgoing_channel_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
+  switch_io_event_hook_outgoing_channel *arg2 = (switch_io_event_hook_outgoing_channel *) 0 ;
+  
+  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
+  arg2 = (switch_io_event_hook_outgoing_channel *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_outgoing_channel_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
+  switch_io_event_hook_outgoing_channel *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
+  result = (switch_io_event_hook_outgoing_channel *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_outgoing_channel() {
+  void * jresult ;
+  switch_io_event_hook_outgoing_channel *result = 0 ;
+  
+  result = (switch_io_event_hook_outgoing_channel *)new switch_io_event_hook_outgoing_channel();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_outgoing_channel(void * jarg1) {
+  switch_io_event_hook_outgoing_channel *arg1 = (switch_io_event_hook_outgoing_channel *) 0 ;
+  
+  arg1 = (switch_io_event_hook_outgoing_channel *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_receive_message_receive_message_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
+  switch_receive_message_hook_t arg2 = (switch_receive_message_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
+  arg2 = (switch_receive_message_hook_t)jarg2; 
+  if (arg1) (arg1)->receive_message = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_receive_message_receive_message_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
+  switch_receive_message_hook_t result;
+  
+  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
+  result = (switch_receive_message_hook_t) ((arg1)->receive_message);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_receive_message_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
+  switch_io_event_hook_receive_message *arg2 = (switch_io_event_hook_receive_message *) 0 ;
+  
+  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
+  arg2 = (switch_io_event_hook_receive_message *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_receive_message_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
+  switch_io_event_hook_receive_message *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
+  result = (switch_io_event_hook_receive_message *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_receive_message() {
+  void * jresult ;
+  switch_io_event_hook_receive_message *result = 0 ;
+  
+  result = (switch_io_event_hook_receive_message *)new switch_io_event_hook_receive_message();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_receive_message(void * jarg1) {
+  switch_io_event_hook_receive_message *arg1 = (switch_io_event_hook_receive_message *) 0 ;
+  
+  arg1 = (switch_io_event_hook_receive_message *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_receive_event_receive_event_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
+  switch_receive_event_hook_t arg2 = (switch_receive_event_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
+  arg2 = (switch_receive_event_hook_t)jarg2; 
+  if (arg1) (arg1)->receive_event = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_receive_event_receive_event_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
+  switch_receive_event_hook_t result;
+  
+  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
+  result = (switch_receive_event_hook_t) ((arg1)->receive_event);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_receive_event_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
+  switch_io_event_hook_receive_event *arg2 = (switch_io_event_hook_receive_event *) 0 ;
+  
+  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
+  arg2 = (switch_io_event_hook_receive_event *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_receive_event_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
+  switch_io_event_hook_receive_event *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
+  result = (switch_io_event_hook_receive_event *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_receive_event() {
+  void * jresult ;
+  switch_io_event_hook_receive_event *result = 0 ;
+  
+  result = (switch_io_event_hook_receive_event *)new switch_io_event_hook_receive_event();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_receive_event(void * jarg1) {
+  switch_io_event_hook_receive_event *arg1 = (switch_io_event_hook_receive_event *) 0 ;
+  
+  arg1 = (switch_io_event_hook_receive_event *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_read_frame_read_frame_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
+  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
+  arg2 = (switch_read_frame_hook_t)jarg2; 
+  if (arg1) (arg1)->read_frame = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_read_frame_read_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
+  switch_read_frame_hook_t result;
+  
+  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
+  result = (switch_read_frame_hook_t) ((arg1)->read_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_read_frame_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
+  switch_io_event_hook_read_frame *arg2 = (switch_io_event_hook_read_frame *) 0 ;
+  
+  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
+  arg2 = (switch_io_event_hook_read_frame *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_read_frame_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
+  switch_io_event_hook_read_frame *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
+  result = (switch_io_event_hook_read_frame *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_read_frame() {
+  void * jresult ;
+  switch_io_event_hook_read_frame *result = 0 ;
+  
+  result = (switch_io_event_hook_read_frame *)new switch_io_event_hook_read_frame();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_read_frame(void * jarg1) {
+  switch_io_event_hook_read_frame *arg1 = (switch_io_event_hook_read_frame *) 0 ;
+  
+  arg1 = (switch_io_event_hook_read_frame *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_video_read_frame_video_read_frame_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
+  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
+  arg2 = (switch_read_frame_hook_t)jarg2; 
+  if (arg1) (arg1)->video_read_frame = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_video_read_frame_video_read_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
+  switch_read_frame_hook_t result;
+  
+  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
+  result = (switch_read_frame_hook_t) ((arg1)->video_read_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_video_read_frame_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
+  switch_io_event_hook_video_read_frame *arg2 = (switch_io_event_hook_video_read_frame *) 0 ;
+  
+  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
+  arg2 = (switch_io_event_hook_video_read_frame *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_video_read_frame_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
+  switch_io_event_hook_video_read_frame *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
+  result = (switch_io_event_hook_video_read_frame *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_video_read_frame() {
+  void * jresult ;
+  switch_io_event_hook_video_read_frame *result = 0 ;
+  
+  result = (switch_io_event_hook_video_read_frame *)new switch_io_event_hook_video_read_frame();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_video_read_frame(void * jarg1) {
+  switch_io_event_hook_video_read_frame *arg1 = (switch_io_event_hook_video_read_frame *) 0 ;
+  
+  arg1 = (switch_io_event_hook_video_read_frame *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_write_frame_write_frame_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
+  switch_write_frame_hook_t arg2 = (switch_write_frame_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
+  arg2 = (switch_write_frame_hook_t)jarg2; 
+  if (arg1) (arg1)->write_frame = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_write_frame_write_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
+  switch_write_frame_hook_t result;
+  
+  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
+  result = (switch_write_frame_hook_t) ((arg1)->write_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_write_frame_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
+  switch_io_event_hook_write_frame *arg2 = (switch_io_event_hook_write_frame *) 0 ;
+  
+  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
+  arg2 = (switch_io_event_hook_write_frame *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_write_frame_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
+  switch_io_event_hook_write_frame *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
+  result = (switch_io_event_hook_write_frame *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_write_frame() {
+  void * jresult ;
+  switch_io_event_hook_write_frame *result = 0 ;
+  
+  result = (switch_io_event_hook_write_frame *)new switch_io_event_hook_write_frame();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_write_frame(void * jarg1) {
+  switch_io_event_hook_write_frame *arg1 = (switch_io_event_hook_write_frame *) 0 ;
+  
+  arg1 = (switch_io_event_hook_write_frame *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_video_write_frame_video_write_frame_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
+  switch_video_write_frame_hook_t arg2 = (switch_video_write_frame_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
+  arg2 = (switch_video_write_frame_hook_t)jarg2; 
+  if (arg1) (arg1)->video_write_frame = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_video_write_frame_video_write_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
+  switch_video_write_frame_hook_t result;
+  
+  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
+  result = (switch_video_write_frame_hook_t) ((arg1)->video_write_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_video_write_frame_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
+  switch_io_event_hook_video_write_frame *arg2 = (switch_io_event_hook_video_write_frame *) 0 ;
+  
+  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
+  arg2 = (switch_io_event_hook_video_write_frame *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_video_write_frame_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
+  switch_io_event_hook_video_write_frame *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_video_write_frame *)jarg1; 
+  result = (switch_io_event_hook_video_write_frame *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_video_write_frame() {
+  void * jresult ;
+  switch_io_event_hook_video_write_frame *result = 0 ;
+  
+  result = (switch_io_event_hook_video_write_frame *)new switch_io_event_hook_video_write_frame();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_video_write_frame(void * jarg1) {
+  switch_io_event_hook_video_write_frame *arg1 = (switch_io_event_hook_video_write_frame *) 0 ;
+  
+  arg1 = (switch_io_event_hook_video_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 ;
+  
+  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
+  arg2 = (switch_kill_channel_hook_t)jarg2; 
+  if (arg1) (arg1)->kill_channel = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_kill_channel_kill_channel_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
+  switch_kill_channel_hook_t result;
+  
+  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
+  result = (switch_kill_channel_hook_t) ((arg1)->kill_channel);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_kill_channel_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
+  switch_io_event_hook_kill_channel *arg2 = (switch_io_event_hook_kill_channel *) 0 ;
+  
+  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
+  arg2 = (switch_io_event_hook_kill_channel *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_kill_channel_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
+  switch_io_event_hook_kill_channel *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
+  result = (switch_io_event_hook_kill_channel *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_kill_channel() {
+  void * jresult ;
+  switch_io_event_hook_kill_channel *result = 0 ;
+  
+  result = (switch_io_event_hook_kill_channel *)new switch_io_event_hook_kill_channel();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_kill_channel(void * jarg1) {
+  switch_io_event_hook_kill_channel *arg1 = (switch_io_event_hook_kill_channel *) 0 ;
+  
+  arg1 = (switch_io_event_hook_kill_channel *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_send_dtmf_send_dtmf_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
+  switch_send_dtmf_hook_t arg2 = (switch_send_dtmf_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
+  arg2 = (switch_send_dtmf_hook_t)jarg2; 
+  if (arg1) (arg1)->send_dtmf = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_send_dtmf_send_dtmf_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
+  switch_send_dtmf_hook_t result;
+  
+  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
+  result = (switch_send_dtmf_hook_t) ((arg1)->send_dtmf);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_send_dtmf_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
+  switch_io_event_hook_send_dtmf *arg2 = (switch_io_event_hook_send_dtmf *) 0 ;
+  
+  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
+  arg2 = (switch_io_event_hook_send_dtmf *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_send_dtmf_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
+  switch_io_event_hook_send_dtmf *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
+  result = (switch_io_event_hook_send_dtmf *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_send_dtmf() {
+  void * jresult ;
+  switch_io_event_hook_send_dtmf *result = 0 ;
+  
+  result = (switch_io_event_hook_send_dtmf *)new switch_io_event_hook_send_dtmf();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_send_dtmf(void * jarg1) {
+  switch_io_event_hook_send_dtmf *arg1 = (switch_io_event_hook_send_dtmf *) 0 ;
+  
+  arg1 = (switch_io_event_hook_send_dtmf *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
+  switch_recv_dtmf_hook_t arg2 = (switch_recv_dtmf_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
+  arg2 = (switch_recv_dtmf_hook_t)jarg2; 
+  if (arg1) (arg1)->recv_dtmf = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
+  switch_recv_dtmf_hook_t result;
+  
+  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
+  result = (switch_recv_dtmf_hook_t) ((arg1)->recv_dtmf);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_recv_dtmf_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
+  switch_io_event_hook_recv_dtmf *arg2 = (switch_io_event_hook_recv_dtmf *) 0 ;
+  
+  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
+  arg2 = (switch_io_event_hook_recv_dtmf *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_recv_dtmf_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
+  switch_io_event_hook_recv_dtmf *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
+  result = (switch_io_event_hook_recv_dtmf *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_recv_dtmf() {
+  void * jresult ;
+  switch_io_event_hook_recv_dtmf *result = 0 ;
+  
+  result = (switch_io_event_hook_recv_dtmf *)new switch_io_event_hook_recv_dtmf();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_recv_dtmf(void * jarg1) {
+  switch_io_event_hook_recv_dtmf *arg1 = (switch_io_event_hook_recv_dtmf *) 0 ;
+  
+  arg1 = (switch_io_event_hook_recv_dtmf *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_state_change_state_change_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
+  switch_state_change_hook_t arg2 = (switch_state_change_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_state_change *)jarg1; 
+  arg2 = (switch_state_change_hook_t)jarg2; 
+  if (arg1) (arg1)->state_change = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_state_change_state_change_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
+  switch_state_change_hook_t result;
+  
+  arg1 = (switch_io_event_hook_state_change *)jarg1; 
+  result = (switch_state_change_hook_t) ((arg1)->state_change);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_state_change_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
+  switch_io_event_hook_state_change *arg2 = (switch_io_event_hook_state_change *) 0 ;
+  
+  arg1 = (switch_io_event_hook_state_change *)jarg1; 
+  arg2 = (switch_io_event_hook_state_change *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_state_change_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
+  switch_io_event_hook_state_change *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_state_change *)jarg1; 
+  result = (switch_io_event_hook_state_change *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_state_change() {
+  void * jresult ;
+  switch_io_event_hook_state_change *result = 0 ;
+  
+  result = (switch_io_event_hook_state_change *)new switch_io_event_hook_state_change();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_state_change(void * jarg1) {
+  switch_io_event_hook_state_change *arg1 = (switch_io_event_hook_state_change *) 0 ;
+  
+  arg1 = (switch_io_event_hook_state_change *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_resurrect_session_resurrect_session_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
+  switch_resurrect_session_hook_t arg2 = (switch_resurrect_session_hook_t) 0 ;
+  
+  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
+  arg2 = (switch_resurrect_session_hook_t)jarg2; 
+  if (arg1) (arg1)->resurrect_session = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_resurrect_session_resurrect_session_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
+  switch_resurrect_session_hook_t result;
+  
+  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
+  result = (switch_resurrect_session_hook_t) ((arg1)->resurrect_session);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hook_resurrect_session_next_set(void * jarg1, void * jarg2) {
+  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
+  switch_io_event_hook_resurrect_session *arg2 = (switch_io_event_hook_resurrect_session *) 0 ;
+  
+  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
+  arg2 = (switch_io_event_hook_resurrect_session *)jarg2; 
+  if (arg1) (arg1)->next = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hook_resurrect_session_next_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
+  switch_io_event_hook_resurrect_session *result = 0 ;
+  
+  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
+  result = (switch_io_event_hook_resurrect_session *) ((arg1)->next);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hook_resurrect_session() {
+  void * jresult ;
+  switch_io_event_hook_resurrect_session *result = 0 ;
+  
+  result = (switch_io_event_hook_resurrect_session *)new switch_io_event_hook_resurrect_session();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hook_resurrect_session(void * jarg1) {
+  switch_io_event_hook_resurrect_session *arg1 = (switch_io_event_hook_resurrect_session *) 0 ;
+  
+  arg1 = (switch_io_event_hook_resurrect_session *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_outgoing_channel_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_outgoing_channel_t *arg2 = (switch_io_event_hook_outgoing_channel_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_outgoing_channel_t *)jarg2; 
+  if (arg1) (arg1)->outgoing_channel = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_outgoing_channel_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_outgoing_channel_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_outgoing_channel_t *) ((arg1)->outgoing_channel);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_receive_message_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_receive_message_t *arg2 = (switch_io_event_hook_receive_message_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_receive_message_t *)jarg2; 
+  if (arg1) (arg1)->receive_message = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_receive_message_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_receive_message_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_receive_message_t *) ((arg1)->receive_message);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_receive_event_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_receive_event_t *arg2 = (switch_io_event_hook_receive_event_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_receive_event_t *)jarg2; 
+  if (arg1) (arg1)->receive_event = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_receive_event_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_receive_event_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_receive_event_t *) ((arg1)->receive_event);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_read_frame_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_read_frame_t *arg2 = (switch_io_event_hook_read_frame_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_read_frame_t *)jarg2; 
+  if (arg1) (arg1)->read_frame = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_read_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_read_frame_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_read_frame_t *) ((arg1)->read_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_video_read_frame_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_video_read_frame_t *arg2 = (switch_io_event_hook_video_read_frame_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_video_read_frame_t *)jarg2; 
+  if (arg1) (arg1)->video_read_frame = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_video_read_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_video_read_frame_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_video_read_frame_t *) ((arg1)->video_read_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_write_frame_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_write_frame_t *arg2 = (switch_io_event_hook_write_frame_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_write_frame_t *)jarg2; 
+  if (arg1) (arg1)->write_frame = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_write_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_write_frame_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_write_frame_t *) ((arg1)->write_frame);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_video_write_frame_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_video_write_frame_t *arg2 = (switch_io_event_hook_video_write_frame_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_video_write_frame_t *)jarg2; 
+  if (arg1) (arg1)->video_write_frame = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_video_write_frame_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_video_write_frame_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_video_write_frame_t *) ((arg1)->video_write_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 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_kill_channel_t *)jarg2; 
+  if (arg1) (arg1)->kill_channel = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_kill_channel_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_kill_channel_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_kill_channel_t *) ((arg1)->kill_channel);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_send_dtmf_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_send_dtmf_t *arg2 = (switch_io_event_hook_send_dtmf_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_send_dtmf_t *)jarg2; 
+  if (arg1) (arg1)->send_dtmf = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_send_dtmf_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_send_dtmf_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_send_dtmf_t *) ((arg1)->send_dtmf);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_recv_dtmf_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_recv_dtmf_t *arg2 = (switch_io_event_hook_recv_dtmf_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_recv_dtmf_t *)jarg2; 
+  if (arg1) (arg1)->recv_dtmf = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_recv_dtmf_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_recv_dtmf_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_recv_dtmf_t *) ((arg1)->recv_dtmf);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_state_change_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_state_change_t *arg2 = (switch_io_event_hook_state_change_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_state_change_t *)jarg2; 
+  if (arg1) (arg1)->state_change = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_state_change_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_state_change_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_state_change_t *) ((arg1)->state_change);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_io_event_hooks_resurrect_session_set(void * jarg1, void * jarg2) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_resurrect_session_t *arg2 = (switch_io_event_hook_resurrect_session_t *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  arg2 = (switch_io_event_hook_resurrect_session_t *)jarg2; 
+  if (arg1) (arg1)->resurrect_session = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_io_event_hooks_resurrect_session_get(void * jarg1) {
+  void * jresult ;
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  switch_io_event_hook_resurrect_session_t *result = 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  result = (switch_io_event_hook_resurrect_session_t *) ((arg1)->resurrect_session);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_io_event_hooks() {
+  void * jresult ;
+  switch_io_event_hooks *result = 0 ;
+  
+  result = (switch_io_event_hooks *)new switch_io_event_hooks();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_io_event_hooks(void * jarg1) {
+  switch_io_event_hooks *arg1 = (switch_io_event_hooks *) 0 ;
+  
+  arg1 = (switch_io_event_hooks *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_outgoing_channel(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_outgoing_channel_hook_t arg2 = (switch_outgoing_channel_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_outgoing_channel_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_outgoing_channel(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_receive_message(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_receive_message_hook_t arg2 = (switch_receive_message_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_receive_message_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_receive_message(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_receive_event(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_receive_event_hook_t arg2 = (switch_receive_event_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_receive_event_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_receive_event(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_state_change(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_state_change_hook_t arg2 = (switch_state_change_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_state_change_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_state_change(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_read_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_read_frame_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_read_frame(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_write_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_write_frame_hook_t arg2 = (switch_write_frame_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_write_frame_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_write_frame(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_video_read_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_video_read_frame_hook_t arg2 = (switch_video_read_frame_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_video_read_frame_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_video_read_frame(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_video_write_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_video_write_frame_hook_t arg2 = (switch_video_write_frame_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_video_write_frame_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_video_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 ;
+  switch_kill_channel_hook_t arg2 = (switch_kill_channel_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_kill_channel_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_kill_channel(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_send_dtmf(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_send_dtmf_hook_t arg2 = (switch_send_dtmf_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_send_dtmf_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_send_dtmf(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_recv_dtmf(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_recv_dtmf_hook_t arg2 = (switch_recv_dtmf_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_recv_dtmf_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_recv_dtmf(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_add_resurrect_session(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_resurrect_session_hook_t arg2 = (switch_resurrect_session_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_resurrect_session_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_add_resurrect_session(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_outgoing_channel(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_outgoing_channel_hook_t arg2 = (switch_outgoing_channel_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_outgoing_channel_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_outgoing_channel(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_receive_message(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_receive_message_hook_t arg2 = (switch_receive_message_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_receive_message_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_receive_message(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_receive_event(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_receive_event_hook_t arg2 = (switch_receive_event_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_receive_event_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_receive_event(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_state_change(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_state_change_hook_t arg2 = (switch_state_change_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_state_change_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_state_change(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_read_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_read_frame_hook_t arg2 = (switch_read_frame_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_read_frame_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_read_frame(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_write_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_write_frame_hook_t arg2 = (switch_write_frame_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_write_frame_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_write_frame(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_video_read_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_video_read_frame_hook_t arg2 = (switch_video_read_frame_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_video_read_frame_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_video_read_frame(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_video_write_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_video_write_frame_hook_t arg2 = (switch_video_write_frame_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_video_write_frame_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_video_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 ;
+  switch_kill_channel_hook_t arg2 = (switch_kill_channel_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_kill_channel_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_kill_channel(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_send_dtmf(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_send_dtmf_hook_t arg2 = (switch_send_dtmf_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_send_dtmf_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_send_dtmf(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_recv_dtmf(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_recv_dtmf_hook_t arg2 = (switch_recv_dtmf_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_recv_dtmf_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_recv_dtmf(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_event_hook_remove_resurrect_session(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  switch_resurrect_session_hook_t arg2 = (switch_resurrect_session_hook_t) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (switch_resurrect_session_hook_t)jarg2; 
+  result = (switch_status_t)switch_core_event_hook_remove_resurrect_session(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_created_set(void * jarg1, long long jarg2) {
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  int64_t arg2 ;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  arg2 = (int64_t)jarg2; 
+  if (arg1) (arg1)->created = arg2;
+  
+}
+
+
+SWIGEXPORT long long SWIGSTDCALL CSharp_switch_scheduler_task_created_get(void * jarg1) {
+  long long jresult ;
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  int64_t result;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  result = (int64_t) ((arg1)->created);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_runtime_set(void * jarg1, long long jarg2) {
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  int64_t arg2 ;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  arg2 = (int64_t)jarg2; 
+  if (arg1) (arg1)->runtime = arg2;
+  
+}
+
+
+SWIGEXPORT long long SWIGSTDCALL CSharp_switch_scheduler_task_runtime_get(void * jarg1) {
+  long long jresult ;
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  int64_t result;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  result = (int64_t) ((arg1)->runtime);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_cmd_id_set(void * jarg1, unsigned long jarg2) {
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->cmd_id = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_scheduler_task_cmd_id_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  result = (uint32_t) ((arg1)->cmd_id);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_group_set(void * jarg1, char * jarg2) {
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->group) delete [] arg1->group;
+    if (arg2) {
+      arg1->group = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->group, (const char *)arg2);
+    } else {
+      arg1->group = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_scheduler_task_group_get(void * jarg1) {
+  char * jresult ;
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  result = (char *) ((arg1)->group);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_cmd_arg_set(void * jarg1, void * jarg2) {
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->cmd_arg = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_scheduler_task_cmd_arg_get(void * jarg1) {
+  void * jresult ;
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  result = (void *) ((arg1)->cmd_arg);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_task_id_set(void * jarg1, unsigned long jarg2) {
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->task_id = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_scheduler_task_task_id_get(void * jarg1) {
+  unsigned long jresult ;
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  uint32_t result;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  result = (uint32_t) ((arg1)->task_id);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_scheduler_task() {
+  void * jresult ;
+  switch_scheduler_task *result = 0 ;
+  
+  result = (switch_scheduler_task *)new switch_scheduler_task();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_scheduler_task(void * jarg1) {
+  switch_scheduler_task *arg1 = (switch_scheduler_task *) 0 ;
+  
+  arg1 = (switch_scheduler_task *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_scheduler_add_task(void * jarg1, void * jarg2, char * jarg3, char * jarg4, unsigned long jarg5, void * jarg6, unsigned long jarg7) {
+  unsigned long jresult ;
+  time_t arg1 ;
+  switch_scheduler_func_t arg2 = (switch_scheduler_func_t) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  uint32_t arg5 ;
+  void *arg6 = (void *) 0 ;
+  switch_scheduler_flag_t arg7 ;
+  uint32_t result;
+  time_t *argp1 ;
+  
+  argp1 = (time_t *)jarg1; 
+  if (!argp1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null time_t", 0);
+    return 0;
+  }
+  arg1 = *argp1; 
+  arg2 = (switch_scheduler_func_t)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (uint32_t)jarg5; 
+  arg6 = (void *)jarg6; 
+  arg7 = (switch_scheduler_flag_t)jarg7; 
+  result = (uint32_t)switch_scheduler_add_task(arg1,arg2,(char const *)arg3,(char const *)arg4,arg5,arg6,arg7);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_scheduler_del_task_id(unsigned long jarg1) {
+  unsigned long jresult ;
+  uint32_t arg1 ;
+  uint32_t result;
+  
+  arg1 = (uint32_t)jarg1; 
+  result = (uint32_t)switch_scheduler_del_task_id(arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_scheduler_del_task_group(char * jarg1) {
+  unsigned long jresult ;
+  char *arg1 = (char *) 0 ;
+  uint32_t result;
+  
+  arg1 = (char *)jarg1; 
+  result = (uint32_t)switch_scheduler_del_task_group((char const *)arg1);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_thread_start() {
+  switch_scheduler_task_thread_start();
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_scheduler_task_thread_stop() {
+  switch_scheduler_task_thread_stop();
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_file_set(void * jarg1, void * jarg2) {
+  switch_config *arg1 = (switch_config *) 0 ;
+  FILE *arg2 = (FILE *) 0 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  arg2 = (FILE *)jarg2; 
+  if (arg1) (arg1)->file = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_switch_config_file_get(void * jarg1) {
+  void * jresult ;
+  switch_config *arg1 = (switch_config *) 0 ;
+  FILE *result = 0 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  result = (FILE *) ((arg1)->file);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_path_set(void * jarg1, char * jarg2) {
+  switch_config *arg1 = (switch_config *) 0 ;
+  char *arg2 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) strncpy((char *)arg1->path, (const char *)arg2, 512);
+    else arg1->path[0] = 0;
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_config_path_get(void * jarg1) {
+  char * jresult ;
+  switch_config *arg1 = (switch_config *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  result = (char *)(char *) ((arg1)->path);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_category_set(void * jarg1, char * jarg2) {
+  switch_config *arg1 = (switch_config *) 0 ;
+  char *arg2 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) strncpy((char *)arg1->category, (const char *)arg2, 256);
+    else arg1->category[0] = 0;
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_config_category_get(void * jarg1) {
+  char * jresult ;
+  switch_config *arg1 = (switch_config *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  result = (char *)(char *) ((arg1)->category);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_section_set(void * jarg1, char * jarg2) {
+  switch_config *arg1 = (switch_config *) 0 ;
+  char *arg2 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) strncpy((char *)arg1->section, (const char *)arg2, 256);
+    else arg1->section[0] = 0;
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_config_section_get(void * jarg1) {
+  char * jresult ;
+  switch_config *arg1 = (switch_config *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  result = (char *)(char *) ((arg1)->section);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_buf_set(void * jarg1, char * jarg2) {
+  switch_config *arg1 = (switch_config *) 0 ;
+  char *arg2 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg2) strncpy((char *)arg1->buf, (const char *)arg2, 1024);
+    else arg1->buf[0] = 0;
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_switch_config_buf_get(void * jarg1) {
+  char * jresult ;
+  switch_config *arg1 = (switch_config *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  result = (char *)(char *) ((arg1)->buf);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_lineno_set(void * jarg1, int jarg2) {
+  switch_config *arg1 = (switch_config *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->lineno = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_config_lineno_get(void * jarg1) {
+  int jresult ;
+  switch_config *arg1 = (switch_config *) 0 ;
+  int result;
+  
+  arg1 = (switch_config *)jarg1; 
+  result = (int) ((arg1)->lineno);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_catno_set(void * jarg1, int jarg2) {
+  switch_config *arg1 = (switch_config *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->catno = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_config_catno_get(void * jarg1) {
+  int jresult ;
+  switch_config *arg1 = (switch_config *) 0 ;
+  int result;
+  
+  arg1 = (switch_config *)jarg1; 
+  result = (int) ((arg1)->catno);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_sectno_set(void * jarg1, int jarg2) {
+  switch_config *arg1 = (switch_config *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->sectno = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_config_sectno_get(void * jarg1) {
+  int jresult ;
+  switch_config *arg1 = (switch_config *) 0 ;
+  int result;
+  
+  arg1 = (switch_config *)jarg1; 
+  result = (int) ((arg1)->sectno);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_lockto_set(void * jarg1, int jarg2) {
+  switch_config *arg1 = (switch_config *) 0 ;
+  int arg2 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->lockto = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_config_lockto_get(void * jarg1) {
+  int jresult ;
+  switch_config *arg1 = (switch_config *) 0 ;
+  int result;
+  
+  arg1 = (switch_config *)jarg1; 
+  result = (int) ((arg1)->lockto);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_config() {
+  void * jresult ;
+  switch_config *result = 0 ;
+  
+  result = (switch_config *)new switch_config();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_config(void * jarg1) {
+  switch_config *arg1 = (switch_config *) 0 ;
+  
+  arg1 = (switch_config *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_config_open_file(void * jarg1, char * jarg2) {
+  int jresult ;
+  switch_config_t *arg1 = (switch_config_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int result;
+  
+  arg1 = (switch_config_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (int)switch_config_open_file(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_config_close_file(void * jarg1) {
+  switch_config_t *arg1 = (switch_config_t *) 0 ;
+  
+  arg1 = (switch_config_t *)jarg1; 
+  switch_config_close_file(arg1);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_config_next_pair(void * jarg1, void * jarg2, void * jarg3) {
+  int jresult ;
+  switch_config_t *arg1 = (switch_config_t *) 0 ;
+  char **arg2 = (char **) 0 ;
+  char **arg3 = (char **) 0 ;
+  int result;
+  
+  arg1 = (switch_config_t *)jarg1; 
+  arg2 = (char **)jarg2; 
+  arg3 = (char **)jarg3; 
+  result = (int)switch_config_next_pair(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_consoleLog(char * jarg1, char * jarg2) {
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  consoleLog(arg1,arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_consoleCleanLog(char * jarg1) {
+  char *arg1 = (char *) 0 ;
+  
+  arg1 = (char *)jarg1; 
+  consoleCleanLog(arg1);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_IvrMenu(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, char * jarg6, char * jarg7, char * jarg8, int jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14) {
+  void * jresult ;
+  IVRMenu *arg1 = (IVRMenu *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  char *arg5 = (char *) 0 ;
+  char *arg6 = (char *) 0 ;
+  char *arg7 = (char *) 0 ;
+  char *arg8 = (char *) 0 ;
+  int arg9 ;
+  int arg10 ;
+  int arg11 ;
+  int arg12 ;
+  int arg13 ;
+  int arg14 ;
+  IVRMenu *result = 0 ;
+  
+  arg1 = (IVRMenu *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (char *)jarg5; 
+  arg6 = (char *)jarg6; 
+  arg7 = (char *)jarg7; 
+  arg8 = (char *)jarg8; 
+  arg9 = (int)jarg9; 
+  arg10 = (int)jarg10; 
+  arg11 = (int)jarg11; 
+  arg12 = (int)jarg12; 
+  arg13 = (int)jarg13; 
+  arg14 = (int)jarg14; 
+  result = (IVRMenu *)new IVRMenu(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,(char const *)arg6,(char const *)arg7,(char const *)arg8,arg9,arg10,arg11,arg12,arg13,arg14);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_IvrMenu(void * jarg1) {
+  IVRMenu *arg1 = (IVRMenu *) 0 ;
+  
+  arg1 = (IVRMenu *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_IvrMenu_bindAction(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
+  IVRMenu *arg1 = (IVRMenu *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  
+  arg1 = (IVRMenu *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  (arg1)->bindAction(arg2,(char const *)arg3,(char const *)arg4);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_IvrMenu_Execute(void * jarg1, void * jarg2, char * jarg3) {
+  IVRMenu *arg1 = (IVRMenu *) 0 ;
+  CoreSession *arg2 = (CoreSession *) 0 ;
+  char *arg3 = (char *) 0 ;
+  
+  arg1 = (IVRMenu *)jarg1; 
+  arg2 = (CoreSession *)jarg2; 
+  arg3 = (char *)jarg3; 
+  (arg1)->execute(arg2,(char const *)arg3);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_Api() {
+  void * jresult ;
+  API *result = 0 ;
+  
+  result = (API *)new API();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_Api(void * jarg1) {
+  API *arg1 = (API *) 0 ;
+  
+  arg1 = (API *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Api_Execute(void * jarg1, char * jarg2, char * jarg3) {
+  char * jresult ;
+  API *arg1 = (API *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (API *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (char *)(arg1)->execute((char const *)arg2,(char const *)arg3);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Api_ExecuteString(void * jarg1, char * jarg2) {
+  char * jresult ;
+  API *arg1 = (API *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (API *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)(arg1)->executeString((char const *)arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_input_callback_state_t_function_set(void * jarg1, void * jarg2) {
+  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (input_callback_state_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->function = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_input_callback_state_t_function_get(void * jarg1) {
+  void * jresult ;
+  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (input_callback_state_t *)jarg1; 
+  result = (void *) ((arg1)->function);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_input_callback_state_t_threadState_set(void * jarg1, void * jarg2) {
+  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (input_callback_state_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->threadState = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_input_callback_state_t_threadState_get(void * jarg1) {
+  void * jresult ;
+  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (input_callback_state_t *)jarg1; 
+  result = (void *) ((arg1)->threadState);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_input_callback_state_t_extra_set(void * jarg1, void * jarg2) {
+  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  
+  arg1 = (input_callback_state_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  if (arg1) (arg1)->extra = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_input_callback_state_t_extra_get(void * jarg1) {
+  void * jresult ;
+  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (input_callback_state_t *)jarg1; 
+  result = (void *) ((arg1)->extra);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_input_callback_state_t_funcargs_set(void * jarg1, char * jarg2) {
+  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (input_callback_state_t *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->funcargs) delete [] arg1->funcargs;
+    if (arg2) {
+      arg1->funcargs = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->funcargs, (const char *)arg2);
+    } else {
+      arg1->funcargs = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_input_callback_state_t_funcargs_get(void * jarg1) {
+  char * jresult ;
+  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (input_callback_state_t *)jarg1; 
+  result = (char *) ((arg1)->funcargs);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_input_callback_state_t() {
+  void * jresult ;
+  input_callback_state_t *result = 0 ;
+  
+  result = (input_callback_state_t *)new input_callback_state_t();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_input_callback_state_t(void * jarg1) {
+  input_callback_state_t *arg1 = (input_callback_state_t *) 0 ;
+  
+  arg1 = (input_callback_state_t *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_DTMF_digit_set(void * jarg1, char jarg2) {
+  DTMF *arg1 = (DTMF *) 0 ;
+  char arg2 ;
+  
+  arg1 = (DTMF *)jarg1; 
+  arg2 = (char)jarg2; 
+  if (arg1) (arg1)->digit = arg2;
+  
+}
+
+
+SWIGEXPORT char SWIGSTDCALL CSharp_DTMF_digit_get(void * jarg1) {
+  char jresult ;
+  DTMF *arg1 = (DTMF *) 0 ;
+  char result;
+  
+  arg1 = (DTMF *)jarg1; 
+  result = (char) ((arg1)->digit);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_DTMF_duration_set(void * jarg1, unsigned long jarg2) {
+  DTMF *arg1 = (DTMF *) 0 ;
+  uint32_t arg2 ;
+  
+  arg1 = (DTMF *)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  if (arg1) (arg1)->duration = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_DTMF_duration_get(void * jarg1) {
+  unsigned long jresult ;
+  DTMF *arg1 = (DTMF *) 0 ;
+  uint32_t result;
+  
+  arg1 = (DTMF *)jarg1; 
+  result = (uint32_t) ((arg1)->duration);
+  jresult = (unsigned long)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_DTMF(char jarg1, unsigned long jarg2) {
+  void * jresult ;
+  char arg1 ;
+  uint32_t arg2 = (uint32_t) 2000 ;
+  DTMF *result = 0 ;
+  
+  arg1 = (char)jarg1; 
+  arg2 = (uint32_t)jarg2; 
+  result = (DTMF *)new DTMF(arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_DTMF(void * jarg1) {
+  DTMF *arg1 = (DTMF *) 0 ;
+  
+  arg1 = (DTMF *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_Stream__SWIG_0() {
+  void * jresult ;
+  Stream *result = 0 ;
+  
+  result = (Stream *)new Stream();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_Stream__SWIG_1(void * jarg1) {
+  void * jresult ;
+  switch_stream_handle_t *arg1 = (switch_stream_handle_t *) 0 ;
+  Stream *result = 0 ;
+  
+  arg1 = (switch_stream_handle_t *)jarg1; 
+  result = (Stream *)new Stream(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_Stream(void * jarg1) {
+  Stream *arg1 = (Stream *) 0 ;
+  
+  arg1 = (Stream *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Stream_Write(void * jarg1, char * jarg2) {
+  Stream *arg1 = (Stream *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (Stream *)jarg1; 
+  arg2 = (char *)jarg2; 
+  (arg1)->write((char const *)arg2);
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Stream_get_data(void * jarg1) {
+  char * jresult ;
+  Stream *arg1 = (Stream *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (Stream *)jarg1; 
+  result = (char *)(arg1)->get_data();
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Event_InternalEvent_set(void * jarg1, void * jarg2) {
+  Event *arg1 = (Event *) 0 ;
+  switch_event_t *arg2 = (switch_event_t *) 0 ;
+  
+  arg1 = (Event *)jarg1; 
+  arg2 = (switch_event_t *)jarg2; 
+  if (arg1) (arg1)->event = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_Event_InternalEvent_get(void * jarg1) {
+  void * jresult ;
+  Event *arg1 = (Event *) 0 ;
+  switch_event_t *result = 0 ;
+  
+  arg1 = (Event *)jarg1; 
+  result = (switch_event_t *) ((arg1)->event);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Event_serialized_string_set(void * jarg1, char * jarg2) {
+  Event *arg1 = (Event *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (Event *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->serialized_string) delete [] arg1->serialized_string;
+    if (arg2) {
+      arg1->serialized_string = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->serialized_string, (const char *)arg2);
+    } else {
+      arg1->serialized_string = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Event_serialized_string_get(void * jarg1) {
+  char * jresult ;
+  Event *arg1 = (Event *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (Event *)jarg1; 
+  result = (char *) ((arg1)->serialized_string);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Event_mine_set(void * jarg1, int jarg2) {
+  Event *arg1 = (Event *) 0 ;
+  int arg2 ;
+  
+  arg1 = (Event *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->mine = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_Event_mine_get(void * jarg1) {
+  int jresult ;
+  Event *arg1 = (Event *) 0 ;
+  int result;
+  
+  arg1 = (Event *)jarg1; 
+  result = (int) ((arg1)->mine);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_Event__SWIG_0(char * jarg1, char * jarg2) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) NULL ;
+  Event *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (Event *)new Event((char const *)arg1,(char const *)arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_Event__SWIG_1(void * jarg1, int jarg2) {
+  void * jresult ;
+  switch_event_t *arg1 = (switch_event_t *) 0 ;
+  int arg2 = (int) 0 ;
+  Event *result = 0 ;
+  
+  arg1 = (switch_event_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  result = (Event *)new Event(arg1,arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_Event(void * jarg1) {
+  Event *arg1 = (Event *) 0 ;
+  
+  arg1 = (Event *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Event_Serialize(void * jarg1, char * jarg2) {
+  char * jresult ;
+  Event *arg1 = (Event *) 0 ;
+  char *arg2 = (char *) NULL ;
+  char *result = 0 ;
+  
+  arg1 = (Event *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)(arg1)->serialize((char const *)arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Event_SetPriority(void * jarg1, int jarg2) {
+  unsigned int jresult ;
+  Event *arg1 = (Event *) 0 ;
+  switch_priority_t arg2 = (switch_priority_t) SWITCH_PRIORITY_NORMAL ;
+  bool result;
+  
+  arg1 = (Event *)jarg1; 
+  arg2 = (switch_priority_t)jarg2; 
+  result = (bool)(arg1)->setPriority(arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Event_GetHeader(void * jarg1, char * jarg2) {
+  char * jresult ;
+  Event *arg1 = (Event *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (Event *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)(arg1)->getHeader(arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Event_GetBody(void * jarg1) {
+  char * jresult ;
+  Event *arg1 = (Event *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (Event *)jarg1; 
+  result = (char *)(arg1)->getBody();
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_Event_GetEventType(void * jarg1) {
+  char * jresult ;
+  Event *arg1 = (Event *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (Event *)jarg1; 
+  result = (char *)(arg1)->getType();
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Event_AddBody(void * jarg1, char * jarg2) {
+  unsigned int jresult ;
+  Event *arg1 = (Event *) 0 ;
+  char *arg2 = (char *) 0 ;
+  bool result;
+  
+  arg1 = (Event *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (bool)(arg1)->addBody((char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Event_AddHeader(void * jarg1, char * jarg2, char * jarg3) {
+  unsigned int jresult ;
+  Event *arg1 = (Event *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  bool result;
+  
+  arg1 = (Event *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  result = (bool)(arg1)->addHeader((char const *)arg2,(char const *)arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Event_DeleteHeader(void * jarg1, char * jarg2) {
+  unsigned int jresult ;
+  Event *arg1 = (Event *) 0 ;
+  char *arg2 = (char *) 0 ;
+  bool result;
+  
+  arg1 = (Event *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (bool)(arg1)->delHeader((char const *)arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Event_Fire(void * jarg1) {
+  unsigned int jresult ;
+  Event *arg1 = (Event *) 0 ;
+  bool result;
+  
+  arg1 = (Event *)jarg1; 
+  result = (bool)(arg1)->fire();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_events_set(void * jarg1, void * jarg2) {
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  switch_queue_t *arg2 = (switch_queue_t *) 0 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  arg2 = (switch_queue_t *)jarg2; 
+  if (arg1) (arg1)->events = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_EventConsumer_events_get(void * jarg1) {
+  void * jresult ;
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  switch_queue_t *result = 0 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  result = (switch_queue_t *) ((arg1)->events);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_e_event_id_set(void * jarg1, int jarg2) {
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  switch_event_types_t arg2 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  arg2 = (switch_event_types_t)jarg2; 
+  if (arg1) (arg1)->e_event_id = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_EventConsumer_e_event_id_get(void * jarg1) {
+  int jresult ;
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  switch_event_types_t result;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  result = (switch_event_types_t) ((arg1)->e_event_id);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_node_set(void * jarg1, void * jarg2) {
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  switch_event_node_t *arg2 = (switch_event_node_t *) 0 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  arg2 = (switch_event_node_t *)jarg2; 
+  if (arg1) (arg1)->node = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_EventConsumer_node_get(void * jarg1) {
+  void * jresult ;
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  switch_event_node_t *result = 0 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  result = (switch_event_node_t *) ((arg1)->node);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_e_callback_set(void * jarg1, char * jarg2) {
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->e_callback) delete [] arg1->e_callback;
+    if (arg2) {
+      arg1->e_callback = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->e_callback, (const char *)arg2);
+    } else {
+      arg1->e_callback = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_EventConsumer_e_callback_get(void * jarg1) {
+  char * jresult ;
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  result = (char *) ((arg1)->e_callback);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_e_subclass_name_set(void * jarg1, char * jarg2) {
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->e_subclass_name) delete [] arg1->e_subclass_name;
+    if (arg2) {
+      arg1->e_subclass_name = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->e_subclass_name, (const char *)arg2);
+    } else {
+      arg1->e_subclass_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_EventConsumer_e_subclass_name_get(void * jarg1) {
+  char * jresult ;
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  result = (char *) ((arg1)->e_subclass_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_EventConsumer_e_cb_arg_set(void * jarg1, char * jarg2) {
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->e_cb_arg) delete [] arg1->e_cb_arg;
+    if (arg2) {
+      arg1->e_cb_arg = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->e_cb_arg, (const char *)arg2);
+    } else {
+      arg1->e_cb_arg = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_EventConsumer_e_cb_arg_get(void * jarg1) {
+  char * jresult ;
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  result = (char *) ((arg1)->e_cb_arg);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_EventConsumer(char * jarg1, char * jarg2) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) "" ;
+  EventConsumer *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (EventConsumer *)new EventConsumer((char const *)arg1,(char const *)arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_EventConsumer(void * jarg1) {
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_EventConsumer_pop(void * jarg1, int jarg2) {
+  void * jresult ;
+  EventConsumer *arg1 = (EventConsumer *) 0 ;
+  int arg2 = (int) 0 ;
+  Event *result = 0 ;
+  
+  arg1 = (EventConsumer *)jarg1; 
+  arg2 = (int)jarg2; 
+  result = (Event *)(arg1)->pop(arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_CoreSession(void * jarg1) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_InternalSession_set(void * jarg1, void * jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  switch_core_session_t *arg2 = (switch_core_session_t *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (switch_core_session_t *)jarg2; 
+  if (arg1) (arg1)->session = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_CoreSession_InternalSession_get(void * jarg1) {
+  void * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  switch_core_session_t *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (switch_core_session_t *) ((arg1)->session);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_channel_set(void * jarg1, void * jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  switch_channel_t *arg2 = (switch_channel_t *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (switch_channel_t *)jarg2; 
+  if (arg1) (arg1)->channel = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_CoreSession_channel_get(void * jarg1) {
+  void * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  switch_channel_t *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (switch_channel_t *) ((arg1)->channel);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_flags_set(void * jarg1, unsigned int jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)->flags = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CoreSession_flags_get(void * jarg1) {
+  unsigned int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  unsigned int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (unsigned int) ((arg1)->flags);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_allocated_set(void * jarg1, int jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  int arg2 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (int)jarg2; 
+  if (arg1) (arg1)->allocated = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_allocated_get(void * jarg1) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (int) ((arg1)->allocated);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_cb_state_set(void * jarg1, void * jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  input_callback_state *arg2 = (input_callback_state *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (input_callback_state *)jarg2; 
+  if (arg1) (arg1)->cb_state = *arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_CoreSession_cb_state_get(void * jarg1) {
+  void * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  input_callback_state *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (input_callback_state *)& ((arg1)->cb_state);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_HookState_set(void * jarg1, int jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  switch_channel_state_t arg2 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (switch_channel_state_t)jarg2; 
+  if (arg1) (arg1)->hook_state = arg2;
+  
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_HookState_get(void * jarg1) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  switch_channel_state_t result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (switch_channel_state_t) ((arg1)->hook_state);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_uuid_set(void * jarg1, char * jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->uuid) delete [] arg1->uuid;
+    if (arg2) {
+      arg1->uuid = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->uuid, (const char *)arg2);
+    } else {
+      arg1->uuid = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_uuid_get(void * jarg1) {
+  char * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (char *) ((arg1)->uuid);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_tts_name_set(void * jarg1, char * jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->tts_name) delete [] arg1->tts_name;
+    if (arg2) {
+      arg1->tts_name = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->tts_name, (const char *)arg2);
+    } else {
+      arg1->tts_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_tts_name_get(void * jarg1) {
+  char * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (char *) ((arg1)->tts_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_voice_name_set(void * jarg1, char * jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  {
+    if (arg1->voice_name) delete [] arg1->voice_name;
+    if (arg2) {
+      arg1->voice_name = (char *) (new char[strlen((const char *)arg2)+1]);
+      strcpy((char *)arg1->voice_name, (const char *)arg2);
+    } else {
+      arg1->voice_name = 0;
+    }
+  }
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_voice_name_get(void * jarg1) {
+  char * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (char *) ((arg1)->voice_name);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_Answer(void * jarg1) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (int)(arg1)->answer();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_preAnswer(void * jarg1) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (int)(arg1)->preAnswer();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_Hangup(void * jarg1, char * jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) "normal_clearing" ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  (arg1)->hangup((char const *)arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_SetVariable(void * jarg1, char * jarg2, char * jarg3) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  (arg1)->setVariable(arg2,arg3);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_SetPrivate(void * jarg1, char * jarg2, void * jarg3) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  void *arg3 = (void *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (void *)jarg3; 
+  (arg1)->setPrivate(arg2,arg3);
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_CoreSession_GetPrivate(void * jarg1, char * jarg2) {
+  void * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  void *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (void *)(arg1)->getPrivate(arg2);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_GetVariable(void * jarg1, char * jarg2) {
+  char * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (char *)(arg1)->getVariable(arg2);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_Say(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  char *arg4 = (char *) 0 ;
+  char *arg5 = (char *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (char *)jarg5; 
+  (arg1)->say((char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_SayPhrase(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) "" ;
+  char *arg4 = (char *) NULL ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  (arg1)->sayPhrase((char const *)arg2,(char const *)arg3,(char const *)arg4);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_RecordFile(void * jarg1, char * jarg2, int jarg3, int jarg4, int jarg5) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int arg3 = (int) 0 ;
+  int arg4 = (int) 0 ;
+  int arg5 = (int) 0 ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (int)jarg5; 
+  result = (int)(arg1)->recordFile(arg2,arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_SetCallerData(void * jarg1, char * jarg2, char * jarg3) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  (arg1)->setCallerData(arg2,arg3);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_Originate(void * jarg1, void * jarg2, char * jarg3, int jarg4) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  CoreSession *arg2 = (CoreSession *) 0 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 = (int) 60 ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (CoreSession *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (int)(arg1)->originate(arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_destroy(void * jarg1) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  (arg1)->destroy();
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_Speak(void * jarg1, char * jarg2) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  result = (int)(arg1)->speak(arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_SetTtsParameters(void * jarg1, char * jarg2, char * jarg3) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  (arg1)->set_tts_parms(arg2,arg3);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_CollectDigits(void * jarg1, int jarg2) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  int arg2 ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (int)jarg2; 
+  result = (int)(arg1)->collectDigits(arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_GetDigits__SWIG_0(void * jarg1, int jarg2, char * jarg3, int jarg4) {
+  char * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  int arg2 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  char *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  result = (char *)(arg1)->getDigits(arg2,arg3,arg4);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_GetDigits__SWIG_1(void * jarg1, int jarg2, char * jarg3, int jarg4, int jarg5) {
+  char * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  int arg2 ;
+  char *arg3 = (char *) 0 ;
+  int arg4 ;
+  int arg5 ;
+  char *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (int)jarg5; 
+  result = (char *)(arg1)->getDigits(arg2,arg3,arg4,arg5);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_Transfer(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) NULL ;
+  char *arg4 = (char *) NULL ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  arg4 = (char *)jarg4; 
+  result = (int)(arg1)->transfer(arg2,arg3,arg4);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_read(void * jarg1, int jarg2, int jarg3, char * jarg4, int jarg5, char * jarg6) {
+  char * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  char *arg4 = (char *) 0 ;
+  int arg5 ;
+  char *arg6 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (char *)jarg4; 
+  arg5 = (int)jarg5; 
+  arg6 = (char *)jarg6; 
+  result = (char *)(arg1)->read(arg2,arg3,(char const *)arg4,arg5,(char const *)arg6);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_PlayAndGetDigits(void * jarg1, int jarg2, int jarg3, int jarg4, int jarg5, char * jarg6, char * jarg7, char * jarg8, char * jarg9) {
+  char * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  int arg2 ;
+  int arg3 ;
+  int arg4 ;
+  int arg5 ;
+  char *arg6 = (char *) 0 ;
+  char *arg7 = (char *) 0 ;
+  char *arg8 = (char *) 0 ;
+  char *arg9 = (char *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (int)jarg3; 
+  arg4 = (int)jarg4; 
+  arg5 = (int)jarg5; 
+  arg6 = (char *)jarg6; 
+  arg7 = (char *)jarg7; 
+  arg8 = (char *)jarg8; 
+  arg9 = (char *)jarg9; 
+  result = (char *)(arg1)->playAndGetDigits(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9);
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_StreamFile(void * jarg1, char * jarg2, int jarg3) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  int arg3 = (int) 0 ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (int)jarg3; 
+  result = (int)(arg1)->streamFile(arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_sleep(void * jarg1, int jarg2) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  int arg2 ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (int)jarg2; 
+  result = (int)(arg1)->sleep(arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_flushEvents(void * jarg1) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (int)(arg1)->flushEvents();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_flushDigits(void * jarg1) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (int)(arg1)->flushDigits();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_CoreSession_SetAutoHangup(void * jarg1, unsigned int jarg2) {
+  int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  bool arg2 ;
+  int result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = jarg2 ? true : false; 
+  result = (int)(arg1)->setAutoHangup(arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CoreSession_Ready(void * jarg1) {
+  unsigned int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  bool result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (bool)(arg1)->ready();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CoreSession_answered(void * jarg1) {
+  unsigned int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  bool result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (bool)(arg1)->answered();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CoreSession_mediaReady(void * jarg1) {
+  unsigned int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  bool result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (bool)(arg1)->mediaReady();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_waitForAnswer(void * jarg1, void * jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  CoreSession *arg2 = (CoreSession *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (CoreSession *)jarg2; 
+  (arg1)->waitForAnswer(arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_Execute(void * jarg1, char * jarg2, char * jarg3) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *arg2 = (char *) 0 ;
+  char *arg3 = (char *) NULL ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (char *)jarg2; 
+  arg3 = (char *)jarg3; 
+  (arg1)->execute(arg2,arg3);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_sendEvent(void * jarg1, void * jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  Event *arg2 = (Event *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (Event *)jarg2; 
+  (arg1)->sendEvent(arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_setEventData(void * jarg1, void * jarg2) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  Event *arg2 = (Event *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  arg2 = (Event *)jarg2; 
+  (arg1)->setEventData(arg2);
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_getXMLCDR(void * jarg1) {
+  char * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (char *)(arg1)->getXMLCDR();
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CoreSession_begin_allow_threads(void * jarg1) {
+  unsigned int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  bool result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (bool)(arg1)->begin_allow_threads();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CoreSession_end_allow_threads(void * jarg1) {
+  unsigned int jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  bool result;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (bool)(arg1)->end_allow_threads();
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT char * SWIGSTDCALL CSharp_CoreSession_GetUuid(void * jarg1) {
+  char * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  char *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  result = (char *)((CoreSession const *)arg1)->get_uuid();
+  jresult = SWIG_csharp_string_callback((const char *)result); 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_CoreSession_get_cb_args(void * jarg1) {
+  void * jresult ;
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  switch_input_args_t *result = 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  {
+    switch_input_args_t const &_result_ref = ((CoreSession const *)arg1)->get_cb_args();
+    result = (switch_input_args_t *) &_result_ref;
+  }
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_CoreSession_check_hangup_hook(void * jarg1) {
+  CoreSession *arg1 = (CoreSession *) 0 ;
+  
+  arg1 = (CoreSession *)jarg1; 
+  (arg1)->check_hangup_hook();
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_console_log(char * jarg1, char * jarg2) {
+  char *arg1 = (char *) 0 ;
+  char *arg2 = (char *) 0 ;
+  
+  arg1 = (char *)jarg1; 
+  arg2 = (char *)jarg2; 
+  console_log(arg1,arg2);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_console_clean_log(char * jarg1) {
+  char *arg1 = (char *) 0 ;
+  
+  arg1 = (char *)jarg1; 
+  console_clean_log(arg1);
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_bridge(void * jarg1, void * jarg2) {
+  CoreSession *arg1 = 0 ;
+  CoreSession *arg2 = 0 ;
+  
+  arg1 = (CoreSession *)jarg1;
+  if(!arg1) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "CoreSession & type is null", 0);
+    return ;
+  } 
+  arg2 = (CoreSession *)jarg2;
+  if(!arg2) {
+    SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "CoreSession & type is null", 0);
+    return ;
+  } 
+  bridge(*arg1,*arg2);
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_hanguphook(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)hanguphook(arg1);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT int SWIGSTDCALL CSharp_dtmf_callback(void * jarg1, void * jarg2, int jarg3, void * jarg4, unsigned int jarg5) {
+  int jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  void *arg2 = (void *) 0 ;
+  switch_input_type_t arg3 ;
+  void *arg4 = (void *) 0 ;
+  unsigned int arg5 ;
+  switch_status_t result;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  arg2 = (void *)jarg2; 
+  arg3 = (switch_input_type_t)jarg3; 
+  arg4 = (void *)jarg4; 
+  arg5 = (unsigned int)jarg5; 
+  result = (switch_status_t)dtmf_callback(arg1,arg2,arg3,arg4,arg5);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_ManagedSession__SWIG_0() {
+  void * jresult ;
+  ManagedSession *result = 0 ;
+  
+  result = (ManagedSession *)new ManagedSession();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_ManagedSession__SWIG_1(char * jarg1) {
+  void * jresult ;
+  char *arg1 = (char *) 0 ;
+  ManagedSession *result = 0 ;
+  
+  arg1 = (char *)jarg1; 
+  result = (ManagedSession *)new ManagedSession(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_ManagedSession__SWIG_2(void * jarg1) {
+  void * jresult ;
+  switch_core_session_t *arg1 = (switch_core_session_t *) 0 ;
+  ManagedSession *result = 0 ;
+  
+  arg1 = (switch_core_session_t *)jarg1; 
+  result = (ManagedSession *)new ManagedSession(arg1);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_ManagedSession(void * jarg1) {
+  ManagedSession *arg1 = (ManagedSession *) 0 ;
+  
+  arg1 = (ManagedSession *)jarg1; 
+  delete arg1;
+  
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_ManagedSession_dtmfDelegate_set(void * jarg1, void * jarg2) {
+  ManagedSession *arg1 = (ManagedSession *) 0 ;
+  inputFunction arg2 = (inputFunction) 0 ;
+  
+  arg1 = (ManagedSession *)jarg1; 
+  arg2 = (inputFunction)jarg2; 
+  if (arg1) (arg1)->dtmfDelegate = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_ManagedSession_dtmfDelegate_get(void * jarg1) {
+  void * jresult ;
+  ManagedSession *arg1 = (ManagedSession *) 0 ;
+  inputFunction result;
+  
+  arg1 = (ManagedSession *)jarg1; 
+  result = (inputFunction) ((arg1)->dtmfDelegate);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_ManagedSession_hangupDelegate_set(void * jarg1, void * jarg2) {
+  ManagedSession *arg1 = (ManagedSession *) 0 ;
+  hangupFunction arg2 = (hangupFunction) 0 ;
+  
+  arg1 = (ManagedSession *)jarg1; 
+  arg2 = (hangupFunction)jarg2; 
+  if (arg1) (arg1)->hangupDelegate = arg2;
+  
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_ManagedSession_hangupDelegate_get(void * jarg1) {
+  void * jresult ;
+  ManagedSession *arg1 = (ManagedSession *) 0 ;
+  hangupFunction result;
+  
+  arg1 = (ManagedSession *)jarg1; 
+  result = (hangupFunction) ((arg1)->hangupDelegate);
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT CoreSession * SWIGSTDCALL CSharp_ManagedSessionUpcast(ManagedSession *objectRef) {
+    return (CoreSession *)objectRef;
+}
+
+#ifdef __cplusplus
+}
+#endif
+

Modified: freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs
==============================================================================
--- freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs	(original)
+++ freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs	Fri Oct  3 14:40:01 2008
@@ -1,23722 +1,23722 @@
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 CoreSession : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal CoreSession(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(CoreSession obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~CoreSession() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_CoreSession(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_switch_core_session InternalSession {
-    set {
-      freeswitchPINVOKE.CoreSession_InternalSession_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.CoreSession_InternalSession_get(swigCPtr);
-      SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_channel channel {
-    set {
-      freeswitchPINVOKE.CoreSession_channel_set(swigCPtr, SWIGTYPE_p_switch_channel.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.CoreSession_channel_get(swigCPtr);
-      SWIGTYPE_p_switch_channel ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_channel(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint flags {
-    set {
-      freeswitchPINVOKE.CoreSession_flags_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.CoreSession_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int allocated {
-    set {
-      freeswitchPINVOKE.CoreSession_allocated_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.CoreSession_allocated_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public input_callback_state_t cb_state {
-    set {
-      freeswitchPINVOKE.CoreSession_cb_state_set(swigCPtr, input_callback_state_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.CoreSession_cb_state_get(swigCPtr);
-      input_callback_state_t ret = (cPtr == IntPtr.Zero) ? null : new input_callback_state_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_channel_state_t HookState {
-    set {
-      freeswitchPINVOKE.CoreSession_HookState_set(swigCPtr, (int)value);
-    } 
-    get {
-      switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.CoreSession_HookState_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string uuid {
-    set {
-      freeswitchPINVOKE.CoreSession_uuid_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.CoreSession_uuid_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string tts_name {
-    set {
-      freeswitchPINVOKE.CoreSession_tts_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.CoreSession_tts_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string voice_name {
-    set {
-      freeswitchPINVOKE.CoreSession_voice_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.CoreSession_voice_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int Answer() {
-    int ret = freeswitchPINVOKE.CoreSession_Answer(swigCPtr);
-    return ret;
-  }
-
-  public int preAnswer() {
-    int ret = freeswitchPINVOKE.CoreSession_preAnswer(swigCPtr);
-    return ret;
-  }
-
-  public void Hangup(string cause) {
-    freeswitchPINVOKE.CoreSession_Hangup(swigCPtr, cause);
-  }
-
-  public void SetVariable(string var, string val) {
-    freeswitchPINVOKE.CoreSession_SetVariable(swigCPtr, var, val);
-  }
-
-  public void SetPrivate(string var, SWIGTYPE_p_void val) {
-    freeswitchPINVOKE.CoreSession_SetPrivate(swigCPtr, var, SWIGTYPE_p_void.getCPtr(val));
-  }
-
-  public SWIGTYPE_p_void GetPrivate(string var) {
-    IntPtr cPtr = freeswitchPINVOKE.CoreSession_GetPrivate(swigCPtr, var);
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    return ret;
-  }
-
-  public string GetVariable(string var) {
-    string ret = freeswitchPINVOKE.CoreSession_GetVariable(swigCPtr, var);
-    return ret;
-  }
-
-  public void Say(string tosay, string module_name, string say_type, string say_method) {
-    freeswitchPINVOKE.CoreSession_Say(swigCPtr, tosay, module_name, say_type, say_method);
-  }
-
-  public void SayPhrase(string phrase_name, string phrase_data, string phrase_lang) {
-    freeswitchPINVOKE.CoreSession_SayPhrase(swigCPtr, phrase_name, phrase_data, phrase_lang);
-  }
-
-  public int RecordFile(string file_name, int time_limit, int silence_threshold, int silence_hits) {
-    int ret = freeswitchPINVOKE.CoreSession_RecordFile(swigCPtr, file_name, time_limit, silence_threshold, silence_hits);
-    return ret;
-  }
-
-  public void SetCallerData(string var, string val) {
-    freeswitchPINVOKE.CoreSession_SetCallerData(swigCPtr, var, val);
-  }
-
-  public int Originate(CoreSession a_leg_session, string dest, int timeout) {
-    int ret = freeswitchPINVOKE.CoreSession_Originate(swigCPtr, CoreSession.getCPtr(a_leg_session), dest, timeout);
-    return ret;
-  }
-
-  public void destroy() {
-    freeswitchPINVOKE.CoreSession_destroy(swigCPtr);
-  }
-
-  public int Speak(string text) {
-    int ret = freeswitchPINVOKE.CoreSession_Speak(swigCPtr, text);
-    return ret;
-  }
-
-  public void SetTtsParameters(string tts_name, string voice_name) {
-    freeswitchPINVOKE.CoreSession_SetTtsParameters(swigCPtr, tts_name, voice_name);
-  }
-
-  public int CollectDigits(int timeout) {
-    int ret = freeswitchPINVOKE.CoreSession_CollectDigits(swigCPtr, timeout);
-    return ret;
-  }
-
-  public string GetDigits(int maxdigits, string terminators, int timeout) {
-    string ret = freeswitchPINVOKE.CoreSession_GetDigits__SWIG_0(swigCPtr, maxdigits, terminators, timeout);
-    return ret;
-  }
-
-  public string GetDigits(int maxdigits, string terminators, int timeout, int interdigit) {
-    string ret = freeswitchPINVOKE.CoreSession_GetDigits__SWIG_1(swigCPtr, maxdigits, terminators, timeout, interdigit);
-    return ret;
-  }
-
-  public int Transfer(string extension, string dialplan, string context) {
-    int ret = freeswitchPINVOKE.CoreSession_Transfer(swigCPtr, extension, dialplan, context);
-    return ret;
-  }
-
-  public string read(int min_digits, int max_digits, string prompt_audio_file, int timeout, string valid_terminators) {
-    string ret = freeswitchPINVOKE.CoreSession_read(swigCPtr, min_digits, max_digits, prompt_audio_file, timeout, valid_terminators);
-    return ret;
-  }
-
-  public string PlayAndGetDigits(int min_digits, int max_digits, int max_tries, int timeout, string terminators, string audio_files, string bad_input_audio_files, string digits_regex) {
-    string ret = freeswitchPINVOKE.CoreSession_PlayAndGetDigits(swigCPtr, min_digits, max_digits, max_tries, timeout, terminators, audio_files, bad_input_audio_files, digits_regex);
-    return ret;
-  }
-
-  public int StreamFile(string file, int starting_sample_count) {
-    int ret = freeswitchPINVOKE.CoreSession_StreamFile(swigCPtr, file, starting_sample_count);
-    return ret;
-  }
-
-  public int sleep(int ms) {
-    int ret = freeswitchPINVOKE.CoreSession_sleep(swigCPtr, ms);
-    return ret;
-  }
-
-  public int flushEvents() {
-    int ret = freeswitchPINVOKE.CoreSession_flushEvents(swigCPtr);
-    return ret;
-  }
-
-  public int flushDigits() {
-    int ret = freeswitchPINVOKE.CoreSession_flushDigits(swigCPtr);
-    return ret;
-  }
-
-  public int SetAutoHangup(bool val) {
-    int ret = freeswitchPINVOKE.CoreSession_SetAutoHangup(swigCPtr, val);
-    return ret;
-  }
-
-  public bool Ready() {
-    bool ret = freeswitchPINVOKE.CoreSession_Ready(swigCPtr);
-    return ret;
-  }
-
-  public bool answered() {
-    bool ret = freeswitchPINVOKE.CoreSession_answered(swigCPtr);
-    return ret;
-  }
-
-  public bool mediaReady() {
-    bool ret = freeswitchPINVOKE.CoreSession_mediaReady(swigCPtr);
-    return ret;
-  }
-
-  public void waitForAnswer(CoreSession calling_session) {
-    freeswitchPINVOKE.CoreSession_waitForAnswer(swigCPtr, CoreSession.getCPtr(calling_session));
-  }
-
-  public void Execute(string app, string data) {
-    freeswitchPINVOKE.CoreSession_Execute(swigCPtr, app, data);
-  }
-
-  public void sendEvent(Event sendME) {
-    freeswitchPINVOKE.CoreSession_sendEvent(swigCPtr, Event.getCPtr(sendME));
-  }
-
-  public void setEventData(Event e) {
-    freeswitchPINVOKE.CoreSession_setEventData(swigCPtr, Event.getCPtr(e));
-  }
-
-  public string getXMLCDR() {
-    string ret = freeswitchPINVOKE.CoreSession_getXMLCDR(swigCPtr);
-    return ret;
-  }
-
-  public virtual bool begin_allow_threads() {
-    bool ret = freeswitchPINVOKE.CoreSession_begin_allow_threads(swigCPtr);
-    return ret;
-  }
-
-  public virtual bool end_allow_threads() {
-    bool ret = freeswitchPINVOKE.CoreSession_end_allow_threads(swigCPtr);
-    return ret;
-  }
-
-  public string GetUuid() {
-    string ret = freeswitchPINVOKE.CoreSession_GetUuid(swigCPtr);
-    return ret;
-  }
-
-  public switch_input_args_t get_cb_args() {
-    switch_input_args_t ret = new switch_input_args_t(freeswitchPINVOKE.CoreSession_get_cb_args(swigCPtr), false);
-    return ret;
-  }
-
-  public virtual void check_hangup_hook() {
-    freeswitchPINVOKE.CoreSession_check_hangup_hook(swigCPtr);
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 partial class ManagedSession : CoreSession {
-  private HandleRef swigCPtr;
-
-  internal ManagedSession(IntPtr cPtr, bool cMemoryOwn) : base(freeswitchPINVOKE.ManagedSessionUpcast(cPtr), cMemoryOwn) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(ManagedSession obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~ManagedSession() {
-    Dispose();
-  }
-
-  public override void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_ManagedSession(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-      base.Dispose();
-    }
-  }
-
-  public ManagedSession() : this(freeswitchPINVOKE.new_ManagedSession__SWIG_0(), true) {
-  }
-
-  public ManagedSession(string uuid) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_1(uuid), true) {
-  }
-
-  public ManagedSession(SWIGTYPE_p_switch_core_session session) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_2(SWIGTYPE_p_switch_core_session.getCPtr(session)), true) {
-  }
-
-  public SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char dtmfDelegate {
-    set {
-      freeswitchPINVOKE.ManagedSession_dtmfDelegate_set(swigCPtr, SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.ManagedSession_dtmfDelegate_get(swigCPtr);
-      SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_void__void hangupDelegate {
-    set {
-      freeswitchPINVOKE.ManagedSession_hangupDelegate_set(swigCPtr, SWIGTYPE_p_f_void__void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.ManagedSession_hangupDelegate_get(swigCPtr);
-      SWIGTYPE_p_f_void__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_void__void(cPtr, false);
-      return ret;
-    } 
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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;
-
-class freeswitchPINVOKE {
-
-  protected class SWIGExceptionHelper {
-
-    public delegate void ExceptionDelegate(string message);
-    public delegate void ExceptionArgumentDelegate(string message, string paramName);
-
-    static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException);
-    static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException);
-    static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException);
-    static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException);
-    static ExceptionDelegate invalidCastDelegate = new ExceptionDelegate(SetPendingInvalidCastException);
-    static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException);
-    static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException);
-    static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException);
-    static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException);
-    static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException);
-    static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException);
-
-    static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException);
-    static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException);
-    static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException);
-
-    [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionCallbacks_freeswitch")]
-    public static extern void SWIGRegisterExceptionCallbacks_freeswitch(
-                                ExceptionDelegate applicationDelegate,
-                                ExceptionDelegate arithmeticDelegate,
-                                ExceptionDelegate divideByZeroDelegate, 
-                                ExceptionDelegate indexOutOfRangeDelegate, 
-                                ExceptionDelegate invalidCastDelegate,
-                                ExceptionDelegate invalidOperationDelegate,
-                                ExceptionDelegate ioDelegate,
-                                ExceptionDelegate nullReferenceDelegate,
-                                ExceptionDelegate outOfMemoryDelegate, 
-                                ExceptionDelegate overflowDelegate, 
-                                ExceptionDelegate systemExceptionDelegate);
-
-    [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_freeswitch")]
-    public static extern void SWIGRegisterExceptionCallbacksArgument_freeswitch(
-                                ExceptionArgumentDelegate argumentDelegate,
-                                ExceptionArgumentDelegate argumentNullDelegate,
-                                ExceptionArgumentDelegate argumentOutOfRangeDelegate);
-
-    static void SetPendingApplicationException(string message) {
-      SWIGPendingException.Set(new System.ApplicationException(message, SWIGPendingException.Retrieve()));
-    }
-    static void SetPendingArithmeticException(string message) {
-      SWIGPendingException.Set(new System.ArithmeticException(message, SWIGPendingException.Retrieve()));
-    }
-    static void SetPendingDivideByZeroException(string message) {
-      SWIGPendingException.Set(new System.DivideByZeroException(message, SWIGPendingException.Retrieve()));
-    }
-    static void SetPendingIndexOutOfRangeException(string message) {
-      SWIGPendingException.Set(new System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve()));
-    }
-    static void SetPendingInvalidCastException(string message) {
-      SWIGPendingException.Set(new System.InvalidCastException(message, SWIGPendingException.Retrieve()));
-    }
-    static void SetPendingInvalidOperationException(string message) {
-      SWIGPendingException.Set(new System.InvalidOperationException(message, SWIGPendingException.Retrieve()));
-    }
-    static void SetPendingIOException(string message) {
-      SWIGPendingException.Set(new System.IO.IOException(message, SWIGPendingException.Retrieve()));
-    }
-    static void SetPendingNullReferenceException(string message) {
-      SWIGPendingException.Set(new System.NullReferenceException(message, SWIGPendingException.Retrieve()));
-    }
-    static void SetPendingOutOfMemoryException(string message) {
-      SWIGPendingException.Set(new System.OutOfMemoryException(message, SWIGPendingException.Retrieve()));
-    }
-    static void SetPendingOverflowException(string message) {
-      SWIGPendingException.Set(new System.OverflowException(message, SWIGPendingException.Retrieve()));
-    }
-    static void SetPendingSystemException(string message) {
-      SWIGPendingException.Set(new System.SystemException(message, SWIGPendingException.Retrieve()));
-    }
-
-    static void SetPendingArgumentException(string message, string paramName) {
-      SWIGPendingException.Set(new System.ArgumentException(message, paramName, SWIGPendingException.Retrieve()));
-    }
-    static void SetPendingArgumentNullException(string message, string paramName) {
-      Exception e = SWIGPendingException.Retrieve();
-      if (e != null) message = message + " Inner Exception: " + e.Message;
-      SWIGPendingException.Set(new System.ArgumentNullException(paramName, message));
-    }
-    static void SetPendingArgumentOutOfRangeException(string message, string paramName) {
-      Exception e = SWIGPendingException.Retrieve();
-      if (e != null) message = message + " Inner Exception: " + e.Message;
-      SWIGPendingException.Set(new System.ArgumentOutOfRangeException(paramName, message));
-    }
-
-    static SWIGExceptionHelper() {
-      SWIGRegisterExceptionCallbacks_freeswitch(
-                                applicationDelegate,
-                                arithmeticDelegate,
-                                divideByZeroDelegate,
-                                indexOutOfRangeDelegate,
-                                invalidCastDelegate,
-                                invalidOperationDelegate,
-                                ioDelegate,
-                                nullReferenceDelegate,
-                                outOfMemoryDelegate,
-                                overflowDelegate,
-                                systemDelegate);
-
-      SWIGRegisterExceptionCallbacksArgument_freeswitch(
-                                argumentDelegate,
-                                argumentNullDelegate,
-                                argumentOutOfRangeDelegate);
-    }
-  }
-
-  protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper();
-
-  public class SWIGPendingException {
-    [ThreadStatic]
-    private static Exception pendingException = null;
-    private static int numExceptionsPending = 0;
-
-    public static bool Pending {
-      get {
-        bool pending = false;
-        if (numExceptionsPending > 0)
-          if (pendingException != null)
-            pending = true;
-        return pending;
-      } 
-    }
-
-    public static void Set(Exception e) {
-      if (pendingException != null)
-        throw new ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e);
-      pendingException = e;
-      lock(typeof(freeswitchPINVOKE)) {
-        numExceptionsPending++;
-      }
-    }
-
-    public static Exception Retrieve() {
-      Exception e = null;
-      if (numExceptionsPending > 0) {
-        if (pendingException != null) {
-          e = pendingException;
-          pendingException = null;
-          lock(typeof(freeswitchPINVOKE)) {
-            numExceptionsPending--;
-          }
-        }
-      }
-      return e;
-    }
-  }
-
-
-  protected class SWIGStringHelper {
-
-    public delegate string SWIGStringDelegate(string message);
-    static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString);
-
-    [DllImport("mod_managed", EntryPoint="SWIGRegisterStringCallback_freeswitch")]
-    public static extern void SWIGRegisterStringCallback_freeswitch(SWIGStringDelegate stringDelegate);
-
-    static string CreateString(string cString) {
-      return cString;
-    }
-
-    static SWIGStringHelper() {
-      SWIGRegisterStringCallback_freeswitch(stringDelegate);
-    }
-  }
-
-  static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper();
-
-
-  [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_PEN_get")]
-  public static extern string FREESWITCH_PEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_OID_PREFIX_get")]
-  public static extern string FREESWITCH_OID_PREFIX_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_ITAD_get")]
-  public static extern string FREESWITCH_ITAD_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp___EXTENSIONS___get")]
-  public static extern int __EXTENSIONS___get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp___BSD_VISIBLE_get")]
-  public static extern int __BSD_VISIBLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BLANK_STRING_get")]
-  public static extern string SWITCH_BLANK_STRING_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_ESC_get")]
-  public static extern string SWITCH_SEQ_ESC_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_get")]
-  public static extern char SWITCH_SEQ_HOME_CHAR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_STR_get")]
-  public static extern string SWITCH_SEQ_HOME_CHAR_STR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_get")]
-  public static extern char SWITCH_SEQ_CLEARLINE_CHAR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_STR_get")]
-  public static extern string SWITCH_SEQ_CLEARLINE_CHAR_STR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_CHAR_get")]
-  public static extern string SWITCH_SEQ_CLEARLINEEND_CHAR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR0_get")]
-  public static extern char SWITCH_SEQ_CLEARSCR_CHAR0_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR1_get")]
-  public static extern char SWITCH_SEQ_CLEARSCR_CHAR1_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR_get")]
-  public static extern string SWITCH_SEQ_CLEARSCR_CHAR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_AND_COLOR_get")]
-  public static extern string SWITCH_SEQ_AND_COLOR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_END_COLOR_get")]
-  public static extern string SWITCH_SEQ_END_COLOR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLACK_get")]
-  public static extern string SWITCH_SEQ_F_BLACK_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_RED_get")]
-  public static extern string SWITCH_SEQ_F_RED_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_GREEN_get")]
-  public static extern string SWITCH_SEQ_F_GREEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_YELLOW_get")]
-  public static extern string SWITCH_SEQ_F_YELLOW_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLUE_get")]
-  public static extern string SWITCH_SEQ_F_BLUE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_MAGEN_get")]
-  public static extern string SWITCH_SEQ_F_MAGEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_CYAN_get")]
-  public static extern string SWITCH_SEQ_F_CYAN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_WHITE_get")]
-  public static extern string SWITCH_SEQ_F_WHITE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLACK_get")]
-  public static extern string SWITCH_SEQ_B_BLACK_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_RED_get")]
-  public static extern string SWITCH_SEQ_B_RED_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_GREEN_get")]
-  public static extern string SWITCH_SEQ_B_GREEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_YELLOW_get")]
-  public static extern string SWITCH_SEQ_B_YELLOW_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLUE_get")]
-  public static extern string SWITCH_SEQ_B_BLUE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_MAGEN_get")]
-  public static extern string SWITCH_SEQ_B_MAGEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_CYAN_get")]
-  public static extern string SWITCH_SEQ_B_CYAN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_WHITE_get")]
-  public static extern string SWITCH_SEQ_B_WHITE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLACK_get")]
-  public static extern string SWITCH_SEQ_FBLACK_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FRED_get")]
-  public static extern string SWITCH_SEQ_FRED_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FGREEN_get")]
-  public static extern string SWITCH_SEQ_FGREEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FYELLOW_get")]
-  public static extern string SWITCH_SEQ_FYELLOW_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLUE_get")]
-  public static extern string SWITCH_SEQ_FBLUE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FMAGEN_get")]
-  public static extern string SWITCH_SEQ_FMAGEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FCYAN_get")]
-  public static extern string SWITCH_SEQ_FCYAN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FWHITE_get")]
-  public static extern string SWITCH_SEQ_FWHITE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLACK_get")]
-  public static extern string SWITCH_SEQ_BBLACK_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BRED_get")]
-  public static extern string SWITCH_SEQ_BRED_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BGREEN_get")]
-  public static extern string SWITCH_SEQ_BGREEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BYELLOW_get")]
-  public static extern string SWITCH_SEQ_BYELLOW_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLUE_get")]
-  public static extern string SWITCH_SEQ_BBLUE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BMAGEN_get")]
-  public static extern string SWITCH_SEQ_BMAGEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BCYAN_get")]
-  public static extern string SWITCH_SEQ_BCYAN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BWHITE_get")]
-  public static extern string SWITCH_SEQ_BWHITE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_get")]
-  public static extern string SWITCH_SEQ_HOME_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_get")]
-  public static extern string SWITCH_SEQ_CLEARLINE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_get")]
-  public static extern string SWITCH_SEQ_CLEARLINEEND_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_get")]
-  public static extern string SWITCH_SEQ_CLEARSCR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_DTMF_DURATION_get")]
-  public static extern int SWITCH_DEFAULT_DTMF_DURATION_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_DTMF_DURATION_get")]
-  public static extern int SWITCH_MAX_DTMF_DURATION_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PATH_SEPARATOR_get")]
-  public static extern string SWITCH_PATH_SEPARATOR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_URL_SEPARATOR_get")]
-  public static extern string SWITCH_URL_SEPARATOR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get")]
-  public static extern string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_READ_RESULT_VARIABLE_get")]
-  public static extern string SWITCH_READ_RESULT_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_COPY_XML_CDR_VARIABLE_get")]
-  public static extern string SWITCH_COPY_XML_CDR_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_VARIABLE_get")]
-  public static extern string SWITCH_CURRENT_APPLICATION_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get")]
-  public static extern string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get();
-
-  [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_RING_VARIABLE_get")]
-  public static extern string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CALL_TIMEOUT_VARIABLE_get")]
-  public static extern string SWITCH_CALL_TIMEOUT_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLDING_UUID_VARIABLE_get")]
-  public static extern string SWITCH_HOLDING_UUID_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_BRIDGE_END_VARIABLE_get")]
-  public static extern string SWITCH_API_BRIDGE_END_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_HANGUP_HOOK_VARIABLE_get")]
-  public static extern string SWITCH_API_HANGUP_HOOK_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROCESS_CDR_VARIABLE_get")]
-  public static extern string SWITCH_PROCESS_CDR_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_CHANNEL_VARIABLE_get")]
-  public static extern string SWITCH_BRIDGE_CHANNEL_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_NAME_VARIABLE_get")]
-  public static extern string SWITCH_CHANNEL_NAME_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_UUID_VARIABLE_get")]
-  public static extern string SWITCH_BRIDGE_UUID_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get")]
-  public static extern string SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get")]
-  public static extern string SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATOR_USED_get")]
-  public static extern string SWITCH_PLAYBACK_TERMINATOR_USED_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get")]
-  public static extern string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get")]
-  public static extern string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_VARIABLE_get")]
-  public static extern string SWITCH_BYPASS_MEDIA_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROXY_MEDIA_VARIABLE_get")]
-  public static extern string SWITCH_PROXY_MEDIA_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get")]
-  public static extern string SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLD_MUSIC_VARIABLE_get")]
-  public static extern string SWITCH_HOLD_MUSIC_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXPORT_VARS_VARIABLE_get")]
-  public static extern string SWITCH_EXPORT_VARS_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_R_SDP_VARIABLE_get")]
-  public static extern string SWITCH_R_SDP_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_L_SDP_VARIABLE_get")]
-  public static extern string SWITCH_L_SDP_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_B_SDP_VARIABLE_get")]
-  public static extern string SWITCH_B_SDP_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_VARIABLE_get")]
-  public static extern string SWITCH_BRIDGE_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BRIDGE_VARIABLE_get")]
-  public static extern string SWITCH_SIGNAL_BRIDGE_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BOND_VARIABLE_get")]
-  public static extern string SWITCH_SIGNAL_BOND_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_VARIABLE_get")]
-  public static extern string SWITCH_ORIGINATOR_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_CODEC_VARIABLE_get")]
-  public static extern string SWITCH_ORIGINATOR_CODEC_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get")]
-  public static extern string SWITCH_LOCAL_MEDIA_IP_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get")]
-  public static extern string SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_IP_VARIABLE_get")]
-  public static extern string SWITCH_REMOTE_MEDIA_IP_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get")]
-  public static extern string SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_IP_VARIABLE_get")]
-  public static extern string SWITCH_REMOTE_VIDEO_IP_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get")]
-  public static extern string SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_IP_VARIABLE_get")]
-  public static extern string SWITCH_LOCAL_VIDEO_IP_VARIABLE_get();
-
-  [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_HANGUP_AFTER_BRIDGE_VARIABLE_get")]
-  public static extern string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get")]
-  public static extern string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get")]
-  public static extern string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_FORWARDS_VARIABLE_get")]
-  public static extern string SWITCH_MAX_FORWARDS_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DISABLE_APP_LOG_VARIABLE_get")]
-  public static extern string SWITCH_DISABLE_APP_LOG_VARIABLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SPEECH_KEY_get")]
-  public static extern string SWITCH_SPEECH_KEY_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_UUID_BRIDGE_get")]
-  public static extern string SWITCH_UUID_BRIDGE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BITS_PER_BYTE_get")]
-  public static extern int SWITCH_BITS_PER_BYTE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_set")]
-  public static extern void switch_dtmf_t_digit_set(HandleRef jarg1, char jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_get")]
-  public static extern char switch_dtmf_t_digit_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_set")]
-  public static extern void switch_dtmf_t_duration_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_get")]
-  public static extern uint switch_dtmf_t_duration_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dtmf_t")]
-  public static extern IntPtr new_switch_dtmf_t();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dtmf_t")]
-  public static extern void delete_switch_dtmf_t(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_set")]
-  public static extern void switch_bitpack_t_buf_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_get")]
-  public static extern IntPtr switch_bitpack_t_buf_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_set")]
-  public static extern void switch_bitpack_t_buflen_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_get")]
-  public static extern uint switch_bitpack_t_buflen_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_set")]
-  public static extern void switch_bitpack_t_cur_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_get")]
-  public static extern IntPtr switch_bitpack_t_cur_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_set")]
-  public static extern void switch_bitpack_t_bytes_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_get")]
-  public static extern uint switch_bitpack_t_bytes_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_set")]
-  public static extern void switch_bitpack_t_bits_tot_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_get")]
-  public static extern uint switch_bitpack_t_bits_tot_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_set")]
-  public static extern void switch_bitpack_t_bits_cur_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_get")]
-  public static extern byte switch_bitpack_t_bits_cur_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_set")]
-  public static extern void switch_bitpack_t_bits_rem_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_get")]
-  public static extern byte switch_bitpack_t_bits_rem_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_set")]
-  public static extern void switch_bitpack_t_frame_bits_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_get")]
-  public static extern byte switch_bitpack_t_frame_bits_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_set")]
-  public static extern void switch_bitpack_t_shiftby_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_get")]
-  public static extern byte switch_bitpack_t_shiftby_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_set")]
-  public static extern void switch_bitpack_t_this_byte_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_get")]
-  public static extern byte switch_bitpack_t_this_byte_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_set")]
-  public static extern void switch_bitpack_t_under_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_get")]
-  public static extern byte switch_bitpack_t_under_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_set")]
-  public static extern void switch_bitpack_t_over_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_get")]
-  public static extern byte switch_bitpack_t_over_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_set")]
-  public static extern void switch_bitpack_t_mode_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_get")]
-  public static extern int switch_bitpack_t_mode_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_bitpack_t")]
-  public static extern IntPtr new_switch_bitpack_t();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_bitpack_t")]
-  public static extern void delete_switch_bitpack_t(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_set")]
-  public static extern void switch_directories_base_dir_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_get")]
-  public static extern string switch_directories_base_dir_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_set")]
-  public static extern void switch_directories_mod_dir_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_get")]
-  public static extern string switch_directories_mod_dir_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_set")]
-  public static extern void switch_directories_conf_dir_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_get")]
-  public static extern string switch_directories_conf_dir_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_set")]
-  public static extern void switch_directories_log_dir_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_get")]
-  public static extern string switch_directories_log_dir_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_set")]
-  public static extern void switch_directories_db_dir_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_get")]
-  public static extern string switch_directories_db_dir_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_set")]
-  public static extern void switch_directories_script_dir_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_get")]
-  public static extern string switch_directories_script_dir_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_set")]
-  public static extern void switch_directories_temp_dir_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_get")]
-  public static extern string switch_directories_temp_dir_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_set")]
-  public static extern void switch_directories_htdocs_dir_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_get")]
-  public static extern string switch_directories_htdocs_dir_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_set")]
-  public static extern void switch_directories_grammar_dir_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_get")]
-  public static extern string switch_directories_grammar_dir_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_set")]
-  public static extern void switch_directories_storage_dir_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_get")]
-  public static extern string switch_directories_storage_dir_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directories")]
-  public static extern IntPtr new_switch_directories();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directories")]
-  public static extern void delete_switch_directories(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_set")]
-  public static extern void SWITCH_GLOBAL_dirs_set(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_get")]
-  public static extern IntPtr SWITCH_GLOBAL_dirs_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STACKS_get")]
-  public static extern int SWITCH_MAX_STACKS_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_THREAD_STACKSIZE_get")]
-  public static extern int SWITCH_THREAD_STACKSIZE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SYSTEM_THREAD_STACKSIZE_get")]
-  public static extern int SWITCH_SYSTEM_THREAD_STACKSIZE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_INTERVAL_get")]
-  public static extern int SWITCH_MAX_INTERVAL_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_INTERVAL_PAD_get")]
-  public static extern int SWITCH_INTERVAL_PAD_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_SAMPLE_LEN_get")]
-  public static extern int SWITCH_MAX_SAMPLE_LEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYTES_PER_SAMPLE_get")]
-  public static extern int SWITCH_BYTES_PER_SAMPLE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RECOMMENDED_BUFFER_SIZE_get")]
-  public static extern int SWITCH_RECOMMENDED_BUFFER_SIZE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CODECS_get")]
-  public static extern int SWITCH_MAX_CODECS_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STATE_HANDLERS_get")]
-  public static extern int SWITCH_MAX_STATE_HANDLERS_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_QUEUE_LEN_get")]
-  public static extern int SWITCH_CORE_QUEUE_LEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get")]
-  public static extern int SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CNG_PAYLOAD_get")]
-  public static extern int SWITCH_RTP_CNG_PAYLOAD_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_set")]
-  public static extern void switch_rtp_hdr_t_version_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_get")]
-  public static extern uint switch_rtp_hdr_t_version_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_set")]
-  public static extern void switch_rtp_hdr_t_p_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_get")]
-  public static extern uint switch_rtp_hdr_t_p_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_set")]
-  public static extern void switch_rtp_hdr_t_x_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_get")]
-  public static extern uint switch_rtp_hdr_t_x_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_set")]
-  public static extern void switch_rtp_hdr_t_cc_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_get")]
-  public static extern uint switch_rtp_hdr_t_cc_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_set")]
-  public static extern void switch_rtp_hdr_t_m_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_get")]
-  public static extern uint switch_rtp_hdr_t_m_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_set")]
-  public static extern void switch_rtp_hdr_t_pt_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_get")]
-  public static extern uint switch_rtp_hdr_t_pt_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_set")]
-  public static extern void switch_rtp_hdr_t_seq_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_get")]
-  public static extern uint switch_rtp_hdr_t_seq_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_set")]
-  public static extern void switch_rtp_hdr_t_ts_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_get")]
-  public static extern uint switch_rtp_hdr_t_ts_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_set")]
-  public static extern void switch_rtp_hdr_t_ssrc_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_get")]
-  public static extern uint switch_rtp_hdr_t_ssrc_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_hdr_t")]
-  public static extern IntPtr new_switch_rtp_hdr_t();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_hdr_t")]
-  public static extern void delete_switch_rtp_hdr_t(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_set")]
-  public static extern void switch_input_args_t_input_callback_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_get")]
-  public static extern IntPtr switch_input_args_t_input_callback_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_set")]
-  public static extern void switch_input_args_t_buf_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_get")]
-  public static extern IntPtr switch_input_args_t_buf_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_set")]
-  public static extern void switch_input_args_t_buflen_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_get")]
-  public static extern uint switch_input_args_t_buflen_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_set")]
-  public static extern void switch_input_args_t_read_frame_callback_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_get")]
-  public static extern IntPtr switch_input_args_t_read_frame_callback_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_set")]
-  public static extern void switch_input_args_t_user_data_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_get")]
-  public static extern IntPtr switch_input_args_t_user_data_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_input_args_t")]
-  public static extern IntPtr new_switch_input_args_t();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_input_args_t")]
-  public static extern void delete_switch_input_args_t(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_VERSION_get")]
-  public static extern int SWITCH_API_VERSION_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_set")]
-  public static extern void switch_loadable_module_function_table_t_switch_api_version_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_get")]
-  public static extern int switch_loadable_module_function_table_t_switch_api_version_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_set")]
-  public static extern void switch_loadable_module_function_table_t_load_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_get")]
-  public static extern IntPtr switch_loadable_module_function_table_t_load_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_set")]
-  public static extern void switch_loadable_module_function_table_t_shutdown_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_get")]
-  public static extern IntPtr switch_loadable_module_function_table_t_shutdown_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_set")]
-  public static extern void switch_loadable_module_function_table_t_runtime_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_get")]
-  public static extern IntPtr switch_loadable_module_function_table_t_runtime_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_loadable_module_function_table_t")]
-  public static extern IntPtr new_switch_loadable_module_function_table_t();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_loadable_module_function_table_t")]
-  public static extern void delete_switch_loadable_module_function_table_t(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_close")]
-  public static extern int switch_core_db_close(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open")]
-  public static extern int switch_core_db_open(string jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_text")]
-  public static extern IntPtr switch_core_db_column_text(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_name")]
-  public static extern string switch_core_db_column_name(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_count")]
-  public static extern int switch_core_db_column_count(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_errmsg")]
-  public static extern string switch_core_db_errmsg(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_exec")]
-  public static extern int switch_core_db_exec(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, ref string jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_finalize")]
-  public static extern int switch_core_db_finalize(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_prepare")]
-  public static extern int switch_core_db_prepare(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4, ref string jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_step")]
-  public static extern int switch_core_db_step(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_reset")]
-  public static extern int switch_core_db_reset(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int")]
-  public static extern int switch_core_db_bind_int(HandleRef jarg1, int jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int64")]
-  public static extern int switch_core_db_bind_int64(HandleRef jarg1, int jarg2, long jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_text")]
-  public static extern int switch_core_db_bind_text(HandleRef jarg1, int jarg2, string jarg3, int jarg4, HandleRef jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_double")]
-  public static extern int switch_core_db_bind_double(HandleRef jarg1, int jarg2, double jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_last_insert_rowid")]
-  public static extern long switch_core_db_last_insert_rowid(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_get_table")]
-  public static extern int switch_core_db_get_table(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, ref string jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free_table")]
-  public static extern void switch_core_db_free_table(ref string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free")]
-  public static extern void switch_core_db_free(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_changes")]
-  public static extern int switch_core_db_changes(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_OK_get")]
-  public static extern int SWITCH_CORE_DB_OK_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ERROR_get")]
-  public static extern int SWITCH_CORE_DB_ERROR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERNAL_get")]
-  public static extern int SWITCH_CORE_DB_INTERNAL_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PERM_get")]
-  public static extern int SWITCH_CORE_DB_PERM_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ABORT_get")]
-  public static extern int SWITCH_CORE_DB_ABORT_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_BUSY_get")]
-  public static extern int SWITCH_CORE_DB_BUSY_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_LOCKED_get")]
-  public static extern int SWITCH_CORE_DB_LOCKED_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOMEM_get")]
-  public static extern int SWITCH_CORE_DB_NOMEM_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_READONLY_get")]
-  public static extern int SWITCH_CORE_DB_READONLY_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERRUPT_get")]
-  public static extern int SWITCH_CORE_DB_INTERRUPT_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_IOERR_get")]
-  public static extern int SWITCH_CORE_DB_IOERR_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CORRUPT_get")]
-  public static extern int SWITCH_CORE_DB_CORRUPT_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTFOUND_get")]
-  public static extern int SWITCH_CORE_DB_NOTFOUND_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FULL_get")]
-  public static extern int SWITCH_CORE_DB_FULL_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CANTOPEN_get")]
-  public static extern int SWITCH_CORE_DB_CANTOPEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PROTOCOL_get")]
-  public static extern int SWITCH_CORE_DB_PROTOCOL_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_EMPTY_get")]
-  public static extern int SWITCH_CORE_DB_EMPTY_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_SCHEMA_get")]
-  public static extern int SWITCH_CORE_DB_SCHEMA_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_TOOBIG_get")]
-  public static extern int SWITCH_CORE_DB_TOOBIG_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CONSTRAINT_get")]
-  public static extern int SWITCH_CORE_DB_CONSTRAINT_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISMATCH_get")]
-  public static extern int SWITCH_CORE_DB_MISMATCH_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISUSE_get")]
-  public static extern int SWITCH_CORE_DB_MISUSE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOLFS_get")]
-  public static extern int SWITCH_CORE_DB_NOLFS_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_AUTH_get")]
-  public static extern int SWITCH_CORE_DB_AUTH_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FORMAT_get")]
-  public static extern int SWITCH_CORE_DB_FORMAT_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_RANGE_get")]
-  public static extern int SWITCH_CORE_DB_RANGE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTADB_get")]
-  public static extern int SWITCH_CORE_DB_NOTADB_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ROW_get")]
-  public static extern int SWITCH_CORE_DB_ROW_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_DONE_get")]
-  public static extern int SWITCH_CORE_DB_DONE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_mprintf")]
-  public static extern string switch_mprintf(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_compile")]
-  public static extern IntPtr switch_regex_compile(string jarg1, int jarg2, ref string jarg3, HandleRef jarg4, HandleRef jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_copy_substring")]
-  public static extern int switch_regex_copy_substring(string jarg1, HandleRef jarg2, int jarg3, int jarg4, string jarg5, int jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_free")]
-  public static extern void switch_regex_free(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_perform")]
-  public static extern int switch_regex_perform(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_perform_substitution")]
-  public static extern void switch_perform_substitution(HandleRef jarg1, int jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match")]
-  public static extern int switch_regex_match(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match_partial")]
-  public static extern int switch_regex_match_partial(string jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get")]
-  public static extern int SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STREAMS_get")]
-  public static extern int SWITCH_MAX_STREAMS_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_set")]
-  public static extern void switch_core_time_duration_mms_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_get")]
-  public static extern uint switch_core_time_duration_mms_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_set")]
-  public static extern void switch_core_time_duration_ms_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_get")]
-  public static extern uint switch_core_time_duration_ms_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_set")]
-  public static extern void switch_core_time_duration_sec_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_get")]
-  public static extern uint switch_core_time_duration_sec_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_set")]
-  public static extern void switch_core_time_duration_min_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_get")]
-  public static extern uint switch_core_time_duration_min_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_set")]
-  public static extern void switch_core_time_duration_hr_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_get")]
-  public static extern uint switch_core_time_duration_hr_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_set")]
-  public static extern void switch_core_time_duration_day_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_get")]
-  public static extern uint switch_core_time_duration_day_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_set")]
-  public static extern void switch_core_time_duration_yr_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_get")]
-  public static extern uint switch_core_time_duration_yr_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_time_duration")]
-  public static extern IntPtr new_switch_core_time_duration();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_time_duration")]
-  public static extern void delete_switch_core_time_duration(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_set")]
-  public static extern void switch_app_log_app_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_get")]
-  public static extern string switch_app_log_app_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_set")]
-  public static extern void switch_app_log_arg_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_get")]
-  public static extern string switch_app_log_arg_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_set")]
-  public static extern void switch_app_log_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_get")]
-  public static extern IntPtr switch_app_log_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_app_log")]
-  public static extern IntPtr new_switch_app_log();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_app_log")]
-  public static extern void delete_switch_app_log(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_set")]
-  public static extern void switch_core_session_message_from_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_get")]
-  public static extern string switch_core_session_message_from_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_set")]
-  public static extern void switch_core_session_message_message_id_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_get")]
-  public static extern int switch_core_session_message_message_id_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_set")]
-  public static extern void switch_core_session_message_numeric_arg_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_get")]
-  public static extern int switch_core_session_message_numeric_arg_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_set")]
-  public static extern void switch_core_session_message_string_arg_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_get")]
-  public static extern string switch_core_session_message_string_arg_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_set")]
-  public static extern void switch_core_session_message_string_arg_size_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_get")]
-  public static extern IntPtr switch_core_session_message_string_arg_size_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_set")]
-  public static extern void switch_core_session_message_pointer_arg_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_get")]
-  public static extern IntPtr switch_core_session_message_pointer_arg_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_set")]
-  public static extern void switch_core_session_message_pointer_arg_size_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_get")]
-  public static extern IntPtr switch_core_session_message_pointer_arg_size_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_set")]
-  public static extern void switch_core_session_message_numeric_reply_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_get")]
-  public static extern int switch_core_session_message_numeric_reply_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_set")]
-  public static extern void switch_core_session_message_string_reply_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_get")]
-  public static extern string switch_core_session_message_string_reply_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_set")]
-  public static extern void switch_core_session_message_string_reply_size_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_get")]
-  public static extern IntPtr switch_core_session_message_string_reply_size_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_set")]
-  public static extern void switch_core_session_message_pointer_reply_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_get")]
-  public static extern IntPtr switch_core_session_message_pointer_reply_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_set")]
-  public static extern void switch_core_session_message_pointer_reply_size_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_get")]
-  public static extern IntPtr switch_core_session_message_pointer_reply_size_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_set")]
-  public static extern void switch_core_session_message_flags_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_get")]
-  public static extern uint switch_core_session_message_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_session_message")]
-  public static extern IntPtr new_switch_core_session_message();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_session_message")]
-  public static extern void delete_switch_core_session_message(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_set")]
-  public static extern void switch_core_thread_session_running_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_get")]
-  public static extern int switch_core_thread_session_running_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_set")]
-  public static extern void switch_core_thread_session_mutex_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_get")]
-  public static extern IntPtr switch_core_thread_session_mutex_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_set")]
-  public static extern void switch_core_thread_session_objs_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_get")]
-  public static extern IntPtr switch_core_thread_session_objs_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_set")]
-  public static extern void switch_core_thread_session_input_callback_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_get")]
-  public static extern IntPtr switch_core_thread_session_input_callback_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_set")]
-  public static extern void switch_core_thread_session_pool_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_get")]
-  public static extern IntPtr switch_core_thread_session_pool_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_thread_session")]
-  public static extern IntPtr new_switch_core_thread_session();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_thread_session")]
-  public static extern void delete_switch_core_thread_session(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_add")]
-  public static extern int switch_core_media_bug_add(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5, HandleRef jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_user_data")]
-  public static extern IntPtr switch_core_media_bug_get_user_data(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_write_replace_frame")]
-  public static extern IntPtr switch_core_media_bug_get_write_replace_frame(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_write_replace_frame")]
-  public static extern void switch_core_media_bug_set_write_replace_frame(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_read_replace_frame")]
-  public static extern IntPtr switch_core_media_bug_get_read_replace_frame(HandleRef jarg1);
-
-  [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_test_flag")]
-  public static extern uint switch_core_media_bug_test_flag(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_read_replace_frame")]
-  public static extern void switch_core_media_bug_set_read_replace_frame(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove")]
-  public static extern int switch_core_media_bug_remove(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_close")]
-  public static extern int switch_core_media_bug_close(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove_all")]
-  public static extern int switch_core_media_bug_remove_all(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_read")]
-  public static extern int switch_core_media_bug_read(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_new")]
-  public static extern int switch_core_port_allocator_new(ushort jarg1, ushort jarg2, uint jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_request_port")]
-  public static extern int switch_core_port_allocator_request_port(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_free_port")]
-  public static extern int switch_core_port_allocator_free_port(HandleRef jarg1, ushort jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_destroy")]
-  public static extern void switch_core_port_allocator_destroy(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init")]
-  public static extern int switch_core_init(uint jarg1, int jarg2, ref string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init_and_modload")]
-  public static extern int switch_core_init_and_modload(uint jarg1, int jarg2, ref string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_limit")]
-  public static extern uint switch_core_session_limit(uint jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sessions_per_second")]
-  public static extern uint switch_core_sessions_per_second(uint jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_destroy")]
-  public static extern int switch_core_destroy();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_signal_lock")]
-  public static extern int switch_core_session_signal_lock(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_signal_unlock")]
-  public static extern int switch_core_session_signal_unlock(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock")]
-  public static extern int switch_core_session_read_lock(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_lock")]
-  public static extern void switch_core_session_write_lock(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_rwunlock")]
-  public static extern void switch_core_session_rwunlock(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_add_state_handler")]
-  public static extern int switch_core_add_state_handler(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_remove_state_handler")]
-  public static extern void switch_core_remove_state_handler(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_state_handler")]
-  public static extern IntPtr switch_core_get_state_handler(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_pool_tag")]
-  public static extern void switch_core_memory_pool_tag(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_new_memory_pool")]
-  public static extern int switch_core_perform_new_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_destroy_memory_pool")]
-  public static extern int switch_core_perform_destroy_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_run")]
-  public static extern void switch_core_session_run(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_running")]
-  public static extern uint switch_core_session_running(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_alloc")]
-  public static extern IntPtr switch_core_perform_permanent_alloc(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_alloc")]
-  public static extern IntPtr switch_core_perform_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_alloc")]
-  public static extern IntPtr switch_core_perform_session_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_strdup")]
-  public static extern string switch_core_perform_permanent_strdup(string jarg1, string jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_strdup")]
-  public static extern string switch_core_perform_session_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_strdup")]
-  public static extern string switch_core_perform_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sprintf")]
-  public static extern string switch_core_session_sprintf(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sprintf")]
-  public static extern string switch_core_sprintf(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_pool")]
-  public static extern IntPtr switch_core_session_get_pool(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request")]
-  public static extern IntPtr switch_core_session_request(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_destroy")]
-  public static extern void switch_core_session_perform_destroy(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_count")]
-  public static extern uint switch_core_session_count();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_id")]
-  public static extern IntPtr switch_core_session_id();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_by_name")]
-  public static extern IntPtr switch_core_session_request_by_name(string jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_thread_launch")]
-  public static extern int switch_core_session_thread_launch(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_channel")]
-  public static extern IntPtr switch_core_session_get_channel(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_signal_state_change")]
-  public static extern void switch_core_session_signal_state_change(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_uuid")]
-  public static extern string switch_core_session_get_uuid(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_uuid")]
-  public static extern string switch_core_get_uuid();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_locate")]
-  public static extern IntPtr switch_core_session_locate(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_variable")]
-  public static extern string switch_core_get_variable(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_variable")]
-  public static extern void switch_core_set_variable(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_dump_variables")]
-  public static extern void switch_core_dump_variables(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall")]
-  public static extern void switch_core_session_hupall(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_matching_var")]
-  public static extern void switch_core_session_hupall_matching_var(string jarg1, string jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_endpoint")]
-  public static extern void switch_core_session_hupall_endpoint(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_send")]
-  public static extern int switch_core_session_message_send(string jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_message")]
-  public static extern int switch_core_session_queue_message(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_pass_indication")]
-  public static extern int switch_core_session_pass_indication(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_indication")]
-  public static extern int switch_core_session_queue_indication(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_message")]
-  public static extern int switch_core_session_dequeue_message(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_message")]
-  public static extern int switch_core_session_flush_message(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_send")]
-  public static extern int switch_core_session_event_send(string jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_app_log")]
-  public static extern IntPtr switch_core_session_get_app_log(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_exec")]
-  public static extern int switch_core_session_exec(HandleRef jarg1, HandleRef jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_application")]
-  public static extern int switch_core_session_execute_application(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_exten")]
-  public static extern int switch_core_session_execute_exten(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_receive_event")]
-  public static extern int switch_core_session_receive_event(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_private")]
-  public static extern IntPtr switch_core_session_get_private(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_private")]
-  public static extern int switch_core_session_set_private(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_add_stream")]
-  public static extern int switch_core_session_add_stream(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream")]
-  public static extern IntPtr switch_core_session_get_stream(HandleRef jarg1, int jarg2);
-
-  [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_launch_thread")]
-  public static extern void switch_core_session_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_end")]
-  public static extern void switch_core_thread_session_end(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_service_session")]
-  public static extern void switch_core_service_session(HandleRef jarg1, HandleRef jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_outgoing_channel")]
-  public static extern int switch_core_session_outgoing_channel(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, uint jarg7);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_resurrect_channel")]
-  public static extern int switch_core_session_resurrect_channel(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_receive_message")]
-  public static extern int switch_core_session_receive_message(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_event")]
-  public static extern int switch_core_session_queue_event(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_count")]
-  public static extern uint switch_core_session_event_count(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_event")]
-  public static extern int switch_core_session_dequeue_event(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_private_event")]
-  public static extern int switch_core_session_queue_private_event(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_private_event_count")]
-  public static extern uint switch_core_session_private_event_count(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_private_event")]
-  public static extern int switch_core_session_dequeue_private_event(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_private_events")]
-  public static extern uint switch_core_session_flush_private_events(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_frame")]
-  public static extern int switch_core_session_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_video_frame")]
-  public static extern int switch_core_session_read_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_video_frame")]
-  public static extern int switch_core_session_write_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_reset")]
-  public static extern void switch_core_session_reset(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_frame")]
-  public static extern int switch_core_session_write_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_kill_channel")]
-  public static extern int switch_core_session_perform_kill_channel(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf")]
-  public static extern int switch_core_session_send_dtmf(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf_string")]
-  public static extern int switch_core_session_send_dtmf_string(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_recv_dtmf")]
-  public static extern int switch_core_session_recv_dtmf(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_init")]
-  public static extern int switch_core_hash_init(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_destroy")]
-  public static extern int switch_core_hash_destroy(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert")]
-  public static extern int switch_core_hash_insert(HandleRef jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert_locked")]
-  public static extern int switch_core_hash_insert_locked(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete")]
-  public static extern int switch_core_hash_delete(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete_locked")]
-  public static extern int switch_core_hash_delete_locked(HandleRef jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find")]
-  public static extern IntPtr switch_core_hash_find(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find_locked")]
-  public static extern IntPtr switch_core_hash_find_locked(HandleRef jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_first")]
-  public static extern IntPtr switch_hash_first(string jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_next")]
-  public static extern IntPtr switch_hash_next(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_this")]
-  public static extern void switch_hash_this(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_init")]
-  public static extern int switch_core_timer_init(HandleRef jarg1, string jarg2, int jarg3, int jarg4, HandleRef jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_next")]
-  public static extern int switch_core_timer_next(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_step")]
-  public static extern int switch_core_timer_step(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_sync")]
-  public static extern int switch_core_timer_sync(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_check")]
-  public static extern int switch_core_timer_check(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_destroy")]
-  public static extern int switch_core_timer_destroy(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_init")]
-  public static extern int switch_core_codec_init(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, int jarg5, int jarg6, uint jarg7, HandleRef jarg8, HandleRef jarg9);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_copy")]
-  public static extern int switch_core_codec_copy(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_encode")]
-  public static extern int switch_core_codec_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_decode")]
-  public static extern int switch_core_codec_decode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_destroy")]
-  public static extern int switch_core_codec_destroy(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_read_codec")]
-  public static extern int switch_core_session_set_read_codec(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_read_codec")]
-  public static extern void switch_core_session_unset_read_codec(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_codec")]
-  public static extern IntPtr switch_core_session_get_read_codec(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_read_codec")]
-  public static extern IntPtr switch_core_session_get_effective_read_codec(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_write_codec")]
-  public static extern int switch_core_session_set_write_codec(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_codec")]
-  public static extern IntPtr switch_core_session_get_write_codec(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_write_codec")]
-  public static extern IntPtr switch_core_session_get_effective_write_codec(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_read_codec")]
-  public static extern int switch_core_session_set_video_read_codec(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_codec")]
-  public static extern IntPtr switch_core_session_get_video_read_codec(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_write_codec")]
-  public static extern int switch_core_session_set_video_write_codec(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_codec")]
-  public static extern IntPtr switch_core_session_get_video_write_codec(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open_file")]
-  public static extern IntPtr switch_core_db_open_file(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_persistant_execute")]
-  public static extern int switch_core_db_persistant_execute(HandleRef jarg1, string jarg2, uint jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_test_reactive")]
-  public static extern void switch_core_db_test_reactive(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_get")]
-  public static extern string SWITCH_CORE_DB_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_file_open")]
-  public static extern int switch_core_perform_file_open(string jarg1, string jarg2, int jarg3, HandleRef jarg4, string jarg5, byte jarg6, uint jarg7, uint jarg8, HandleRef jarg9);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_read")]
-  public static extern int switch_core_file_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_write")]
-  public static extern int switch_core_file_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_seek")]
-  public static extern int switch_core_file_seek(HandleRef jarg1, HandleRef jarg2, long jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_set_string")]
-  public static extern int switch_core_file_set_string(HandleRef jarg1, int jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_get_string")]
-  public static extern int switch_core_file_get_string(HandleRef jarg1, int jarg2, ref string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_close")]
-  public static extern int switch_core_file_close(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_open")]
-  public static extern int switch_core_speech_open(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_feed_tts")]
-  public static extern int switch_core_speech_feed_tts(HandleRef jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_flush_tts")]
-  public static extern void switch_core_speech_flush_tts(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_text_param_tts")]
-  public static extern void switch_core_speech_text_param_tts(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_numeric_param_tts")]
-  public static extern void switch_core_speech_numeric_param_tts(HandleRef jarg1, string jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_float_param_tts")]
-  public static extern void switch_core_speech_float_param_tts(HandleRef jarg1, string jarg2, double jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_read_tts")]
-  public static extern int switch_core_speech_read_tts(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_close")]
-  public static extern int switch_core_speech_close(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_open")]
-  public static extern int switch_core_asr_open(HandleRef jarg1, string jarg2, string jarg3, int jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_close")]
-  public static extern int switch_core_asr_close(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_feed")]
-  public static extern int switch_core_asr_feed(HandleRef jarg1, HandleRef jarg2, uint jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_check_results")]
-  public static extern int switch_core_asr_check_results(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_get_results")]
-  public static extern int switch_core_asr_get_results(HandleRef jarg1, ref string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_load_grammar")]
-  public static extern int switch_core_asr_load_grammar(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_unload_grammar")]
-  public static extern int switch_core_asr_unload_grammar(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_pause")]
-  public static extern int switch_core_asr_pause(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_resume")]
-  public static extern int switch_core_asr_resume(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_open")]
-  public static extern int switch_core_directory_open(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_query")]
-  public static extern int switch_core_directory_query(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next")]
-  public static extern int switch_core_directory_next(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next_pair")]
-  public static extern int switch_core_directory_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_close")]
-  public static extern int switch_core_directory_close(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_data_channel")]
-  public static extern IntPtr switch_core_data_channel(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_ready")]
-  public static extern int switch_core_ready();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_flags")]
-  public static extern uint switch_core_flags();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_management_exec")]
-  public static extern int switch_core_management_exec(string jarg1, int jarg2, string jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_set_high_priority")]
-  public static extern int set_high_priority();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_change_user_group")]
-  public static extern int change_user_group(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_runtime_loop")]
-  public static extern void switch_core_runtime_loop(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_console")]
-  public static extern int switch_core_set_console(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_measure_time")]
-  public static extern void switch_core_measure_time(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_uptime")]
-  public static extern IntPtr switch_core_uptime();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_ctl")]
-  public static extern int switch_core_session_ctl(int jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_console")]
-  public static extern IntPtr switch_core_get_console();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_launch_thread")]
-  public static extern void switch_core_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_globals")]
-  public static extern void switch_core_set_globals();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_compare")]
-  public static extern byte switch_core_session_compare(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_check_interface")]
-  public static extern byte switch_core_session_check_interface(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_index")]
-  public static extern IntPtr switch_core_mime_index();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_ext2type")]
-  public static extern string switch_core_mime_ext2type(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_add_type")]
-  public static extern int switch_core_mime_add_type(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_module_interface")]
-  public static extern IntPtr switch_loadable_module_create_module_interface(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_interface")]
-  public static extern IntPtr switch_loadable_module_create_interface(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timestamp_now")]
-  public static extern IntPtr switch_timestamp_now();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim")]
-  public static extern void switch_core_memory_reclaim();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_events")]
-  public static extern void switch_core_memory_reclaim_events();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_logger")]
-  public static extern void switch_core_memory_reclaim_logger();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_all")]
-  public static extern void switch_core_memory_reclaim_all();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_setrlimits")]
-  public static extern void switch_core_setrlimits();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_sync")]
-  public static extern void switch_time_sync();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timestamp")]
-  public static extern IntPtr switch_timestamp(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_strftime_tz")]
-  public static extern int switch_strftime_tz(string jarg1, string jarg2, string jarg3, uint jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_load_network_lists")]
-  public static extern void switch_load_network_lists(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_check_network_list_ip_token")]
-  public static extern int switch_check_network_list_ip_token(string jarg1, string jarg2, ref string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_monotonic")]
-  public static extern void switch_time_set_monotonic(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_max_dtmf_duration")]
-  public static extern uint switch_core_max_dtmf_duration(uint jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_default_dtmf_duration")]
-  public static extern uint switch_core_default_dtmf_duration(uint jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_complete")]
-  public static extern int switch_console_set_complete(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_alias")]
-  public static extern int switch_console_set_alias(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_system")]
-  public static extern int switch_system(string jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CMD_CHUNK_LEN_get")]
-  public static extern int SWITCH_CMD_CHUNK_LEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_loop")]
-  public static extern void switch_console_loop();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_stream_raw_write")]
-  public static extern int switch_console_stream_raw_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMAX_get")]
-  public static extern int SWITCH_SMAX_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMIN_get")]
-  public static extern int SWITCH_SMIN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_moh")]
-  public static extern int switch_is_moh(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_encode")]
-  public static extern int switch_b64_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_decode")]
-  public static extern IntPtr switch_b64_decode(string jarg1, string jarg2, HandleRef jarg3);
-
-  [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_is_digit_string")]
-  public static extern int switch_is_digit_string(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_fd_read_line")]
-  public static extern IntPtr switch_fd_read_line(int jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_find_local_ip")]
-  public static extern int switch_find_local_ip(string jarg1, int jarg2, int jarg3);
-
-  [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_port")]
-  public static extern ushort get_port(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_build_uri")]
-  public static extern int switch_build_uri(string jarg1, HandleRef jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_priority_name")]
-  public static extern string switch_priority_name(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rfc2833_to_char")]
-  public static extern char switch_rfc2833_to_char(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_rfc2833")]
-  public static extern byte switch_char_to_rfc2833(char jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_clean_string")]
-  public static extern string switch_clean_string(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_safe_strdup")]
-  public static extern string switch_safe_strdup(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_strstr")]
-  public static extern int switch_strstr(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_str_time")]
-  public static extern IntPtr switch_str_time(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_string")]
-  public static extern uint switch_separate_string(string jarg1, char jarg2, ref string jarg3, uint jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_number")]
-  public static extern int switch_is_number(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_strip_spaces")]
-  public static extern string switch_strip_spaces(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_paren_args")]
-  public static extern string switch_separate_paren_args(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stristr")]
-  public static extern string switch_stristr(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_lan_addr")]
-  public static extern int switch_is_lan_addr(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_replace_char")]
-  public static extern string switch_replace_char(string jarg1, char jarg2, char jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ast2regex")]
-  public static extern int switch_ast2regex(string jarg1, string jarg2, uint jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_escape_char")]
-  public static extern string switch_escape_char(HandleRef jarg1, string jarg2, string jarg3, char jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_socket_waitfor")]
-  public static extern int switch_socket_waitfor(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_cut_path")]
-  public static extern string switch_cut_path(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_replace")]
-  public static extern string switch_string_replace(string jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_match")]
-  public static extern int switch_string_match(string jarg1, uint jarg2, string jarg3, uint jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_url_encode")]
-  public static extern uint switch_url_encode(string jarg1, string jarg2, uint jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_url_decode")]
-  public static extern string switch_url_decode(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_simple_email")]
-  public static extern int switch_simple_email(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_find_end_paren")]
-  public static extern string switch_find_end_paren(string jarg1, char jarg2, char jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_parse_cidr")]
-  public static extern int switch_parse_cidr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_create")]
-  public static extern int switch_network_list_create(HandleRef jarg1, int jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_cidr_token")]
-  public static extern int switch_network_list_add_cidr_token(HandleRef jarg1, string jarg2, int jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_host_mask")]
-  public static extern int switch_network_list_add_host_mask(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_validate_ip_token")]
-  public static extern int switch_network_list_validate_ip_token(HandleRef jarg1, uint jarg2, ref string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_set")]
-  public static extern void switch_caller_profile_username_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_get")]
-  public static extern string switch_caller_profile_username_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_set")]
-  public static extern void switch_caller_profile_dialplan_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_get")]
-  public static extern string switch_caller_profile_dialplan_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_set")]
-  public static extern void switch_caller_profile_caller_id_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_get")]
-  public static extern string switch_caller_profile_caller_id_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_set")]
-  public static extern void switch_caller_profile_caller_id_number_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_get")]
-  public static extern string switch_caller_profile_caller_id_number_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_set")]
-  public static extern void switch_caller_profile_caller_ton_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_get")]
-  public static extern byte switch_caller_profile_caller_ton_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_set")]
-  public static extern void switch_caller_profile_caller_numplan_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_get")]
-  public static extern byte switch_caller_profile_caller_numplan_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_set")]
-  public static extern void switch_caller_profile_network_addr_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_get")]
-  public static extern string switch_caller_profile_network_addr_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_set")]
-  public static extern void switch_caller_profile_ani_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_get")]
-  public static extern string switch_caller_profile_ani_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_set")]
-  public static extern void switch_caller_profile_ani_ton_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_get")]
-  public static extern byte switch_caller_profile_ani_ton_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_set")]
-  public static extern void switch_caller_profile_ani_numplan_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_get")]
-  public static extern byte switch_caller_profile_ani_numplan_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_set")]
-  public static extern void switch_caller_profile_aniii_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_get")]
-  public static extern string switch_caller_profile_aniii_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_set")]
-  public static extern void switch_caller_profile_rdnis_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_get")]
-  public static extern string switch_caller_profile_rdnis_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_set")]
-  public static extern void switch_caller_profile_rdnis_ton_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_get")]
-  public static extern byte switch_caller_profile_rdnis_ton_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_set")]
-  public static extern void switch_caller_profile_rdnis_numplan_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_get")]
-  public static extern byte switch_caller_profile_rdnis_numplan_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_set")]
-  public static extern void switch_caller_profile_destination_number_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_get")]
-  public static extern string switch_caller_profile_destination_number_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_set")]
-  public static extern void switch_caller_profile_destination_number_ton_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_get")]
-  public static extern byte switch_caller_profile_destination_number_ton_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_set")]
-  public static extern void switch_caller_profile_destination_number_numplan_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_get")]
-  public static extern byte switch_caller_profile_destination_number_numplan_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_set")]
-  public static extern void switch_caller_profile_source_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_get")]
-  public static extern string switch_caller_profile_source_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_set")]
-  public static extern void switch_caller_profile_chan_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_get")]
-  public static extern string switch_caller_profile_chan_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_set")]
-  public static extern void switch_caller_profile_uuid_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_get")]
-  public static extern string switch_caller_profile_uuid_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_set")]
-  public static extern void switch_caller_profile_context_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_get")]
-  public static extern string switch_caller_profile_context_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_set")]
-  public static extern void switch_caller_profile_profile_index_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_get")]
-  public static extern string switch_caller_profile_profile_index_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_set")]
-  public static extern void switch_caller_profile_flags_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_get")]
-  public static extern uint switch_caller_profile_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_set")]
-  public static extern void switch_caller_profile_originator_caller_profile_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_get")]
-  public static extern IntPtr switch_caller_profile_originator_caller_profile_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_set")]
-  public static extern void switch_caller_profile_originatee_caller_profile_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_get")]
-  public static extern IntPtr switch_caller_profile_originatee_caller_profile_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_set")]
-  public static extern void switch_caller_profile_times_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_get")]
-  public static extern IntPtr switch_caller_profile_times_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_set")]
-  public static extern void switch_caller_profile_caller_extension_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_get")]
-  public static extern IntPtr switch_caller_profile_caller_extension_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_set")]
-  public static extern void switch_caller_profile_pool_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_get")]
-  public static extern IntPtr switch_caller_profile_pool_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_set")]
-  public static extern void switch_caller_profile_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_get")]
-  public static extern IntPtr switch_caller_profile_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_profile")]
-  public static extern IntPtr new_switch_caller_profile();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_profile")]
-  public static extern void delete_switch_caller_profile(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_set")]
-  public static extern void switch_caller_application_application_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_get")]
-  public static extern string switch_caller_application_application_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_set")]
-  public static extern void switch_caller_application_application_data_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_get")]
-  public static extern string switch_caller_application_application_data_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_set")]
-  public static extern void switch_caller_application_application_function_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_get")]
-  public static extern IntPtr switch_caller_application_application_function_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_set")]
-  public static extern void switch_caller_application_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_get")]
-  public static extern IntPtr switch_caller_application_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_application")]
-  public static extern IntPtr new_switch_caller_application();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_application")]
-  public static extern void delete_switch_caller_application(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_set")]
-  public static extern void switch_caller_extension_extension_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_get")]
-  public static extern string switch_caller_extension_extension_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_set")]
-  public static extern void switch_caller_extension_extension_number_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_get")]
-  public static extern string switch_caller_extension_extension_number_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_set")]
-  public static extern void switch_caller_extension_current_application_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_get")]
-  public static extern IntPtr switch_caller_extension_current_application_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_set")]
-  public static extern void switch_caller_extension_last_application_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_get")]
-  public static extern IntPtr switch_caller_extension_last_application_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_set")]
-  public static extern void switch_caller_extension_applications_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_get")]
-  public static extern IntPtr switch_caller_extension_applications_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_set")]
-  public static extern void switch_caller_extension_children_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_get")]
-  public static extern IntPtr switch_caller_extension_children_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_set")]
-  public static extern void switch_caller_extension_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_get")]
-  public static extern IntPtr switch_caller_extension_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_extension")]
-  public static extern IntPtr new_switch_caller_extension();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_extension")]
-  public static extern void delete_switch_caller_extension(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_new")]
-  public static extern IntPtr switch_caller_extension_new(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_clone")]
-  public static extern int switch_caller_extension_clone(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_add_application")]
-  public static extern void switch_caller_extension_add_application(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_get_field_by_name")]
-  public static extern string switch_caller_get_field_by_name(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_new")]
-  public static extern IntPtr switch_caller_profile_new(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_clone")]
-  public static extern IntPtr switch_caller_profile_clone(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dup")]
-  public static extern IntPtr switch_caller_profile_dup(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_event_set_data")]
-  public static extern void switch_caller_profile_event_set_data(HandleRef jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_set")]
-  public static extern void switch_frame_codec_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_get")]
-  public static extern IntPtr switch_frame_codec_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_set")]
-  public static extern void switch_frame_source_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_get")]
-  public static extern string switch_frame_source_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_set")]
-  public static extern void switch_frame_packet_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_get")]
-  public static extern IntPtr switch_frame_packet_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_set")]
-  public static extern void switch_frame_packetlen_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_get")]
-  public static extern uint switch_frame_packetlen_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_set")]
-  public static extern void switch_frame_data_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_get")]
-  public static extern IntPtr switch_frame_data_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_set")]
-  public static extern void switch_frame_datalen_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_get")]
-  public static extern uint switch_frame_datalen_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_set")]
-  public static extern void switch_frame_buflen_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_get")]
-  public static extern uint switch_frame_buflen_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_set")]
-  public static extern void switch_frame_samples_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_get")]
-  public static extern uint switch_frame_samples_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_set")]
-  public static extern void switch_frame_rate_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_get")]
-  public static extern uint switch_frame_rate_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_set")]
-  public static extern void switch_frame_payload_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_get")]
-  public static extern byte switch_frame_payload_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_set")]
-  public static extern void switch_frame_timestamp_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_get")]
-  public static extern IntPtr switch_frame_timestamp_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_set")]
-  public static extern void switch_frame_seq_set(HandleRef jarg1, ushort jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_get")]
-  public static extern ushort switch_frame_seq_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_set")]
-  public static extern void switch_frame_ssrc_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_get")]
-  public static extern uint switch_frame_ssrc_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_set")]
-  public static extern void switch_frame_m_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_get")]
-  public static extern int switch_frame_m_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_set")]
-  public static extern void switch_frame_flags_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_get")]
-  public static extern uint switch_frame_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_frame")]
-  public static extern IntPtr new_switch_frame();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_frame")]
-  public static extern void delete_switch_frame(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_set")]
-  public static extern void switch_state_handler_table_on_init_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_get")]
-  public static extern IntPtr switch_state_handler_table_on_init_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_set")]
-  public static extern void switch_state_handler_table_on_routing_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_get")]
-  public static extern IntPtr switch_state_handler_table_on_routing_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_set")]
-  public static extern void switch_state_handler_table_on_execute_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_get")]
-  public static extern IntPtr switch_state_handler_table_on_execute_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_set")]
-  public static extern void switch_state_handler_table_on_hangup_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_get")]
-  public static extern IntPtr switch_state_handler_table_on_hangup_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_set")]
-  public static extern void switch_state_handler_table_on_exchange_media_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_get")]
-  public static extern IntPtr switch_state_handler_table_on_exchange_media_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_set")]
-  public static extern void switch_state_handler_table_on_soft_execute_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_get")]
-  public static extern IntPtr switch_state_handler_table_on_soft_execute_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_set")]
-  public static extern void switch_state_handler_table_on_consume_media_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_get")]
-  public static extern IntPtr switch_state_handler_table_on_consume_media_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_set")]
-  public static extern void switch_state_handler_table_on_hibernate_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_get")]
-  public static extern IntPtr switch_state_handler_table_on_hibernate_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_set")]
-  public static extern void switch_state_handler_table_on_reset_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_get")]
-  public static extern IntPtr switch_state_handler_table_on_reset_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_set")]
-  public static extern void switch_state_handler_table_on_park_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_get")]
-  public static extern IntPtr switch_state_handler_table_on_park_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);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_get")]
-  public static extern IntPtr switch_state_handler_table_padding_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_state_handler_table")]
-  public static extern IntPtr new_switch_state_handler_table();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_state_handler_table")]
-  public static extern void delete_switch_state_handler_table(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_set")]
-  public static extern void switch_stream_handle_write_function_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_get")]
-  public static extern IntPtr switch_stream_handle_write_function_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_set")]
-  public static extern void switch_stream_handle_raw_write_function_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_get")]
-  public static extern IntPtr switch_stream_handle_raw_write_function_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_set")]
-  public static extern void switch_stream_handle_data_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_get")]
-  public static extern IntPtr switch_stream_handle_data_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_set")]
-  public static extern void switch_stream_handle_end_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_get")]
-  public static extern IntPtr switch_stream_handle_end_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_set")]
-  public static extern void switch_stream_handle_data_size_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_get")]
-  public static extern IntPtr switch_stream_handle_data_size_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_set")]
-  public static extern void switch_stream_handle_data_len_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_get")]
-  public static extern IntPtr switch_stream_handle_data_len_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_set")]
-  public static extern void switch_stream_handle_alloc_len_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_get")]
-  public static extern IntPtr switch_stream_handle_alloc_len_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_set")]
-  public static extern void switch_stream_handle_alloc_chunk_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_get")]
-  public static extern IntPtr switch_stream_handle_alloc_chunk_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_set")]
-  public static extern void switch_stream_handle_param_event_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_get")]
-  public static extern IntPtr switch_stream_handle_param_event_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_stream_handle")]
-  public static extern IntPtr new_switch_stream_handle();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_stream_handle")]
-  public static extern void delete_switch_stream_handle(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_set")]
-  public static extern void switch_io_routines_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_get")]
-  public static extern IntPtr switch_io_routines_outgoing_channel_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_set")]
-  public static extern void switch_io_routines_read_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_get")]
-  public static extern IntPtr switch_io_routines_read_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_set")]
-  public static extern void switch_io_routines_write_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_get")]
-  public static extern IntPtr switch_io_routines_write_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_set")]
-  public static extern void switch_io_routines_kill_channel_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_get")]
-  public static extern IntPtr switch_io_routines_kill_channel_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_set")]
-  public static extern void switch_io_routines_send_dtmf_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_get")]
-  public static extern IntPtr switch_io_routines_send_dtmf_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_set")]
-  public static extern void switch_io_routines_receive_message_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_get")]
-  public static extern IntPtr switch_io_routines_receive_message_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_set")]
-  public static extern void switch_io_routines_receive_event_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_get")]
-  public static extern IntPtr switch_io_routines_receive_event_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_set")]
-  public static extern void switch_io_routines_state_change_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_get")]
-  public static extern IntPtr switch_io_routines_state_change_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_set")]
-  public static extern void switch_io_routines_read_video_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_get")]
-  public static extern IntPtr switch_io_routines_read_video_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_set")]
-  public static extern void switch_io_routines_write_video_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [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_resurrect_session_set")]
-  public static extern void switch_io_routines_resurrect_session_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_resurrect_session_get")]
-  public static extern IntPtr switch_io_routines_resurrect_session_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_set")]
-  public static extern void switch_io_routines_padding_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_get")]
-  public static extern IntPtr switch_io_routines_padding_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_routines")]
-  public static extern IntPtr new_switch_io_routines();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_routines")]
-  public static extern void delete_switch_io_routines(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_set")]
-  public static extern void switch_endpoint_interface_interface_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_get")]
-  public static extern string switch_endpoint_interface_interface_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_set")]
-  public static extern void switch_endpoint_interface_io_routines_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_get")]
-  public static extern IntPtr switch_endpoint_interface_io_routines_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_set")]
-  public static extern void switch_endpoint_interface_state_handler_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_get")]
-  public static extern IntPtr switch_endpoint_interface_state_handler_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_set")]
-  public static extern void switch_endpoint_interface_private_info_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_get")]
-  public static extern IntPtr switch_endpoint_interface_private_info_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_set")]
-  public static extern void switch_endpoint_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_get")]
-  public static extern IntPtr switch_endpoint_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_set")]
-  public static extern void switch_endpoint_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_get")]
-  public static extern IntPtr switch_endpoint_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_endpoint_interface")]
-  public static extern IntPtr new_switch_endpoint_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_endpoint_interface")]
-  public static extern void delete_switch_endpoint_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_set")]
-  public static extern void switch_timer_interval_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_get")]
-  public static extern int switch_timer_interval_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_set")]
-  public static extern void switch_timer_flags_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_get")]
-  public static extern uint switch_timer_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_set")]
-  public static extern void switch_timer_samples_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_get")]
-  public static extern uint switch_timer_samples_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_set")]
-  public static extern void switch_timer_samplecount_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_get")]
-  public static extern uint switch_timer_samplecount_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_set")]
-  public static extern void switch_timer_timer_interface_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_get")]
-  public static extern IntPtr switch_timer_timer_interface_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_set")]
-  public static extern void switch_timer_memory_pool_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_get")]
-  public static extern IntPtr switch_timer_memory_pool_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_set")]
-  public static extern void switch_timer_private_info_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_get")]
-  public static extern IntPtr switch_timer_private_info_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_set")]
-  public static extern void switch_timer_diff_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_get")]
-  public static extern IntPtr switch_timer_diff_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_set")]
-  public static extern void switch_timer_tick_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_get")]
-  public static extern IntPtr switch_timer_tick_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer")]
-  public static extern IntPtr new_switch_timer();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer")]
-  public static extern void delete_switch_timer(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_set")]
-  public static extern void switch_timer_interface_interface_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_get")]
-  public static extern string switch_timer_interface_interface_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_set")]
-  public static extern void switch_timer_interface_timer_init_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_get")]
-  public static extern IntPtr switch_timer_interface_timer_init_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_set")]
-  public static extern void switch_timer_interface_timer_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_get")]
-  public static extern IntPtr switch_timer_interface_timer_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_set")]
-  public static extern void switch_timer_interface_timer_step_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_get")]
-  public static extern IntPtr switch_timer_interface_timer_step_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_set")]
-  public static extern void switch_timer_interface_timer_sync_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_get")]
-  public static extern IntPtr switch_timer_interface_timer_sync_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_set")]
-  public static extern void switch_timer_interface_timer_check_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_get")]
-  public static extern IntPtr switch_timer_interface_timer_check_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_set")]
-  public static extern void switch_timer_interface_timer_destroy_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_get")]
-  public static extern IntPtr switch_timer_interface_timer_destroy_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_set")]
-  public static extern void switch_timer_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_get")]
-  public static extern IntPtr switch_timer_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_set")]
-  public static extern void switch_timer_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_get")]
-  public static extern IntPtr switch_timer_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer_interface")]
-  public static extern IntPtr new_switch_timer_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer_interface")]
-  public static extern void delete_switch_timer_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_set")]
-  public static extern void switch_dialplan_interface_interface_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_get")]
-  public static extern string switch_dialplan_interface_interface_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_set")]
-  public static extern void switch_dialplan_interface_hunt_function_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_get")]
-  public static extern IntPtr switch_dialplan_interface_hunt_function_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_set")]
-  public static extern void switch_dialplan_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_get")]
-  public static extern IntPtr switch_dialplan_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_set")]
-  public static extern void switch_dialplan_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_get")]
-  public static extern IntPtr switch_dialplan_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dialplan_interface")]
-  public static extern IntPtr new_switch_dialplan_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dialplan_interface")]
-  public static extern void delete_switch_dialplan_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_set")]
-  public static extern void switch_file_interface_interface_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_get")]
-  public static extern string switch_file_interface_interface_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_set")]
-  public static extern void switch_file_interface_file_open_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_get")]
-  public static extern IntPtr switch_file_interface_file_open_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_set")]
-  public static extern void switch_file_interface_file_close_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_get")]
-  public static extern IntPtr switch_file_interface_file_close_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_set")]
-  public static extern void switch_file_interface_file_read_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_get")]
-  public static extern IntPtr switch_file_interface_file_read_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_set")]
-  public static extern void switch_file_interface_file_write_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_get")]
-  public static extern IntPtr switch_file_interface_file_write_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_set")]
-  public static extern void switch_file_interface_file_seek_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_get")]
-  public static extern IntPtr switch_file_interface_file_seek_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_set")]
-  public static extern void switch_file_interface_file_set_string_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_get")]
-  public static extern IntPtr switch_file_interface_file_set_string_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_set")]
-  public static extern void switch_file_interface_file_get_string_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_get")]
-  public static extern IntPtr switch_file_interface_file_get_string_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_set")]
-  public static extern void switch_file_interface_extens_set(HandleRef jarg1, ref string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_get")]
-  public static extern string switch_file_interface_extens_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_set")]
-  public static extern void switch_file_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_get")]
-  public static extern IntPtr switch_file_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_set")]
-  public static extern void switch_file_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_get")]
-  public static extern IntPtr switch_file_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_interface")]
-  public static extern IntPtr new_switch_file_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_interface")]
-  public static extern void delete_switch_file_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_set")]
-  public static extern void switch_file_handle_file_interface_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_get")]
-  public static extern IntPtr switch_file_handle_file_interface_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_set")]
-  public static extern void switch_file_handle_flags_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_get")]
-  public static extern uint switch_file_handle_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_set")]
-  public static extern void switch_file_handle_fd_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_get")]
-  public static extern IntPtr switch_file_handle_fd_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_set")]
-  public static extern void switch_file_handle_samples_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_get")]
-  public static extern uint switch_file_handle_samples_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_set")]
-  public static extern void switch_file_handle_samplerate_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_get")]
-  public static extern uint switch_file_handle_samplerate_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_set")]
-  public static extern void switch_file_handle_native_rate_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_get")]
-  public static extern uint switch_file_handle_native_rate_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_set")]
-  public static extern void switch_file_handle_channels_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_get")]
-  public static extern byte switch_file_handle_channels_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_set")]
-  public static extern void switch_file_handle_format_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_get")]
-  public static extern uint switch_file_handle_format_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_set")]
-  public static extern void switch_file_handle_sections_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_get")]
-  public static extern uint switch_file_handle_sections_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_set")]
-  public static extern void switch_file_handle_seekable_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_get")]
-  public static extern int switch_file_handle_seekable_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_set")]
-  public static extern void switch_file_handle_sample_count_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_get")]
-  public static extern IntPtr switch_file_handle_sample_count_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_set")]
-  public static extern void switch_file_handle_speed_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_get")]
-  public static extern int switch_file_handle_speed_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_set")]
-  public static extern void switch_file_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_get")]
-  public static extern IntPtr switch_file_handle_memory_pool_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_set")]
-  public static extern void switch_file_handle_prebuf_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_get")]
-  public static extern uint switch_file_handle_prebuf_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_set")]
-  public static extern void switch_file_handle_interval_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_get")]
-  public static extern uint switch_file_handle_interval_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_set")]
-  public static extern void switch_file_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_get")]
-  public static extern IntPtr switch_file_handle_private_info_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_set")]
-  public static extern void switch_file_handle_handler_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_get")]
-  public static extern string switch_file_handle_handler_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_set")]
-  public static extern void switch_file_handle_pos_set(HandleRef jarg1, long jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_get")]
-  public static extern long switch_file_handle_pos_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_set")]
-  public static extern void switch_file_handle_audio_buffer_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_get")]
-  public static extern IntPtr switch_file_handle_audio_buffer_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_set")]
-  public static extern void switch_file_handle_sp_audio_buffer_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_get")]
-  public static extern IntPtr switch_file_handle_sp_audio_buffer_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_set")]
-  public static extern void switch_file_handle_thresh_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_get")]
-  public static extern uint switch_file_handle_thresh_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_set")]
-  public static extern void switch_file_handle_silence_hits_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_get")]
-  public static extern uint switch_file_handle_silence_hits_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_set")]
-  public static extern void switch_file_handle_offset_pos_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_get")]
-  public static extern uint switch_file_handle_offset_pos_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_last_pos_set")]
-  public static extern void switch_file_handle_last_pos_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_last_pos_get")]
-  public static extern uint switch_file_handle_last_pos_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_set")]
-  public static extern void switch_file_handle_vol_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_get")]
-  public static extern int switch_file_handle_vol_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_set")]
-  public static extern void switch_file_handle_resampler_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_get")]
-  public static extern IntPtr switch_file_handle_resampler_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_set")]
-  public static extern void switch_file_handle_buffer_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_get")]
-  public static extern IntPtr switch_file_handle_buffer_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_set")]
-  public static extern void switch_file_handle_dbuf_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_get")]
-  public static extern IntPtr switch_file_handle_dbuf_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_set")]
-  public static extern void switch_file_handle_dbuflen_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_get")]
-  public static extern IntPtr switch_file_handle_dbuflen_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_set")]
-  public static extern void switch_file_handle_file_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_get")]
-  public static extern string switch_file_handle_file_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_set")]
-  public static extern void switch_file_handle_func_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_get")]
-  public static extern string switch_file_handle_func_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_set")]
-  public static extern void switch_file_handle_line_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_get")]
-  public static extern int switch_file_handle_line_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_handle")]
-  public static extern IntPtr new_switch_file_handle();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_handle")]
-  public static extern void delete_switch_file_handle(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_set")]
-  public static extern void switch_asr_interface_interface_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_get")]
-  public static extern string switch_asr_interface_interface_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_set")]
-  public static extern void switch_asr_interface_asr_open_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_get")]
-  public static extern IntPtr switch_asr_interface_asr_open_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_set")]
-  public static extern void switch_asr_interface_asr_load_grammar_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_get")]
-  public static extern IntPtr switch_asr_interface_asr_load_grammar_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_set")]
-  public static extern void switch_asr_interface_asr_unload_grammar_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_get")]
-  public static extern IntPtr switch_asr_interface_asr_unload_grammar_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_set")]
-  public static extern void switch_asr_interface_asr_close_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_get")]
-  public static extern IntPtr switch_asr_interface_asr_close_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_set")]
-  public static extern void switch_asr_interface_asr_feed_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_get")]
-  public static extern IntPtr switch_asr_interface_asr_feed_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_set")]
-  public static extern void switch_asr_interface_asr_resume_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_get")]
-  public static extern IntPtr switch_asr_interface_asr_resume_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_set")]
-  public static extern void switch_asr_interface_asr_pause_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_get")]
-  public static extern IntPtr switch_asr_interface_asr_pause_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_set")]
-  public static extern void switch_asr_interface_asr_check_results_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_get")]
-  public static extern IntPtr switch_asr_interface_asr_check_results_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_set")]
-  public static extern void switch_asr_interface_asr_get_results_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_get")]
-  public static extern IntPtr switch_asr_interface_asr_get_results_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_set")]
-  public static extern void switch_asr_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_get")]
-  public static extern IntPtr switch_asr_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_set")]
-  public static extern void switch_asr_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_get")]
-  public static extern IntPtr switch_asr_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_interface")]
-  public static extern IntPtr new_switch_asr_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_interface")]
-  public static extern void delete_switch_asr_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_set")]
-  public static extern void switch_asr_handle_asr_interface_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_get")]
-  public static extern IntPtr switch_asr_handle_asr_interface_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_set")]
-  public static extern void switch_asr_handle_flags_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_get")]
-  public static extern uint switch_asr_handle_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_set")]
-  public static extern void switch_asr_handle_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_get")]
-  public static extern string switch_asr_handle_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_set")]
-  public static extern void switch_asr_handle_codec_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_get")]
-  public static extern string switch_asr_handle_codec_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_set")]
-  public static extern void switch_asr_handle_rate_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_get")]
-  public static extern uint switch_asr_handle_rate_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_set")]
-  public static extern void switch_asr_handle_grammar_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_get")]
-  public static extern string switch_asr_handle_grammar_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_set")]
-  public static extern void switch_asr_handle_param_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_get")]
-  public static extern string switch_asr_handle_param_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_set")]
-  public static extern void switch_asr_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_get")]
-  public static extern IntPtr switch_asr_handle_memory_pool_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_set")]
-  public static extern void switch_asr_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_get")]
-  public static extern IntPtr switch_asr_handle_private_info_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_handle")]
-  public static extern IntPtr new_switch_asr_handle();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_handle")]
-  public static extern void delete_switch_asr_handle(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_set")]
-  public static extern void switch_speech_interface_interface_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_get")]
-  public static extern string switch_speech_interface_interface_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_set")]
-  public static extern void switch_speech_interface_speech_open_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_get")]
-  public static extern IntPtr switch_speech_interface_speech_open_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_set")]
-  public static extern void switch_speech_interface_speech_close_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_get")]
-  public static extern IntPtr switch_speech_interface_speech_close_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_set")]
-  public static extern void switch_speech_interface_speech_feed_tts_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_get")]
-  public static extern IntPtr switch_speech_interface_speech_feed_tts_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_set")]
-  public static extern void switch_speech_interface_speech_read_tts_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_get")]
-  public static extern IntPtr switch_speech_interface_speech_read_tts_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_set")]
-  public static extern void switch_speech_interface_speech_flush_tts_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_get")]
-  public static extern IntPtr switch_speech_interface_speech_flush_tts_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_set")]
-  public static extern void switch_speech_interface_speech_text_param_tts_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_get")]
-  public static extern IntPtr switch_speech_interface_speech_text_param_tts_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_set")]
-  public static extern void switch_speech_interface_speech_numeric_param_tts_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_get")]
-  public static extern IntPtr switch_speech_interface_speech_numeric_param_tts_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_set")]
-  public static extern void switch_speech_interface_speech_float_param_tts_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_get")]
-  public static extern IntPtr switch_speech_interface_speech_float_param_tts_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_set")]
-  public static extern void switch_speech_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_get")]
-  public static extern IntPtr switch_speech_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_set")]
-  public static extern void switch_speech_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_get")]
-  public static extern IntPtr switch_speech_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_interface")]
-  public static extern IntPtr new_switch_speech_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_interface")]
-  public static extern void delete_switch_speech_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_set")]
-  public static extern void switch_speech_handle_speech_interface_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_get")]
-  public static extern IntPtr switch_speech_handle_speech_interface_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_set")]
-  public static extern void switch_speech_handle_flags_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_get")]
-  public static extern uint switch_speech_handle_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_set")]
-  public static extern void switch_speech_handle_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_get")]
-  public static extern string switch_speech_handle_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_set")]
-  public static extern void switch_speech_handle_rate_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_get")]
-  public static extern uint switch_speech_handle_rate_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_set")]
-  public static extern void switch_speech_handle_speed_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_get")]
-  public static extern uint switch_speech_handle_speed_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_set")]
-  public static extern void switch_speech_handle_samples_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_get")]
-  public static extern uint switch_speech_handle_samples_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_set")]
-  public static extern void switch_speech_handle_voice_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_get")]
-  public static extern string switch_speech_handle_voice_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_set")]
-  public static extern void switch_speech_handle_engine_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_get")]
-  public static extern string switch_speech_handle_engine_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_set")]
-  public static extern void switch_speech_handle_param_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_get")]
-  public static extern string switch_speech_handle_param_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_set")]
-  public static extern void switch_speech_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_get")]
-  public static extern IntPtr switch_speech_handle_memory_pool_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_set")]
-  public static extern void switch_speech_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_get")]
-  public static extern IntPtr switch_speech_handle_private_info_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_handle")]
-  public static extern IntPtr new_switch_speech_handle();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_handle")]
-  public static extern void delete_switch_speech_handle(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_set")]
-  public static extern void switch_say_interface_interface_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_get")]
-  public static extern string switch_say_interface_interface_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_set")]
-  public static extern void switch_say_interface_say_function_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_get")]
-  public static extern IntPtr switch_say_interface_say_function_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_set")]
-  public static extern void switch_say_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_get")]
-  public static extern IntPtr switch_say_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_set")]
-  public static extern void switch_say_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_get")]
-  public static extern IntPtr switch_say_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_say_interface")]
-  public static extern IntPtr new_switch_say_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_say_interface")]
-  public static extern void delete_switch_say_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_set")]
-  public static extern void switch_chat_interface_interface_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_get")]
-  public static extern string switch_chat_interface_interface_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_set")]
-  public static extern void switch_chat_interface_chat_send_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_get")]
-  public static extern IntPtr switch_chat_interface_chat_send_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_set")]
-  public static extern void switch_chat_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_get")]
-  public static extern IntPtr switch_chat_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_set")]
-  public static extern void switch_chat_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_get")]
-  public static extern IntPtr switch_chat_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_chat_interface")]
-  public static extern IntPtr new_switch_chat_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_chat_interface")]
-  public static extern void delete_switch_chat_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_set")]
-  public static extern void switch_management_interface_relative_oid_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_get")]
-  public static extern string switch_management_interface_relative_oid_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_set")]
-  public static extern void switch_management_interface_management_function_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_get")]
-  public static extern IntPtr switch_management_interface_management_function_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_set")]
-  public static extern void switch_management_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_get")]
-  public static extern IntPtr switch_management_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_set")]
-  public static extern void switch_management_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_get")]
-  public static extern IntPtr switch_management_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_management_interface")]
-  public static extern IntPtr new_switch_management_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_management_interface")]
-  public static extern void delete_switch_management_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_set")]
-  public static extern void switch_directory_interface_interface_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_get")]
-  public static extern string switch_directory_interface_interface_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_set")]
-  public static extern void switch_directory_interface_directory_open_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_get")]
-  public static extern IntPtr switch_directory_interface_directory_open_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_set")]
-  public static extern void switch_directory_interface_directory_close_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_get")]
-  public static extern IntPtr switch_directory_interface_directory_close_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_set")]
-  public static extern void switch_directory_interface_directory_query_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_get")]
-  public static extern IntPtr switch_directory_interface_directory_query_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_set")]
-  public static extern void switch_directory_interface_directory_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_get")]
-  public static extern IntPtr switch_directory_interface_directory_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_set")]
-  public static extern void switch_directory_interface_directory_next_pair_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_get")]
-  public static extern IntPtr switch_directory_interface_directory_next_pair_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_set")]
-  public static extern void switch_directory_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_get")]
-  public static extern IntPtr switch_directory_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_set")]
-  public static extern void switch_directory_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_get")]
-  public static extern IntPtr switch_directory_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_interface")]
-  public static extern IntPtr new_switch_directory_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_interface")]
-  public static extern void delete_switch_directory_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_set")]
-  public static extern void switch_directory_handle_directory_interface_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_get")]
-  public static extern IntPtr switch_directory_handle_directory_interface_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_set")]
-  public static extern void switch_directory_handle_flags_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_get")]
-  public static extern uint switch_directory_handle_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_set")]
-  public static extern void switch_directory_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_get")]
-  public static extern IntPtr switch_directory_handle_memory_pool_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_set")]
-  public static extern void switch_directory_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_get")]
-  public static extern IntPtr switch_directory_handle_private_info_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_handle")]
-  public static extern IntPtr new_switch_directory_handle();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_handle")]
-  public static extern void delete_switch_directory_handle(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_set")]
-  public static extern void switch_codec_settings_quality_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_get")]
-  public static extern int switch_codec_settings_quality_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_set")]
-  public static extern void switch_codec_settings_complexity_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_get")]
-  public static extern int switch_codec_settings_complexity_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_set")]
-  public static extern void switch_codec_settings_enhancement_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_get")]
-  public static extern int switch_codec_settings_enhancement_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_set")]
-  public static extern void switch_codec_settings_vad_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_get")]
-  public static extern int switch_codec_settings_vad_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_set")]
-  public static extern void switch_codec_settings_vbr_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_get")]
-  public static extern int switch_codec_settings_vbr_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_set")]
-  public static extern void switch_codec_settings_vbr_quality_set(HandleRef jarg1, float jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_get")]
-  public static extern float switch_codec_settings_vbr_quality_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_set")]
-  public static extern void switch_codec_settings_abr_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_get")]
-  public static extern int switch_codec_settings_abr_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_set")]
-  public static extern void switch_codec_settings_dtx_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_get")]
-  public static extern int switch_codec_settings_dtx_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_set")]
-  public static extern void switch_codec_settings_preproc_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_get")]
-  public static extern int switch_codec_settings_preproc_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_set")]
-  public static extern void switch_codec_settings_pp_vad_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_get")]
-  public static extern int switch_codec_settings_pp_vad_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_set")]
-  public static extern void switch_codec_settings_pp_agc_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_get")]
-  public static extern int switch_codec_settings_pp_agc_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_set")]
-  public static extern void switch_codec_settings_pp_agc_level_set(HandleRef jarg1, float jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_get")]
-  public static extern float switch_codec_settings_pp_agc_level_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_set")]
-  public static extern void switch_codec_settings_pp_denoise_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_get")]
-  public static extern int switch_codec_settings_pp_denoise_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_set")]
-  public static extern void switch_codec_settings_pp_dereverb_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_get")]
-  public static extern int switch_codec_settings_pp_dereverb_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_set")]
-  public static extern void switch_codec_settings_pp_dereverb_decay_set(HandleRef jarg1, float jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_get")]
-  public static extern float switch_codec_settings_pp_dereverb_decay_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_set")]
-  public static extern void switch_codec_settings_pp_dereverb_level_set(HandleRef jarg1, float jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_get")]
-  public static extern float switch_codec_settings_pp_dereverb_level_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_settings")]
-  public static extern IntPtr new_switch_codec_settings();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_settings")]
-  public static extern void delete_switch_codec_settings(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_set")]
-  public static extern void switch_codec_codec_interface_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_get")]
-  public static extern IntPtr switch_codec_codec_interface_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_set")]
-  public static extern void switch_codec_implementation_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_get")]
-  public static extern IntPtr switch_codec_implementation_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_set")]
-  public static extern void switch_codec_fmtp_in_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_get")]
-  public static extern string switch_codec_fmtp_in_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_set")]
-  public static extern void switch_codec_fmtp_out_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_get")]
-  public static extern string switch_codec_fmtp_out_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_set")]
-  public static extern void switch_codec_codec_settings_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_get")]
-  public static extern IntPtr switch_codec_codec_settings_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_set")]
-  public static extern void switch_codec_flags_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_get")]
-  public static extern uint switch_codec_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_set")]
-  public static extern void switch_codec_memory_pool_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_get")]
-  public static extern IntPtr switch_codec_memory_pool_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_set")]
-  public static extern void switch_codec_private_info_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_get")]
-  public static extern IntPtr switch_codec_private_info_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_set")]
-  public static extern void switch_codec_agreed_pt_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_get")]
-  public static extern byte switch_codec_agreed_pt_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec")]
-  public static extern IntPtr new_switch_codec();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec")]
-  public static extern void delete_switch_codec(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_set")]
-  public static extern void switch_codec_implementation_codec_type_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_get")]
-  public static extern int switch_codec_implementation_codec_type_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_set")]
-  public static extern void switch_codec_implementation_ianacode_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_get")]
-  public static extern byte switch_codec_implementation_ianacode_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_set")]
-  public static extern void switch_codec_implementation_iananame_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_get")]
-  public static extern string switch_codec_implementation_iananame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_set")]
-  public static extern void switch_codec_implementation_fmtp_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_get")]
-  public static extern string switch_codec_implementation_fmtp_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_set")]
-  public static extern void switch_codec_implementation_samples_per_second_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_get")]
-  public static extern uint switch_codec_implementation_samples_per_second_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_set")]
-  public static extern void switch_codec_implementation_actual_samples_per_second_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_get")]
-  public static extern uint switch_codec_implementation_actual_samples_per_second_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_set")]
-  public static extern void switch_codec_implementation_bits_per_second_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_get")]
-  public static extern int switch_codec_implementation_bits_per_second_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_frame_set")]
-  public static extern void switch_codec_implementation_microseconds_per_frame_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_frame_get")]
-  public static extern int switch_codec_implementation_microseconds_per_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_frame_set")]
-  public static extern void switch_codec_implementation_samples_per_frame_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_frame_get")]
-  public static extern uint switch_codec_implementation_samples_per_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bytes_per_frame_set")]
-  public static extern void switch_codec_implementation_bytes_per_frame_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bytes_per_frame_get")]
-  public static extern uint switch_codec_implementation_bytes_per_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_frame_set")]
-  public static extern void switch_codec_implementation_encoded_bytes_per_frame_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_frame_get")]
-  public static extern uint switch_codec_implementation_encoded_bytes_per_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_set")]
-  public static extern void switch_codec_implementation_number_of_channels_set(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_get")]
-  public static extern byte switch_codec_implementation_number_of_channels_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_pref_frames_per_packet_set")]
-  public static extern void switch_codec_implementation_pref_frames_per_packet_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_pref_frames_per_packet_get")]
-  public static extern int switch_codec_implementation_pref_frames_per_packet_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_max_frames_per_packet_set")]
-  public static extern void switch_codec_implementation_max_frames_per_packet_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_max_frames_per_packet_get")]
-  public static extern int switch_codec_implementation_max_frames_per_packet_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_set")]
-  public static extern void switch_codec_implementation_init_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_get")]
-  public static extern IntPtr switch_codec_implementation_init_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_set")]
-  public static extern void switch_codec_implementation_encode_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_get")]
-  public static extern IntPtr switch_codec_implementation_encode_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_set")]
-  public static extern void switch_codec_implementation_decode_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_get")]
-  public static extern IntPtr switch_codec_implementation_decode_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_set")]
-  public static extern void switch_codec_implementation_destroy_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_get")]
-  public static extern IntPtr switch_codec_implementation_destroy_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_set")]
-  public static extern void switch_codec_implementation_codec_id_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_get")]
-  public static extern uint switch_codec_implementation_codec_id_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_set")]
-  public static extern void switch_codec_implementation_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_get")]
-  public static extern IntPtr switch_codec_implementation_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_implementation")]
-  public static extern IntPtr new_switch_codec_implementation();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_implementation")]
-  public static extern void delete_switch_codec_implementation(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_set")]
-  public static extern void switch_codec_interface_interface_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_get")]
-  public static extern string switch_codec_interface_interface_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_set")]
-  public static extern void switch_codec_interface_implementations_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_get")]
-  public static extern IntPtr switch_codec_interface_implementations_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_set")]
-  public static extern void switch_codec_interface_codec_id_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_get")]
-  public static extern uint switch_codec_interface_codec_id_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_set")]
-  public static extern void switch_codec_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_get")]
-  public static extern IntPtr switch_codec_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_set")]
-  public static extern void switch_codec_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_get")]
-  public static extern IntPtr switch_codec_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_interface")]
-  public static extern IntPtr new_switch_codec_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_interface")]
-  public static extern void delete_switch_codec_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_set")]
-  public static extern void switch_application_interface_interface_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_get")]
-  public static extern string switch_application_interface_interface_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_set")]
-  public static extern void switch_application_interface_application_function_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_get")]
-  public static extern IntPtr switch_application_interface_application_function_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_set")]
-  public static extern void switch_application_interface_long_desc_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_get")]
-  public static extern string switch_application_interface_long_desc_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_set")]
-  public static extern void switch_application_interface_short_desc_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_get")]
-  public static extern string switch_application_interface_short_desc_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_set")]
-  public static extern void switch_application_interface_syntax_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_get")]
-  public static extern string switch_application_interface_syntax_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_set")]
-  public static extern void switch_application_interface_flags_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_get")]
-  public static extern uint switch_application_interface_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_set")]
-  public static extern void switch_application_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_get")]
-  public static extern IntPtr switch_application_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_set")]
-  public static extern void switch_application_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_get")]
-  public static extern IntPtr switch_application_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_application_interface")]
-  public static extern IntPtr new_switch_application_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_application_interface")]
-  public static extern void delete_switch_application_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_set")]
-  public static extern void switch_api_interface_interface_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_get")]
-  public static extern string switch_api_interface_interface_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_set")]
-  public static extern void switch_api_interface_desc_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_get")]
-  public static extern string switch_api_interface_desc_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_set")]
-  public static extern void switch_api_interface_function_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_get")]
-  public static extern IntPtr switch_api_interface_function_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_set")]
-  public static extern void switch_api_interface_syntax_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_get")]
-  public static extern string switch_api_interface_syntax_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_set")]
-  public static extern void switch_api_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_get")]
-  public static extern IntPtr switch_api_interface_rwlock_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_set")]
-  public static extern void switch_api_interface_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_get")]
-  public static extern IntPtr switch_api_interface_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_api_interface")]
-  public static extern IntPtr new_switch_api_interface();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_api_interface")]
-  public static extern void delete_switch_api_interface(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_set")]
-  public static extern void switch_channel_timetable_profile_created_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_get")]
-  public static extern IntPtr switch_channel_timetable_profile_created_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_set")]
-  public static extern void switch_channel_timetable_created_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_get")]
-  public static extern IntPtr switch_channel_timetable_created_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_set")]
-  public static extern void switch_channel_timetable_answered_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_get")]
-  public static extern IntPtr switch_channel_timetable_answered_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_set")]
-  public static extern void switch_channel_timetable_progress_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_get")]
-  public static extern IntPtr switch_channel_timetable_progress_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_set")]
-  public static extern void switch_channel_timetable_progress_media_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_get")]
-  public static extern IntPtr switch_channel_timetable_progress_media_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_set")]
-  public static extern void switch_channel_timetable_hungup_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_get")]
-  public static extern IntPtr switch_channel_timetable_hungup_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_set")]
-  public static extern void switch_channel_timetable_transferred_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_get")]
-  public static extern IntPtr switch_channel_timetable_transferred_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_set")]
-  public static extern void switch_channel_timetable_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_get")]
-  public static extern IntPtr switch_channel_timetable_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_channel_timetable")]
-  public static extern IntPtr new_switch_channel_timetable();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_channel_timetable")]
-  public static extern void delete_switch_channel_timetable(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state")]
-  public static extern int switch_channel_get_state(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_running_state")]
-  public static extern int switch_channel_get_running_state(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_ready")]
-  public static extern byte switch_channel_ready(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_state")]
-  public static extern void switch_channel_wait_for_state(HandleRef jarg1, HandleRef jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_flag")]
-  public static extern int switch_channel_wait_for_flag(HandleRef jarg1, uint jarg2, int jarg3, uint jarg4, HandleRef jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_state")]
-  public static extern int switch_channel_perform_set_state(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_running_state")]
-  public static extern int switch_channel_perform_set_running_state(HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_str2cause")]
-  public static extern int switch_channel_str2cause(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause")]
-  public static extern int switch_channel_get_cause(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause_q850")]
-  public static extern int switch_channel_cause_q850(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause_q850")]
-  public static extern int switch_channel_get_cause_q850(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause2str")]
-  public static extern string switch_channel_cause2str(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_timetable")]
-  public static extern IntPtr switch_channel_get_timetable(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_alloc")]
-  public static extern int switch_channel_alloc(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_init")]
-  public static extern int switch_channel_init(HandleRef jarg1, HandleRef jarg2, int jarg3, uint jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_presence")]
-  public static extern void switch_channel_presence(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_uninit")]
-  public static extern void switch_channel_uninit(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_profile")]
-  public static extern void switch_channel_set_caller_profile(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_profile")]
-  public static extern IntPtr switch_channel_get_caller_profile(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originator_caller_profile")]
-  public static extern void switch_channel_set_originator_caller_profile(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originator_caller_profile")]
-  public static extern IntPtr switch_channel_get_originator_caller_profile(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originatee_caller_profile")]
-  public static extern void switch_channel_set_originatee_caller_profile(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originatee_caller_profile")]
-  public static extern IntPtr switch_channel_get_originatee_caller_profile(HandleRef jarg1);
-
-  [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_variable")]
-  public static extern int switch_channel_set_variable(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_printf")]
-  public static extern int switch_channel_set_variable_printf(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_partner")]
-  public static extern int switch_channel_set_variable_partner(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable_partner")]
-  public static extern string switch_channel_get_variable_partner(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable")]
-  public static extern string switch_channel_get_variable(HandleRef jarg1, string jarg2);
-
-  [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_variable_first")]
-  public static extern IntPtr switch_channel_variable_first(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_last")]
-  public static extern void switch_channel_variable_last(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_extension")]
-  public static extern void switch_channel_set_caller_extension(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_extension")]
-  public static extern IntPtr switch_channel_get_caller_extension(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_flag")]
-  public static extern uint switch_channel_test_flag(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag")]
-  public static extern void switch_channel_set_flag(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag_partner")]
-  public static extern int switch_channel_set_flag_partner(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag_partner")]
-  public static extern int switch_channel_clear_flag_partner(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_state_flag")]
-  public static extern void switch_channel_set_state_flag(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag")]
-  public static extern void switch_channel_clear_flag(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_answer")]
-  public static extern int switch_channel_perform_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_answered")]
-  public static extern int switch_channel_perform_mark_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_ring_ready")]
-  public static extern int switch_channel_perform_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_pre_answer")]
-  public static extern int switch_channel_perform_pre_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_pre_answered")]
-  public static extern int switch_channel_perform_mark_pre_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_ring_ready")]
-  public static extern int switch_channel_perform_mark_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_add_state_handler")]
-  public static extern int switch_channel_add_state_handler(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_state_handler")]
-  public static extern void switch_channel_clear_state_handler(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state_handler")]
-  public static extern IntPtr switch_channel_get_state_handler(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private")]
-  public static extern int switch_channel_set_private(HandleRef jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_private")]
-  public static extern IntPtr switch_channel_get_private(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_name")]
-  public static extern int switch_channel_set_name(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_name")]
-  public static extern string switch_channel_get_name(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_hangup")]
-  public static extern int switch_channel_perform_hangup(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_has_dtmf")]
-  public static extern IntPtr switch_channel_has_dtmf(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf")]
-  public static extern int switch_channel_queue_dtmf(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf_string")]
-  public static extern int switch_channel_queue_dtmf_string(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf")]
-  public static extern int switch_channel_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_flush_dtmf")]
-  public static extern void switch_channel_flush_dtmf(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf_string")]
-  public static extern IntPtr switch_channel_dequeue_dtmf_string(HandleRef jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_state_name")]
-  public static extern string switch_channel_state_name(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_name_state")]
-  public static extern int switch_channel_name_state(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_data")]
-  public static extern void switch_channel_event_set_data(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_expand_variables")]
-  public static extern string switch_channel_expand_variables(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_build_param_string")]
-  public static extern string switch_channel_build_param_string(HandleRef jarg1, HandleRef jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_timestamps")]
-  public static extern int switch_channel_set_timestamps(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create")]
-  public static extern int switch_buffer_create(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create_dynamic")]
-  public static extern int switch_buffer_create_dynamic(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_add_mutex")]
-  public static extern void switch_buffer_add_mutex(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_lock")]
-  public static extern void switch_buffer_lock(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_trylock")]
-  public static extern int switch_buffer_trylock(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_unlock")]
-  public static extern void switch_buffer_unlock(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_len")]
-  public static extern IntPtr switch_buffer_len(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_freespace")]
-  public static extern IntPtr switch_buffer_freespace(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_inuse")]
-  public static extern IntPtr switch_buffer_inuse(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read")]
-  public static extern IntPtr switch_buffer_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read_loop")]
-  public static extern IntPtr switch_buffer_read_loop(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_set_loops")]
-  public static extern void switch_buffer_set_loops(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_write")]
-  public static extern IntPtr switch_buffer_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_toss")]
-  public static extern IntPtr switch_buffer_toss(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zero")]
-  public static extern void switch_buffer_zero(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_destroy")]
-  public static extern void switch_buffer_destroy(HandleRef jarg1);
-
-  [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_event_header_name_set")]
-  public static extern void switch_event_header_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_get")]
-  public static extern string switch_event_header_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_set")]
-  public static extern void switch_event_header_value_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_get")]
-  public static extern string switch_event_header_value_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_set")]
-  public static extern void switch_event_header_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_get")]
-  public static extern IntPtr switch_event_header_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event_header")]
-  public static extern IntPtr new_switch_event_header();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event_header")]
-  public static extern void delete_switch_event_header(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_set")]
-  public static extern void switch_event_event_id_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_get")]
-  public static extern int switch_event_event_id_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_set")]
-  public static extern void switch_event_priority_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_get")]
-  public static extern int switch_event_priority_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_set")]
-  public static extern void switch_event_owner_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_get")]
-  public static extern string switch_event_owner_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_set")]
-  public static extern void switch_event_subclass_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_get")]
-  public static extern string switch_event_subclass_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_set")]
-  public static extern void switch_event_headers_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_get")]
-  public static extern IntPtr switch_event_headers_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_set")]
-  public static extern void switch_event_last_header_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_get")]
-  public static extern IntPtr switch_event_last_header_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_set")]
-  public static extern void switch_event_body_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_get")]
-  public static extern string switch_event_body_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_set")]
-  public static extern void switch_event_bind_user_data_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_get")]
-  public static extern IntPtr switch_event_bind_user_data_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_set")]
-  public static extern void switch_event_event_user_data_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_get")]
-  public static extern IntPtr switch_event_event_user_data_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_set")]
-  public static extern void switch_event_key_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_get")]
-  public static extern uint switch_event_key_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_set")]
-  public static extern void switch_event_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_get")]
-  public static extern IntPtr switch_event_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event")]
-  public static extern IntPtr new_switch_event();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event")]
-  public static extern void delete_switch_event(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_init")]
-  public static extern int switch_event_init(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_shutdown")]
-  public static extern int switch_event_shutdown();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_subclass")]
-  public static extern int switch_event_create_subclass(HandleRef jarg1, int jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_set_priority")]
-  public static extern int switch_event_set_priority(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_header")]
-  public static extern string switch_event_get_header(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_body")]
-  public static extern string switch_event_get_body(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_add_header_string")]
-  public static extern int switch_event_add_header_string(HandleRef jarg1, int jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_del_header")]
-  public static extern int switch_event_del_header(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_destroy")]
-  public static extern void switch_event_destroy(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_dup")]
-  public static extern int switch_event_dup(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_fire_detailed")]
-  public static extern int switch_event_fire_detailed(string jarg1, string jarg2, int jarg3, HandleRef jarg4, HandleRef jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind")]
-  public static extern int switch_event_bind(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_removable")]
-  public static extern int switch_event_bind_removable(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind")]
-  public static extern int switch_event_unbind(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind_callback")]
-  public static extern int switch_event_unbind_callback(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_name")]
-  public static extern string switch_event_name(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_name_event")]
-  public static extern int switch_name_event(string jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_reserve_subclass_detailed")]
-  public static extern int switch_event_reserve_subclass_detailed(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_free_subclass_detailed")]
-  public static extern int switch_event_free_subclass_detailed(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_serialize")]
-  public static extern int switch_event_serialize(HandleRef jarg1, ref string jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_running")]
-  public static extern int switch_event_running();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_expand_headers")]
-  public static extern string switch_event_expand_headers(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_pres_in_detailed")]
-  public static extern int switch_event_create_pres_in_detailed(string jarg1, string jarg2, int jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, int jarg11, string jarg12, string jarg13, string jarg14, string jarg15);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_deliver")]
-  public static extern void switch_event_deliver(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_build_param_string")]
-  public static extern string switch_event_build_param_string(HandleRef jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_set")]
-  public static extern void switch_audio_resampler_t_resampler_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_get")]
-  public static extern IntPtr switch_audio_resampler_t_resampler_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_set")]
-  public static extern void switch_audio_resampler_t_from_rate_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_get")]
-  public static extern int switch_audio_resampler_t_from_rate_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_set")]
-  public static extern void switch_audio_resampler_t_to_rate_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_get")]
-  public static extern int switch_audio_resampler_t_to_rate_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_set")]
-  public static extern void switch_audio_resampler_t_factor_set(HandleRef jarg1, double jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_get")]
-  public static extern double switch_audio_resampler_t_factor_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_set")]
-  public static extern void switch_audio_resampler_t_rfactor_set(HandleRef jarg1, double jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_get")]
-  public static extern double switch_audio_resampler_t_rfactor_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_set")]
-  public static extern void switch_audio_resampler_t_from_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_get")]
-  public static extern IntPtr switch_audio_resampler_t_from_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_set")]
-  public static extern void switch_audio_resampler_t_from_len_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_get")]
-  public static extern int switch_audio_resampler_t_from_len_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_set")]
-  public static extern void switch_audio_resampler_t_from_size_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_get")]
-  public static extern IntPtr switch_audio_resampler_t_from_size_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_set")]
-  public static extern void switch_audio_resampler_t_to_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_get")]
-  public static extern IntPtr switch_audio_resampler_t_to_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_set")]
-  public static extern void switch_audio_resampler_t_to_len_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_get")]
-  public static extern uint switch_audio_resampler_t_to_len_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_set")]
-  public static extern void switch_audio_resampler_t_to_size_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_get")]
-  public static extern uint switch_audio_resampler_t_to_size_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_audio_resampler_t")]
-  public static extern IntPtr new_switch_audio_resampler_t();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_audio_resampler_t")]
-  public static extern void delete_switch_audio_resampler_t(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_create")]
-  public static extern int switch_resample_create(HandleRef jarg1, int jarg2, HandleRef jarg3, int jarg4, uint jarg5, HandleRef jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_destroy")]
-  public static extern void switch_resample_destroy(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_process")]
-  public static extern uint switch_resample_process(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5, int jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_short")]
-  public static extern IntPtr switch_float_to_short(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_float")]
-  public static extern int switch_char_to_float(string jarg1, HandleRef jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_char")]
-  public static extern int switch_float_to_char(HandleRef jarg1, string jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_short_to_float")]
-  public static extern int switch_short_to_float(HandleRef jarg1, HandleRef jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_swap_linear")]
-  public static extern void switch_swap_linear(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_generate_sln_silence")]
-  public static extern void switch_generate_sln_silence(HandleRef jarg1, uint jarg2, uint jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_change_sln_volume")]
-  public static extern void switch_change_sln_volume(HandleRef jarg1, uint jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_merge_sln")]
-  public static extern uint switch_merge_sln(HandleRef jarg1, uint jarg2, HandleRef jarg3, uint jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_set")]
-  public static extern void switch_unicast_conninfo_session_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_get")]
-  public static extern IntPtr switch_unicast_conninfo_session_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_set")]
-  public static extern void switch_unicast_conninfo_read_codec_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_get")]
-  public static extern IntPtr switch_unicast_conninfo_read_codec_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_set")]
-  public static extern void switch_unicast_conninfo_write_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_get")]
-  public static extern IntPtr switch_unicast_conninfo_write_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_set")]
-  public static extern void switch_unicast_conninfo_write_frame_data_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_get")]
-  public static extern IntPtr switch_unicast_conninfo_write_frame_data_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_set")]
-  public static extern void switch_unicast_conninfo_socket_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_get")]
-  public static extern IntPtr switch_unicast_conninfo_socket_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_set")]
-  public static extern void switch_unicast_conninfo_local_ip_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_get")]
-  public static extern string switch_unicast_conninfo_local_ip_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_set")]
-  public static extern void switch_unicast_conninfo_local_port_set(HandleRef jarg1, ushort jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_get")]
-  public static extern ushort switch_unicast_conninfo_local_port_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_set")]
-  public static extern void switch_unicast_conninfo_remote_ip_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_get")]
-  public static extern string switch_unicast_conninfo_remote_ip_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_set")]
-  public static extern void switch_unicast_conninfo_remote_port_set(HandleRef jarg1, ushort jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_get")]
-  public static extern ushort switch_unicast_conninfo_remote_port_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_set")]
-  public static extern void switch_unicast_conninfo_local_addr_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_get")]
-  public static extern IntPtr switch_unicast_conninfo_local_addr_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_set")]
-  public static extern void switch_unicast_conninfo_remote_addr_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_get")]
-  public static extern IntPtr switch_unicast_conninfo_remote_addr_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_set")]
-  public static extern void switch_unicast_conninfo_flag_mutex_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_get")]
-  public static extern IntPtr switch_unicast_conninfo_flag_mutex_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_set")]
-  public static extern void switch_unicast_conninfo_flags_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_get")]
-  public static extern int switch_unicast_conninfo_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_set")]
-  public static extern void switch_unicast_conninfo_type_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_get")]
-  public static extern int switch_unicast_conninfo_type_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_set")]
-  public static extern void switch_unicast_conninfo_transport_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_get")]
-  public static extern int switch_unicast_conninfo_transport_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_set")]
-  public static extern void switch_unicast_conninfo_stream_id_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_get")]
-  public static extern int switch_unicast_conninfo_stream_id_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_unicast_conninfo")]
-  public static extern IntPtr new_switch_unicast_conninfo();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_unicast_conninfo")]
-  public static extern void delete_switch_unicast_conninfo(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_deactivate_unicast")]
-  public static extern int switch_ivr_deactivate_unicast(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_activate_unicast")]
-  public static extern int switch_ivr_activate_unicast(HandleRef jarg1, string jarg2, ushort jarg3, string jarg4, ushort jarg5, string jarg6, string jarg7);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_generate_xml_cdr")]
-  public static extern int switch_ivr_generate_xml_cdr(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_profile_data")]
-  public static extern int switch_ivr_set_xml_profile_data(HandleRef jarg1, HandleRef jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_chan_vars")]
-  public static extern int switch_ivr_set_xml_chan_vars(HandleRef jarg1, HandleRef jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_event")]
-  public static extern int switch_ivr_parse_event(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_all_events")]
-  public static extern int switch_ivr_parse_all_events(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_next_event")]
-  public static extern int switch_ivr_parse_next_event(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_sleep")]
-  public static extern int switch_ivr_sleep(HandleRef jarg1, uint jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park")]
-  public static extern int switch_ivr_park(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_callback")]
-  public static extern int switch_ivr_collect_digits_callback(HandleRef jarg1, HandleRef jarg2, uint jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_count")]
-  public static extern int switch_ivr_collect_digits_count(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, string jarg6, uint jarg7, uint jarg8, uint jarg9);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech")]
-  public static extern int switch_ivr_detect_speech(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_detect_speech")]
-  public static extern int switch_ivr_stop_detect_speech(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_pause_detect_speech")]
-  public static extern int switch_ivr_pause_detect_speech(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_resume_detect_speech")]
-  public static extern int switch_ivr_resume_detect_speech(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_load_grammar")]
-  public static extern int switch_ivr_detect_speech_load_grammar(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_unload_grammar")]
-  public static extern int switch_ivr_detect_speech_unload_grammar(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_session")]
-  public static extern int switch_ivr_record_session(HandleRef jarg1, string jarg2, uint jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_eavesdrop_session")]
-  public static extern int switch_ivr_eavesdrop_session(HandleRef jarg1, string jarg2, string jarg3, uint jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_displace_session")]
-  public static extern int switch_ivr_displace_session(HandleRef jarg1, string jarg2, uint jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_displace_session")]
-  public static extern int switch_ivr_stop_displace_session(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_record_session")]
-  public static extern int switch_ivr_stop_record_session(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_session")]
-  public static extern int switch_ivr_inband_dtmf_session(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_session")]
-  public static extern int switch_ivr_stop_inband_dtmf_session(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_generate_session")]
-  public static extern int switch_ivr_inband_dtmf_generate_session(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_generate_session")]
-  public static extern int switch_ivr_stop_inband_dtmf_generate_session(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_echo")]
-  public static extern void switch_ivr_session_echo(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_tone_detect_session")]
-  public static extern int switch_ivr_stop_tone_detect_session(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_tone_detect_session")]
-  public static extern int switch_ivr_tone_detect_session(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, string jarg6, string jarg7);
-
-  [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_wait_for_silence")]
-  public static extern int switch_ivr_wait_for_silence(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_gentones")]
-  public static extern int switch_ivr_gentones(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_file")]
-  public static extern int switch_ivr_record_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, uint jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_play_and_get_digits")]
-  public static extern int switch_play_and_get_digits(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, string jarg7, string jarg8, HandleRef jarg9, uint jarg10, string jarg11);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text_handle")]
-  public static extern int switch_ivr_speak_text_handle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, HandleRef jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_clear_speech_cache")]
-  public static extern void switch_ivr_clear_speech_cache(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text")]
-  public static extern int switch_ivr_speak_text(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_originate")]
-  public static extern int switch_ivr_originate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, HandleRef jarg9, uint jarg10);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_multi_threaded_bridge")]
-  public static extern int switch_ivr_multi_threaded_bridge(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_signal_bridge")]
-  public static extern int switch_ivr_signal_bridge(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_transfer")]
-  public static extern int switch_ivr_session_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_transfer")]
-  public static extern uint switch_ivr_schedule_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_hangup")]
-  public static extern uint switch_ivr_schedule_hangup(HandleRef jarg1, string jarg2, int jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_uuid_bridge")]
-  public static extern int switch_ivr_uuid_bridge(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_media")]
-  public static extern int switch_ivr_media(string jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_nomedia")]
-  public static extern int switch_ivr_nomedia(string jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold_uuid")]
-  public static extern int switch_ivr_hold_uuid(string jarg1, string jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold_uuid")]
-  public static extern int switch_ivr_unhold_uuid(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold")]
-  public static extern int switch_ivr_hold(HandleRef jarg1, string jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold")]
-  public static extern int switch_ivr_unhold(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_broadcast")]
-  public static extern uint switch_ivr_schedule_broadcast(HandleRef jarg1, string jarg2, string jarg3, uint jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_broadcast")]
-  public static extern int switch_ivr_broadcast(string jarg1, string jarg2, uint jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_transfer_variable")]
-  public static extern int switch_ivr_transfer_variable(HandleRef jarg1, HandleRef jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_new")]
-  public static extern int switch_ivr_digit_stream_parser_new(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_destroy")]
-  public static extern int switch_ivr_digit_stream_parser_destroy(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_new")]
-  public static extern int switch_ivr_digit_stream_new(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_destroy")]
-  public static extern int switch_ivr_digit_stream_destroy(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_event")]
-  public static extern int switch_ivr_digit_stream_parser_set_event(HandleRef jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_del_event")]
-  public static extern int switch_ivr_digit_stream_parser_del_event(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_feed")]
-  public static extern IntPtr switch_ivr_digit_stream_parser_feed(HandleRef jarg1, HandleRef jarg2, char jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_reset")]
-  public static extern int switch_ivr_digit_stream_reset(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_terminator")]
-  public static extern int switch_ivr_digit_stream_parser_set_terminator(HandleRef jarg1, char jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_init")]
-  public static extern int switch_ivr_menu_init(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14, int jarg15, HandleRef jarg16);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_action")]
-  public static extern int switch_ivr_menu_bind_action(HandleRef jarg1, int jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_function")]
-  public static extern int switch_ivr_menu_bind_function(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_execute")]
-  public static extern int switch_ivr_menu_execute(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_free")]
-  public static extern int switch_ivr_menu_stack_free(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_build")]
-  public static extern int switch_ivr_menu_stack_xml_build(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_str2action")]
-  public static extern int switch_ivr_menu_str2action(string jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_add_custom")]
-  public static extern int switch_ivr_menu_stack_xml_add_custom(HandleRef jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_init")]
-  public static extern int switch_ivr_menu_stack_xml_init(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_phrase_macro")]
-  public static extern int switch_ivr_phrase_macro(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_delay_echo")]
-  public static extern void switch_ivr_delay_echo(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_find_bridged_uuid")]
-  public static extern int switch_ivr_find_bridged_uuid(string jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_intercept_session")]
-  public static extern void switch_ivr_intercept_session(HandleRef jarg1, string jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park_session")]
-  public static extern void switch_ivr_park_session(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_answer")]
-  public static extern int switch_ivr_wait_for_answer(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_read")]
-  public static extern int switch_ivr_read(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4, string jarg5, string jarg6, HandleRef jarg7, uint jarg8, string jarg9);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_bind_dtmf_meta_session")]
-  public static extern int switch_ivr_bind_dtmf_meta_session(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unbind_dtmf_meta_session")]
-  public static extern int switch_ivr_unbind_dtmf_meta_session(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_soft_hold")]
-  public static extern int switch_ivr_soft_hold(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say")]
-  public static extern int switch_ivr_say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_method_by_name")]
-  public static extern int switch_ivr_get_say_method_by_name(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_type_by_name")]
-  public static extern int switch_ivr_get_say_type_by_name(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_user")]
-  public static extern int switch_ivr_set_user(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_BUF_LEN_get")]
-  public static extern int SWITCH_RTP_MAX_BUF_LEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_CRYPTO_LEN_get")]
-  public static extern int SWITCH_RTP_MAX_CRYPTO_LEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_KEY_LEN_get")]
-  public static extern int SWITCH_RTP_KEY_LEN_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_32_get")]
-  public static extern string SWITCH_RTP_CRYPTO_KEY_32_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_80_get")]
-  public static extern string SWITCH_RTP_CRYPTO_KEY_80_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_set")]
-  public static extern void switch_rtp_crypto_key_index_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_get")]
-  public static extern uint switch_rtp_crypto_key_index_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_set")]
-  public static extern void switch_rtp_crypto_key_type_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_get")]
-  public static extern int switch_rtp_crypto_key_type_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_set")]
-  public static extern void switch_rtp_crypto_key_key_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_get")]
-  public static extern IntPtr switch_rtp_crypto_key_key_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_set")]
-  public static extern void switch_rtp_crypto_key_keylen_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_get")]
-  public static extern IntPtr switch_rtp_crypto_key_keylen_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_set")]
-  public static extern void switch_rtp_crypto_key_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_get")]
-  public static extern IntPtr switch_rtp_crypto_key_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_crypto_key")]
-  public static extern IntPtr new_switch_rtp_crypto_key();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_crypto_key")]
-  public static extern void delete_switch_rtp_crypto_key(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_add_crypto_key")]
-  public static extern int switch_rtp_add_crypto_key(HandleRef jarg1, int jarg2, uint jarg3, int jarg4, HandleRef jarg5, HandleRef jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_random")]
-  public static extern void switch_rtp_get_random(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_init")]
-  public static extern void switch_rtp_init(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_shutdown")]
-  public static extern void switch_rtp_shutdown();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_start_port")]
-  public static extern ushort switch_rtp_set_start_port(ushort jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_end_port")]
-  public static extern ushort switch_rtp_set_end_port(ushort jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_request_port")]
-  public static extern ushort switch_rtp_request_port(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_release_port")]
-  public static extern void switch_rtp_release_port(string jarg1, ushort jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_create")]
-  public static extern int switch_rtp_create(HandleRef jarg1, byte jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, ref string jarg7, HandleRef jarg8);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_new")]
-  public static extern IntPtr switch_rtp_new(string jarg1, ushort jarg2, string jarg3, ushort jarg4, byte jarg5, uint jarg6, uint jarg7, uint jarg8, string jarg9, ref string jarg10, HandleRef jarg11);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_remote_address")]
-  public static extern int switch_rtp_set_remote_address(HandleRef jarg1, string jarg2, ushort jarg3, int jarg4, ref string jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_host")]
-  public static extern string switch_rtp_get_remote_host(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_port")]
-  public static extern ushort switch_rtp_get_remote_port(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_max_missed_packets")]
-  public static extern void switch_rtp_set_max_missed_packets(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_local_address")]
-  public static extern int switch_rtp_set_local_address(HandleRef jarg1, string jarg2, ushort jarg3, ref string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_kill_socket")]
-  public static extern void switch_rtp_kill_socket(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_break")]
-  public static extern void switch_rtp_break(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_ready")]
-  public static extern byte switch_rtp_ready(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_destroy")]
-  public static extern void switch_rtp_destroy(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_ice")]
-  public static extern int switch_rtp_activate_ice(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_jitter_buffer")]
-  public static extern int switch_rtp_activate_jitter_buffer(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_flag")]
-  public static extern void switch_rtp_set_flag(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_test_flag")]
-  public static extern uint switch_rtp_test_flag(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_clear_flag")]
-  public static extern void switch_rtp_clear_flag(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_rtp_socket")]
-  public static extern IntPtr switch_rtp_get_rtp_socket(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_samples_per_interval")]
-  public static extern void switch_rtp_set_default_samples_per_interval(HandleRef jarg1, ushort jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_samples_per_interval")]
-  public static extern uint switch_rtp_get_default_samples_per_interval(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_payload")]
-  public static extern void switch_rtp_set_default_payload(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_payload")]
-  public static extern uint switch_rtp_get_default_payload(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_invald_handler")]
-  public static extern void switch_rtp_set_invald_handler(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_read")]
-  public static extern int switch_rtp_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833")]
-  public static extern int switch_rtp_queue_rfc2833(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833_in")]
-  public static extern int switch_rtp_queue_rfc2833_in(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_has_dtmf")]
-  public static extern IntPtr switch_rtp_has_dtmf(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_dequeue_dtmf")]
-  public static extern IntPtr switch_rtp_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read")]
-  public static extern int switch_rtp_zerocopy_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read_frame")]
-  public static extern int switch_rtp_zerocopy_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_enable_vad")]
-  public static extern int switch_rtp_enable_vad(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_disable_vad")]
-  public static extern int switch_rtp_disable_vad(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_frame")]
-  public static extern int switch_rtp_write_frame(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_manual")]
-  public static extern int switch_rtp_write_manual(HandleRef jarg1, HandleRef jarg2, uint jarg3, byte jarg4, byte jarg5, uint jarg6, HandleRef jarg7);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_ssrc")]
-  public static extern uint switch_rtp_get_ssrc(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_private")]
-  public static extern void switch_rtp_set_private(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_telephony_event")]
-  public static extern void switch_rtp_set_telephony_event(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_cng_pt")]
-  public static extern void switch_rtp_set_cng_pt(HandleRef jarg1, byte jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_private")]
-  public static extern IntPtr switch_rtp_get_private(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_stun_ping")]
-  public static extern int switch_rtp_activate_stun_ping(HandleRef jarg1, string jarg2, ushort jarg3, uint jarg4, int jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_set")]
-  public static extern void switch_log_node_t_data_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_get")]
-  public static extern string switch_log_node_t_data_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_set")]
-  public static extern void switch_log_node_t_file_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_get")]
-  public static extern string switch_log_node_t_file_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_set")]
-  public static extern void switch_log_node_t_line_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_get")]
-  public static extern uint switch_log_node_t_line_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_set")]
-  public static extern void switch_log_node_t_func_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_get")]
-  public static extern string switch_log_node_t_func_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_set")]
-  public static extern void switch_log_node_t_level_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_get")]
-  public static extern int switch_log_node_t_level_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_set")]
-  public static extern void switch_log_node_t_timestamp_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_get")]
-  public static extern IntPtr switch_log_node_t_timestamp_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_set")]
-  public static extern void switch_log_node_t_content_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_get")]
-  public static extern string switch_log_node_t_content_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_set")]
-  public static extern void switch_log_node_t_userdata_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_get")]
-  public static extern string switch_log_node_t_userdata_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_log_node_t")]
-  public static extern IntPtr new_switch_log_node_t();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_log_node_t")]
-  public static extern void delete_switch_log_node_t(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_init")]
-  public static extern int switch_log_init(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_shutdown")]
-  public static extern int switch_log_shutdown();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_bind_logger")]
-  public static extern int switch_log_bind_logger(HandleRef jarg1, int jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_unbind_logger")]
-  public static extern int switch_log_unbind_logger(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_level2str")]
-  public static extern string switch_log_level2str(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2level")]
-  public static extern int switch_log_str2level(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2mask")]
-  public static extern uint switch_log_str2mask(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_XML_BUFSIZE_get")]
-  public static extern int SWITCH_XML_BUFSIZE_get();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_set")]
-  public static extern void switch_xml_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_get")]
-  public static extern string switch_xml_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_set")]
-  public static extern void switch_xml_attr_set(HandleRef jarg1, ref string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_get")]
-  public static extern string switch_xml_attr_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_set")]
-  public static extern void switch_xml_txt_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_get")]
-  public static extern string switch_xml_txt_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_set")]
-  public static extern void switch_xml_free_path_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_get")]
-  public static extern string switch_xml_free_path_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_set")]
-  public static extern void switch_xml_off_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_get")]
-  public static extern IntPtr switch_xml_off_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_set")]
-  public static extern void switch_xml_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_get")]
-  public static extern IntPtr switch_xml_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_set")]
-  public static extern void switch_xml_sibling_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_get")]
-  public static extern IntPtr switch_xml_sibling_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_set")]
-  public static extern void switch_xml_ordered_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_get")]
-  public static extern IntPtr switch_xml_ordered_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_set")]
-  public static extern void switch_xml_child_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_get")]
-  public static extern IntPtr switch_xml_child_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_set")]
-  public static extern void switch_xml_parent_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_get")]
-  public static extern IntPtr switch_xml_parent_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_set")]
-  public static extern void switch_xml_flags_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_get")]
-  public static extern uint switch_xml_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_xml")]
-  public static extern IntPtr new_switch_xml();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_xml")]
-  public static extern void delete_switch_xml(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_str")]
-  public static extern IntPtr switch_xml_parse_str(string jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fd")]
-  public static extern IntPtr switch_xml_parse_fd(int jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file")]
-  public static extern IntPtr switch_xml_parse_file(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file_simple")]
-  public static extern IntPtr switch_xml_parse_file_simple(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fp")]
-  public static extern IntPtr switch_xml_parse_fp(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child")]
-  public static extern IntPtr switch_xml_child(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child")]
-  public static extern IntPtr switch_xml_find_child(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr")]
-  public static extern string switch_xml_attr(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_soft")]
-  public static extern string switch_xml_attr_soft(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get")]
-  public static extern IntPtr switch_xml_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml")]
-  public static extern string switch_xml_toxml(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml_buf")]
-  public static extern string switch_xml_toxml_buf(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free")]
-  public static extern void switch_xml_free(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_in_thread")]
-  public static extern void switch_xml_free_in_thread(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_error")]
-  public static extern string switch_xml_error(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_new")]
-  public static extern IntPtr switch_xml_new(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_add_child")]
-  public static extern IntPtr switch_xml_add_child(HandleRef jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_txt")]
-  public static extern IntPtr switch_xml_set_txt(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_attr")]
-  public static extern IntPtr switch_xml_set_attr(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_flag")]
-  public static extern IntPtr switch_xml_set_flag(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_cut")]
-  public static extern IntPtr switch_xml_cut(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_insert")]
-  public static extern IntPtr switch_xml_insert(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_root")]
-  public static extern IntPtr switch_xml_open_root(byte jarg1, ref string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_init")]
-  public static extern int switch_xml_init(HandleRef jarg1, ref string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_destroy")]
-  public static extern int switch_xml_destroy();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_root")]
-  public static extern IntPtr switch_xml_root();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate")]
-  public static extern int switch_xml_locate(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_domain")]
-  public static extern int switch_xml_locate_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user")]
-  public static extern int switch_xml_locate_user(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_cfg")]
-  public static extern IntPtr switch_xml_open_cfg(string jarg1, HandleRef jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_bind_search_function")]
-  public static extern int switch_xml_bind_search_function(HandleRef jarg1, uint jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function")]
-  public static extern int switch_xml_unbind_search_function(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function_ptr")]
-  public static extern int switch_xml_unbind_search_function_ptr(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_section_string")]
-  public static extern uint switch_xml_parse_section_string(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_set")]
-  public static extern void switch_io_event_hook_outgoing_channel_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_get")]
-  public static extern IntPtr switch_io_event_hook_outgoing_channel_outgoing_channel_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_set")]
-  public static extern void switch_io_event_hook_outgoing_channel_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_get")]
-  public static extern IntPtr switch_io_event_hook_outgoing_channel_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_outgoing_channel")]
-  public static extern IntPtr new_switch_io_event_hook_outgoing_channel();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_outgoing_channel")]
-  public static extern void delete_switch_io_event_hook_outgoing_channel(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_set")]
-  public static extern void switch_io_event_hook_receive_message_receive_message_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_get")]
-  public static extern IntPtr switch_io_event_hook_receive_message_receive_message_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_set")]
-  public static extern void switch_io_event_hook_receive_message_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_get")]
-  public static extern IntPtr switch_io_event_hook_receive_message_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_message")]
-  public static extern IntPtr new_switch_io_event_hook_receive_message();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_message")]
-  public static extern void delete_switch_io_event_hook_receive_message(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_set")]
-  public static extern void switch_io_event_hook_receive_event_receive_event_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_get")]
-  public static extern IntPtr switch_io_event_hook_receive_event_receive_event_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_set")]
-  public static extern void switch_io_event_hook_receive_event_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_get")]
-  public static extern IntPtr switch_io_event_hook_receive_event_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_event")]
-  public static extern IntPtr new_switch_io_event_hook_receive_event();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_event")]
-  public static extern void delete_switch_io_event_hook_receive_event(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_set")]
-  public static extern void switch_io_event_hook_read_frame_read_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_get")]
-  public static extern IntPtr switch_io_event_hook_read_frame_read_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_set")]
-  public static extern void switch_io_event_hook_read_frame_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_get")]
-  public static extern IntPtr switch_io_event_hook_read_frame_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_read_frame")]
-  public static extern IntPtr new_switch_io_event_hook_read_frame();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_read_frame")]
-  public static extern void delete_switch_io_event_hook_read_frame(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_set")]
-  public static extern void switch_io_event_hook_video_read_frame_video_read_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_get")]
-  public static extern IntPtr switch_io_event_hook_video_read_frame_video_read_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_set")]
-  public static extern void switch_io_event_hook_video_read_frame_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_get")]
-  public static extern IntPtr switch_io_event_hook_video_read_frame_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_read_frame")]
-  public static extern IntPtr new_switch_io_event_hook_video_read_frame();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_read_frame")]
-  public static extern void delete_switch_io_event_hook_video_read_frame(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_set")]
-  public static extern void switch_io_event_hook_write_frame_write_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_get")]
-  public static extern IntPtr switch_io_event_hook_write_frame_write_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_set")]
-  public static extern void switch_io_event_hook_write_frame_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_get")]
-  public static extern IntPtr switch_io_event_hook_write_frame_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_write_frame")]
-  public static extern IntPtr new_switch_io_event_hook_write_frame();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_write_frame")]
-  public static extern void delete_switch_io_event_hook_write_frame(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_set")]
-  public static extern void switch_io_event_hook_video_write_frame_video_write_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_get")]
-  public static extern IntPtr switch_io_event_hook_video_write_frame_video_write_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_set")]
-  public static extern void switch_io_event_hook_video_write_frame_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_get")]
-  public static extern IntPtr switch_io_event_hook_video_write_frame_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_write_frame")]
-  public static extern IntPtr new_switch_io_event_hook_video_write_frame();
-
-  [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_kill_channel_kill_channel_set")]
-  public static extern void switch_io_event_hook_kill_channel_kill_channel_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_get")]
-  public static extern IntPtr switch_io_event_hook_kill_channel_kill_channel_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_set")]
-  public static extern void switch_io_event_hook_kill_channel_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_get")]
-  public static extern IntPtr switch_io_event_hook_kill_channel_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_kill_channel")]
-  public static extern IntPtr new_switch_io_event_hook_kill_channel();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_kill_channel")]
-  public static extern void delete_switch_io_event_hook_kill_channel(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_set")]
-  public static extern void switch_io_event_hook_send_dtmf_send_dtmf_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_get")]
-  public static extern IntPtr switch_io_event_hook_send_dtmf_send_dtmf_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_set")]
-  public static extern void switch_io_event_hook_send_dtmf_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_get")]
-  public static extern IntPtr switch_io_event_hook_send_dtmf_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_send_dtmf")]
-  public static extern IntPtr new_switch_io_event_hook_send_dtmf();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_send_dtmf")]
-  public static extern void delete_switch_io_event_hook_send_dtmf(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_set")]
-  public static extern void switch_io_event_hook_recv_dtmf_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_get")]
-  public static extern IntPtr switch_io_event_hook_recv_dtmf_recv_dtmf_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_set")]
-  public static extern void switch_io_event_hook_recv_dtmf_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_get")]
-  public static extern IntPtr switch_io_event_hook_recv_dtmf_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_recv_dtmf")]
-  public static extern IntPtr new_switch_io_event_hook_recv_dtmf();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_recv_dtmf")]
-  public static extern void delete_switch_io_event_hook_recv_dtmf(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_set")]
-  public static extern void switch_io_event_hook_state_change_state_change_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_get")]
-  public static extern IntPtr switch_io_event_hook_state_change_state_change_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_set")]
-  public static extern void switch_io_event_hook_state_change_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_get")]
-  public static extern IntPtr switch_io_event_hook_state_change_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_state_change")]
-  public static extern IntPtr new_switch_io_event_hook_state_change();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_state_change")]
-  public static extern void delete_switch_io_event_hook_state_change(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_set")]
-  public static extern void switch_io_event_hook_resurrect_session_resurrect_session_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_get")]
-  public static extern IntPtr switch_io_event_hook_resurrect_session_resurrect_session_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_set")]
-  public static extern void switch_io_event_hook_resurrect_session_next_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_get")]
-  public static extern IntPtr switch_io_event_hook_resurrect_session_next_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_resurrect_session")]
-  public static extern IntPtr new_switch_io_event_hook_resurrect_session();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_resurrect_session")]
-  public static extern void delete_switch_io_event_hook_resurrect_session(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_set")]
-  public static extern void switch_io_event_hooks_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_get")]
-  public static extern IntPtr switch_io_event_hooks_outgoing_channel_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_set")]
-  public static extern void switch_io_event_hooks_receive_message_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_get")]
-  public static extern IntPtr switch_io_event_hooks_receive_message_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_set")]
-  public static extern void switch_io_event_hooks_receive_event_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_get")]
-  public static extern IntPtr switch_io_event_hooks_receive_event_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_set")]
-  public static extern void switch_io_event_hooks_read_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_get")]
-  public static extern IntPtr switch_io_event_hooks_read_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_set")]
-  public static extern void switch_io_event_hooks_video_read_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_get")]
-  public static extern IntPtr switch_io_event_hooks_video_read_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_set")]
-  public static extern void switch_io_event_hooks_write_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_get")]
-  public static extern IntPtr switch_io_event_hooks_write_frame_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_set")]
-  public static extern void switch_io_event_hooks_video_write_frame_set(HandleRef jarg1, HandleRef jarg2);
-
-  [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_kill_channel_set")]
-  public static extern void switch_io_event_hooks_kill_channel_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_get")]
-  public static extern IntPtr switch_io_event_hooks_kill_channel_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_set")]
-  public static extern void switch_io_event_hooks_send_dtmf_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_get")]
-  public static extern IntPtr switch_io_event_hooks_send_dtmf_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_set")]
-  public static extern void switch_io_event_hooks_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_get")]
-  public static extern IntPtr switch_io_event_hooks_recv_dtmf_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_set")]
-  public static extern void switch_io_event_hooks_state_change_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_get")]
-  public static extern IntPtr switch_io_event_hooks_state_change_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_set")]
-  public static extern void switch_io_event_hooks_resurrect_session_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_get")]
-  public static extern IntPtr switch_io_event_hooks_resurrect_session_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hooks")]
-  public static extern IntPtr new_switch_io_event_hooks();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hooks")]
-  public static extern void delete_switch_io_event_hooks(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_outgoing_channel")]
-  public static extern int switch_core_event_hook_add_outgoing_channel(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_message")]
-  public static extern int switch_core_event_hook_add_receive_message(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_event")]
-  public static extern int switch_core_event_hook_add_receive_event(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_state_change")]
-  public static extern int switch_core_event_hook_add_state_change(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_read_frame")]
-  public static extern int switch_core_event_hook_add_read_frame(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_write_frame")]
-  public static extern int switch_core_event_hook_add_write_frame(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_read_frame")]
-  public static extern int switch_core_event_hook_add_video_read_frame(HandleRef jarg1, HandleRef jarg2);
-
-  [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_kill_channel")]
-  public static extern int switch_core_event_hook_add_kill_channel(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_send_dtmf")]
-  public static extern int switch_core_event_hook_add_send_dtmf(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_recv_dtmf")]
-  public static extern int switch_core_event_hook_add_recv_dtmf(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_resurrect_session")]
-  public static extern int switch_core_event_hook_add_resurrect_session(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_outgoing_channel")]
-  public static extern int switch_core_event_hook_remove_outgoing_channel(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_message")]
-  public static extern int switch_core_event_hook_remove_receive_message(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_event")]
-  public static extern int switch_core_event_hook_remove_receive_event(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_state_change")]
-  public static extern int switch_core_event_hook_remove_state_change(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_read_frame")]
-  public static extern int switch_core_event_hook_remove_read_frame(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_write_frame")]
-  public static extern int switch_core_event_hook_remove_write_frame(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_read_frame")]
-  public static extern int switch_core_event_hook_remove_video_read_frame(HandleRef jarg1, HandleRef jarg2);
-
-  [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_kill_channel")]
-  public static extern int switch_core_event_hook_remove_kill_channel(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_send_dtmf")]
-  public static extern int switch_core_event_hook_remove_send_dtmf(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_recv_dtmf")]
-  public static extern int switch_core_event_hook_remove_recv_dtmf(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_resurrect_session")]
-  public static extern int switch_core_event_hook_remove_resurrect_session(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_set")]
-  public static extern void switch_scheduler_task_created_set(HandleRef jarg1, long jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_get")]
-  public static extern long switch_scheduler_task_created_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_set")]
-  public static extern void switch_scheduler_task_runtime_set(HandleRef jarg1, long jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_get")]
-  public static extern long switch_scheduler_task_runtime_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_set")]
-  public static extern void switch_scheduler_task_cmd_id_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_get")]
-  public static extern uint switch_scheduler_task_cmd_id_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_set")]
-  public static extern void switch_scheduler_task_group_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_get")]
-  public static extern string switch_scheduler_task_group_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_set")]
-  public static extern void switch_scheduler_task_cmd_arg_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_get")]
-  public static extern IntPtr switch_scheduler_task_cmd_arg_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_set")]
-  public static extern void switch_scheduler_task_task_id_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_get")]
-  public static extern uint switch_scheduler_task_task_id_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_scheduler_task")]
-  public static extern IntPtr new_switch_scheduler_task();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_scheduler_task")]
-  public static extern void delete_switch_scheduler_task(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_add_task")]
-  public static extern uint switch_scheduler_add_task(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, uint jarg5, HandleRef jarg6, uint jarg7);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_id")]
-  public static extern uint switch_scheduler_del_task_id(uint jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_group")]
-  public static extern uint switch_scheduler_del_task_group(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_start")]
-  public static extern void switch_scheduler_task_thread_start();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_stop")]
-  public static extern void switch_scheduler_task_thread_stop();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_set")]
-  public static extern void switch_config_file_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_get")]
-  public static extern IntPtr switch_config_file_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_set")]
-  public static extern void switch_config_path_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_get")]
-  public static extern string switch_config_path_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_set")]
-  public static extern void switch_config_category_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_get")]
-  public static extern string switch_config_category_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_set")]
-  public static extern void switch_config_section_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_get")]
-  public static extern string switch_config_section_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_set")]
-  public static extern void switch_config_buf_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_get")]
-  public static extern string switch_config_buf_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_set")]
-  public static extern void switch_config_lineno_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_get")]
-  public static extern int switch_config_lineno_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_set")]
-  public static extern void switch_config_catno_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_get")]
-  public static extern int switch_config_catno_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_set")]
-  public static extern void switch_config_sectno_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_get")]
-  public static extern int switch_config_sectno_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_set")]
-  public static extern void switch_config_lockto_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_get")]
-  public static extern int switch_config_lockto_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_config")]
-  public static extern IntPtr new_switch_config();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_config")]
-  public static extern void delete_switch_config(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_open_file")]
-  public static extern int switch_config_open_file(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_close_file")]
-  public static extern void switch_config_close_file(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_next_pair")]
-  public static extern int switch_config_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_consoleLog")]
-  public static extern void consoleLog(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_consoleCleanLog")]
-  public static extern void consoleCleanLog(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_IvrMenu")]
-  public static extern IntPtr new_IvrMenu(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, int jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_IvrMenu")]
-  public static extern void delete_IvrMenu(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_bindAction")]
-  public static extern void IvrMenu_bindAction(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_Execute")]
-  public static extern void IvrMenu_Execute(HandleRef jarg1, HandleRef jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_Api")]
-  public static extern IntPtr new_Api();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_Api")]
-  public static extern void delete_Api(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Api_Execute")]
-  public static extern string Api_Execute(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Api_ExecuteString")]
-  public static extern string Api_ExecuteString(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_set")]
-  public static extern void input_callback_state_t_function_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_get")]
-  public static extern IntPtr input_callback_state_t_function_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_set")]
-  public static extern void input_callback_state_t_threadState_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_get")]
-  public static extern IntPtr input_callback_state_t_threadState_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_set")]
-  public static extern void input_callback_state_t_extra_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_get")]
-  public static extern IntPtr input_callback_state_t_extra_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_set")]
-  public static extern void input_callback_state_t_funcargs_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_get")]
-  public static extern string input_callback_state_t_funcargs_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_input_callback_state_t")]
-  public static extern IntPtr new_input_callback_state_t();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_input_callback_state_t")]
-  public static extern void delete_input_callback_state_t(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_set")]
-  public static extern void DTMF_digit_set(HandleRef jarg1, char jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_get")]
-  public static extern char DTMF_digit_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_set")]
-  public static extern void DTMF_duration_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_get")]
-  public static extern uint DTMF_duration_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_DTMF")]
-  public static extern IntPtr new_DTMF(char jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_DTMF")]
-  public static extern void delete_DTMF(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_0")]
-  public static extern IntPtr new_Stream__SWIG_0();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_1")]
-  public static extern IntPtr new_Stream__SWIG_1(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_Stream")]
-  public static extern void delete_Stream(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Stream_Write")]
-  public static extern void Stream_Write(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Stream_get_data")]
-  public static extern string Stream_get_data(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_set")]
-  public static extern void Event_InternalEvent_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_get")]
-  public static extern IntPtr Event_InternalEvent_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_set")]
-  public static extern void Event_serialized_string_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_get")]
-  public static extern string Event_serialized_string_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_set")]
-  public static extern void Event_mine_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_get")]
-  public static extern int Event_mine_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_0")]
-  public static extern IntPtr new_Event__SWIG_0(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_1")]
-  public static extern IntPtr new_Event__SWIG_1(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_Event")]
-  public static extern void delete_Event(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_Serialize")]
-  public static extern string Event_Serialize(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_SetPriority")]
-  public static extern bool Event_SetPriority(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_GetHeader")]
-  public static extern string Event_GetHeader(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_GetBody")]
-  public static extern string Event_GetBody(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_GetEventType")]
-  public static extern string Event_GetEventType(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_AddBody")]
-  public static extern bool Event_AddBody(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_AddHeader")]
-  public static extern bool Event_AddHeader(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_DeleteHeader")]
-  public static extern bool Event_DeleteHeader(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_Event_Fire")]
-  public static extern bool Event_Fire(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_set")]
-  public static extern void EventConsumer_events_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_get")]
-  public static extern IntPtr EventConsumer_events_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_set")]
-  public static extern void EventConsumer_e_event_id_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_get")]
-  public static extern int EventConsumer_e_event_id_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_set")]
-  public static extern void EventConsumer_node_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_get")]
-  public static extern IntPtr EventConsumer_node_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_set")]
-  public static extern void EventConsumer_e_callback_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_get")]
-  public static extern string EventConsumer_e_callback_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_set")]
-  public static extern void EventConsumer_e_subclass_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_get")]
-  public static extern string EventConsumer_e_subclass_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_set")]
-  public static extern void EventConsumer_e_cb_arg_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_get")]
-  public static extern string EventConsumer_e_cb_arg_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_EventConsumer")]
-  public static extern IntPtr new_EventConsumer(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_EventConsumer")]
-  public static extern void delete_EventConsumer(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_pop")]
-  public static extern IntPtr EventConsumer_pop(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_CoreSession")]
-  public static extern void delete_CoreSession(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_set")]
-  public static extern void CoreSession_InternalSession_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_get")]
-  public static extern IntPtr CoreSession_InternalSession_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_set")]
-  public static extern void CoreSession_channel_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_get")]
-  public static extern IntPtr CoreSession_channel_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_set")]
-  public static extern void CoreSession_flags_set(HandleRef jarg1, uint jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_get")]
-  public static extern uint CoreSession_flags_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_set")]
-  public static extern void CoreSession_allocated_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_get")]
-  public static extern int CoreSession_allocated_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_set")]
-  public static extern void CoreSession_cb_state_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_get")]
-  public static extern IntPtr CoreSession_cb_state_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_set")]
-  public static extern void CoreSession_HookState_set(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_get")]
-  public static extern int CoreSession_HookState_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_set")]
-  public static extern void CoreSession_uuid_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_get")]
-  public static extern string CoreSession_uuid_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_set")]
-  public static extern void CoreSession_tts_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_get")]
-  public static extern string CoreSession_tts_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_set")]
-  public static extern void CoreSession_voice_name_set(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_get")]
-  public static extern string CoreSession_voice_name_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Answer")]
-  public static extern int CoreSession_Answer(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_preAnswer")]
-  public static extern int CoreSession_preAnswer(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Hangup")]
-  public static extern void CoreSession_Hangup(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetVariable")]
-  public static extern void CoreSession_SetVariable(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetPrivate")]
-  public static extern void CoreSession_SetPrivate(HandleRef jarg1, string jarg2, HandleRef jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetPrivate")]
-  public static extern IntPtr CoreSession_GetPrivate(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetVariable")]
-  public static extern string CoreSession_GetVariable(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Say")]
-  public static extern void CoreSession_Say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SayPhrase")]
-  public static extern void CoreSession_SayPhrase(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_RecordFile")]
-  public static extern int CoreSession_RecordFile(HandleRef jarg1, string jarg2, int jarg3, int jarg4, int jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetCallerData")]
-  public static extern void CoreSession_SetCallerData(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Originate")]
-  public static extern int CoreSession_Originate(HandleRef jarg1, HandleRef jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_destroy")]
-  public static extern void CoreSession_destroy(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Speak")]
-  public static extern int CoreSession_Speak(HandleRef jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetTtsParameters")]
-  public static extern void CoreSession_SetTtsParameters(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_CollectDigits")]
-  public static extern int CoreSession_CollectDigits(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_0")]
-  public static extern string CoreSession_GetDigits__SWIG_0(HandleRef jarg1, int jarg2, string jarg3, int jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_1")]
-  public static extern string CoreSession_GetDigits__SWIG_1(HandleRef jarg1, int jarg2, string jarg3, int jarg4, int jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Transfer")]
-  public static extern int CoreSession_Transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_read")]
-  public static extern string CoreSession_read(HandleRef jarg1, int jarg2, int jarg3, string jarg4, int jarg5, string jarg6);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_PlayAndGetDigits")]
-  public static extern string CoreSession_PlayAndGetDigits(HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, string jarg6, string jarg7, string jarg8, string jarg9);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_StreamFile")]
-  public static extern int CoreSession_StreamFile(HandleRef jarg1, string jarg2, int jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sleep")]
-  public static extern int CoreSession_sleep(HandleRef jarg1, int jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushEvents")]
-  public static extern int CoreSession_flushEvents(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushDigits")]
-  public static extern int CoreSession_flushDigits(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetAutoHangup")]
-  public static extern int CoreSession_SetAutoHangup(HandleRef jarg1, bool jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Ready")]
-  public static extern bool CoreSession_Ready(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_answered")]
-  public static extern bool CoreSession_answered(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_mediaReady")]
-  public static extern bool CoreSession_mediaReady(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_waitForAnswer")]
-  public static extern void CoreSession_waitForAnswer(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Execute")]
-  public static extern void CoreSession_Execute(HandleRef jarg1, string jarg2, string jarg3);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sendEvent")]
-  public static extern void CoreSession_sendEvent(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_setEventData")]
-  public static extern void CoreSession_setEventData(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_getXMLCDR")]
-  public static extern string CoreSession_getXMLCDR(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_begin_allow_threads")]
-  public static extern bool CoreSession_begin_allow_threads(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_end_allow_threads")]
-  public static extern bool CoreSession_end_allow_threads(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetUuid")]
-  public static extern string CoreSession_GetUuid(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_get_cb_args")]
-  public static extern IntPtr CoreSession_get_cb_args(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_check_hangup_hook")]
-  public static extern void CoreSession_check_hangup_hook(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_console_log")]
-  public static extern void console_log(string jarg1, string jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_console_clean_log")]
-  public static extern void console_clean_log(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_bridge")]
-  public static extern void bridge(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_hanguphook")]
-  public static extern int hanguphook(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_dtmf_callback")]
-  public static extern int dtmf_callback(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_0")]
-  public static extern IntPtr new_ManagedSession__SWIG_0();
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_1")]
-  public static extern IntPtr new_ManagedSession__SWIG_1(string jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_2")]
-  public static extern IntPtr new_ManagedSession__SWIG_2(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_delete_ManagedSession")]
-  public static extern void delete_ManagedSession(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_ManagedSession_dtmfDelegate_set")]
-  public static extern void ManagedSession_dtmfDelegate_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_ManagedSession_dtmfDelegate_get")]
-  public static extern IntPtr ManagedSession_dtmfDelegate_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_ManagedSession_hangupDelegate_set")]
-  public static extern void ManagedSession_hangupDelegate_set(HandleRef jarg1, HandleRef jarg2);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_ManagedSession_hangupDelegate_get")]
-  public static extern IntPtr ManagedSession_hangupDelegate_get(HandleRef jarg1);
-
-  [DllImport("mod_managed", EntryPoint="CSharp_ManagedSessionUpcast")]
-  public static extern IntPtr ManagedSessionUpcast(IntPtr objectRef);
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_void__void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_void__void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_void__void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_void__void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_queue_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_queue_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_queue_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_queue_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_void__void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_void__void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_void__void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void__void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_event__void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_event__void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_event__void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event__void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_dtmf_t : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_dtmf_t(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_dtmf_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_dtmf_t() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_dtmf_t(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public char digit {
-    set {
-      freeswitchPINVOKE.switch_dtmf_t_digit_set(swigCPtr, value);
-    } 
-    get {
-      char ret = freeswitchPINVOKE.switch_dtmf_t_digit_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint duration {
-    set {
-      freeswitchPINVOKE.switch_dtmf_t_duration_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_dtmf_t_duration_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_dtmf_t() : this(freeswitchPINVOKE.new_switch_dtmf_t(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_bind_flag_enum_t {
-  SBF_DIAL_ALEG = (1 << 0),
-  SBF_EXEC_ALEG = (1 << 1),
-  SBF_DIAL_BLEG = (1 << 2),
-  SBF_EXEC_BLEG = (1 << 3),
-  SBF_EXEC_OPPOSITE = (1 << 4),
-  SBF_EXEC_SAME = (1 << 5)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_dtmf_direction_t {
-  SWITCH_DTMF_RECV = 0,
-  SWITCH_DTMF_SEND = 1
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_originate_flag_enum_t {
-  SOF_NONE = 0,
-  SOF_NOBLOCK = (1 << 0),
-  SOF_FORKED_DIAL = (1 << 1),
-  SOF_NO_EFFECTIVE_CID_NUM = (1 << 2),
-  SOF_NO_EFFECTIVE_CID_NAME = (1 << 3)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_port_flag_enum_t {
-  SPF_NONE = 0,
-  SPF_ODD = (1 << 0),
-  SPF_EVEN = (1 << 1)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_eavesdrop_flag_enum_t {
-  ED_MUX_READ = (1 << 0),
-  ED_MUX_WRITE = (1 << 1),
-  ED_DTMF = (1 << 2)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_core_flag_enum_t {
-  SCF_NONE = 0,
-  SCF_USE_SQL = (1 << 0),
-  SCF_NO_NEW_SESSIONS = (1 << 1),
-  SCF_SHUTTING_DOWN = (1 << 2),
-  SCF_CRASH_PROT = (1 << 3),
-  SCF_VG = (1 << 4),
-  SCF_RESTART = (1 << 5),
-  SCF_SHUTDOWN_REQUESTED = (1 << 6)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_module_interface_name_t {
-  SWITCH_ENDPOINT_INTERFACE,
-  SWITCH_TIMER_INTERFACE,
-  SWITCH_DIALPLAN_INTERFACE,
-  SWITCH_CODEC_INTERFACE,
-  SWITCH_APPLICATION_INTERFACE,
-  SWITCH_API_INTERFACE,
-  SWITCH_FILE_INTERFACE,
-  SWITCH_SPEECH_INTERFACE,
-  SWITCH_DIRECTORY_INTERFACE,
-  SWITCH_CHAT_INTERFACE,
-  SWITCH_SAY_INTERFACE,
-  SWITCH_ASR_INTERFACE,
-  SWITCH_MANAGEMENT_INTERFACE
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_unicast_flag_enum_t {
-  SUF_NONE = 0,
-  SUF_THREAD_RUNNING = (1 << 0),
-  SUF_READY = (1 << 1),
-  SUF_NATIVE = (1 << 2)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_bool_t {
-  SWITCH_FALSE = 0,
-  SWITCH_TRUE = 1
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_say_method_t {
-  SSM_NA,
-  SSM_PRONOUNCED,
-  SSM_ITERATED,
-  SSM_COUNTED
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_say_type_t {
-  SST_NUMBER,
-  SST_ITEMS,
-  SST_PERSONS,
-  SST_MESSAGES,
-  SST_CURRENCY,
-  SST_TIME_MEASUREMENT,
-  SST_CURRENT_DATE,
-  SST_CURRENT_TIME,
-  SST_CURRENT_DATE_TIME,
-  SST_TELEPHONE_NUMBER,
-  SST_TELEPHONE_EXTENSION,
-  SST_URL,
-  SST_IP_ADDRESS,
-  SST_EMAIL_ADDRESS,
-  SST_POSTAL_ADDRESS,
-  SST_ACCOUNT_NUMBER,
-  SST_NAME_SPELLED,
-  SST_NAME_PHONETIC
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_management_action_t {
-  SMA_NONE,
-  SMA_GET,
-  SMA_SET
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_scheduler_flag_enum_t {
-  SSHF_NONE = 0,
-  SSHF_OWN_THREAD = (1 << 0),
-  SSHF_FREE_ARG = (1 << 1),
-  SSHF_NO_DEL = (1 << 2)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_media_flag_enum_t {
-  SMF_NONE = 0,
-  SMF_REBRIDGE = (1 << 0),
-  SMF_ECHO_ALEG = (1 << 1),
-  SMF_ECHO_BLEG = (1 << 2),
-  SMF_FORCE = (1 << 3),
-  SMF_LOOP = (1 << 4),
-  SMF_HOLD_BLEG = (1 << 5),
-  SMF_IMMEDIATE = (1 << 6)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_bitpack_mode_t {
-  SWITCH_BITPACK_MODE_RFC3551,
-  SWITCH_BITPACK_MODE_AAL2
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_abc_type_t {
-  SWITCH_ABC_TYPE_INIT,
-  SWITCH_ABC_TYPE_READ,
-  SWITCH_ABC_TYPE_WRITE,
-  SWITCH_ABC_TYPE_WRITE_REPLACE,
-  SWITCH_ABC_TYPE_READ_REPLACE,
-  SWITCH_ABC_TYPE_READ_PING,
-  SWITCH_ABC_TYPE_CLOSE
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_bitpack_t : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_bitpack_t(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_bitpack_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_bitpack_t() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_bitpack_t(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_unsigned_char buf {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_buf_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_bitpack_t_buf_get(swigCPtr);
-      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint buflen {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_buflen_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_bitpack_t_buflen_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_unsigned_char cur {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_cur_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_bitpack_t_cur_get(swigCPtr);
-      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint bytes {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_bytes_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_bitpack_t_bytes_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint bits_tot {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_bits_tot_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_bitpack_t_bits_tot_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte bits_cur {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_bits_cur_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_bitpack_t_bits_cur_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte bits_rem {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_bits_rem_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_bitpack_t_bits_rem_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte frame_bits {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_frame_bits_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_bitpack_t_frame_bits_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte shiftby {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_shiftby_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_bitpack_t_shiftby_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte this_byte {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_this_byte_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_bitpack_t_this_byte_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte under {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_under_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_bitpack_t_under_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte over {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_over_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_bitpack_t_over_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_bitpack_mode_t mode {
-    set {
-      freeswitchPINVOKE.switch_bitpack_t_mode_set(swigCPtr, (int)value);
-    } 
-    get {
-      switch_bitpack_mode_t ret = (switch_bitpack_mode_t)freeswitchPINVOKE.switch_bitpack_t_mode_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_bitpack_t() : this(freeswitchPINVOKE.new_switch_bitpack_t(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_directories : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_directories(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_directories obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_directories() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_directories(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string base_dir {
-    set {
-      freeswitchPINVOKE.switch_directories_base_dir_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_directories_base_dir_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string mod_dir {
-    set {
-      freeswitchPINVOKE.switch_directories_mod_dir_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_directories_mod_dir_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string conf_dir {
-    set {
-      freeswitchPINVOKE.switch_directories_conf_dir_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_directories_conf_dir_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string log_dir {
-    set {
-      freeswitchPINVOKE.switch_directories_log_dir_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_directories_log_dir_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string db_dir {
-    set {
-      freeswitchPINVOKE.switch_directories_db_dir_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_directories_db_dir_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string script_dir {
-    set {
-      freeswitchPINVOKE.switch_directories_script_dir_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_directories_script_dir_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string temp_dir {
-    set {
-      freeswitchPINVOKE.switch_directories_temp_dir_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_directories_temp_dir_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string htdocs_dir {
-    set {
-      freeswitchPINVOKE.switch_directories_htdocs_dir_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_directories_htdocs_dir_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string grammar_dir {
-    set {
-      freeswitchPINVOKE.switch_directories_grammar_dir_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_directories_grammar_dir_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string storage_dir {
-    set {
-      freeswitchPINVOKE.switch_directories_storage_dir_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_directories_storage_dir_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_directories() : this(freeswitchPINVOKE.new_switch_directories(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_caller_profile_flag_enum_t {
-  SWITCH_CPF_SCREEN = (1 << 0),
-  SWITCH_CPF_HIDE_NAME = (1 << 1),
-  SWITCH_CPF_HIDE_NUMBER = (1 << 2)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_audio_col_t {
-  SWITCH_AUDIO_COL_STR_TITLE = 0x01,
-  SWITCH_AUDIO_COL_STR_COPYRIGHT = 0x02,
-  SWITCH_AUDIO_COL_STR_SOFTWARE = 0x03,
-  SWITCH_AUDIO_COL_STR_ARTIST = 0x04,
-  SWITCH_AUDIO_COL_STR_COMMENT = 0x05,
-  SWITCH_AUDIO_COL_STR_DATE = 0x06
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_xml_section_enum_t {
-  SWITCH_XML_SECTION_RESULT = 0,
-  SWITCH_XML_SECTION_CONFIG = (1 << 0),
-  SWITCH_XML_SECTION_DIRECTORY = (1 << 1),
-  SWITCH_XML_SECTION_DIALPLAN = (1 << 2),
-  SWITCH_XML_SECTION_PHRASES = (1 << 3)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_vad_flag_enum_t {
-  SWITCH_VAD_FLAG_TALKING = (1 << 0),
-  SWITCH_VAD_FLAG_EVENTS_TALK = (1 << 1),
-  SWITCH_VAD_FLAG_EVENTS_NOTALK = (1 << 2),
-  SWITCH_VAD_FLAG_CNG = (1 << 3)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_rtp_flag_enum_t {
-  SWITCH_RTP_FLAG_NOBLOCK = (1 << 0),
-  SWITCH_RTP_FLAG_IO = (1 << 1),
-  SWITCH_RTP_FLAG_USE_TIMER = (1 << 2),
-  SWITCH_RTP_FLAG_TIMER_RECLOCK = (1 << 3),
-  SWITCH_RTP_FLAG_SECURE_SEND = (1 << 4),
-  SWITCH_RTP_FLAG_SECURE_RECV = (1 << 5),
-  SWITCH_RTP_FLAG_AUTOADJ = (1 << 6),
-  SWITCH_RTP_FLAG_RAW_WRITE = (1 << 7),
-  SWITCH_RTP_FLAG_GOOGLEHACK = (1 << 8),
-  SWITCH_RTP_FLAG_VAD = (1 << 9),
-  SWITCH_RTP_FLAG_BREAK = (1 << 10),
-  SWITCH_RTP_FLAG_MINI = (1 << 11),
-  SWITCH_RTP_FLAG_DATAWAIT = (1 << 12),
-  SWITCH_RTP_FLAG_BUGGY_2833 = (1 << 13),
-  SWITCH_RTP_FLAG_PASS_RFC2833 = (1 << 14),
-  SWITCH_RTP_FLAG_AUTO_CNG = (1 << 15),
-  SWITCH_RTP_FLAG_SECURE_SEND_RESET = (1 << 16),
-  SWITCH_RTP_FLAG_SECURE_RECV_RESET = (1 << 17),
-  SWITCH_RTP_FLAG_PROXY_MEDIA = (1 << 18),
-  SWITCH_RTP_FLAG_SHUTDOWN = (1 << 19)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_rtp_hdr_t : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_rtp_hdr_t(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_rtp_hdr_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_rtp_hdr_t() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_rtp_hdr_t(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public uint version {
-    set {
-      freeswitchPINVOKE.switch_rtp_hdr_t_version_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_version_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint p {
-    set {
-      freeswitchPINVOKE.switch_rtp_hdr_t_p_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_p_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint x {
-    set {
-      freeswitchPINVOKE.switch_rtp_hdr_t_x_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_x_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint cc {
-    set {
-      freeswitchPINVOKE.switch_rtp_hdr_t_cc_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_cc_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint m {
-    set {
-      freeswitchPINVOKE.switch_rtp_hdr_t_m_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_m_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint pt {
-    set {
-      freeswitchPINVOKE.switch_rtp_hdr_t_pt_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_pt_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint seq {
-    set {
-      freeswitchPINVOKE.switch_rtp_hdr_t_seq_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_seq_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint ts {
-    set {
-      freeswitchPINVOKE.switch_rtp_hdr_t_ts_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_ts_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint ssrc {
-    set {
-      freeswitchPINVOKE.switch_rtp_hdr_t_ssrc_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_ssrc_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_rtp_hdr_t() : this(freeswitchPINVOKE.new_switch_rtp_hdr_t(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_priority_t {
-  SWITCH_PRIORITY_NORMAL,
-  SWITCH_PRIORITY_LOW,
-  SWITCH_PRIORITY_HIGH
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_ivr_option_enum_t {
-  SWITCH_IVR_OPTION_NONE = 0,
-  SWITCH_IVR_OPTION_ASYNC = (1 << 0),
-  SWITCH_IVR_OPTION_FILE = (1 << 1)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_core_session_message_types_t {
-  SWITCH_MESSAGE_REDIRECT_AUDIO,
-  SWITCH_MESSAGE_TRANSMIT_TEXT,
-  SWITCH_MESSAGE_INDICATE_ANSWER,
-  SWITCH_MESSAGE_INDICATE_PROGRESS,
-  SWITCH_MESSAGE_INDICATE_BRIDGE,
-  SWITCH_MESSAGE_INDICATE_UNBRIDGE,
-  SWITCH_MESSAGE_INDICATE_TRANSFER,
-  SWITCH_MESSAGE_INDICATE_RINGING,
-  SWITCH_MESSAGE_INDICATE_MEDIA,
-  SWITCH_MESSAGE_INDICATE_NOMEDIA,
-  SWITCH_MESSAGE_INDICATE_HOLD,
-  SWITCH_MESSAGE_INDICATE_UNHOLD,
-  SWITCH_MESSAGE_INDICATE_REDIRECT,
-  SWITCH_MESSAGE_INDICATE_RESPOND,
-  SWITCH_MESSAGE_INDICATE_BROADCAST,
-  SWITCH_MESSAGE_INDICATE_MEDIA_REDIRECT,
-  SWITCH_MESSAGE_INDICATE_DEFLECT,
-  SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ,
-  SWITCH_MESSAGE_INDICATE_DISPLAY,
-  SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_stack_t {
-  SWITCH_STACK_BOTTOM,
-  SWITCH_STACK_TOP
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_status_t {
-  SWITCH_STATUS_SUCCESS,
-  SWITCH_STATUS_FALSE,
-  SWITCH_STATUS_TIMEOUT,
-  SWITCH_STATUS_RESTART,
-  SWITCH_STATUS_TERM,
-  SWITCH_STATUS_NOTIMPL,
-  SWITCH_STATUS_MEMERR,
-  SWITCH_STATUS_NOOP,
-  SWITCH_STATUS_RESAMPLE,
-  SWITCH_STATUS_GENERR,
-  SWITCH_STATUS_INUSE,
-  SWITCH_STATUS_BREAK,
-  SWITCH_STATUS_SOCKERR,
-  SWITCH_STATUS_MORE_DATA,
-  SWITCH_STATUS_NOTFOUND,
-  SWITCH_STATUS_UNLOAD,
-  SWITCH_STATUS_NOUNLOAD,
-  SWITCH_STATUS_IGNORE
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_log_level_t {
-  SWITCH_LOG_DEBUG = 7,
-  SWITCH_LOG_INFO = 6,
-  SWITCH_LOG_NOTICE = 5,
-  SWITCH_LOG_WARNING = 4,
-  SWITCH_LOG_ERROR = 3,
-  SWITCH_LOG_CRIT = 2,
-  SWITCH_LOG_ALERT = 1,
-  SWITCH_LOG_CONSOLE = 0,
-  SWITCH_LOG_INVALID = 64
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_text_channel_t {
-  SWITCH_CHANNEL_ID_LOG,
-  SWITCH_CHANNEL_ID_LOG_CLEAN,
-  SWITCH_CHANNEL_ID_EVENT
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_core_session_message_flag_enum_t {
-  SCSMF_DYNAMIC = (1 << 0)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_channel_state_t {
-  CS_NEW,
-  CS_INIT,
-  CS_ROUTING,
-  CS_SOFT_EXECUTE,
-  CS_EXECUTE,
-  CS_EXCHANGE_MEDIA,
-  CS_PARK,
-  CS_CONSUME_MEDIA,
-  CS_HIBERNATE,
-  CS_RESET,
-  CS_HANGUP,
-  CS_DONE,
-  CS_NONE
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_channel_flag_enum_t {
-  CF_ANSWERED = (1 << 0),
-  CF_OUTBOUND = (1 << 1),
-  CF_EARLY_MEDIA = (1 << 2),
-  CF_ORIGINATOR = (1 << 3),
-  CF_TRANSFER = (1 << 4),
-  CF_ACCEPT_CNG = (1 << 5),
-  CF_WAIT_FOR_ME = (1 << 6),
-  CF_BRIDGED = (1 << 7),
-  CF_HOLD = (1 << 8),
-  CF_SERVICE = (1 << 9),
-  CF_TAGGED = (1 << 10),
-  CF_WINNER = (1 << 11),
-  CF_CONTROLLED = (1 << 12),
-  CF_PROXY_MODE = (1 << 13),
-  CF_SUSPEND = (1 << 14),
-  CF_EVENT_PARSE = (1 << 15),
-  CF_REPEAT_STATE = (1 << 16),
-  CF_GEN_RINGBACK = (1 << 17),
-  CF_RING_READY = (1 << 18),
-  CF_BREAK = (1 << 19),
-  CF_BROADCAST = (1 << 20),
-  CF_UNICAST = (1 << 21),
-  CF_VIDEO = (1 << 22),
-  CF_EVENT_LOCK = (1 << 23),
-  CF_RESET = (1 << 24),
-  CF_ORIGINATING = (1 << 25),
-  CF_STOP_BROADCAST = (1 << 26),
-  CF_PROXY_MEDIA = (1 << 27),
-  CF_INNER_BRIDGE = (1 << 28),
-  CF_REQ_MEDIA = (1 << 29),
-  CF_VERBOSE_EVENTS = (1 << 30)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_frame_flag_enum_t {
-  SFF_NONE = 0,
-  SFF_CNG = (1 << 0),
-  SFF_RAW_RTP = (1 << 1),
-  SFF_RTP_HEADER = (1 << 2),
-  SFF_PLC = (1 << 3),
-  SFF_RFC2833 = (1 << 4),
-  SFF_PROXY_PACKET = (1 << 5)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_application_flag_enum_t {
-  SAF_NONE = 0,
-  SAF_SUPPORT_NOMEDIA = (1 << 0)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_signal_t {
-  SWITCH_SIG_NONE,
-  SWITCH_SIG_KILL,
-  SWITCH_SIG_XFER,
-  SWITCH_SIG_BREAK
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_codec_flag_enum_t {
-  SWITCH_CODEC_FLAG_ENCODE = (1 << 0),
-  SWITCH_CODEC_FLAG_DECODE = (1 << 1),
-  SWITCH_CODEC_FLAG_SILENCE_START = (1 << 2),
-  SWITCH_CODEC_FLAG_SILENCE_STOP = (1 << 3),
-  SWITCH_CODEC_FLAG_SILENCE = (1 << 4),
-  SWITCH_CODEC_FLAG_FREE_POOL = (1 << 5),
-  SWITCH_CODEC_FLAG_AAL2 = (1 << 6),
-  SWITCH_CODEC_FLAG_PASSTHROUGH = (1 << 7)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_speech_flag_enum_t {
-  SWITCH_SPEECH_FLAG_NONE = 0,
-  SWITCH_SPEECH_FLAG_HASTEXT = (1 << 0),
-  SWITCH_SPEECH_FLAG_PEEK = (1 << 1),
-  SWITCH_SPEECH_FLAG_FREE_POOL = (1 << 2),
-  SWITCH_SPEECH_FLAG_BLOCKING = (1 << 3),
-  SWITCH_SPEECH_FLAG_PAUSE = (1 << 4)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_asr_flag_enum_t {
-  SWITCH_ASR_FLAG_NONE = 0,
-  SWITCH_ASR_FLAG_DATA = (1 << 0),
-  SWITCH_ASR_FLAG_FREE_POOL = (1 << 1),
-  SWITCH_ASR_FLAG_CLOSED = (1 << 2),
-  SWITCH_ASR_FLAG_FIRE_EVENTS = (1 << 3),
-  SWITCH_ASR_FLAG_AUTO_RESUME = (1 << 4)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_directory_flag_enum_t {
-  SWITCH_DIRECTORY_FLAG_FREE_POOL = (1 << 0)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_codec_type_t {
-  SWITCH_CODEC_TYPE_AUDIO,
-  SWITCH_CODEC_TYPE_VIDEO,
-  SWITCH_CODEC_TYPE_T38,
-  SWITCH_CODEC_TYPE_APP
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_timer_flag_enum_t {
-  SWITCH_TIMER_FLAG_FREE_POOL = (1 << 0)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_media_bug_flag_enum_t {
-  SMBF_BOTH = 0,
-  SMBF_READ_STREAM = (1 << 0),
-  SMBF_WRITE_STREAM = (1 << 1),
-  SMBF_WRITE_REPLACE = (1 << 2),
-  SMBF_READ_REPLACE = (1 << 3),
-  SMBF_READ_PING = (1 << 4),
-  SMBF_STEREO = (1 << 5),
-  SMBF_RECORD_ANSWER_REQ = (1 << 6),
-  SMBF_THREAD_LOCK = (1 << 7)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_file_flag_enum_t {
-  SWITCH_FILE_FLAG_READ = (1 << 0),
-  SWITCH_FILE_FLAG_WRITE = (1 << 1),
-  SWITCH_FILE_FLAG_FREE_POOL = (1 << 2),
-  SWITCH_FILE_DATA_SHORT = (1 << 3),
-  SWITCH_FILE_DATA_INT = (1 << 4),
-  SWITCH_FILE_DATA_FLOAT = (1 << 5),
-  SWITCH_FILE_DATA_DOUBLE = (1 << 6),
-  SWITCH_FILE_DATA_RAW = (1 << 7),
-  SWITCH_FILE_PAUSE = (1 << 8),
-  SWITCH_FILE_NATIVE = (1 << 9),
-  SWITCH_FILE_SEEK = (1 << 10),
-  SWITCH_FILE_OPEN = (1 << 11),
-  SWITCH_FILE_CALLBACK = (1 << 12)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_io_flag_enum_t {
-  SWITCH_IO_FLAG_NONE = 0,
-  SWITCH_IO_FLAG_NOBLOCK = (1 << 0)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_event_types_t {
-  SWITCH_EVENT_CUSTOM,
-  SWITCH_EVENT_CHANNEL_CREATE,
-  SWITCH_EVENT_CHANNEL_DESTROY,
-  SWITCH_EVENT_CHANNEL_STATE,
-  SWITCH_EVENT_CHANNEL_ANSWER,
-  SWITCH_EVENT_CHANNEL_HANGUP,
-  SWITCH_EVENT_CHANNEL_EXECUTE,
-  SWITCH_EVENT_CHANNEL_EXECUTE_COMPLETE,
-  SWITCH_EVENT_CHANNEL_BRIDGE,
-  SWITCH_EVENT_CHANNEL_UNBRIDGE,
-  SWITCH_EVENT_CHANNEL_PROGRESS,
-  SWITCH_EVENT_CHANNEL_PROGRESS_MEDIA,
-  SWITCH_EVENT_CHANNEL_OUTGOING,
-  SWITCH_EVENT_CHANNEL_PARK,
-  SWITCH_EVENT_CHANNEL_UNPARK,
-  SWITCH_EVENT_CHANNEL_APPLICATION,
-  SWITCH_EVENT_CHANNEL_ORIGINATE,
-  SWITCH_EVENT_API,
-  SWITCH_EVENT_LOG,
-  SWITCH_EVENT_INBOUND_CHAN,
-  SWITCH_EVENT_OUTBOUND_CHAN,
-  SWITCH_EVENT_STARTUP,
-  SWITCH_EVENT_SHUTDOWN,
-  SWITCH_EVENT_PUBLISH,
-  SWITCH_EVENT_UNPUBLISH,
-  SWITCH_EVENT_TALK,
-  SWITCH_EVENT_NOTALK,
-  SWITCH_EVENT_SESSION_CRASH,
-  SWITCH_EVENT_MODULE_LOAD,
-  SWITCH_EVENT_MODULE_UNLOAD,
-  SWITCH_EVENT_DTMF,
-  SWITCH_EVENT_MESSAGE,
-  SWITCH_EVENT_PRESENCE_IN,
-  SWITCH_EVENT_PRESENCE_OUT,
-  SWITCH_EVENT_PRESENCE_PROBE,
-  SWITCH_EVENT_MESSAGE_WAITING,
-  SWITCH_EVENT_MESSAGE_QUERY,
-  SWITCH_EVENT_ROSTER,
-  SWITCH_EVENT_CODEC,
-  SWITCH_EVENT_BACKGROUND_JOB,
-  SWITCH_EVENT_DETECTED_SPEECH,
-  SWITCH_EVENT_DETECTED_TONE,
-  SWITCH_EVENT_PRIVATE_COMMAND,
-  SWITCH_EVENT_HEARTBEAT,
-  SWITCH_EVENT_TRAP,
-  SWITCH_EVENT_ADD_SCHEDULE,
-  SWITCH_EVENT_DEL_SCHEDULE,
-  SWITCH_EVENT_EXE_SCHEDULE,
-  SWITCH_EVENT_RE_SCHEDULE,
-  SWITCH_EVENT_RELOADXML,
-  SWITCH_EVENT_NOTIFY,
-  SWITCH_EVENT_SEND_MESSAGE,
-  SWITCH_EVENT_RECV_MESSAGE,
-  SWITCH_EVENT_REQUEST_PARAMS,
-  SWITCH_EVENT_CHANNEL_DATA,
-  SWITCH_EVENT_GENERAL,
-  SWITCH_EVENT_COMMAND,
-  SWITCH_EVENT_ALL
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_input_type_t {
-  SWITCH_INPUT_TYPE_DTMF,
-  SWITCH_INPUT_TYPE_EVENT
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_call_cause_t {
-  SWITCH_CAUSE_NONE = 0,
-  SWITCH_CAUSE_UNALLOCATED_NUMBER = 1,
-  SWITCH_CAUSE_NO_ROUTE_TRANSIT_NET = 2,
-  SWITCH_CAUSE_NO_ROUTE_DESTINATION = 3,
-  SWITCH_CAUSE_CHANNEL_UNACCEPTABLE = 6,
-  SWITCH_CAUSE_CALL_AWARDED_DELIVERED = 7,
-  SWITCH_CAUSE_NORMAL_CLEARING = 16,
-  SWITCH_CAUSE_USER_BUSY = 17,
-  SWITCH_CAUSE_NO_USER_RESPONSE = 18,
-  SWITCH_CAUSE_NO_ANSWER = 19,
-  SWITCH_CAUSE_SUBSCRIBER_ABSENT = 20,
-  SWITCH_CAUSE_CALL_REJECTED = 21,
-  SWITCH_CAUSE_NUMBER_CHANGED = 22,
-  SWITCH_CAUSE_REDIRECTION_TO_NEW_DESTINATION = 23,
-  SWITCH_CAUSE_EXCHANGE_ROUTING_ERROR = 25,
-  SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER = 27,
-  SWITCH_CAUSE_INVALID_NUMBER_FORMAT = 28,
-  SWITCH_CAUSE_FACILITY_REJECTED = 29,
-  SWITCH_CAUSE_RESPONSE_TO_STATUS_ENQUIRY = 30,
-  SWITCH_CAUSE_NORMAL_UNSPECIFIED = 31,
-  SWITCH_CAUSE_NORMAL_CIRCUIT_CONGESTION = 34,
-  SWITCH_CAUSE_NETWORK_OUT_OF_ORDER = 38,
-  SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE = 41,
-  SWITCH_CAUSE_SWITCH_CONGESTION = 42,
-  SWITCH_CAUSE_ACCESS_INFO_DISCARDED = 43,
-  SWITCH_CAUSE_REQUESTED_CHAN_UNAVAIL = 44,
-  SWITCH_CAUSE_PRE_EMPTED = 45,
-  SWITCH_CAUSE_FACILITY_NOT_SUBSCRIBED = 50,
-  SWITCH_CAUSE_OUTGOING_CALL_BARRED = 52,
-  SWITCH_CAUSE_INCOMING_CALL_BARRED = 54,
-  SWITCH_CAUSE_BEARERCAPABILITY_NOTAUTH = 57,
-  SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL = 58,
-  SWITCH_CAUSE_SERVICE_UNAVAILABLE = 63,
-  SWITCH_CAUSE_BEARERCAPABILITY_NOTIMPL = 65,
-  SWITCH_CAUSE_CHAN_NOT_IMPLEMENTED = 66,
-  SWITCH_CAUSE_FACILITY_NOT_IMPLEMENTED = 69,
-  SWITCH_CAUSE_SERVICE_NOT_IMPLEMENTED = 79,
-  SWITCH_CAUSE_INVALID_CALL_REFERENCE = 81,
-  SWITCH_CAUSE_INCOMPATIBLE_DESTINATION = 88,
-  SWITCH_CAUSE_INVALID_MSG_UNSPECIFIED = 95,
-  SWITCH_CAUSE_MANDATORY_IE_MISSING = 96,
-  SWITCH_CAUSE_MESSAGE_TYPE_NONEXIST = 97,
-  SWITCH_CAUSE_WRONG_MESSAGE = 98,
-  SWITCH_CAUSE_IE_NONEXIST = 99,
-  SWITCH_CAUSE_INVALID_IE_CONTENTS = 100,
-  SWITCH_CAUSE_WRONG_CALL_STATE = 101,
-  SWITCH_CAUSE_RECOVERY_ON_TIMER_EXPIRE = 102,
-  SWITCH_CAUSE_MANDATORY_IE_LENGTH_ERROR = 103,
-  SWITCH_CAUSE_PROTOCOL_ERROR = 111,
-  SWITCH_CAUSE_INTERWORKING = 127,
-  SWITCH_CAUSE_SUCCESS = 142,
-  SWITCH_CAUSE_ORIGINATOR_CANCEL = 487,
-  SWITCH_CAUSE_CRASH = 500,
-  SWITCH_CAUSE_SYSTEM_SHUTDOWN = 501,
-  SWITCH_CAUSE_LOSE_RACE = 502,
-  SWITCH_CAUSE_MANAGER_REQUEST = 503,
-  SWITCH_CAUSE_BLIND_TRANSFER = 600,
-  SWITCH_CAUSE_ATTENDED_TRANSFER = 601,
-  SWITCH_CAUSE_ALLOTTED_TIMEOUT = 602,
-  SWITCH_CAUSE_USER_CHALLENGE = 603,
-  SWITCH_CAUSE_MEDIA_TIMEOUT = 604,
-  SWITCH_CAUSE_PICKED_OFF = 605,
-  SWITCH_CAUSE_USER_NOT_REGISTERED = 606
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_session_ctl_t {
-  SCSC_PAUSE_INBOUND,
-  SCSC_HUPALL,
-  SCSC_SHUTDOWN,
-  SCSC_CHECK_RUNNING,
-  SCSC_LOGLEVEL,
-  SCSC_SPS,
-  SCSC_LAST_SPS,
-  SCSC_RECLAIM,
-  SCSC_MAX_SESSIONS,
-  SCSC_SYNC_CLOCK,
-  SCSC_MAX_DTMF_DURATION,
-  SCSC_DEFAULT_DTMF_DURATION,
-  SCSC_SHUTDOWN_ELEGANT,
-  SCSC_CANCEL_SHUTDOWN
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_input_args_t : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_input_args_t(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_input_args_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_input_args_t() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_input_args_t(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t input_callback {
-    set {
-      freeswitchPINVOKE.switch_input_args_t_input_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_input_callback_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void buf {
-    set {
-      freeswitchPINVOKE.switch_input_args_t_buf_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_buf_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint buflen {
-    set {
-      freeswitchPINVOKE.switch_input_args_t_buflen_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_input_args_t_buflen_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t read_frame_callback {
-    set {
-      freeswitchPINVOKE.switch_input_args_t_read_frame_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_read_frame_callback_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void user_data {
-    set {
-      freeswitchPINVOKE.switch_input_args_t_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_user_data_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_input_args_t() : this(freeswitchPINVOKE.new_switch_input_args_t(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_loadable_module_function_table_t : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_loadable_module_function_table_t(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_loadable_module_function_table_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_loadable_module_function_table_t() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_loadable_module_function_table_t(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public int switch_api_version {
-    set {
-      freeswitchPINVOKE.switch_loadable_module_function_table_t_switch_api_version_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_loadable_module_function_table_t_switch_api_version_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t load {
-    set {
-      freeswitchPINVOKE.switch_loadable_module_function_table_t_load_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_load_get(swigCPtr);
-      SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_void__switch_status_t shutdown {
-    set {
-      freeswitchPINVOKE.switch_loadable_module_function_table_t_shutdown_set(swigCPtr, SWIGTYPE_p_f_void__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_shutdown_get(swigCPtr);
-      SWIGTYPE_p_f_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_void__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_void__switch_status_t runtime {
-    set {
-      freeswitchPINVOKE.switch_loadable_module_function_table_t_runtime_set(swigCPtr, SWIGTYPE_p_f_void__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_runtime_get(swigCPtr);
-      SWIGTYPE_p_f_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_void__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_loadable_module_function_table_t() : this(freeswitchPINVOKE.new_switch_loadable_module_function_table_t(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_core_time_duration : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_core_time_duration(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_core_time_duration obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_core_time_duration() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_core_time_duration(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public uint mms {
-    set {
-      freeswitchPINVOKE.switch_core_time_duration_mms_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_core_time_duration_mms_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint ms {
-    set {
-      freeswitchPINVOKE.switch_core_time_duration_ms_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_core_time_duration_ms_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint sec {
-    set {
-      freeswitchPINVOKE.switch_core_time_duration_sec_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_core_time_duration_sec_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint min {
-    set {
-      freeswitchPINVOKE.switch_core_time_duration_min_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_core_time_duration_min_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint hr {
-    set {
-      freeswitchPINVOKE.switch_core_time_duration_hr_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_core_time_duration_hr_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint day {
-    set {
-      freeswitchPINVOKE.switch_core_time_duration_day_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_core_time_duration_day_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint yr {
-    set {
-      freeswitchPINVOKE.switch_core_time_duration_yr_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_core_time_duration_yr_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_core_time_duration() : this(freeswitchPINVOKE.new_switch_core_time_duration(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_app_log : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_app_log(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_app_log obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_app_log() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_app_log(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string app {
-    set {
-      freeswitchPINVOKE.switch_app_log_app_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_app_log_app_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string arg {
-    set {
-      freeswitchPINVOKE.switch_app_log_arg_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_app_log_arg_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_app_log next {
-    set {
-      freeswitchPINVOKE.switch_app_log_next_set(swigCPtr, switch_app_log.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_app_log_next_get(swigCPtr);
-      switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_app_log() : this(freeswitchPINVOKE.new_switch_app_log(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_core_session_message : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_core_session_message(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_core_session_message obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_core_session_message() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_core_session_message(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string from {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_from_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_core_session_message_from_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_core_session_message_types_t message_id {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_message_id_set(swigCPtr, (int)value);
-    } 
-    get {
-      switch_core_session_message_types_t ret = (switch_core_session_message_types_t)freeswitchPINVOKE.switch_core_session_message_message_id_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int numeric_arg {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_numeric_arg_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_core_session_message_numeric_arg_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string string_arg {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_string_arg_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_core_session_message_string_arg_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t string_arg_size {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_string_arg_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_string_arg_size_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void pointer_arg {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_pointer_arg_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_core_session_message_pointer_arg_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t pointer_arg_size {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_pointer_arg_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_pointer_arg_size_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public int numeric_reply {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_numeric_reply_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_core_session_message_numeric_reply_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string string_reply {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_string_reply_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_core_session_message_string_reply_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t string_reply_size {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_string_reply_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_string_reply_size_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void pointer_reply {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_pointer_reply_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_core_session_message_pointer_reply_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t pointer_reply_size {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_pointer_reply_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_pointer_reply_size_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public uint flags {
-    set {
-      freeswitchPINVOKE.switch_core_session_message_flags_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_core_session_message_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_core_session_message() : this(freeswitchPINVOKE.new_switch_core_session_message(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_core_thread_session : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_core_thread_session(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_core_thread_session obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_core_thread_session() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_core_thread_session(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public int running {
-    set {
-      freeswitchPINVOKE.switch_core_thread_session_running_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_core_thread_session_running_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_mutex_t mutex {
-    set {
-      freeswitchPINVOKE.switch_core_thread_session_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_mutex_get(swigCPtr);
-      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_p_void objs {
-    set {
-      freeswitchPINVOKE.switch_core_thread_session_objs_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_objs_get(swigCPtr);
-      SWIGTYPE_p_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t input_callback {
-    set {
-      freeswitchPINVOKE.switch_core_thread_session_input_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_input_callback_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_apr_pool_t pool {
-    set {
-      freeswitchPINVOKE.switch_core_thread_session_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_pool_get(swigCPtr);
-      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_core_thread_session() : this(freeswitchPINVOKE.new_switch_core_thread_session(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_uri_flags {
-  SWITCH_URI_NUMERIC_HOST = 1,
-  SWITCH_URI_NUMERIC_PORT = 2,
-  SWITCH_URI_NO_SCOPE = 4
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_caller_profile : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_caller_profile(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_caller_profile obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_caller_profile() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_caller_profile(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string username {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_username_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_username_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string dialplan {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_dialplan_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_dialplan_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string caller_id_name {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_caller_id_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_caller_id_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string caller_id_number {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_caller_id_number_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_caller_id_number_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte caller_ton {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_caller_ton_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_caller_profile_caller_ton_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte caller_numplan {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_caller_numplan_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_caller_profile_caller_numplan_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string network_addr {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_network_addr_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_network_addr_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string ani {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_ani_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_ani_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte ani_ton {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_ani_ton_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_caller_profile_ani_ton_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte ani_numplan {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_ani_numplan_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_caller_profile_ani_numplan_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string aniii {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_aniii_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_aniii_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string rdnis {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_rdnis_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_rdnis_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte rdnis_ton {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_rdnis_ton_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_caller_profile_rdnis_ton_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte rdnis_numplan {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_rdnis_numplan_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_caller_profile_rdnis_numplan_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string destination_number {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_destination_number_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_destination_number_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte destination_number_ton {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_destination_number_ton_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_caller_profile_destination_number_ton_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte destination_number_numplan {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_destination_number_numplan_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_caller_profile_destination_number_numplan_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string source {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_source_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_source_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string chan_name {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_chan_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_chan_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string uuid {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_uuid_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_uuid_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string context {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_context_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_context_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string profile_index {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_profile_index_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_profile_profile_index_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint flags {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_flags_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_caller_profile_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_caller_profile originator_caller_profile {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_originator_caller_profile_set(swigCPtr, switch_caller_profile.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_originator_caller_profile_get(swigCPtr);
-      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_caller_profile originatee_caller_profile {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_originatee_caller_profile_set(swigCPtr, switch_caller_profile.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_originatee_caller_profile_get(swigCPtr);
-      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_channel_timetable times {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_times_set(swigCPtr, switch_channel_timetable.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_times_get(swigCPtr);
-      switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_caller_extension caller_extension {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_caller_extension_set(swigCPtr, switch_caller_extension.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_caller_extension_get(swigCPtr);
-      switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_apr_pool_t pool {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_pool_get(swigCPtr);
-      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_caller_profile next {
-    set {
-      freeswitchPINVOKE.switch_caller_profile_next_set(swigCPtr, switch_caller_profile.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_next_get(swigCPtr);
-      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_caller_profile() : this(freeswitchPINVOKE.new_switch_caller_profile(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_caller_application : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_caller_application(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_caller_application obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_caller_application() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_caller_application(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string application_name {
-    set {
-      freeswitchPINVOKE.switch_caller_application_application_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_application_application_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string application_data {
-    set {
-      freeswitchPINVOKE.switch_caller_application_application_data_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_application_application_data_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void application_function {
-    set {
-      freeswitchPINVOKE.switch_caller_application_application_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_application_application_function_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_caller_application next {
-    set {
-      freeswitchPINVOKE.switch_caller_application_next_set(swigCPtr, switch_caller_application.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_application_next_get(swigCPtr);
-      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_caller_application() : this(freeswitchPINVOKE.new_switch_caller_application(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_caller_extension : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_caller_extension(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_caller_extension obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_caller_extension() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_caller_extension(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string extension_name {
-    set {
-      freeswitchPINVOKE.switch_caller_extension_extension_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_extension_extension_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string extension_number {
-    set {
-      freeswitchPINVOKE.switch_caller_extension_extension_number_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_caller_extension_extension_number_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_caller_application current_application {
-    set {
-      freeswitchPINVOKE.switch_caller_extension_current_application_set(swigCPtr, switch_caller_application.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_current_application_get(swigCPtr);
-      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_caller_application last_application {
-    set {
-      freeswitchPINVOKE.switch_caller_extension_last_application_set(swigCPtr, switch_caller_application.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_last_application_get(swigCPtr);
-      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_caller_application applications {
-    set {
-      freeswitchPINVOKE.switch_caller_extension_applications_set(swigCPtr, switch_caller_application.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_applications_get(swigCPtr);
-      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_caller_profile children {
-    set {
-      freeswitchPINVOKE.switch_caller_extension_children_set(swigCPtr, switch_caller_profile.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_children_get(swigCPtr);
-      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_caller_extension next {
-    set {
-      freeswitchPINVOKE.switch_caller_extension_next_set(swigCPtr, switch_caller_extension.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_next_get(swigCPtr);
-      switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_caller_extension() : this(freeswitchPINVOKE.new_switch_caller_extension(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_frame : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_frame(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_frame obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_frame() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_frame(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public switch_codec codec {
-    set {
-      freeswitchPINVOKE.switch_frame_codec_set(swigCPtr, switch_codec.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_frame_codec_get(swigCPtr);
-      switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public string source {
-    set {
-      freeswitchPINVOKE.switch_frame_source_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_frame_source_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void packet {
-    set {
-      freeswitchPINVOKE.switch_frame_packet_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_frame_packet_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint packetlen {
-    set {
-      freeswitchPINVOKE.switch_frame_packetlen_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_frame_packetlen_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void data {
-    set {
-      freeswitchPINVOKE.switch_frame_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_frame_data_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint datalen {
-    set {
-      freeswitchPINVOKE.switch_frame_datalen_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_frame_datalen_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint buflen {
-    set {
-      freeswitchPINVOKE.switch_frame_buflen_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_frame_buflen_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint samples {
-    set {
-      freeswitchPINVOKE.switch_frame_samples_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_frame_samples_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint rate {
-    set {
-      freeswitchPINVOKE.switch_frame_rate_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_frame_rate_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte payload {
-    set {
-      freeswitchPINVOKE.switch_frame_payload_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_frame_payload_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t timestamp {
-    set {
-      freeswitchPINVOKE.switch_frame_timestamp_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_frame_timestamp_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public ushort seq {
-    set {
-      freeswitchPINVOKE.switch_frame_seq_set(swigCPtr, value);
-    } 
-    get {
-      ushort ret = freeswitchPINVOKE.switch_frame_seq_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint ssrc {
-    set {
-      freeswitchPINVOKE.switch_frame_ssrc_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_frame_ssrc_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_bool_t m {
-    set {
-      freeswitchPINVOKE.switch_frame_m_set(swigCPtr, (int)value);
-    } 
-    get {
-      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_frame_m_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint flags {
-    set {
-      freeswitchPINVOKE.switch_frame_flags_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_frame_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_frame() : this(freeswitchPINVOKE.new_switch_frame(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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,
-  SWITCH_SHN_ON_EXECUTE,
-  SWITCH_SHN_ON_HANGUP,
-  SWITCH_SHN_ON_EXCHANGE_MEDIA,
-  SWITCH_SHN_ON_SOFT_EXECUTE,
-  SWITCH_SHN_ON_CONSUME_MEDIA,
-  SWITCH_SHN_ON_HIBERNATE,
-  SWITCH_SHN_ON_RESET,
-  SWITCH_SHN_ON_PARK
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_state_handler_table : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_state_handler_table(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_state_handler_table obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_state_handler_table() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_state_handler_table(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_init {
-    set {
-      freeswitchPINVOKE.switch_state_handler_table_on_init_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_init_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_routing {
-    set {
-      freeswitchPINVOKE.switch_state_handler_table_on_routing_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_routing_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_execute {
-    set {
-      freeswitchPINVOKE.switch_state_handler_table_on_execute_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_execute_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_hangup {
-    set {
-      freeswitchPINVOKE.switch_state_handler_table_on_hangup_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_hangup_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_exchange_media {
-    set {
-      freeswitchPINVOKE.switch_state_handler_table_on_exchange_media_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_exchange_media_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_soft_execute {
-    set {
-      freeswitchPINVOKE.switch_state_handler_table_on_soft_execute_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_soft_execute_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_consume_media {
-    set {
-      freeswitchPINVOKE.switch_state_handler_table_on_consume_media_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_consume_media_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_hibernate {
-    set {
-      freeswitchPINVOKE.switch_state_handler_table_on_hibernate_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_hibernate_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_reset {
-    set {
-      freeswitchPINVOKE.switch_state_handler_table_on_reset_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_reset_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_park {
-    set {
-      freeswitchPINVOKE.switch_state_handler_table_on_park_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_park_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_p_void padding {
-    set {
-      freeswitchPINVOKE.switch_state_handler_table_padding_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_padding_get(swigCPtr);
-      SWIGTYPE_p_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_state_handler_table() : this(freeswitchPINVOKE.new_switch_state_handler_table(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_stream_handle : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_stream_handle(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_stream_handle obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_stream_handle() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_stream_handle(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t write_function {
-    set {
-      freeswitchPINVOKE.switch_stream_handle_write_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_write_function_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t raw_write_function {
-    set {
-      freeswitchPINVOKE.switch_stream_handle_raw_write_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_raw_write_function_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void data {
-    set {
-      freeswitchPINVOKE.switch_stream_handle_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_data_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void end {
-    set {
-      freeswitchPINVOKE.switch_stream_handle_end_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_end_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t data_size {
-    set {
-      freeswitchPINVOKE.switch_stream_handle_data_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_data_size_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t data_len {
-    set {
-      freeswitchPINVOKE.switch_stream_handle_data_len_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_data_len_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t alloc_len {
-    set {
-      freeswitchPINVOKE.switch_stream_handle_alloc_len_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_alloc_len_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t alloc_chunk {
-    set {
-      freeswitchPINVOKE.switch_stream_handle_alloc_chunk_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_alloc_chunk_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public switch_event param_event {
-    set {
-      freeswitchPINVOKE.switch_stream_handle_param_event_set(swigCPtr, switch_event.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_param_event_get(swigCPtr);
-      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_stream_handle() : this(freeswitchPINVOKE.new_switch_stream_handle(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_io_routine_name_t {
-  SWITCH_IO_OUTGOING_CHANNEL,
-  SWITCH_IO_READ_FRAME,
-  SWITCH_IO_WRITE_FRAME,
-  SWITCH_IO_KILL_CHANNEL,
-  SWITCH_IO_SEND_DTMF,
-  SWITCH_IO_RECEIVE_MESSAGE,
-  SWITCH_IO_RECEIVE_EVENT,
-  SWITCH_IO_STATE_CHANGE,
-  SWITCH_IO_READ_VIDEO_FRAME,
-  SWITCH_IO_WRITE_VIDEO_FRAME,
-  SWITCH_IO_RESURRECT_SESSION
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_routines : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_routines(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_routines obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_routines() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_routines(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t outgoing_channel {
-    set {
-      freeswitchPINVOKE.switch_io_routines_outgoing_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_outgoing_channel_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame {
-    set {
-      freeswitchPINVOKE.switch_io_routines_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_routines_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 SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame {
-    set {
-      freeswitchPINVOKE.switch_io_routines_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_routines_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 SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel {
-    set {
-      freeswitchPINVOKE.switch_io_routines_kill_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_kill_channel_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t send_dtmf {
-    set {
-      freeswitchPINVOKE.switch_io_routines_send_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_send_dtmf_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message {
-    set {
-      freeswitchPINVOKE.switch_io_routines_receive_message_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_receive_message_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event {
-    set {
-      freeswitchPINVOKE.switch_io_routines_receive_event_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_receive_event_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change {
-    set {
-      freeswitchPINVOKE.switch_io_routines_state_change_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_state_change_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_video_frame {
-    set {
-      freeswitchPINVOKE.switch_io_routines_read_video_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_video_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_video_frame {
-    set {
-      freeswitchPINVOKE.switch_io_routines_write_video_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_video_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_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session {
-    set {
-      freeswitchPINVOKE.switch_io_routines_resurrect_session_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_resurrect_session_get(swigCPtr);
-      SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_p_void padding {
-    set {
-      freeswitchPINVOKE.switch_io_routines_padding_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_padding_get(swigCPtr);
-      SWIGTYPE_p_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_routines() : this(freeswitchPINVOKE.new_switch_io_routines(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_endpoint_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_endpoint_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_endpoint_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_endpoint_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_endpoint_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string interface_name {
-    set {
-      freeswitchPINVOKE.switch_endpoint_interface_interface_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_endpoint_interface_interface_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_io_routines io_routines {
-    set {
-      freeswitchPINVOKE.switch_endpoint_interface_io_routines_set(swigCPtr, switch_io_routines.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_io_routines_get(swigCPtr);
-      switch_io_routines ret = (cPtr == IntPtr.Zero) ? null : new switch_io_routines(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_state_handler_table state_handler {
-    set {
-      freeswitchPINVOKE.switch_endpoint_interface_state_handler_set(swigCPtr, switch_state_handler_table.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_state_handler_get(swigCPtr);
-      switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void private_info {
-    set {
-      freeswitchPINVOKE.switch_endpoint_interface_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_private_info_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_endpoint_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_endpoint_interface next {
-    set {
-      freeswitchPINVOKE.switch_endpoint_interface_next_set(swigCPtr, switch_endpoint_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_next_get(swigCPtr);
-      switch_endpoint_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_endpoint_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_endpoint_interface() : this(freeswitchPINVOKE.new_switch_endpoint_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_timer : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_timer(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_timer obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_timer() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_timer(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public int interval {
-    set {
-      freeswitchPINVOKE.switch_timer_interval_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_timer_interval_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint flags {
-    set {
-      freeswitchPINVOKE.switch_timer_flags_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_timer_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint samples {
-    set {
-      freeswitchPINVOKE.switch_timer_samples_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_timer_samples_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint samplecount {
-    set {
-      freeswitchPINVOKE.switch_timer_samplecount_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_timer_samplecount_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_timer_interface timer_interface {
-    set {
-      freeswitchPINVOKE.switch_timer_timer_interface_set(swigCPtr, switch_timer_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_timer_timer_interface_get(swigCPtr);
-      switch_timer_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_apr_pool_t memory_pool {
-    set {
-      freeswitchPINVOKE.switch_timer_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_timer_memory_pool_get(swigCPtr);
-      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void private_info {
-    set {
-      freeswitchPINVOKE.switch_timer_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_timer_private_info_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t diff {
-    set {
-      freeswitchPINVOKE.switch_timer_diff_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_timer_diff_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t tick {
-    set {
-      freeswitchPINVOKE.switch_timer_tick_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_timer_tick_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public switch_timer() : this(freeswitchPINVOKE.new_switch_timer(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_timer_func_name_t {
-  SWITCH_TIMER_FUNC_TIMER_INIT,
-  SWITCH_TIMER_FUNC_TIMER_NEXT,
-  SWITCH_TIMER_FUNC_TIMER_STEP,
-  SWITCH_TIMER_FUNC_TIMER_SYNC,
-  SWITCH_TIMER_FUNC_TIMER_CHECK,
-  SWITCH_TIMER_FUNC_TIMER_DESTROY
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_timer_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_timer_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_timer_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_timer_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_timer_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string interface_name {
-    set {
-      freeswitchPINVOKE.switch_timer_interface_interface_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_timer_interface_interface_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_init {
-    set {
-      freeswitchPINVOKE.switch_timer_interface_timer_init_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_init_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_next {
-    set {
-      freeswitchPINVOKE.switch_timer_interface_timer_next_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_next_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_step {
-    set {
-      freeswitchPINVOKE.switch_timer_interface_timer_step_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_step_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_sync {
-    set {
-      freeswitchPINVOKE.switch_timer_interface_timer_sync_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_sync_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t timer_check {
-    set {
-      freeswitchPINVOKE.switch_timer_interface_timer_check_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_check_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_destroy {
-    set {
-      freeswitchPINVOKE.switch_timer_interface_timer_destroy_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_destroy_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_timer_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_timer_interface next {
-    set {
-      freeswitchPINVOKE.switch_timer_interface_next_set(swigCPtr, switch_timer_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_next_get(swigCPtr);
-      switch_timer_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_timer_interface() : this(freeswitchPINVOKE.new_switch_timer_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_dialplan_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_dialplan_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_dialplan_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_dialplan_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_dialplan_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string interface_name {
-    set {
-      freeswitchPINVOKE.switch_dialplan_interface_interface_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_dialplan_interface_interface_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension hunt_function {
-    set {
-      freeswitchPINVOKE.switch_dialplan_interface_hunt_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_hunt_function_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_dialplan_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_dialplan_interface next {
-    set {
-      freeswitchPINVOKE.switch_dialplan_interface_next_set(swigCPtr, switch_dialplan_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_next_get(swigCPtr);
-      switch_dialplan_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_dialplan_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_dialplan_interface() : this(freeswitchPINVOKE.new_switch_dialplan_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_file_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_file_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_file_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_file_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_file_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string interface_name {
-    set {
-      freeswitchPINVOKE.switch_file_interface_interface_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_file_interface_interface_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t file_open {
-    set {
-      freeswitchPINVOKE.switch_file_interface_file_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_open_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_file_handle__switch_status_t file_close {
-    set {
-      freeswitchPINVOKE.switch_file_interface_file_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_close_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_file_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t file_read {
-    set {
-      freeswitchPINVOKE.switch_file_interface_file_read_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_read_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t file_write {
-    set {
-      freeswitchPINVOKE.switch_file_interface_file_write_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_write_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t file_seek {
-    set {
-      freeswitchPINVOKE.switch_file_interface_file_seek_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_seek_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t file_set_string {
-    set {
-      freeswitchPINVOKE.switch_file_interface_file_set_string_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_set_string_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t file_get_string {
-    set {
-      freeswitchPINVOKE.switch_file_interface_file_get_string_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_get_string_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public string extens {
-  set { freeswitchPINVOKE.switch_file_interface_extens_set(swigCPtr, ref value); }
-
-  get {
-    return freeswitchPINVOKE.switch_file_interface_extens_get(swigCPtr);
-  }
-
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_file_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_file_interface next {
-    set {
-      freeswitchPINVOKE.switch_file_interface_next_set(swigCPtr, switch_file_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_next_get(swigCPtr);
-      switch_file_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_file_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_file_interface() : this(freeswitchPINVOKE.new_switch_file_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_file_handle : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_file_handle(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_file_handle obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_file_handle() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_file_handle(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public switch_file_interface file_interface {
-    set {
-      freeswitchPINVOKE.switch_file_handle_file_interface_set(swigCPtr, switch_file_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_file_interface_get(swigCPtr);
-      switch_file_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_file_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint flags {
-    set {
-      freeswitchPINVOKE.switch_file_handle_flags_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_file_handle_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_file_t fd {
-    set {
-      freeswitchPINVOKE.switch_file_handle_fd_set(swigCPtr, SWIGTYPE_p_switch_file_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_fd_get(swigCPtr);
-      SWIGTYPE_p_switch_file_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_file_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint samples {
-    set {
-      freeswitchPINVOKE.switch_file_handle_samples_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_file_handle_samples_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint samplerate {
-    set {
-      freeswitchPINVOKE.switch_file_handle_samplerate_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_file_handle_samplerate_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint native_rate {
-    set {
-      freeswitchPINVOKE.switch_file_handle_native_rate_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_file_handle_native_rate_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte channels {
-    set {
-      freeswitchPINVOKE.switch_file_handle_channels_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_file_handle_channels_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint format {
-    set {
-      freeswitchPINVOKE.switch_file_handle_format_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_file_handle_format_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint sections {
-    set {
-      freeswitchPINVOKE.switch_file_handle_sections_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_file_handle_sections_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int seekable {
-    set {
-      freeswitchPINVOKE.switch_file_handle_seekable_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_file_handle_seekable_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t sample_count {
-    set {
-      freeswitchPINVOKE.switch_file_handle_sample_count_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_sample_count_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public int speed {
-    set {
-      freeswitchPINVOKE.switch_file_handle_speed_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_file_handle_speed_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_apr_pool_t memory_pool {
-    set {
-      freeswitchPINVOKE.switch_file_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_memory_pool_get(swigCPtr);
-      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint prebuf {
-    set {
-      freeswitchPINVOKE.switch_file_handle_prebuf_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_file_handle_prebuf_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint interval {
-    set {
-      freeswitchPINVOKE.switch_file_handle_interval_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_file_handle_interval_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void private_info {
-    set {
-      freeswitchPINVOKE.switch_file_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_private_info_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public string handler {
-    set {
-      freeswitchPINVOKE.switch_file_handle_handler_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_file_handle_handler_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public long pos {
-    set {
-      freeswitchPINVOKE.switch_file_handle_pos_set(swigCPtr, value);
-    } 
-    get {
-      long ret = freeswitchPINVOKE.switch_file_handle_pos_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_buffer audio_buffer {
-    set {
-      freeswitchPINVOKE.switch_file_handle_audio_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_audio_buffer_get(swigCPtr);
-      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_buffer sp_audio_buffer {
-    set {
-      freeswitchPINVOKE.switch_file_handle_sp_audio_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_sp_audio_buffer_get(swigCPtr);
-      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint thresh {
-    set {
-      freeswitchPINVOKE.switch_file_handle_thresh_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_file_handle_thresh_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint silence_hits {
-    set {
-      freeswitchPINVOKE.switch_file_handle_silence_hits_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_file_handle_silence_hits_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint offset_pos {
-    set {
-      freeswitchPINVOKE.switch_file_handle_offset_pos_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_file_handle_offset_pos_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint last_pos {
-    set {
-      freeswitchPINVOKE.switch_file_handle_last_pos_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_file_handle_last_pos_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int vol {
-    set {
-      freeswitchPINVOKE.switch_file_handle_vol_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_file_handle_vol_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_audio_resampler_t resampler {
-    set {
-      freeswitchPINVOKE.switch_file_handle_resampler_set(swigCPtr, switch_audio_resampler_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_resampler_get(swigCPtr);
-      switch_audio_resampler_t ret = (cPtr == IntPtr.Zero) ? null : new switch_audio_resampler_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_buffer buffer {
-    set {
-      freeswitchPINVOKE.switch_file_handle_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_buffer_get(swigCPtr);
-      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_unsigned_char dbuf {
-    set {
-      freeswitchPINVOKE.switch_file_handle_dbuf_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_dbuf_get(swigCPtr);
-      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t dbuflen {
-    set {
-      freeswitchPINVOKE.switch_file_handle_dbuflen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_dbuflen_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public string file {
-    set {
-      freeswitchPINVOKE.switch_file_handle_file_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_file_handle_file_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string func {
-    set {
-      freeswitchPINVOKE.switch_file_handle_func_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_file_handle_func_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int line {
-    set {
-      freeswitchPINVOKE.switch_file_handle_line_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_file_handle_line_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_file_handle() : this(freeswitchPINVOKE.new_switch_file_handle(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_asr_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_asr_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_asr_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_asr_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_asr_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string interface_name {
-    set {
-      freeswitchPINVOKE.switch_asr_interface_interface_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_asr_interface_interface_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t asr_open {
-    set {
-      freeswitchPINVOKE.switch_asr_interface_asr_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_open_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t asr_load_grammar {
-    set {
-      freeswitchPINVOKE.switch_asr_interface_asr_load_grammar_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_load_grammar_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t asr_unload_grammar {
-    set {
-      freeswitchPINVOKE.switch_asr_interface_asr_unload_grammar_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_unload_grammar_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t asr_close {
-    set {
-      freeswitchPINVOKE.switch_asr_interface_asr_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_close_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t asr_feed {
-    set {
-      freeswitchPINVOKE.switch_asr_interface_asr_feed_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_feed_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t asr_resume {
-    set {
-      freeswitchPINVOKE.switch_asr_interface_asr_resume_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_resume_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t asr_pause {
-    set {
-      freeswitchPINVOKE.switch_asr_interface_asr_pause_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_pause_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t asr_check_results {
-    set {
-      freeswitchPINVOKE.switch_asr_interface_asr_check_results_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_check_results_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t asr_get_results {
-    set {
-      freeswitchPINVOKE.switch_asr_interface_asr_get_results_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_get_results_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_asr_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_asr_interface next {
-    set {
-      freeswitchPINVOKE.switch_asr_interface_next_set(swigCPtr, switch_asr_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_next_get(swigCPtr);
-      switch_asr_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_asr_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_asr_interface() : this(freeswitchPINVOKE.new_switch_asr_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_asr_handle : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_asr_handle(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_asr_handle obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_asr_handle() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_asr_handle(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public switch_asr_interface asr_interface {
-    set {
-      freeswitchPINVOKE.switch_asr_handle_asr_interface_set(swigCPtr, switch_asr_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_asr_interface_get(swigCPtr);
-      switch_asr_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_asr_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint flags {
-    set {
-      freeswitchPINVOKE.switch_asr_handle_flags_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_asr_handle_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string name {
-    set {
-      freeswitchPINVOKE.switch_asr_handle_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_asr_handle_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string codec {
-    set {
-      freeswitchPINVOKE.switch_asr_handle_codec_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_asr_handle_codec_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint rate {
-    set {
-      freeswitchPINVOKE.switch_asr_handle_rate_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_asr_handle_rate_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string grammar {
-    set {
-      freeswitchPINVOKE.switch_asr_handle_grammar_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_asr_handle_grammar_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string param {
-    set {
-      freeswitchPINVOKE.switch_asr_handle_param_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_asr_handle_param_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_apr_pool_t memory_pool {
-    set {
-      freeswitchPINVOKE.switch_asr_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_memory_pool_get(swigCPtr);
-      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void private_info {
-    set {
-      freeswitchPINVOKE.switch_asr_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_private_info_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_asr_handle() : this(freeswitchPINVOKE.new_switch_asr_handle(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_speech_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_speech_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_speech_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_speech_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_speech_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string interface_name {
-    set {
-      freeswitchPINVOKE.switch_speech_interface_interface_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_speech_interface_interface_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t speech_open {
-    set {
-      freeswitchPINVOKE.switch_speech_interface_speech_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_open_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t speech_close {
-    set {
-      freeswitchPINVOKE.switch_speech_interface_speech_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_close_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t speech_feed_tts {
-    set {
-      freeswitchPINVOKE.switch_speech_interface_speech_feed_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_feed_tts_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t speech_read_tts {
-    set {
-      freeswitchPINVOKE.switch_speech_interface_speech_read_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_read_tts_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_speech_handle__void speech_flush_tts {
-    set {
-      freeswitchPINVOKE.switch_speech_interface_speech_flush_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle__void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_flush_tts_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_speech_handle__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle__void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void speech_text_param_tts {
-    set {
-      freeswitchPINVOKE.switch_speech_interface_speech_text_param_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_text_param_tts_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void speech_numeric_param_tts {
-    set {
-      freeswitchPINVOKE.switch_speech_interface_speech_numeric_param_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_numeric_param_tts_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void speech_float_param_tts {
-    set {
-      freeswitchPINVOKE.switch_speech_interface_speech_float_param_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_float_param_tts_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_speech_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_speech_interface next {
-    set {
-      freeswitchPINVOKE.switch_speech_interface_next_set(swigCPtr, switch_speech_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_next_get(swigCPtr);
-      switch_speech_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_speech_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_speech_interface() : this(freeswitchPINVOKE.new_switch_speech_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_speech_handle : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_speech_handle(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_speech_handle obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_speech_handle() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_speech_handle(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public switch_speech_interface speech_interface {
-    set {
-      freeswitchPINVOKE.switch_speech_handle_speech_interface_set(swigCPtr, switch_speech_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_speech_interface_get(swigCPtr);
-      switch_speech_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_speech_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint flags {
-    set {
-      freeswitchPINVOKE.switch_speech_handle_flags_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_speech_handle_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string name {
-    set {
-      freeswitchPINVOKE.switch_speech_handle_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_speech_handle_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint rate {
-    set {
-      freeswitchPINVOKE.switch_speech_handle_rate_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_speech_handle_rate_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint speed {
-    set {
-      freeswitchPINVOKE.switch_speech_handle_speed_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_speech_handle_speed_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint samples {
-    set {
-      freeswitchPINVOKE.switch_speech_handle_samples_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_speech_handle_samples_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string voice {
-    set {
-      freeswitchPINVOKE.switch_speech_handle_voice_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_speech_handle_voice_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string engine {
-    set {
-      freeswitchPINVOKE.switch_speech_handle_engine_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_speech_handle_engine_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string param {
-    set {
-      freeswitchPINVOKE.switch_speech_handle_param_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_speech_handle_param_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_apr_pool_t memory_pool {
-    set {
-      freeswitchPINVOKE.switch_speech_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_memory_pool_get(swigCPtr);
-      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void private_info {
-    set {
-      freeswitchPINVOKE.switch_speech_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_private_info_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_speech_handle() : this(freeswitchPINVOKE.new_switch_speech_handle(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_say_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_say_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_say_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_say_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_say_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string interface_name {
-    set {
-      freeswitchPINVOKE.switch_say_interface_interface_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_say_interface_interface_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t say_function {
-    set {
-      freeswitchPINVOKE.switch_say_interface_say_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_say_function_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_say_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_say_interface next {
-    set {
-      freeswitchPINVOKE.switch_say_interface_next_set(swigCPtr, switch_say_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_next_get(swigCPtr);
-      switch_say_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_say_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_say_interface() : this(freeswitchPINVOKE.new_switch_say_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_chat_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_chat_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_chat_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_chat_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_chat_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string interface_name {
-    set {
-      freeswitchPINVOKE.switch_chat_interface_interface_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_chat_interface_interface_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t chat_send {
-    set {
-      freeswitchPINVOKE.switch_chat_interface_chat_send_set(swigCPtr, SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_chat_send_get(swigCPtr);
-      SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_chat_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_chat_interface next {
-    set {
-      freeswitchPINVOKE.switch_chat_interface_next_set(swigCPtr, switch_chat_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_next_get(swigCPtr);
-      switch_chat_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_chat_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_chat_interface() : this(freeswitchPINVOKE.new_switch_chat_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_management_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_management_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_management_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_management_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_management_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string relative_oid {
-    set {
-      freeswitchPINVOKE.switch_management_interface_relative_oid_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_management_interface_relative_oid_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t management_function {
-    set {
-      freeswitchPINVOKE.switch_management_interface_management_function_set(swigCPtr, SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_management_function_get(swigCPtr);
-      SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_management_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_management_interface next {
-    set {
-      freeswitchPINVOKE.switch_management_interface_next_set(swigCPtr, switch_management_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_next_get(swigCPtr);
-      switch_management_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_management_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_management_interface() : this(freeswitchPINVOKE.new_switch_management_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_directory_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_directory_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_directory_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_directory_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_directory_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string interface_name {
-    set {
-      freeswitchPINVOKE.switch_directory_interface_interface_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_directory_interface_interface_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t directory_open {
-    set {
-      freeswitchPINVOKE.switch_directory_interface_directory_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_open_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t directory_close {
-    set {
-      freeswitchPINVOKE.switch_directory_interface_directory_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_close_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t directory_query {
-    set {
-      freeswitchPINVOKE.switch_directory_interface_directory_query_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_query_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t directory_next {
-    set {
-      freeswitchPINVOKE.switch_directory_interface_directory_next_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_next_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t directory_next_pair {
-    set {
-      freeswitchPINVOKE.switch_directory_interface_directory_next_pair_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_next_pair_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_directory_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_directory_interface next {
-    set {
-      freeswitchPINVOKE.switch_directory_interface_next_set(swigCPtr, switch_directory_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_next_get(swigCPtr);
-      switch_directory_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_directory_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_directory_interface() : this(freeswitchPINVOKE.new_switch_directory_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_directory_handle : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_directory_handle(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_directory_handle obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_directory_handle() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_directory_handle(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public switch_directory_interface directory_interface {
-    set {
-      freeswitchPINVOKE.switch_directory_handle_directory_interface_set(swigCPtr, switch_directory_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_directory_interface_get(swigCPtr);
-      switch_directory_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_directory_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint flags {
-    set {
-      freeswitchPINVOKE.switch_directory_handle_flags_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_directory_handle_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_apr_pool_t memory_pool {
-    set {
-      freeswitchPINVOKE.switch_directory_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_memory_pool_get(swigCPtr);
-      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void private_info {
-    set {
-      freeswitchPINVOKE.switch_directory_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_private_info_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_directory_handle() : this(freeswitchPINVOKE.new_switch_directory_handle(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_codec_settings : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_codec_settings(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_codec_settings obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_codec_settings() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_codec_settings(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public int quality {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_quality_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_settings_quality_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int complexity {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_complexity_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_settings_complexity_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int enhancement {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_enhancement_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_settings_enhancement_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int vad {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_vad_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_settings_vad_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int vbr {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_vbr_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_settings_vbr_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public float vbr_quality {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_vbr_quality_set(swigCPtr, value);
-    } 
-    get {
-      float ret = freeswitchPINVOKE.switch_codec_settings_vbr_quality_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int abr {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_abr_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_settings_abr_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int dtx {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_dtx_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_settings_dtx_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int preproc {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_preproc_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_settings_preproc_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int pp_vad {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_pp_vad_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_settings_pp_vad_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int pp_agc {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_pp_agc_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_settings_pp_agc_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public float pp_agc_level {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_pp_agc_level_set(swigCPtr, value);
-    } 
-    get {
-      float ret = freeswitchPINVOKE.switch_codec_settings_pp_agc_level_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int pp_denoise {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_pp_denoise_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_settings_pp_denoise_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int pp_dereverb {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_pp_dereverb_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_settings_pp_dereverb_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public float pp_dereverb_decay {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_pp_dereverb_decay_set(swigCPtr, value);
-    } 
-    get {
-      float ret = freeswitchPINVOKE.switch_codec_settings_pp_dereverb_decay_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public float pp_dereverb_level {
-    set {
-      freeswitchPINVOKE.switch_codec_settings_pp_dereverb_level_set(swigCPtr, value);
-    } 
-    get {
-      float ret = freeswitchPINVOKE.switch_codec_settings_pp_dereverb_level_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_codec_settings() : this(freeswitchPINVOKE.new_switch_codec_settings(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_codec : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_codec(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_codec obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_codec() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_codec(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public switch_codec_interface codec_interface {
-    set {
-      freeswitchPINVOKE.switch_codec_codec_interface_set(swigCPtr, switch_codec_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_codec_interface_get(swigCPtr);
-      switch_codec_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_codec_implementation implementation {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_set(swigCPtr, switch_codec_implementation.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_get(swigCPtr);
-      switch_codec_implementation ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public string fmtp_in {
-    set {
-      freeswitchPINVOKE.switch_codec_fmtp_in_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_codec_fmtp_in_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string fmtp_out {
-    set {
-      freeswitchPINVOKE.switch_codec_fmtp_out_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_codec_fmtp_out_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_codec_settings codec_settings {
-    set {
-      freeswitchPINVOKE.switch_codec_codec_settings_set(swigCPtr, switch_codec_settings.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_codec_settings_get(swigCPtr);
-      switch_codec_settings ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_settings(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint flags {
-    set {
-      freeswitchPINVOKE.switch_codec_flags_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_codec_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_apr_pool_t memory_pool {
-    set {
-      freeswitchPINVOKE.switch_codec_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_memory_pool_get(swigCPtr);
-      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void private_info {
-    set {
-      freeswitchPINVOKE.switch_codec_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_private_info_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public byte agreed_pt {
-    set {
-      freeswitchPINVOKE.switch_codec_agreed_pt_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_codec_agreed_pt_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_codec() : this(freeswitchPINVOKE.new_switch_codec(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_codec_implementation : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_codec_implementation(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_codec_implementation obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_codec_implementation() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_codec_implementation(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public switch_codec_type_t codec_type {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_codec_type_set(swigCPtr, (int)value);
-    } 
-    get {
-      switch_codec_type_t ret = (switch_codec_type_t)freeswitchPINVOKE.switch_codec_implementation_codec_type_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte ianacode {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_ianacode_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_codec_implementation_ianacode_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string iananame {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_iananame_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_codec_implementation_iananame_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string fmtp {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_fmtp_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_codec_implementation_fmtp_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint samples_per_second {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_samples_per_second_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_codec_implementation_samples_per_second_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint actual_samples_per_second {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_actual_samples_per_second_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_codec_implementation_actual_samples_per_second_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int bits_per_second {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_bits_per_second_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_implementation_bits_per_second_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int microseconds_per_frame {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_microseconds_per_frame_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_implementation_microseconds_per_frame_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint samples_per_frame {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_samples_per_frame_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_codec_implementation_samples_per_frame_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint bytes_per_frame {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_bytes_per_frame_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_codec_implementation_bytes_per_frame_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint encoded_bytes_per_frame {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_encoded_bytes_per_frame_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_codec_implementation_encoded_bytes_per_frame_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public byte number_of_channels {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_number_of_channels_set(swigCPtr, value);
-    } 
-    get {
-      byte ret = freeswitchPINVOKE.switch_codec_implementation_number_of_channels_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int pref_frames_per_packet {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_pref_frames_per_packet_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_implementation_pref_frames_per_packet_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int max_frames_per_packet {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_max_frames_per_packet_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_codec_implementation_max_frames_per_packet_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t init {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_init_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_init_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t encode {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_encode_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_encode_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t decode {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_decode_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_decode_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_codec__switch_status_t destroy {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_destroy_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_destroy_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_codec__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint codec_id {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_codec_id_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_codec_implementation_codec_id_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_codec_implementation next {
-    set {
-      freeswitchPINVOKE.switch_codec_implementation_next_set(swigCPtr, switch_codec_implementation.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_next_get(swigCPtr);
-      switch_codec_implementation ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_codec_implementation() : this(freeswitchPINVOKE.new_switch_codec_implementation(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_codec_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_codec_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_codec_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_codec_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_codec_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string interface_name {
-    set {
-      freeswitchPINVOKE.switch_codec_interface_interface_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_codec_interface_interface_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_codec_implementation implementations {
-    set {
-      freeswitchPINVOKE.switch_codec_interface_implementations_set(swigCPtr, switch_codec_implementation.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_implementations_get(swigCPtr);
-      switch_codec_implementation ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint codec_id {
-    set {
-      freeswitchPINVOKE.switch_codec_interface_codec_id_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_codec_interface_codec_id_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_codec_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_codec_interface next {
-    set {
-      freeswitchPINVOKE.switch_codec_interface_next_set(swigCPtr, switch_codec_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_next_get(swigCPtr);
-      switch_codec_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_codec_interface() : this(freeswitchPINVOKE.new_switch_codec_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_application_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_application_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_application_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_application_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_application_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string interface_name {
-    set {
-      freeswitchPINVOKE.switch_application_interface_interface_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_application_interface_interface_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void application_function {
-    set {
-      freeswitchPINVOKE.switch_application_interface_application_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_application_function_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public string long_desc {
-    set {
-      freeswitchPINVOKE.switch_application_interface_long_desc_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_application_interface_long_desc_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string short_desc {
-    set {
-      freeswitchPINVOKE.switch_application_interface_short_desc_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_application_interface_short_desc_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string syntax {
-    set {
-      freeswitchPINVOKE.switch_application_interface_syntax_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_application_interface_syntax_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint flags {
-    set {
-      freeswitchPINVOKE.switch_application_interface_flags_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_application_interface_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_application_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_application_interface next {
-    set {
-      freeswitchPINVOKE.switch_application_interface_next_set(swigCPtr, switch_application_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_next_get(swigCPtr);
-      switch_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_application_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_application_interface() : this(freeswitchPINVOKE.new_switch_application_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_api_interface : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_api_interface(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_api_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_api_interface() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_api_interface(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string interface_name {
-    set {
-      freeswitchPINVOKE.switch_api_interface_interface_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_api_interface_interface_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string desc {
-    set {
-      freeswitchPINVOKE.switch_api_interface_desc_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_api_interface_desc_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t function {
-    set {
-      freeswitchPINVOKE.switch_api_interface_function_set(swigCPtr, SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_function_get(swigCPtr);
-      SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public string syntax {
-    set {
-      freeswitchPINVOKE.switch_api_interface_syntax_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_api_interface_syntax_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
-    set {
-      freeswitchPINVOKE.switch_api_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_rwlock_get(swigCPtr);
-      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_api_interface next {
-    set {
-      freeswitchPINVOKE.switch_api_interface_next_set(swigCPtr, switch_api_interface.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_next_get(swigCPtr);
-      switch_api_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_api_interface(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_api_interface() : this(freeswitchPINVOKE.new_switch_api_interface(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_channel_timetable : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_channel_timetable(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_channel_timetable obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_channel_timetable() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_channel_timetable(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_switch_time_t profile_created {
-    set {
-      freeswitchPINVOKE.switch_channel_timetable_profile_created_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_profile_created_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_time_t created {
-    set {
-      freeswitchPINVOKE.switch_channel_timetable_created_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_created_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_time_t answered {
-    set {
-      freeswitchPINVOKE.switch_channel_timetable_answered_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_answered_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_time_t progress {
-    set {
-      freeswitchPINVOKE.switch_channel_timetable_progress_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_progress_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_time_t progress_media {
-    set {
-      freeswitchPINVOKE.switch_channel_timetable_progress_media_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_progress_media_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_time_t hungup {
-    set {
-      freeswitchPINVOKE.switch_channel_timetable_hungup_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_hungup_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_time_t transferred {
-    set {
-      freeswitchPINVOKE.switch_channel_timetable_transferred_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_transferred_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public switch_channel_timetable next {
-    set {
-      freeswitchPINVOKE.switch_channel_timetable_next_set(swigCPtr, switch_channel_timetable.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_channel_timetable_next_get(swigCPtr);
-      switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_channel_timetable() : this(freeswitchPINVOKE.new_switch_channel_timetable(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_event_header : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_event_header(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_event_header obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_event_header() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_event_header(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string name {
-    set {
-      freeswitchPINVOKE.switch_event_header_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_event_header_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string value {
-    set {
-      freeswitchPINVOKE.switch_event_header_value_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_event_header_value_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_event_header next {
-    set {
-      freeswitchPINVOKE.switch_event_header_next_set(swigCPtr, switch_event_header.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_event_header_next_get(swigCPtr);
-      switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_event_header() : this(freeswitchPINVOKE.new_switch_event_header(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_event : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_event(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_event obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_event() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_event(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public switch_event_types_t event_id {
-    set {
-      freeswitchPINVOKE.switch_event_event_id_set(swigCPtr, (int)value);
-    } 
-    get {
-      switch_event_types_t ret = (switch_event_types_t)freeswitchPINVOKE.switch_event_event_id_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_priority_t priority {
-    set {
-      freeswitchPINVOKE.switch_event_priority_set(swigCPtr, (int)value);
-    } 
-    get {
-      switch_priority_t ret = (switch_priority_t)freeswitchPINVOKE.switch_event_priority_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string owner {
-    set {
-      freeswitchPINVOKE.switch_event_owner_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_event_owner_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string subclass_name {
-    set {
-      freeswitchPINVOKE.switch_event_subclass_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_event_subclass_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_event_header headers {
-    set {
-      freeswitchPINVOKE.switch_event_headers_set(swigCPtr, switch_event_header.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_event_headers_get(swigCPtr);
-      switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_event_header last_header {
-    set {
-      freeswitchPINVOKE.switch_event_last_header_set(swigCPtr, switch_event_header.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_event_last_header_get(swigCPtr);
-      switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public string body {
-    set {
-      freeswitchPINVOKE.switch_event_body_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_event_body_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void bind_user_data {
-    set {
-      freeswitchPINVOKE.switch_event_bind_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_event_bind_user_data_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void event_user_data {
-    set {
-      freeswitchPINVOKE.switch_event_event_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_event_event_user_data_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint key {
-    set {
-      freeswitchPINVOKE.switch_event_key_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_event_key_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_event next {
-    set {
-      freeswitchPINVOKE.switch_event_next_set(swigCPtr, switch_event.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_event_next_get(swigCPtr);
-      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_event() : this(freeswitchPINVOKE.new_switch_event(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_audio_resampler_t : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_audio_resampler_t(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_audio_resampler_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_audio_resampler_t() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_audio_resampler_t(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_void resampler {
-    set {
-      freeswitchPINVOKE.switch_audio_resampler_t_resampler_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_resampler_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public int from_rate {
-    set {
-      freeswitchPINVOKE.switch_audio_resampler_t_from_rate_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_audio_resampler_t_from_rate_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int to_rate {
-    set {
-      freeswitchPINVOKE.switch_audio_resampler_t_to_rate_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_audio_resampler_t_to_rate_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public double factor {
-    set {
-      freeswitchPINVOKE.switch_audio_resampler_t_factor_set(swigCPtr, value);
-    } 
-    get {
-      double ret = freeswitchPINVOKE.switch_audio_resampler_t_factor_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public double rfactor {
-    set {
-      freeswitchPINVOKE.switch_audio_resampler_t_rfactor_set(swigCPtr, value);
-    } 
-    get {
-      double ret = freeswitchPINVOKE.switch_audio_resampler_t_rfactor_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_float from {
-    set {
-      freeswitchPINVOKE.switch_audio_resampler_t_from_set(swigCPtr, SWIGTYPE_p_float.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_from_get(swigCPtr);
-      SWIGTYPE_p_float ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public int from_len {
-    set {
-      freeswitchPINVOKE.switch_audio_resampler_t_from_len_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_audio_resampler_t_from_len_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t from_size {
-    set {
-      freeswitchPINVOKE.switch_audio_resampler_t_from_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_audio_resampler_t_from_size_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_float to {
-    set {
-      freeswitchPINVOKE.switch_audio_resampler_t_to_set(swigCPtr, SWIGTYPE_p_float.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_to_get(swigCPtr);
-      SWIGTYPE_p_float ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint to_len {
-    set {
-      freeswitchPINVOKE.switch_audio_resampler_t_to_len_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_audio_resampler_t_to_len_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint to_size {
-    set {
-      freeswitchPINVOKE.switch_audio_resampler_t_to_size_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_audio_resampler_t_to_size_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_audio_resampler_t() : this(freeswitchPINVOKE.new_switch_audio_resampler_t(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_unicast_conninfo : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_unicast_conninfo(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_unicast_conninfo obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_unicast_conninfo() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_unicast_conninfo(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_switch_core_session session {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_session_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_session_get(swigCPtr);
-      SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_codec read_codec {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_read_codec_set(swigCPtr, switch_codec.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_read_codec_get(swigCPtr);
-      switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_frame write_frame {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_write_frame_set(swigCPtr, switch_frame.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_write_frame_get(swigCPtr);
-      switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_unsigned_char write_frame_data {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_write_frame_data_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_write_frame_data_get(swigCPtr);
-      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_socket_t socket {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_socket_set(swigCPtr, SWIGTYPE_p_switch_socket_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_socket_get(swigCPtr);
-      SWIGTYPE_p_switch_socket_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_socket_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public string local_ip {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_local_ip_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_unicast_conninfo_local_ip_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public ushort local_port {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_local_port_set(swigCPtr, value);
-    } 
-    get {
-      ushort ret = freeswitchPINVOKE.switch_unicast_conninfo_local_port_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string remote_ip {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_remote_ip_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_unicast_conninfo_remote_ip_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public ushort remote_port {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_remote_port_set(swigCPtr, value);
-    } 
-    get {
-      ushort ret = freeswitchPINVOKE.switch_unicast_conninfo_remote_port_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_sockaddr_t local_addr {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_local_addr_set(swigCPtr, SWIGTYPE_p_switch_sockaddr_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_local_addr_get(swigCPtr);
-      SWIGTYPE_p_switch_sockaddr_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_sockaddr_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_sockaddr_t remote_addr {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_remote_addr_set(swigCPtr, SWIGTYPE_p_switch_sockaddr_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_remote_addr_get(swigCPtr);
-      SWIGTYPE_p_switch_sockaddr_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_sockaddr_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_mutex_t flag_mutex {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_flag_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_flag_mutex_get(swigCPtr);
-      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public int flags {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_flags_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_unicast_conninfo_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int type {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_type_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_unicast_conninfo_type_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int transport {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_transport_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_unicast_conninfo_transport_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int stream_id {
-    set {
-      freeswitchPINVOKE.switch_unicast_conninfo_stream_id_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_unicast_conninfo_stream_id_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_unicast_conninfo() : this(freeswitchPINVOKE.new_switch_unicast_conninfo(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_ivr_menu_flags {
-  SWITCH_IVR_MENU_FLAG_FALLTOMAIN = (1 << 0),
-  SWITCH_IVR_MENU_FLAG_FREEPOOL = (1 << 1),
-  SWITCH_IVR_MENU_FLAG_STACK = (1 << 2)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_ivr_action_t {
-  SWITCH_IVR_ACTION_DIE,
-  SWITCH_IVR_ACTION_EXECMENU,
-  SWITCH_IVR_ACTION_EXECAPP,
-  SWITCH_IVR_ACTION_PLAYSOUND,
-  SWITCH_IVR_ACTION_BACK,
-  SWITCH_IVR_ACTION_TOMAIN,
-  SWITCH_IVR_ACTION_NOOP
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_rtp_crypto_direction_t {
-  SWITCH_RTP_CRYPTO_SEND,
-  SWITCH_RTP_CRYPTO_RECV,
-  SWITCH_RTP_CRYPTO_MAX
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_rtp_crypto_key_type_t {
-  NO_CRYPTO,
-  AES_CM_128_HMAC_SHA1_80,
-  AES_CM_128_HMAC_SHA1_32,
-  AES_CM_128_NULL_AUTH
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_rtp_crypto_key : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_rtp_crypto_key(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_rtp_crypto_key obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_rtp_crypto_key() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_rtp_crypto_key(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public uint index {
-    set {
-      freeswitchPINVOKE.switch_rtp_crypto_key_index_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_rtp_crypto_key_index_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_rtp_crypto_key_type_t type {
-    set {
-      freeswitchPINVOKE.switch_rtp_crypto_key_type_set(swigCPtr, (int)value);
-    } 
-    get {
-      switch_rtp_crypto_key_type_t ret = (switch_rtp_crypto_key_type_t)freeswitchPINVOKE.switch_rtp_crypto_key_type_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_unsigned_char key {
-    set {
-      freeswitchPINVOKE.switch_rtp_crypto_key_key_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_rtp_crypto_key_key_get(swigCPtr);
-      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t keylen {
-    set {
-      freeswitchPINVOKE.switch_rtp_crypto_key_keylen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_crypto_key_keylen_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public switch_rtp_crypto_key next {
-    set {
-      freeswitchPINVOKE.switch_rtp_crypto_key_next_set(swigCPtr, switch_rtp_crypto_key.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_rtp_crypto_key_next_get(swigCPtr);
-      switch_rtp_crypto_key ret = (cPtr == IntPtr.Zero) ? null : new switch_rtp_crypto_key(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_rtp_crypto_key() : this(freeswitchPINVOKE.new_switch_rtp_crypto_key(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_log_node_t : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_log_node_t(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_log_node_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_log_node_t() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_log_node_t(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string data {
-    set {
-      freeswitchPINVOKE.switch_log_node_t_data_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_log_node_t_data_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string file {
-    set {
-      freeswitchPINVOKE.switch_log_node_t_file_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_log_node_t_file_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint line {
-    set {
-      freeswitchPINVOKE.switch_log_node_t_line_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_log_node_t_line_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string func {
-    set {
-      freeswitchPINVOKE.switch_log_node_t_func_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_log_node_t_func_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_log_level_t level {
-    set {
-      freeswitchPINVOKE.switch_log_node_t_level_set(swigCPtr, (int)value);
-    } 
-    get {
-      switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_log_node_t_level_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_time_t timestamp {
-    set {
-      freeswitchPINVOKE.switch_log_node_t_timestamp_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_log_node_t_timestamp_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public string content {
-    set {
-      freeswitchPINVOKE.switch_log_node_t_content_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_log_node_t_content_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string userdata {
-    set {
-      freeswitchPINVOKE.switch_log_node_t_userdata_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_log_node_t_userdata_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_log_node_t() : this(freeswitchPINVOKE.new_switch_log_node_t(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum switch_xml_flag_t {
-  SWITCH_XML_ROOT = (1 << 0),
-  SWITCH_XML_NAMEM = (1 << 1),
-  SWITCH_XML_TXTM = (1 << 2),
-  SWITCH_XML_DUP = (1 << 3)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_xml : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_xml(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_xml obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_xml() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_xml(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public string name {
-    set {
-      freeswitchPINVOKE.switch_xml_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_xml_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string attr {
-  set { freeswitchPINVOKE.switch_xml_attr_set(swigCPtr, ref value); }
-
-  get {
-    return freeswitchPINVOKE.switch_xml_attr_get(swigCPtr);
-  }
-
-  }
-
-  public string txt {
-    set {
-      freeswitchPINVOKE.switch_xml_txt_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_xml_txt_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string free_path {
-    set {
-      freeswitchPINVOKE.switch_xml_free_path_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_xml_free_path_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_size_t off {
-    set {
-      freeswitchPINVOKE.switch_xml_off_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    } 
-    get {
-      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_xml_off_get(swigCPtr), true);
-      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-      return ret;
-    } 
-  }
-
-  public switch_xml next {
-    set {
-      freeswitchPINVOKE.switch_xml_next_set(swigCPtr, switch_xml.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_xml_next_get(swigCPtr);
-      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_xml sibling {
-    set {
-      freeswitchPINVOKE.switch_xml_sibling_set(swigCPtr, switch_xml.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_xml_sibling_get(swigCPtr);
-      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_xml ordered {
-    set {
-      freeswitchPINVOKE.switch_xml_ordered_set(swigCPtr, switch_xml.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_xml_ordered_get(swigCPtr);
-      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_xml child {
-    set {
-      freeswitchPINVOKE.switch_xml_child_set(swigCPtr, switch_xml.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_xml_child_get(swigCPtr);
-      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_xml parent {
-    set {
-      freeswitchPINVOKE.switch_xml_parent_set(swigCPtr, switch_xml.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_xml_parent_get(swigCPtr);
-      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint flags {
-    set {
-      freeswitchPINVOKE.switch_xml_flags_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_xml_flags_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_xml() : this(freeswitchPINVOKE.new_switch_xml(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_outgoing_channel : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_event_hook_outgoing_channel(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hook_outgoing_channel obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hook_outgoing_channel() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hook_outgoing_channel(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_outgoing_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_outgoing_channel_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_outgoing_channel next {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_next_set(swigCPtr, switch_io_event_hook_outgoing_channel.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_next_get(swigCPtr);
-      switch_io_event_hook_outgoing_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_outgoing_channel(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_outgoing_channel() : this(freeswitchPINVOKE.new_switch_io_event_hook_outgoing_channel(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_receive_message : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_event_hook_receive_message(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hook_receive_message obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hook_receive_message() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hook_receive_message(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_receive_message_receive_message_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_message_receive_message_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_receive_message next {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_receive_message_next_set(swigCPtr, switch_io_event_hook_receive_message.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_message_next_get(swigCPtr);
-      switch_io_event_hook_receive_message ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_message(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_receive_message() : this(freeswitchPINVOKE.new_switch_io_event_hook_receive_message(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_receive_event : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_event_hook_receive_event(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hook_receive_event obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hook_receive_event() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hook_receive_event(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_receive_event_receive_event_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_event_receive_event_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_receive_event next {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_receive_event_next_set(swigCPtr, switch_io_event_hook_receive_event.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_event_next_get(swigCPtr);
-      switch_io_event_hook_receive_event ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_event(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_receive_event() : this(freeswitchPINVOKE.new_switch_io_event_hook_receive_event(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_read_frame : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_event_hook_read_frame(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hook_read_frame obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hook_read_frame() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hook_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 read_frame {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_read_frame_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_read_frame_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_read_frame next {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_read_frame_next_set(swigCPtr, switch_io_event_hook_read_frame.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_read_frame_next_get(swigCPtr);
-      switch_io_event_hook_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_read_frame(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_read_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_read_frame(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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;
-
-  internal switch_io_event_hook_video_read_frame(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hook_video_read_frame obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hook_video_read_frame() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hook_video_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 video_read_frame {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_video_read_frame_video_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_video_read_frame_video_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_video_read_frame next {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_video_read_frame_next_set(swigCPtr, switch_io_event_hook_video_read_frame.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_read_frame_next_get(swigCPtr);
-      switch_io_event_hook_video_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_read_frame(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_video_read_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_video_read_frame(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_write_frame : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_event_hook_write_frame(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hook_write_frame obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hook_write_frame() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hook_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 write_frame {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_write_frame_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_write_frame_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_write_frame next {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_write_frame_next_set(swigCPtr, switch_io_event_hook_write_frame.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_write_frame_next_get(swigCPtr);
-      switch_io_event_hook_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_write_frame(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_write_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_write_frame(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_write_frame : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_event_hook_video_write_frame(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hook_video_write_frame obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hook_video_write_frame() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hook_video_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 video_write_frame {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_video_write_frame_video_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_video_write_frame_video_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_video_write_frame next {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_video_write_frame_next_set(swigCPtr, switch_io_event_hook_video_write_frame.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_write_frame_next_get(swigCPtr);
-      switch_io_event_hook_video_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_write_frame(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_video_write_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_video_write_frame(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_kill_channel : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_event_hook_kill_channel(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hook_kill_channel obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hook_kill_channel() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hook_kill_channel(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_kill_channel_kill_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_kill_channel_kill_channel_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_kill_channel next {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_kill_channel_next_set(swigCPtr, switch_io_event_hook_kill_channel.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_kill_channel_next_get(swigCPtr);
-      switch_io_event_hook_kill_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_kill_channel(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_kill_channel() : this(freeswitchPINVOKE.new_switch_io_event_hook_kill_channel(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_send_dtmf : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_event_hook_send_dtmf(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hook_send_dtmf obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hook_send_dtmf() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hook_send_dtmf(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_send_dtmf_send_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_send_dtmf_send_dtmf_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_send_dtmf next {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_send_dtmf_next_set(swigCPtr, switch_io_event_hook_send_dtmf.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_send_dtmf_next_get(swigCPtr);
-      switch_io_event_hook_send_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_send_dtmf(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_send_dtmf() : this(freeswitchPINVOKE.new_switch_io_event_hook_send_dtmf(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_recv_dtmf : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_event_hook_recv_dtmf(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hook_recv_dtmf obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hook_recv_dtmf() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hook_recv_dtmf(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_recv_dtmf next {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_get(swigCPtr);
-      switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_recv_dtmf() : this(freeswitchPINVOKE.new_switch_io_event_hook_recv_dtmf(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_state_change : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_event_hook_state_change(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hook_state_change obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hook_state_change() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hook_state_change(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_state_change_state_change_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_state_change_state_change_get(swigCPtr);
-      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_state_change next {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_state_change_next_set(swigCPtr, switch_io_event_hook_state_change.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_state_change_next_get(swigCPtr);
-      switch_io_event_hook_state_change ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_change(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_state_change() : this(freeswitchPINVOKE.new_switch_io_event_hook_state_change(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_resurrect_session : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_event_hook_resurrect_session(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hook_resurrect_session obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hook_resurrect_session() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hook_resurrect_session(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_get(swigCPtr);
-      SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_resurrect_session next {
-    set {
-      freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_get(swigCPtr);
-      switch_io_event_hook_resurrect_session ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_resurrect_session(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_resurrect_session() : this(freeswitchPINVOKE.new_switch_io_event_hook_resurrect_session(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_hooks : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_io_event_hooks(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_io_event_hooks obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_io_event_hooks() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_io_event_hooks(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public switch_io_event_hook_outgoing_channel outgoing_channel {
-    set {
-      freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_set(swigCPtr, switch_io_event_hook_outgoing_channel.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_get(swigCPtr);
-      switch_io_event_hook_outgoing_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_outgoing_channel(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_receive_message receive_message {
-    set {
-      freeswitchPINVOKE.switch_io_event_hooks_receive_message_set(swigCPtr, switch_io_event_hook_receive_message.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_message_get(swigCPtr);
-      switch_io_event_hook_receive_message ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_message(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_receive_event receive_event {
-    set {
-      freeswitchPINVOKE.switch_io_event_hooks_receive_event_set(swigCPtr, switch_io_event_hook_receive_event.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_event_get(swigCPtr);
-      switch_io_event_hook_receive_event ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_event(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_read_frame read_frame {
-    set {
-      freeswitchPINVOKE.switch_io_event_hooks_read_frame_set(swigCPtr, switch_io_event_hook_read_frame.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_read_frame_get(swigCPtr);
-      switch_io_event_hook_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_read_frame(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_video_read_frame video_read_frame {
-    set {
-      freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_set(swigCPtr, switch_io_event_hook_video_read_frame.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_get(swigCPtr);
-      switch_io_event_hook_video_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_read_frame(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_write_frame write_frame {
-    set {
-      freeswitchPINVOKE.switch_io_event_hooks_write_frame_set(swigCPtr, switch_io_event_hook_write_frame.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_write_frame_get(swigCPtr);
-      switch_io_event_hook_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_write_frame(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_video_write_frame video_write_frame {
-    set {
-      freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_set(swigCPtr, switch_io_event_hook_video_write_frame.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_get(swigCPtr);
-      switch_io_event_hook_video_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_write_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));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_kill_channel_get(swigCPtr);
-      switch_io_event_hook_kill_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_kill_channel(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_send_dtmf send_dtmf {
-    set {
-      freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_set(swigCPtr, switch_io_event_hook_send_dtmf.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_get(swigCPtr);
-      switch_io_event_hook_send_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_send_dtmf(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_recv_dtmf recv_dtmf {
-    set {
-      freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_get(swigCPtr);
-      switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_state_change state_change {
-    set {
-      freeswitchPINVOKE.switch_io_event_hooks_state_change_set(swigCPtr, switch_io_event_hook_state_change.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_state_change_get(swigCPtr);
-      switch_io_event_hook_state_change ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_change(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hook_resurrect_session resurrect_session {
-    set {
-      freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_get(swigCPtr);
-      switch_io_event_hook_resurrect_session ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_resurrect_session(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_io_event_hooks() : this(freeswitchPINVOKE.new_switch_io_event_hooks(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_scheduler_task : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_scheduler_task(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_scheduler_task obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_scheduler_task() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_scheduler_task(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public long created {
-    set {
-      freeswitchPINVOKE.switch_scheduler_task_created_set(swigCPtr, value);
-    } 
-    get {
-      long ret = freeswitchPINVOKE.switch_scheduler_task_created_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public long runtime {
-    set {
-      freeswitchPINVOKE.switch_scheduler_task_runtime_set(swigCPtr, value);
-    } 
-    get {
-      long ret = freeswitchPINVOKE.switch_scheduler_task_runtime_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint cmd_id {
-    set {
-      freeswitchPINVOKE.switch_scheduler_task_cmd_id_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_scheduler_task_cmd_id_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string group {
-    set {
-      freeswitchPINVOKE.switch_scheduler_task_group_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_scheduler_task_group_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void cmd_arg {
-    set {
-      freeswitchPINVOKE.switch_scheduler_task_cmd_arg_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_scheduler_task_cmd_arg_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public uint task_id {
-    set {
-      freeswitchPINVOKE.switch_scheduler_task_task_id_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.switch_scheduler_task_task_id_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_scheduler_task() : this(freeswitchPINVOKE.new_switch_scheduler_task(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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_config : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal switch_config(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(switch_config obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~switch_config() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_switch_config(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_FILE file {
-    set {
-      freeswitchPINVOKE.switch_config_file_set(swigCPtr, SWIGTYPE_p_FILE.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.switch_config_file_get(swigCPtr);
-      SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public string path {
-    set {
-      freeswitchPINVOKE.switch_config_path_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_config_path_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string category {
-    set {
-      freeswitchPINVOKE.switch_config_category_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_config_category_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string section {
-    set {
-      freeswitchPINVOKE.switch_config_section_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_config_section_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string buf {
-    set {
-      freeswitchPINVOKE.switch_config_buf_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.switch_config_buf_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int lineno {
-    set {
-      freeswitchPINVOKE.switch_config_lineno_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_config_lineno_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int catno {
-    set {
-      freeswitchPINVOKE.switch_config_catno_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_config_catno_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int sectno {
-    set {
-      freeswitchPINVOKE.switch_config_sectno_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_config_sectno_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int lockto {
-    set {
-      freeswitchPINVOKE.switch_config_lockto_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.switch_config_lockto_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public switch_config() : this(freeswitchPINVOKE.new_switch_config(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 IvrMenu : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal IvrMenu(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(IvrMenu obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~IvrMenu() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_IvrMenu(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public IvrMenu(IvrMenu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts) : this(freeswitchPINVOKE.new_IvrMenu(IvrMenu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts), true) {
-  }
-
-  public void bindAction(string action, string arg, string bind) {
-    freeswitchPINVOKE.IvrMenu_bindAction(swigCPtr, action, arg, bind);
-  }
-
-  public void Execute(CoreSession session, string name) {
-    freeswitchPINVOKE.IvrMenu_Execute(swigCPtr, CoreSession.getCPtr(session), name);
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 Api : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal Api(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(Api obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~Api() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_Api(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public Api() : this(freeswitchPINVOKE.new_Api(), true) {
-  }
-
-  public string Execute(string command, string data) {
-    string ret = freeswitchPINVOKE.Api_Execute(swigCPtr, command, data);
-    return ret;
-  }
-
-  public string ExecuteString(string command) {
-    string ret = freeswitchPINVOKE.Api_ExecuteString(swigCPtr, command);
-    return ret;
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 input_callback_state_t : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal input_callback_state_t(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(input_callback_state_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~input_callback_state_t() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_input_callback_state_t(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_void function {
-    set {
-      freeswitchPINVOKE.input_callback_state_t_function_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_function_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void threadState {
-    set {
-      freeswitchPINVOKE.input_callback_state_t_threadState_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_threadState_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_void extra {
-    set {
-      freeswitchPINVOKE.input_callback_state_t_extra_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_extra_get(swigCPtr);
-      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public string funcargs {
-    set {
-      freeswitchPINVOKE.input_callback_state_t_funcargs_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.input_callback_state_t_funcargs_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public input_callback_state_t() : this(freeswitchPINVOKE.new_input_callback_state_t(), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * Do not make changes to this file unless you know what you are doing--modify
- * the SWIG interface file instead.
- * ----------------------------------------------------------------------------- */
-
-namespace FreeSWITCH.Native {
-
-[System.Flags] public enum session_flag_t {
-  S_HUP = (1 << 0),
-  S_FREE = (1 << 1),
-  S_RDLOCK = (1 << 2)
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 DTMF : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal DTMF(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(DTMF obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~DTMF() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_DTMF(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public char digit {
-    set {
-      freeswitchPINVOKE.DTMF_digit_set(swigCPtr, value);
-    } 
-    get {
-      char ret = freeswitchPINVOKE.DTMF_digit_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public uint duration {
-    set {
-      freeswitchPINVOKE.DTMF_duration_set(swigCPtr, value);
-    } 
-    get {
-      uint ret = freeswitchPINVOKE.DTMF_duration_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public DTMF(char idigit, uint iduration) : this(freeswitchPINVOKE.new_DTMF(idigit, iduration), true) {
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 partial class Stream : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal Stream(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(Stream obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~Stream() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_Stream(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public Stream() : this(freeswitchPINVOKE.new_Stream__SWIG_0(), true) {
-  }
-
-  public Stream(switch_stream_handle arg0) : this(freeswitchPINVOKE.new_Stream__SWIG_1(switch_stream_handle.getCPtr(arg0)), true) {
-  }
-
-  public void Write(string data) {
-    freeswitchPINVOKE.Stream_Write(swigCPtr, data);
-  }
-
-  public string get_data() {
-    string ret = freeswitchPINVOKE.Stream_get_data(swigCPtr);
-    return ret;
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 partial class Event : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal Event(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(Event obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~Event() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_Event(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public switch_event InternalEvent {
-    set {
-      freeswitchPINVOKE.Event_InternalEvent_set(swigCPtr, switch_event.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.Event_InternalEvent_get(swigCPtr);
-      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public string serialized_string {
-    set {
-      freeswitchPINVOKE.Event_serialized_string_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.Event_serialized_string_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public int mine {
-    set {
-      freeswitchPINVOKE.Event_mine_set(swigCPtr, value);
-    } 
-    get {
-      int ret = freeswitchPINVOKE.Event_mine_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public Event(string type, string subclass_name) : this(freeswitchPINVOKE.new_Event__SWIG_0(type, subclass_name), true) {
-  }
-
-  public Event(switch_event wrap_me, int free_me) : this(freeswitchPINVOKE.new_Event__SWIG_1(switch_event.getCPtr(wrap_me), free_me), true) {
-  }
-
-  public string Serialize(string format) {
-    string ret = freeswitchPINVOKE.Event_Serialize(swigCPtr, format);
-    return ret;
-  }
-
-  public bool SetPriority(switch_priority_t priority) {
-    bool ret = freeswitchPINVOKE.Event_SetPriority(swigCPtr, (int)priority);
-    return ret;
-  }
-
-  public string GetHeader(string header_name) {
-    string ret = freeswitchPINVOKE.Event_GetHeader(swigCPtr, header_name);
-    return ret;
-  }
-
-  public string GetBody() {
-    string ret = freeswitchPINVOKE.Event_GetBody(swigCPtr);
-    return ret;
-  }
-
-  public string GetEventType() {
-    string ret = freeswitchPINVOKE.Event_GetEventType(swigCPtr);
-    return ret;
-  }
-
-  public bool AddBody(string value) {
-    bool ret = freeswitchPINVOKE.Event_AddBody(swigCPtr, value);
-    return ret;
-  }
-
-  public bool AddHeader(string header_name, string value) {
-    bool ret = freeswitchPINVOKE.Event_AddHeader(swigCPtr, header_name, value);
-    return ret;
-  }
-
-  public bool DeleteHeader(string header_name) {
-    bool ret = freeswitchPINVOKE.Event_DeleteHeader(swigCPtr, header_name);
-    return ret;
-  }
-
-  public bool Fire() {
-    bool ret = freeswitchPINVOKE.Event_Fire(swigCPtr);
-    return ret;
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 EventConsumer : IDisposable {
-  private HandleRef swigCPtr;
-  protected bool swigCMemOwn;
-
-  internal EventConsumer(IntPtr cPtr, bool cMemoryOwn) {
-    swigCMemOwn = cMemoryOwn;
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  internal static HandleRef getCPtr(EventConsumer obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-
-  ~EventConsumer() {
-    Dispose();
-  }
-
-  public virtual void Dispose() {
-    lock(this) {
-      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
-        swigCMemOwn = false;
-        freeswitchPINVOKE.delete_EventConsumer(swigCPtr);
-      }
-      swigCPtr = new HandleRef(null, IntPtr.Zero);
-      GC.SuppressFinalize(this);
-    }
-  }
-
-  public SWIGTYPE_p_switch_queue_t events {
-    set {
-      freeswitchPINVOKE.EventConsumer_events_set(swigCPtr, SWIGTYPE_p_switch_queue_t.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.EventConsumer_events_get(swigCPtr);
-      SWIGTYPE_p_switch_queue_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_queue_t(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public switch_event_types_t e_event_id {
-    set {
-      freeswitchPINVOKE.EventConsumer_e_event_id_set(swigCPtr, (int)value);
-    } 
-    get {
-      switch_event_types_t ret = (switch_event_types_t)freeswitchPINVOKE.EventConsumer_e_event_id_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public SWIGTYPE_p_switch_event_node node {
-    set {
-      freeswitchPINVOKE.EventConsumer_node_set(swigCPtr, SWIGTYPE_p_switch_event_node.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.EventConsumer_node_get(swigCPtr);
-      SWIGTYPE_p_switch_event_node ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_event_node(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public string e_callback {
-    set {
-      freeswitchPINVOKE.EventConsumer_e_callback_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.EventConsumer_e_callback_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string e_subclass_name {
-    set {
-      freeswitchPINVOKE.EventConsumer_e_subclass_name_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.EventConsumer_e_subclass_name_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public string e_cb_arg {
-    set {
-      freeswitchPINVOKE.EventConsumer_e_cb_arg_set(swigCPtr, value);
-    } 
-    get {
-      string ret = freeswitchPINVOKE.EventConsumer_e_cb_arg_get(swigCPtr);
-      return ret;
-    } 
-  }
-
-  public EventConsumer(string event_name, string subclass_name) : this(freeswitchPINVOKE.new_EventConsumer(event_name, subclass_name), true) {
-  }
-
-  public Event pop(int block) {
-    IntPtr cPtr = freeswitchPINVOKE.EventConsumer_pop(swigCPtr, block);
-    Event ret = (cPtr == IntPtr.Zero) ? null : new Event(cPtr, false);
-    return ret;
-  }
-
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 freeswitch {
-  public static switch_directories SWITCH_GLOBAL_dirs {
-    set {
-      freeswitchPINVOKE.SWITCH_GLOBAL_dirs_set(switch_directories.getCPtr(value));
-    } 
-    get {
-      IntPtr cPtr = freeswitchPINVOKE.SWITCH_GLOBAL_dirs_get();
-      switch_directories ret = (cPtr == IntPtr.Zero) ? null : new switch_directories(cPtr, false);
-      return ret;
-    } 
-  }
-
-  public static int switch_core_db_close(SWIGTYPE_p_sqlite3 db) {
-    int ret = freeswitchPINVOKE.switch_core_db_close(SWIGTYPE_p_sqlite3.getCPtr(db));
-    return ret;
-  }
-
-  public static int switch_core_db_open(string filename, SWIGTYPE_p_p_sqlite3 ppDb) {
-    int ret = freeswitchPINVOKE.switch_core_db_open(filename, SWIGTYPE_p_p_sqlite3.getCPtr(ppDb));
-    return ret;
-  }
-
-  public static SWIGTYPE_p_unsigned_char switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt stmt, int iCol) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), iCol);
-    SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
-    return ret;
-  }
-
-  public static string switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt stmt, int N) {
-    string ret = freeswitchPINVOKE.switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), N);
-    return ret;
-  }
-
-  public static int switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt pStmt) {
-    int ret = freeswitchPINVOKE.switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt));
-    return ret;
-  }
-
-  public static string switch_core_db_errmsg(SWIGTYPE_p_sqlite3 db) {
-    string ret = freeswitchPINVOKE.switch_core_db_errmsg(SWIGTYPE_p_sqlite3.getCPtr(db));
-    return ret;
-  }
-
-  public static int switch_core_db_exec(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int callback, SWIGTYPE_p_void data, ref string errmsg) {
-    int ret = freeswitchPINVOKE.switch_core_db_exec(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(data), ref errmsg);
-    return ret;
-  }
-
-  public static int switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt pStmt) {
-    int ret = freeswitchPINVOKE.switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt));
-    return ret;
-  }
-
-  public static int switch_core_db_prepare(SWIGTYPE_p_sqlite3 db, string zSql, int nBytes, SWIGTYPE_p_p_sqlite3_stmt ppStmt, ref string pzTail) {
-    int ret = freeswitchPINVOKE.switch_core_db_prepare(SWIGTYPE_p_sqlite3.getCPtr(db), zSql, nBytes, SWIGTYPE_p_p_sqlite3_stmt.getCPtr(ppStmt), ref pzTail);
-    return ret;
-  }
-
-  public static int switch_core_db_step(SWIGTYPE_p_sqlite3_stmt stmt) {
-    int ret = freeswitchPINVOKE.switch_core_db_step(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt));
-    return ret;
-  }
-
-  public static int switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt pStmt) {
-    int ret = freeswitchPINVOKE.switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt));
-    return ret;
-  }
-
-  public static int switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt pStmt, int i, int iValue) {
-    int ret = freeswitchPINVOKE.switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue);
-    return ret;
-  }
-
-  public static int switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt pStmt, int i, long iValue) {
-    int ret = freeswitchPINVOKE.switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue);
-    return ret;
-  }
-
-  public static int switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt pStmt, int i, string zData, int nData, SWIGTYPE_p_f_p_void__void xDel) {
-    int ret = freeswitchPINVOKE.switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, zData, nData, SWIGTYPE_p_f_p_void__void.getCPtr(xDel));
-    return ret;
-  }
-
-  public static int switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt pStmt, int i, double dValue) {
-    int ret = freeswitchPINVOKE.switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, dValue);
-    return ret;
-  }
-
-  public static long switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3 db) {
-    long ret = freeswitchPINVOKE.switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3.getCPtr(db));
-    return ret;
-  }
-
-  public static int switch_core_db_get_table(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_p_p_char resultp, SWIGTYPE_p_int nrow, SWIGTYPE_p_int ncolumn, ref string errmsg) {
-    int ret = freeswitchPINVOKE.switch_core_db_get_table(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_p_p_char.getCPtr(resultp), SWIGTYPE_p_int.getCPtr(nrow), SWIGTYPE_p_int.getCPtr(ncolumn), ref errmsg);
-    return ret;
-  }
-
-  public static void switch_core_db_free_table(ref string result) {
-    freeswitchPINVOKE.switch_core_db_free_table(ref result);
-  }
-
-  public static void switch_core_db_free(string z) {
-    freeswitchPINVOKE.switch_core_db_free(z);
-  }
-
-  public static int switch_core_db_changes(SWIGTYPE_p_sqlite3 db) {
-    int ret = freeswitchPINVOKE.switch_core_db_changes(SWIGTYPE_p_sqlite3.getCPtr(db));
-    return ret;
-  }
-
-  public static string switch_mprintf(string zFormat) {
-    string ret = freeswitchPINVOKE.switch_mprintf(zFormat);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_real_pcre switch_regex_compile(string pattern, int options, ref string errorptr, SWIGTYPE_p_int erroroffset, SWIGTYPE_p_unsigned_char tables) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_regex_compile(pattern, options, ref errorptr, SWIGTYPE_p_int.getCPtr(erroroffset), SWIGTYPE_p_unsigned_char.getCPtr(tables));
-    SWIGTYPE_p_real_pcre ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_real_pcre(cPtr, false);
-    return ret;
-  }
-
-  public static int switch_regex_copy_substring(string subject, SWIGTYPE_p_int ovector, int stringcount, int stringnumber, string buffer, int size) {
-    int ret = freeswitchPINVOKE.switch_regex_copy_substring(subject, SWIGTYPE_p_int.getCPtr(ovector), stringcount, stringnumber, buffer, size);
-    return ret;
-  }
-
-  public static void switch_regex_free(SWIGTYPE_p_void data) {
-    freeswitchPINVOKE.switch_regex_free(SWIGTYPE_p_void.getCPtr(data));
-  }
-
-  public static int switch_regex_perform(string field, string expression, SWIGTYPE_p_p_real_pcre new_re, SWIGTYPE_p_int ovector, uint olen) {
-    int ret = freeswitchPINVOKE.switch_regex_perform(field, expression, SWIGTYPE_p_p_real_pcre.getCPtr(new_re), SWIGTYPE_p_int.getCPtr(ovector), olen);
-    return ret;
-  }
-
-  public static void switch_perform_substitution(SWIGTYPE_p_real_pcre re, int match_count, string data, string field_data, string substituted, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_int ovector) {
-    freeswitchPINVOKE.switch_perform_substitution(SWIGTYPE_p_real_pcre.getCPtr(re), match_count, data, field_data, substituted, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_int.getCPtr(ovector));
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-  }
-
-  public static switch_status_t switch_regex_match(string target, string expression) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match(target, expression);
-    return ret;
-  }
-
-  public static switch_status_t switch_regex_match_partial(string target, string expression, SWIGTYPE_p_int partial_match) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match_partial(target, expression, SWIGTYPE_p_int.getCPtr(partial_match));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_media_bug_add(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_time_t stop_time, uint flags, SWIGTYPE_p_p_switch_media_bug new_bug) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_add(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_time_t.getCPtr(stop_time), flags, SWIGTYPE_p_p_switch_media_bug.getCPtr(new_bug));
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static SWIGTYPE_p_void switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug bug) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    return ret;
-  }
-
-  public static switch_frame switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug bug) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
-    switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
-    return ret;
-  }
-
-  public static void switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) {
-    freeswitchPINVOKE.switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame));
-  }
-
-  public static switch_frame switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug bug) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
-    switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_core_session switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug bug) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
-    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
-    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;
-  }
-
-  public static void switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) {
-    freeswitchPINVOKE.switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame));
-  }
-
-  public static switch_status_t switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_media_bug bug) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_media_bug.getCPtr(bug));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug bug) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug.getCPtr(bug));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_media_bug_remove_all(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove_all(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_port_allocator_new(ushort start, ushort end, uint flags, SWIGTYPE_p_p_switch_core_port_allocator new_allocator) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_new(start, end, flags, SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(new_allocator));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator alloc, SWIGTYPE_p_unsigned_short port_ptr) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), SWIGTYPE_p_unsigned_short.getCPtr(port_ptr));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator alloc, ushort port) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), port);
-    return ret;
-  }
-
-  public static void switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator alloc) {
-    freeswitchPINVOKE.switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(alloc));
-  }
-
-  public static switch_status_t switch_core_init(uint flags, switch_bool_t console, ref string err) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init(flags, (int)console, ref err);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_init_and_modload(uint flags, switch_bool_t console, ref string err) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init_and_modload(flags, (int)console, ref err);
-    return ret;
-  }
-
-  public static uint switch_core_session_limit(uint new_limit) {
-    uint ret = freeswitchPINVOKE.switch_core_session_limit(new_limit);
-    return ret;
-  }
-
-  public static uint switch_core_sessions_per_second(uint new_limit) {
-    uint ret = freeswitchPINVOKE.switch_core_sessions_per_second(new_limit);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_destroy() {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_destroy();
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_signal_lock(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_signal_lock(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_signal_unlock(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_signal_unlock(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_read_lock(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_lock(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static void switch_core_session_write_lock(SWIGTYPE_p_switch_core_session session) {
-    freeswitchPINVOKE.switch_core_session_write_lock(SWIGTYPE_p_switch_core_session.getCPtr(session));
-  }
-
-  public static void switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session session) {
-    freeswitchPINVOKE.switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session.getCPtr(session));
-  }
-
-  public static int switch_core_add_state_handler(switch_state_handler_table state_handler) {
-    int ret = freeswitchPINVOKE.switch_core_add_state_handler(switch_state_handler_table.getCPtr(state_handler));
-    return ret;
-  }
-
-  public static void switch_core_remove_state_handler(switch_state_handler_table state_handler) {
-    freeswitchPINVOKE.switch_core_remove_state_handler(switch_state_handler_table.getCPtr(state_handler));
-  }
-
-  public static switch_state_handler_table switch_core_get_state_handler(int index) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_get_state_handler(index);
-    switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false);
-    return ret;
-  }
-
-  public static void switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t pool, string tag) {
-    freeswitchPINVOKE.switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t.getCPtr(pool), tag);
-  }
-
-  public static switch_status_t switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line);
-    return ret;
-  }
-
-  public static void switch_core_session_run(SWIGTYPE_p_switch_core_session session) {
-    freeswitchPINVOKE.switch_core_session_run(SWIGTYPE_p_switch_core_session.getCPtr(session));
-  }
-
-  public static uint switch_core_session_running(SWIGTYPE_p_switch_core_session session) {
-    uint ret = freeswitchPINVOKE.switch_core_session_running(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static SWIGTYPE_p_void switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t memory, string file, string func, int line) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line);
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static SWIGTYPE_p_void switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line);
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static SWIGTYPE_p_void switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line);
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static string switch_core_perform_permanent_strdup(string todup, string file, string func, int line) {
-    string ret = freeswitchPINVOKE.switch_core_perform_permanent_strdup(todup, file, func, line);
-    return ret;
-  }
-
-  public static string switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session session, string todup, string file, string func, int line) {
-    string ret = freeswitchPINVOKE.switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session.getCPtr(session), todup, file, func, line);
-    return ret;
-  }
-
-  public static string switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t pool, string todup, string file, string func, int line) {
-    string ret = freeswitchPINVOKE.switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), todup, file, func, line);
-    return ret;
-  }
-
-  public static string switch_core_session_sprintf(SWIGTYPE_p_switch_core_session session, string fmt) {
-    string ret = freeswitchPINVOKE.switch_core_session_sprintf(SWIGTYPE_p_switch_core_session.getCPtr(session), fmt);
-    return ret;
-  }
-
-  public static string switch_core_sprintf(SWIGTYPE_p_apr_pool_t pool, string fmt) {
-    string ret = freeswitchPINVOKE.switch_core_sprintf(SWIGTYPE_p_apr_pool_t.getCPtr(pool), fmt);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_apr_pool_t switch_core_session_get_pool(SWIGTYPE_p_switch_core_session session) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_pool(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_core_session switch_core_session_request(switch_endpoint_interface endpoint_interface, SWIGTYPE_p_p_apr_pool_t pool) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request(switch_endpoint_interface.getCPtr(endpoint_interface), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool));
-    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
-    return ret;
-  }
-
-  public static void switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session session, string file, string func, int line) {
-    freeswitchPINVOKE.switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session.getCPtr(session), file, func, line);
-  }
-
-  public static uint switch_core_session_count() {
-    uint ret = freeswitchPINVOKE.switch_core_session_count();
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_core_session_id() {
-    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_id(), true);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_core_session switch_core_session_request_by_name(string endpoint_name, SWIGTYPE_p_p_apr_pool_t pool) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_by_name(endpoint_name, SWIGTYPE_p_p_apr_pool_t.getCPtr(pool));
-    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_channel switch_core_session_get_channel(SWIGTYPE_p_switch_core_session session) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_channel(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    SWIGTYPE_p_switch_channel ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_channel(cPtr, false);
-    return ret;
-  }
-
-  public static void switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session session) {
-    freeswitchPINVOKE.switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session));
-  }
-
-  public static string switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session session) {
-    string ret = freeswitchPINVOKE.switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static string switch_core_get_uuid() {
-    string ret = freeswitchPINVOKE.switch_core_get_uuid();
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_core_session switch_core_session_locate(string uuid_str) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_locate(uuid_str);
-    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
-    return ret;
-  }
-
-  public static string switch_core_get_variable(string varname) {
-    string ret = freeswitchPINVOKE.switch_core_get_variable(varname);
-    return ret;
-  }
-
-  public static void switch_core_set_variable(string varname, string value) {
-    freeswitchPINVOKE.switch_core_set_variable(varname, value);
-  }
-
-  public static void switch_core_dump_variables(switch_stream_handle stream) {
-    freeswitchPINVOKE.switch_core_dump_variables(switch_stream_handle.getCPtr(stream));
-  }
-
-  public static void switch_core_session_hupall(switch_call_cause_t cause) {
-    freeswitchPINVOKE.switch_core_session_hupall((int)cause);
-  }
-
-  public static void switch_core_session_hupall_matching_var(string var_name, string var_val, switch_call_cause_t cause) {
-    freeswitchPINVOKE.switch_core_session_hupall_matching_var(var_name, var_val, (int)cause);
-  }
-
-  public static void switch_core_session_hupall_endpoint(switch_endpoint_interface endpoint_interface, switch_call_cause_t cause) {
-    freeswitchPINVOKE.switch_core_session_hupall_endpoint(switch_endpoint_interface.getCPtr(endpoint_interface), (int)cause);
-  }
-
-  public static switch_status_t switch_core_session_message_send(string uuid_str, switch_core_session_message message) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_message_send(uuid_str, switch_core_session_message.getCPtr(message));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_queue_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session_message message) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session_message.getCPtr(message));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_flush_message(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_flush_message(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_event_send(string uuid_str, SWIGTYPE_p_p_switch_event arg1) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_event_send(uuid_str, SWIGTYPE_p_p_switch_event.getCPtr(arg1));
-    return ret;
-  }
-
-  public static switch_app_log switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session session) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_exec(SWIGTYPE_p_switch_core_session session, switch_application_interface application_interface, string arg) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_exec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_application_interface.getCPtr(application_interface), arg);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_execute_application(SWIGTYPE_p_switch_core_session session, string app, string arg) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_application(SWIGTYPE_p_switch_core_session.getCPtr(session), app, arg);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session session, string exten, string dialplan, string context) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session.getCPtr(session), exten, dialplan, context);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
-    return ret;
-  }
-
-  public static SWIGTYPE_p_void switch_core_session_get_private(SWIGTYPE_p_switch_core_session session) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_private(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_set_private(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_private(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info));
-    return ret;
-  }
-
-  public static int switch_core_session_add_stream(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) {
-    int ret = freeswitchPINVOKE.switch_core_session_add_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info));
-    return ret;
-  }
-
-  public static SWIGTYPE_p_void switch_core_session_get_stream(SWIGTYPE_p_switch_core_session session, int index) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), index);
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    return ret;
-  }
-
-  public static int switch_core_session_get_stream_count(SWIGTYPE_p_switch_core_session session) {
-    int ret = freeswitchPINVOKE.switch_core_session_get_stream_count(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));
-  }
-
-  public static void switch_core_thread_session_end(switch_core_thread_session thread_session) {
-    freeswitchPINVOKE.switch_core_thread_session_end(switch_core_thread_session.getCPtr(thread_session));
-  }
-
-  public static void switch_core_service_session(SWIGTYPE_p_switch_core_session session, switch_core_thread_session thread_session, int stream_id) {
-    freeswitchPINVOKE.switch_core_service_session(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_thread_session.getCPtr(thread_session), stream_id);
-  }
-
-  public static switch_call_cause_t switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session session, switch_event var_event, string endpoint_name, switch_caller_profile caller_profile, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, uint flags) {
-    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(var_event), endpoint_name, switch_caller_profile.getCPtr(caller_profile), SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), flags);
-    return ret;
-  }
-
-  public static switch_call_cause_t switch_core_session_resurrect_channel(string endpoint_name, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, SWIGTYPE_p_void data) {
-    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_resurrect_channel(endpoint_name, SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_void.getCPtr(data));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_receive_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_queue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
-    return ret;
-  }
-
-  public static uint switch_core_session_event_count(SWIGTYPE_p_switch_core_session session) {
-    uint ret = freeswitchPINVOKE.switch_core_session_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
-    return ret;
-  }
-
-  public static uint switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session session) {
-    uint ret = freeswitchPINVOKE.switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
-    return ret;
-  }
-
-  public static uint switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session session) {
-    uint ret = freeswitchPINVOKE.switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id);
-    return ret;
-  }
-
-  public static void switch_core_session_reset(SWIGTYPE_p_switch_core_session session, switch_bool_t flush_dtmf) {
-    freeswitchPINVOKE.switch_core_session_reset(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)flush_dtmf);
-  }
-
-  public static switch_status_t switch_core_session_write_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session session, string file, string func, int line, switch_signal_t sig) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), file, func, line, (int)sig);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session session, string dtmf_string) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session.getCPtr(session), dtmf_string);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_hash_init(SWIGTYPE_p_p_switch_hash hash, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_init(SWIGTYPE_p_p_switch_hash.getCPtr(hash), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_hash_destroy(SWIGTYPE_p_p_switch_hash hash) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_destroy(SWIGTYPE_p_p_switch_hash.getCPtr(hash));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_hash_insert(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data, SWIGTYPE_p_switch_mutex_t mutex) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_hash_delete(SWIGTYPE_p_switch_hash hash, string key) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete(SWIGTYPE_p_switch_hash.getCPtr(hash), key);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_hash_delete_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_switch_mutex_t mutex) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
-    return ret;
-  }
-
-  public static SWIGTYPE_p_void switch_core_hash_find(SWIGTYPE_p_switch_hash hash, string key) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find(SWIGTYPE_p_switch_hash.getCPtr(hash), key);
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_void switch_core_hash_find_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_switch_mutex_t mutex) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_HashElem switch_hash_first(string depricate_me, SWIGTYPE_p_switch_hash hash) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_hash_first(depricate_me, SWIGTYPE_p_switch_hash.getCPtr(hash));
-    SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_HashElem switch_hash_next(SWIGTYPE_p_HashElem hi) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_hash_next(SWIGTYPE_p_HashElem.getCPtr(hi));
-    SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false);
-    return ret;
-  }
-
-  public static void switch_hash_this(SWIGTYPE_p_HashElem hi, SWIGTYPE_p_p_void key, SWIGTYPE_p_switch_ssize_t klen, SWIGTYPE_p_p_void val) {
-    freeswitchPINVOKE.switch_hash_this(SWIGTYPE_p_HashElem.getCPtr(hi), SWIGTYPE_p_p_void.getCPtr(key), SWIGTYPE_p_switch_ssize_t.getCPtr(klen), SWIGTYPE_p_p_void.getCPtr(val));
-  }
-
-  public static switch_status_t switch_core_timer_init(switch_timer timer, string timer_name, int interval, int samples, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_init(switch_timer.getCPtr(timer), timer_name, interval, samples, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_timer_next(switch_timer timer) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_next(switch_timer.getCPtr(timer));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_timer_step(switch_timer timer) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_step(switch_timer.getCPtr(timer));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_timer_sync(switch_timer timer) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_sync(switch_timer.getCPtr(timer));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_timer_check(switch_timer timer, switch_bool_t step) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_check(switch_timer.getCPtr(timer), (int)step);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_timer_destroy(switch_timer timer) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_destroy(switch_timer.getCPtr(timer));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_codec_init(switch_codec codec, string codec_name, string fmtp, uint rate, int ms, int channels, uint flags, switch_codec_settings codec_settings, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_init(switch_codec.getCPtr(codec), codec_name, fmtp, rate, ms, channels, flags, switch_codec_settings.getCPtr(codec_settings), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_codec_copy(switch_codec codec, switch_codec new_codec, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_copy(switch_codec.getCPtr(codec), switch_codec.getCPtr(new_codec), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_codec_encode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void decoded_data, uint decoded_data_len, uint decoded_rate, SWIGTYPE_p_void encoded_data, SWIGTYPE_p_unsigned_long encoded_data_len, SWIGTYPE_p_unsigned_long encoded_rate, SWIGTYPE_p_unsigned_int flag) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_encode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(decoded_data), decoded_data_len, decoded_rate, SWIGTYPE_p_void.getCPtr(encoded_data), SWIGTYPE_p_unsigned_long.getCPtr(encoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(encoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_codec_decode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void encoded_data, uint encoded_data_len, uint encoded_rate, SWIGTYPE_p_void decoded_data, SWIGTYPE_p_unsigned_long decoded_data_len, SWIGTYPE_p_unsigned_long decoded_rate, SWIGTYPE_p_unsigned_int flag) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_decode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(encoded_data), encoded_data_len, encoded_rate, SWIGTYPE_p_void.getCPtr(decoded_data), SWIGTYPE_p_unsigned_long.getCPtr(decoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(decoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_codec_destroy(switch_codec codec) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_destroy(switch_codec.getCPtr(codec));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
-    return ret;
-  }
-
-  public static void switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session session) {
-    freeswitchPINVOKE.switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
-  }
-
-  public static switch_codec switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session session) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
-    return ret;
-  }
-
-  public static switch_codec switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session session) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
-    return ret;
-  }
-
-  public static switch_codec switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session session) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
-    return ret;
-  }
-
-  public static switch_codec switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session session) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
-    return ret;
-  }
-
-  public static switch_codec switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session session) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
-    return ret;
-  }
-
-  public static switch_codec switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session session) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_sqlite3 switch_core_db_open_file(string filename) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_db_open_file(filename);
-    SWIGTYPE_p_sqlite3 ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_sqlite3(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3 db, string sql, uint retries) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3.getCPtr(db), sql, retries);
-    return ret;
-  }
-
-  public static void switch_core_db_test_reactive(SWIGTYPE_p_sqlite3 db, string test_sql, string drop_sql, string reactive_sql) {
-    freeswitchPINVOKE.switch_core_db_test_reactive(SWIGTYPE_p_sqlite3.getCPtr(db), test_sql, drop_sql, reactive_sql);
-  }
-
-  public static switch_status_t switch_core_perform_file_open(string file, string func, int line, switch_file_handle fh, string file_path, byte channels, uint rate, uint flags, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_file_open(file, func, line, switch_file_handle.getCPtr(fh), file_path, channels, rate, flags, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_file_read(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_read(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_file_write(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_write(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_file_seek(switch_file_handle fh, SWIGTYPE_p_unsigned_int cur_pos, long samples, int whence) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_seek(switch_file_handle.getCPtr(fh), SWIGTYPE_p_unsigned_int.getCPtr(cur_pos), samples, whence);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_file_set_string(switch_file_handle fh, switch_audio_col_t col, string arg2) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_set_string(switch_file_handle.getCPtr(fh), (int)col, arg2);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_file_get_string(switch_file_handle fh, switch_audio_col_t col, ref string arg2) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_get_string(switch_file_handle.getCPtr(fh), (int)col, ref arg2);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_file_close(switch_file_handle fh) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_close(switch_file_handle.getCPtr(fh));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_speech_open(switch_speech_handle sh, string module_name, string voice_name, uint rate, uint interval, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_open(switch_speech_handle.getCPtr(sh), module_name, voice_name, rate, interval, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_speech_feed_tts(switch_speech_handle sh, string text, SWIGTYPE_p_unsigned_long flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_feed_tts(switch_speech_handle.getCPtr(sh), text, SWIGTYPE_p_unsigned_long.getCPtr(flags));
-    return ret;
-  }
-
-  public static void switch_core_speech_flush_tts(switch_speech_handle sh) {
-    freeswitchPINVOKE.switch_core_speech_flush_tts(switch_speech_handle.getCPtr(sh));
-  }
-
-  public static void switch_core_speech_text_param_tts(switch_speech_handle sh, string param, string val) {
-    freeswitchPINVOKE.switch_core_speech_text_param_tts(switch_speech_handle.getCPtr(sh), param, val);
-  }
-
-  public static void switch_core_speech_numeric_param_tts(switch_speech_handle sh, string param, int val) {
-    freeswitchPINVOKE.switch_core_speech_numeric_param_tts(switch_speech_handle.getCPtr(sh), param, val);
-  }
-
-  public static void switch_core_speech_float_param_tts(switch_speech_handle sh, string param, double val) {
-    freeswitchPINVOKE.switch_core_speech_float_param_tts(switch_speech_handle.getCPtr(sh), param, val);
-  }
-
-  public static switch_status_t switch_core_speech_read_tts(switch_speech_handle sh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen, SWIGTYPE_p_unsigned_long rate, SWIGTYPE_p_unsigned_long flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_read_tts(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen), SWIGTYPE_p_unsigned_long.getCPtr(rate), SWIGTYPE_p_unsigned_long.getCPtr(flags));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_speech_close(switch_speech_handle sh, SWIGTYPE_p_unsigned_long flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_close(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_unsigned_long.getCPtr(flags));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_asr_open(switch_asr_handle ah, string module_name, string codec, int rate, string dest, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_open(switch_asr_handle.getCPtr(ah), module_name, codec, rate, dest, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_asr_close(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_close(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_asr_feed(switch_asr_handle ah, SWIGTYPE_p_void data, uint len, SWIGTYPE_p_unsigned_long flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_feed(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_void.getCPtr(data), len, SWIGTYPE_p_unsigned_long.getCPtr(flags));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_asr_check_results(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_check_results(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_asr_get_results(switch_asr_handle ah, ref string xmlstr, SWIGTYPE_p_unsigned_long flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_get_results(switch_asr_handle.getCPtr(ah), ref xmlstr, SWIGTYPE_p_unsigned_long.getCPtr(flags));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_asr_load_grammar(switch_asr_handle ah, string grammar, string path) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_load_grammar(switch_asr_handle.getCPtr(ah), grammar, path);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_asr_unload_grammar(switch_asr_handle ah, string grammar) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_unload_grammar(switch_asr_handle.getCPtr(ah), grammar);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_asr_pause(switch_asr_handle ah) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_pause(switch_asr_handle.getCPtr(ah));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_asr_resume(switch_asr_handle ah) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_resume(switch_asr_handle.getCPtr(ah));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_directory_open(switch_directory_handle dh, string module_name, string source, string dsn, string passwd, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_open(switch_directory_handle.getCPtr(dh), module_name, source, dsn, passwd, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_directory_query(switch_directory_handle dh, string arg1, string query) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_query(switch_directory_handle.getCPtr(dh), arg1, query);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_directory_next(switch_directory_handle dh) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next(switch_directory_handle.getCPtr(dh));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_directory_next_pair(switch_directory_handle dh, ref string var, ref string val) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next_pair(switch_directory_handle.getCPtr(dh), ref var, ref val);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_directory_close(switch_directory_handle dh) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_close(switch_directory_handle.getCPtr(dh));
-    return ret;
-  }
-
-  public static SWIGTYPE_p_FILE switch_core_data_channel(switch_text_channel_t channel) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_data_channel((int)channel);
-    SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false);
-    return ret;
-  }
-
-  public static switch_bool_t switch_core_ready() {
-    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_ready();
-    return ret;
-  }
-
-  public static uint switch_core_flags() {
-    uint ret = freeswitchPINVOKE.switch_core_flags();
-    return ret;
-  }
-
-  public static switch_status_t switch_core_management_exec(string relative_oid, switch_management_action_t action, string data, SWIGTYPE_p_switch_size_t datalen) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_management_exec(relative_oid, (int)action, data, SWIGTYPE_p_switch_size_t.getCPtr(datalen));
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static int set_high_priority() {
-    int ret = freeswitchPINVOKE.set_high_priority();
-    return ret;
-  }
-
-  public static int change_user_group(string user, string group) {
-    int ret = freeswitchPINVOKE.change_user_group(user, group);
-    return ret;
-  }
-
-  public static void switch_core_runtime_loop(int bg) {
-    freeswitchPINVOKE.switch_core_runtime_loop(bg);
-  }
-
-  public static switch_status_t switch_core_set_console(string console) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_set_console(console);
-    return ret;
-  }
-
-  public static void switch_core_measure_time(SWIGTYPE_p_switch_time_t total_ms, switch_core_time_duration duration) {
-    freeswitchPINVOKE.switch_core_measure_time(SWIGTYPE_p_switch_time_t.getCPtr(total_ms), switch_core_time_duration.getCPtr(duration));
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-  }
-
-  public static SWIGTYPE_p_switch_time_t switch_core_uptime() {
-    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_core_uptime(), true);
-    return ret;
-  }
-
-  public static int switch_core_session_ctl(switch_session_ctl_t cmd, SWIGTYPE_p_int val) {
-    int ret = freeswitchPINVOKE.switch_core_session_ctl((int)cmd, SWIGTYPE_p_int.getCPtr(val));
-    return ret;
-  }
-
-  public static SWIGTYPE_p_FILE switch_core_get_console() {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_get_console();
-    SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false);
-    return ret;
-  }
-
-  public static void switch_core_launch_thread(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void func, SWIGTYPE_p_void obj, SWIGTYPE_p_apr_pool_t pool) {
-    freeswitchPINVOKE.switch_core_launch_thread(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void.getCPtr(func), SWIGTYPE_p_void.getCPtr(obj), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-  }
-
-  public static void switch_core_set_globals() {
-    freeswitchPINVOKE.switch_core_set_globals();
-  }
-
-  public static byte switch_core_session_compare(SWIGTYPE_p_switch_core_session a, SWIGTYPE_p_switch_core_session b) {
-    byte ret = freeswitchPINVOKE.switch_core_session_compare(SWIGTYPE_p_switch_core_session.getCPtr(a), SWIGTYPE_p_switch_core_session.getCPtr(b));
-    return ret;
-  }
-
-  public static byte switch_core_session_check_interface(SWIGTYPE_p_switch_core_session session, switch_endpoint_interface endpoint_interface) {
-    byte ret = freeswitchPINVOKE.switch_core_session_check_interface(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_endpoint_interface.getCPtr(endpoint_interface));
-    return ret;
-  }
-
-  public static SWIGTYPE_p_HashElem switch_core_mime_index() {
-    IntPtr cPtr = freeswitchPINVOKE.switch_core_mime_index();
-    SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false);
-    return ret;
-  }
-
-  public static string switch_core_mime_ext2type(string ext) {
-    string ret = freeswitchPINVOKE.switch_core_mime_ext2type(ext);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_mime_add_type(string type, string ext) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_mime_add_type(type, ext);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_loadable_module_interface switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t pool, string name) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t.getCPtr(pool), name);
-    SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_void switch_loadable_module_create_interface(SWIGTYPE_p_switch_loadable_module_interface mod, switch_module_interface_name_t iname) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_interface(SWIGTYPE_p_switch_loadable_module_interface.getCPtr(mod), (int)iname);
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_time_t switch_timestamp_now() {
-    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_timestamp_now(), true);
-    return ret;
-  }
-
-  public static void switch_core_memory_reclaim() {
-    freeswitchPINVOKE.switch_core_memory_reclaim();
-  }
-
-  public static void switch_core_memory_reclaim_events() {
-    freeswitchPINVOKE.switch_core_memory_reclaim_events();
-  }
-
-  public static void switch_core_memory_reclaim_logger() {
-    freeswitchPINVOKE.switch_core_memory_reclaim_logger();
-  }
-
-  public static void switch_core_memory_reclaim_all() {
-    freeswitchPINVOKE.switch_core_memory_reclaim_all();
-  }
-
-  public static void switch_core_setrlimits() {
-    freeswitchPINVOKE.switch_core_setrlimits();
-  }
-
-  public static void switch_time_sync() {
-    freeswitchPINVOKE.switch_time_sync();
-  }
-
-  public static SWIGTYPE_p_time_t switch_timestamp(SWIGTYPE_p_time_t t) {
-    SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(freeswitchPINVOKE.switch_timestamp(SWIGTYPE_p_time_t.getCPtr(t)), true);
-    return ret;
-  }
-
-  public static switch_status_t switch_strftime_tz(string tz, string format, string date, uint len) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_strftime_tz(tz, format, date, len);
-    return ret;
-  }
-
-  public static void switch_load_network_lists(switch_bool_t reload) {
-    freeswitchPINVOKE.switch_load_network_lists((int)reload);
-  }
-
-  public static switch_bool_t switch_check_network_list_ip_token(string ip_str, string list_name, ref string token) {
-    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_check_network_list_ip_token(ip_str, list_name, ref token);
-    return ret;
-  }
-
-  public static void switch_time_set_monotonic(switch_bool_t enable) {
-    freeswitchPINVOKE.switch_time_set_monotonic((int)enable);
-  }
-
-  public static uint switch_core_max_dtmf_duration(uint duration) {
-    uint ret = freeswitchPINVOKE.switch_core_max_dtmf_duration(duration);
-    return ret;
-  }
-
-  public static uint switch_core_default_dtmf_duration(uint duration) {
-    uint ret = freeswitchPINVOKE.switch_core_default_dtmf_duration(duration);
-    return ret;
-  }
-
-  public static switch_status_t switch_console_set_complete(string arg0) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_complete(arg0);
-    return ret;
-  }
-
-  public static switch_status_t switch_console_set_alias(string arg0) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_alias(arg0);
-    return ret;
-  }
-
-  public static int switch_system(string cmd, switch_bool_t wait) {
-    int ret = freeswitchPINVOKE.switch_system(cmd, (int)wait);
-    return ret;
-  }
-
-  public static void switch_console_loop() {
-    freeswitchPINVOKE.switch_console_loop();
-  }
-
-  public static switch_status_t switch_console_stream_raw_write(switch_stream_handle handle, SWIGTYPE_p_unsigned_char data, SWIGTYPE_p_switch_size_t datalen) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_stream_raw_write(switch_stream_handle.getCPtr(handle), SWIGTYPE_p_unsigned_char.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen));
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static switch_bool_t switch_is_moh(string s) {
-    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_moh(s);
-    return ret;
-  }
-
-  public static switch_status_t switch_b64_encode(SWIGTYPE_p_unsigned_char arg0, SWIGTYPE_p_switch_size_t ilen, SWIGTYPE_p_unsigned_char arg2, SWIGTYPE_p_switch_size_t olen) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_b64_encode(SWIGTYPE_p_unsigned_char.getCPtr(arg0), SWIGTYPE_p_switch_size_t.getCPtr(ilen), SWIGTYPE_p_unsigned_char.getCPtr(arg2), SWIGTYPE_p_switch_size_t.getCPtr(olen));
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_b64_decode(string arg0, string arg1, SWIGTYPE_p_switch_size_t olen) {
-    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_b64_decode(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(olen)), true);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static string switch_amp_encode(string s, string buf, SWIGTYPE_p_switch_size_t len) {
-    string ret = freeswitchPINVOKE.switch_amp_encode(s, buf, SWIGTYPE_p_switch_size_t.getCPtr(len));
-    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;
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_fd_read_line(int fd, string buf, SWIGTYPE_p_switch_size_t len) {
-    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_fd_read_line(fd, buf, SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static switch_status_t switch_find_local_ip(string buf, int len, int family) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_find_local_ip(buf, len, family);
-    return ret;
-  }
-
-  public static string get_addr(string buf, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_sockaddr sa, SWIGTYPE_p_socklen_t salen) {
-    string ret = freeswitchPINVOKE.get_addr(buf, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_sockaddr.getCPtr(sa), SWIGTYPE_p_socklen_t.getCPtr(salen));
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static ushort get_port(SWIGTYPE_p_sockaddr sa) {
-    ushort ret = freeswitchPINVOKE.get_port(SWIGTYPE_p_sockaddr.getCPtr(sa));
-    return ret;
-  }
-
-  public static int switch_build_uri(string uri, SWIGTYPE_p_switch_size_t size, string scheme, string user, SWIGTYPE_p_switch_sockaddr_t sa, int flags) {
-    int ret = freeswitchPINVOKE.switch_build_uri(uri, SWIGTYPE_p_switch_size_t.getCPtr(size), scheme, user, SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa), flags);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static string switch_priority_name(switch_priority_t priority) {
-    string ret = freeswitchPINVOKE.switch_priority_name((int)priority);
-    return ret;
-  }
-
-  public static char switch_rfc2833_to_char(int arg0) {
-    char ret = freeswitchPINVOKE.switch_rfc2833_to_char(arg0);
-    return ret;
-  }
-
-  public static byte switch_char_to_rfc2833(char key) {
-    byte ret = freeswitchPINVOKE.switch_char_to_rfc2833(key);
-    return ret;
-  }
-
-  public static string switch_clean_string(string s) {
-    string ret = freeswitchPINVOKE.switch_clean_string(s);
-    return ret;
-  }
-
-  public static string switch_safe_strdup(string it) {
-    string ret = freeswitchPINVOKE.switch_safe_strdup(it);
-    return ret;
-  }
-
-  public static switch_bool_t switch_strstr(string s, string q) {
-    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_strstr(s, q);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_time_t switch_str_time(string arg0) {
-    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_str_time(arg0), true);
-    return ret;
-  }
-
-  public static uint switch_separate_string(string buf, char delim, ref string array, uint arraylen) {
-    uint ret = freeswitchPINVOKE.switch_separate_string(buf, delim, ref array, arraylen);
-    return ret;
-  }
-
-  public static switch_bool_t switch_is_number(string str) {
-    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_number(str);
-    return ret;
-  }
-
-  public static string switch_strip_spaces(string str) {
-    string ret = freeswitchPINVOKE.switch_strip_spaces(str);
-    return ret;
-  }
-
-  public static string switch_separate_paren_args(string str) {
-    string ret = freeswitchPINVOKE.switch_separate_paren_args(str);
-    return ret;
-  }
-
-  public static string switch_stristr(string instr, string str) {
-    string ret = freeswitchPINVOKE.switch_stristr(instr, str);
-    return ret;
-  }
-
-  public static switch_bool_t switch_is_lan_addr(string ip) {
-    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_lan_addr(ip);
-    return ret;
-  }
-
-  public static string switch_replace_char(string str, char from, char to, switch_bool_t dup) {
-    string ret = freeswitchPINVOKE.switch_replace_char(str, from, to, (int)dup);
-    return ret;
-  }
-
-  public static switch_bool_t switch_ast2regex(string pat, string rbuf, uint len) {
-    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_ast2regex(pat, rbuf, len);
-    return ret;
-  }
-
-  public static string switch_escape_char(SWIGTYPE_p_apr_pool_t pool, string arg1, string delim, char esc) {
-    string ret = freeswitchPINVOKE.switch_escape_char(SWIGTYPE_p_apr_pool_t.getCPtr(pool), arg1, delim, esc);
-    return ret;
-  }
-
-  public static int switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t poll, int ms) {
-    int ret = freeswitchPINVOKE.switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t.getCPtr(poll), ms);
-    return ret;
-  }
-
-  public static string switch_cut_path(string arg0) {
-    string ret = freeswitchPINVOKE.switch_cut_path(arg0);
-    return ret;
-  }
-
-  public static string switch_string_replace(string arg0, string search, string replace) {
-    string ret = freeswitchPINVOKE.switch_string_replace(arg0, search, replace);
-    return ret;
-  }
-
-  public static switch_status_t switch_string_match(string arg0, uint string_len, string search, uint search_len) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_string_match(arg0, string_len, search, search_len);
-    return ret;
-  }
-
-  public static uint switch_url_encode(string url, string buf, uint len) {
-    uint ret = freeswitchPINVOKE.switch_url_encode(url, buf, len);
-    return ret;
-  }
-
-  public static string switch_url_decode(string s) {
-    string ret = freeswitchPINVOKE.switch_url_decode(s);
-    return ret;
-  }
-
-  public static switch_bool_t switch_simple_email(string to, string from, string headers, string body, string file) {
-    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_simple_email(to, from, headers, body, file);
-    return ret;
-  }
-
-  public static string switch_find_end_paren(string s, char open, char close) {
-    string ret = freeswitchPINVOKE.switch_find_end_paren(s, open, close);
-    return ret;
-  }
-
-  public static int switch_parse_cidr(string arg0, SWIGTYPE_p_unsigned_long ip, SWIGTYPE_p_unsigned_long mask, SWIGTYPE_p_unsigned_long bitp) {
-    int ret = freeswitchPINVOKE.switch_parse_cidr(arg0, SWIGTYPE_p_unsigned_long.getCPtr(ip), SWIGTYPE_p_unsigned_long.getCPtr(mask), SWIGTYPE_p_unsigned_long.getCPtr(bitp));
-    return ret;
-  }
-
-  public static switch_status_t switch_network_list_create(SWIGTYPE_p_p_switch_network_list list, switch_bool_t default_type, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_create(SWIGTYPE_p_p_switch_network_list.getCPtr(list), (int)default_type, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static switch_status_t switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list list, string cidr_str, switch_bool_t ok, string token) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list.getCPtr(list), cidr_str, (int)ok, token);
-    return ret;
-  }
-
-  public static switch_status_t switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list list, string host, string mask_str, switch_bool_t ok) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list.getCPtr(list), host, mask_str, (int)ok);
-    return ret;
-  }
-
-  public static switch_bool_t switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list list, uint ip, ref string token) {
-    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list.getCPtr(list), ip, ref token);
-    return ret;
-  }
-
-  public static switch_caller_extension switch_caller_extension_new(SWIGTYPE_p_switch_core_session session, string extension_name, string extension_number) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_new(SWIGTYPE_p_switch_core_session.getCPtr(session), extension_name, extension_number);
-    switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension new_ext, switch_caller_extension orig, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension.getCPtr(new_ext), switch_caller_extension.getCPtr(orig), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static void switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session session, switch_caller_extension caller_extension, string application_name, string extra_data) {
-    freeswitchPINVOKE.switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_extension.getCPtr(caller_extension), application_name, extra_data);
-  }
-
-  public static string switch_caller_get_field_by_name(switch_caller_profile caller_profile, string name) {
-    string ret = freeswitchPINVOKE.switch_caller_get_field_by_name(switch_caller_profile.getCPtr(caller_profile), name);
-    return ret;
-  }
-
-  public static switch_caller_profile switch_caller_profile_new(SWIGTYPE_p_apr_pool_t pool, string username, string dialplan, string caller_id_name, string caller_id_number, string network_addr, string ani, string aniii, string rdnis, string source, string context, string destination_number) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), username, dialplan, caller_id_name, caller_id_number, network_addr, ani, aniii, rdnis, source, context, destination_number);
-    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
-    return ret;
-  }
-
-  public static switch_caller_profile switch_caller_profile_clone(SWIGTYPE_p_switch_core_session session, switch_caller_profile tocopy) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_clone(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_profile.getCPtr(tocopy));
-    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
-    return ret;
-  }
-
-  public static switch_caller_profile switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t pool, switch_caller_profile tocopy) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), switch_caller_profile.getCPtr(tocopy));
-    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
-    return ret;
-  }
-
-  public static void switch_caller_profile_event_set_data(switch_caller_profile caller_profile, string prefix, switch_event arg2) {
-    freeswitchPINVOKE.switch_caller_profile_event_set_data(switch_caller_profile.getCPtr(caller_profile), prefix, switch_event.getCPtr(arg2));
-  }
-
-  public static switch_channel_state_t switch_channel_get_state(SWIGTYPE_p_switch_channel channel) {
-    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_state(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    return ret;
-  }
-
-  public static switch_channel_state_t switch_channel_get_running_state(SWIGTYPE_p_switch_channel channel) {
-    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    return ret;
-  }
-
-  public static byte switch_channel_ready(SWIGTYPE_p_switch_channel channel) {
-    byte ret = freeswitchPINVOKE.switch_channel_ready(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    return ret;
-  }
-
-  public static void switch_channel_wait_for_state(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_channel other_channel, switch_channel_state_t want_state) {
-    freeswitchPINVOKE.switch_channel_wait_for_state(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_channel.getCPtr(other_channel), (int)want_state);
-  }
-
-  public static switch_status_t switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel channel, uint want_flag, switch_bool_t pres, uint to, SWIGTYPE_p_switch_channel super_channel) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), want_flag, (int)pres, to, SWIGTYPE_p_switch_channel.getCPtr(super_channel));
-    return ret;
-  }
-
-  public static switch_channel_state_t switch_channel_perform_set_state(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_channel_state_t state) {
-    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_state(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)state);
-    return ret;
-  }
-
-  public static switch_channel_state_t switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel channel, switch_channel_state_t state, string file, string func, int line) {
-    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)state, file, func, line);
-    return ret;
-  }
-
-  public static switch_call_cause_t switch_channel_str2cause(string str) {
-    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_str2cause(str);
-    return ret;
-  }
-
-  public static switch_call_cause_t switch_channel_get_cause(SWIGTYPE_p_switch_channel channel) {
-    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    return ret;
-  }
-
-  public static switch_call_cause_t switch_channel_cause_q850(switch_call_cause_t cause) {
-    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_cause_q850((int)cause);
-    return ret;
-  }
-
-  public static switch_call_cause_t switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel channel) {
-    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    return ret;
-  }
-
-  public static string switch_channel_cause2str(switch_call_cause_t cause) {
-    string ret = freeswitchPINVOKE.switch_channel_cause2str((int)cause);
-    return ret;
-  }
-
-  public static switch_channel_timetable switch_channel_get_timetable(SWIGTYPE_p_switch_channel channel) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_timetable(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_alloc(SWIGTYPE_p_p_switch_channel channel, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_alloc(SWIGTYPE_p_p_switch_channel.getCPtr(channel), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_init(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_core_session session, switch_channel_state_t state, uint flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_init(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_core_session.getCPtr(session), (int)state, flags);
-    return ret;
-  }
-
-  public static void switch_channel_presence(SWIGTYPE_p_switch_channel channel, string rpid, string status, string id) {
-    freeswitchPINVOKE.switch_channel_presence(SWIGTYPE_p_switch_channel.getCPtr(channel), rpid, status, id);
-  }
-
-  public static void switch_channel_uninit(SWIGTYPE_p_switch_channel channel) {
-    freeswitchPINVOKE.switch_channel_uninit(SWIGTYPE_p_switch_channel.getCPtr(channel));
-  }
-
-  public static void switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) {
-    freeswitchPINVOKE.switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile));
-  }
-
-  public static switch_caller_profile switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel channel) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
-    return ret;
-  }
-
-  public static void switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) {
-    freeswitchPINVOKE.switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile));
-  }
-
-  public static switch_caller_profile switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel channel) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
-    return ret;
-  }
-
-  public static void switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) {
-    freeswitchPINVOKE.switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile));
-  }
-
-  public static switch_caller_profile switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel channel) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
-    return ret;
-  }
-
-  public static string switch_channel_get_uuid(SWIGTYPE_p_switch_channel channel) {
-    string ret = freeswitchPINVOKE.switch_channel_get_uuid(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_set_variable(SWIGTYPE_p_switch_channel channel, string varname, string value) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel channel, string varname, string fmt) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, fmt);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_set_variable_partner(SWIGTYPE_p_switch_channel channel, string varname, string value) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value);
-    return ret;
-  }
-
-  public static string switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel channel, string varname) {
-    string ret = freeswitchPINVOKE.switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), varname);
-    return ret;
-  }
-
-  public static string switch_channel_get_variable(SWIGTYPE_p_switch_channel channel, string varname) {
-    string ret = freeswitchPINVOKE.switch_channel_get_variable(SWIGTYPE_p_switch_channel.getCPtr(channel), varname);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_get_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event arg1) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
-    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);
-    return ret;
-  }
-
-  public static void switch_channel_variable_last(SWIGTYPE_p_switch_channel channel) {
-    freeswitchPINVOKE.switch_channel_variable_last(SWIGTYPE_p_switch_channel.getCPtr(channel));
-  }
-
-  public static void switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel channel, switch_caller_extension caller_extension) {
-    freeswitchPINVOKE.switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_extension.getCPtr(caller_extension));
-  }
-
-  public static switch_caller_extension switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel channel) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
-    return ret;
-  }
-
-  public static uint switch_channel_test_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
-    uint ret = freeswitchPINVOKE.switch_channel_test_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
-    return ret;
-  }
-
-  public static void switch_channel_set_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
-    freeswitchPINVOKE.switch_channel_set_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
-  }
-
-  public static switch_bool_t switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel channel, uint flags) {
-    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
-    return ret;
-  }
-
-  public static switch_bool_t switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel channel, uint flags) {
-    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
-    return ret;
-  }
-
-  public static void switch_channel_set_state_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
-    freeswitchPINVOKE.switch_channel_set_state_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
-  }
-
-  public static void switch_channel_clear_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
-    freeswitchPINVOKE.switch_channel_clear_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
-  }
-
-  public static switch_status_t switch_channel_perform_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
-    return ret;
-  }
-
-  public static int switch_channel_add_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) {
-    int ret = freeswitchPINVOKE.switch_channel_add_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler));
-    return ret;
-  }
-
-  public static void switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) {
-    freeswitchPINVOKE.switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler));
-  }
-
-  public static switch_state_handler_table switch_channel_get_state_handler(SWIGTYPE_p_switch_channel channel, int index) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), index);
-    switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_set_private(SWIGTYPE_p_switch_channel channel, string key, SWIGTYPE_p_void private_info) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key, SWIGTYPE_p_void.getCPtr(private_info));
-    return ret;
-  }
-
-  public static SWIGTYPE_p_void switch_channel_get_private(SWIGTYPE_p_switch_channel channel, string key) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key);
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_set_name(SWIGTYPE_p_switch_channel channel, string name) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_name(SWIGTYPE_p_switch_channel.getCPtr(channel), name);
-    return ret;
-  }
-
-  public static string switch_channel_get_name(SWIGTYPE_p_switch_channel channel) {
-    string ret = freeswitchPINVOKE.switch_channel_get_name(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    return ret;
-  }
-
-  public static switch_channel_state_t switch_channel_perform_hangup(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_call_cause_t hangup_cause) {
-    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_hangup(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)hangup_cause);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_channel_has_dtmf(SWIGTYPE_p_switch_channel channel) {
-    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_has_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel)), true);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf));
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_string) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_string);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf));
-    return ret;
-  }
-
-  public static void switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel channel) {
-    freeswitchPINVOKE.switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel));
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_str, SWIGTYPE_p_switch_size_t len) {
-    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_str, SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static string switch_channel_state_name(switch_channel_state_t state) {
-    string ret = freeswitchPINVOKE.switch_channel_state_name((int)state);
-    return ret;
-  }
-
-  public static switch_channel_state_t switch_channel_name_state(string name) {
-    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_name_state(name);
-    return ret;
-  }
-
-  public static void switch_channel_event_set_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) {
-    freeswitchPINVOKE.switch_channel_event_set_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1));
-  }
-
-  public static string switch_channel_expand_variables(SWIGTYPE_p_switch_channel channel, string arg1) {
-    string ret = freeswitchPINVOKE.switch_channel_expand_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), arg1);
-    return ret;
-  }
-
-  public static string switch_channel_build_param_string(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile, string prefix) {
-    string ret = freeswitchPINVOKE.switch_channel_build_param_string(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile), prefix);
-    return ret;
-  }
-
-  public static switch_status_t switch_channel_set_timestamps(SWIGTYPE_p_switch_channel channel) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_timestamps(SWIGTYPE_p_switch_channel.getCPtr(channel));
-    return ret;
-  }
-
-  public static switch_status_t switch_buffer_create(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t max_len) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(max_len));
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static switch_status_t switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t blocksize, SWIGTYPE_p_switch_size_t start_len, SWIGTYPE_p_switch_size_t max_len) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(blocksize), SWIGTYPE_p_switch_size_t.getCPtr(start_len), SWIGTYPE_p_switch_size_t.getCPtr(max_len));
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static void switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_mutex_t mutex) {
-    freeswitchPINVOKE.switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
-  }
-
-  public static void switch_buffer_lock(SWIGTYPE_p_switch_buffer buffer) {
-    freeswitchPINVOKE.switch_buffer_lock(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
-  }
-
-  public static switch_status_t switch_buffer_trylock(SWIGTYPE_p_switch_buffer buffer) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_trylock(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
-    return ret;
-  }
-
-  public static void switch_buffer_unlock(SWIGTYPE_p_switch_buffer buffer) {
-    freeswitchPINVOKE.switch_buffer_unlock(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_buffer_len(SWIGTYPE_p_switch_buffer buffer) {
-    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_len(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_buffer_freespace(SWIGTYPE_p_switch_buffer buffer) {
-    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_freespace(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_buffer_inuse(SWIGTYPE_p_switch_buffer buffer) {
-    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_inuse(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_buffer_read(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_read(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 SWIGTYPE_p_switch_size_t switch_buffer_read_loop(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_read_loop(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_set_loops(SWIGTYPE_p_switch_buffer buffer, int loops) {
-    freeswitchPINVOKE.switch_buffer_set_loops(SWIGTYPE_p_switch_buffer.getCPtr(buffer), loops);
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_buffer_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_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 SWIGTYPE_p_switch_size_t switch_buffer_toss(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t datalen) {
-    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_toss(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static void switch_buffer_zero(SWIGTYPE_p_switch_buffer buffer) {
-    freeswitchPINVOKE.switch_buffer_zero(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
-  }
-
-  public static void switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer buffer) {
-    freeswitchPINVOKE.switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer));
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_buffer_zwrite(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_zwrite(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 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;
-  }
-
-  public static switch_status_t switch_event_shutdown() {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_shutdown();
-    return ret;
-  }
-
-  public static switch_status_t switch_event_create_subclass(SWIGTYPE_p_p_switch_event arg0, switch_event_types_t event_id, string subclass_name) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_subclass(SWIGTYPE_p_p_switch_event.getCPtr(arg0), (int)event_id, subclass_name);
-    return ret;
-  }
-
-  public static switch_status_t switch_event_set_priority(switch_event arg0, switch_priority_t priority) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_priority(switch_event.getCPtr(arg0), (int)priority);
-    return ret;
-  }
-
-  public static string switch_event_get_header(switch_event arg0, string header_name) {
-    string ret = freeswitchPINVOKE.switch_event_get_header(switch_event.getCPtr(arg0), header_name);
-    return ret;
-  }
-
-  public static string switch_event_get_body(switch_event arg0) {
-    string ret = freeswitchPINVOKE.switch_event_get_body(switch_event.getCPtr(arg0));
-    return ret;
-  }
-
-  public static switch_status_t switch_event_add_header_string(switch_event arg0, switch_stack_t stack, string header_name, string data) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_add_header_string(switch_event.getCPtr(arg0), (int)stack, header_name, data);
-    return ret;
-  }
-
-  public static switch_status_t switch_event_del_header(switch_event arg0, string header_name) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_del_header(switch_event.getCPtr(arg0), header_name);
-    return ret;
-  }
-
-  public static void switch_event_destroy(SWIGTYPE_p_p_switch_event arg0) {
-    freeswitchPINVOKE.switch_event_destroy(SWIGTYPE_p_p_switch_event.getCPtr(arg0));
-  }
-
-  public static switch_status_t switch_event_dup(SWIGTYPE_p_p_switch_event arg0, switch_event todup) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup(SWIGTYPE_p_p_switch_event.getCPtr(arg0), switch_event.getCPtr(todup));
-    return ret;
-  }
-
-  public static switch_status_t switch_event_fire_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event arg3, SWIGTYPE_p_void user_data) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_fire_detailed(file, func, line, SWIGTYPE_p_p_switch_event.getCPtr(arg3), SWIGTYPE_p_void.getCPtr(user_data));
-    return ret;
-  }
-
-  public static switch_status_t switch_event_bind(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data));
-    return ret;
-  }
-
-  public static switch_status_t switch_event_bind_removable(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_event_node node) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind_removable(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_event_node.getCPtr(node));
-    return ret;
-  }
-
-  public static switch_status_t switch_event_unbind(SWIGTYPE_p_p_switch_event_node node) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind(SWIGTYPE_p_p_switch_event_node.getCPtr(node));
-    return ret;
-  }
-
-  public static switch_status_t switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void callback) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback));
-    return ret;
-  }
-
-  public static string switch_event_name(switch_event_types_t arg0) {
-    string ret = freeswitchPINVOKE.switch_event_name((int)arg0);
-    return ret;
-  }
-
-  public static switch_status_t switch_name_event(string name, SWIGTYPE_p_switch_event_types_t type) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_name_event(name, SWIGTYPE_p_switch_event_types_t.getCPtr(type));
-    return ret;
-  }
-
-  public static switch_status_t switch_event_reserve_subclass_detailed(string owner, string subclass_name) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_reserve_subclass_detailed(owner, subclass_name);
-    return ret;
-  }
-
-  public static switch_status_t switch_event_free_subclass_detailed(string owner, string subclass_name) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_free_subclass_detailed(owner, subclass_name);
-    return ret;
-  }
-
-  public static switch_status_t switch_event_serialize(switch_event arg0, ref string str, switch_bool_t encode) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize(switch_event.getCPtr(arg0), ref str, (int)encode);
-    return ret;
-  }
-
-  public static switch_status_t switch_event_running() {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_running();
-    return ret;
-  }
-
-  public static string switch_event_expand_headers(switch_event arg0, string arg1) {
-    string ret = freeswitchPINVOKE.switch_event_expand_headers(switch_event.getCPtr(arg0), arg1);
-    return ret;
-  }
-
-  public static switch_status_t switch_event_create_pres_in_detailed(string file, string func, int line, string proto, string login, string from, string from_domain, string status, string event_type, string alt_event_type, int event_count, string unique_id, string channel_state, string answer_state, string call_direction) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_pres_in_detailed(file, func, line, proto, login, from, from_domain, status, event_type, alt_event_type, event_count, unique_id, channel_state, answer_state, call_direction);
-    return ret;
-  }
-
-  public static void switch_event_deliver(SWIGTYPE_p_p_switch_event arg0) {
-    freeswitchPINVOKE.switch_event_deliver(SWIGTYPE_p_p_switch_event.getCPtr(arg0));
-  }
-
-  public static string switch_event_build_param_string(switch_event arg0, string prefix, SWIGTYPE_p_switch_hash vars_map) {
-    string ret = freeswitchPINVOKE.switch_event_build_param_string(switch_event.getCPtr(arg0), prefix, SWIGTYPE_p_switch_hash.getCPtr(vars_map));
-    return ret;
-  }
-
-  public static switch_status_t switch_resample_create(SWIGTYPE_p_p_switch_audio_resampler_t new_resampler, int from_rate, SWIGTYPE_p_switch_size_t from_size, int to_rate, uint to_size, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_resample_create(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(new_resampler), from_rate, SWIGTYPE_p_switch_size_t.getCPtr(from_size), to_rate, to_size, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static void switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t resampler) {
-    freeswitchPINVOKE.switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(resampler));
-  }
-
-  public static uint switch_resample_process(switch_audio_resampler_t resampler, SWIGTYPE_p_float src, int srclen, SWIGTYPE_p_float dst, uint dstlen, int last) {
-    uint ret = freeswitchPINVOKE.switch_resample_process(switch_audio_resampler_t.getCPtr(resampler), SWIGTYPE_p_float.getCPtr(src), srclen, SWIGTYPE_p_float.getCPtr(dst), dstlen, last);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_float_to_short(SWIGTYPE_p_float f, SWIGTYPE_p_short s, SWIGTYPE_p_switch_size_t len) {
-    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_float_to_short(SWIGTYPE_p_float.getCPtr(f), SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static int switch_char_to_float(string c, SWIGTYPE_p_float f, int len) {
-    int ret = freeswitchPINVOKE.switch_char_to_float(c, SWIGTYPE_p_float.getCPtr(f), len);
-    return ret;
-  }
-
-  public static int switch_float_to_char(SWIGTYPE_p_float f, string c, int len) {
-    int ret = freeswitchPINVOKE.switch_float_to_char(SWIGTYPE_p_float.getCPtr(f), c, len);
-    return ret;
-  }
-
-  public static int switch_short_to_float(SWIGTYPE_p_short s, SWIGTYPE_p_float f, int len) {
-    int ret = freeswitchPINVOKE.switch_short_to_float(SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_float.getCPtr(f), len);
-    return ret;
-  }
-
-  public static void switch_swap_linear(SWIGTYPE_p_short buf, int len) {
-    freeswitchPINVOKE.switch_swap_linear(SWIGTYPE_p_short.getCPtr(buf), len);
-  }
-
-  public static void switch_generate_sln_silence(SWIGTYPE_p_short data, uint samples, uint divisor) {
-    freeswitchPINVOKE.switch_generate_sln_silence(SWIGTYPE_p_short.getCPtr(data), samples, divisor);
-  }
-
-  public static void switch_change_sln_volume(SWIGTYPE_p_short data, uint samples, int vol) {
-    freeswitchPINVOKE.switch_change_sln_volume(SWIGTYPE_p_short.getCPtr(data), samples, vol);
-  }
-
-  public static uint switch_merge_sln(SWIGTYPE_p_short data, uint samples, SWIGTYPE_p_short other_data, uint other_samples) {
-    uint ret = freeswitchPINVOKE.switch_merge_sln(SWIGTYPE_p_short.getCPtr(data), samples, SWIGTYPE_p_short.getCPtr(other_data), other_samples);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session session, string local_ip, ushort local_port, string remote_ip, ushort remote_port, string transport, string flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session), local_ip, local_port, remote_ip, remote_port, transport, flags);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_xml xml_cdr) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_xml.getCPtr(xml_cdr));
-    return ret;
-  }
-
-  public static int switch_ivr_set_xml_profile_data(switch_xml xml, switch_caller_profile caller_profile, int off) {
-    int ret = freeswitchPINVOKE.switch_ivr_set_xml_profile_data(switch_xml.getCPtr(xml), switch_caller_profile.getCPtr(caller_profile), off);
-    return ret;
-  }
-
-  public static int switch_ivr_set_xml_chan_vars(switch_xml xml, SWIGTYPE_p_switch_channel channel, int off) {
-    int ret = freeswitchPINVOKE.switch_ivr_set_xml_chan_vars(switch_xml.getCPtr(xml), SWIGTYPE_p_switch_channel.getCPtr(channel), off);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_parse_event(SWIGTYPE_p_switch_core_session session, switch_event arg1) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_event(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(arg1));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_sleep(SWIGTYPE_p_switch_core_session session, uint ms, switch_input_args_t args) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_sleep(SWIGTYPE_p_switch_core_session.getCPtr(session), ms, switch_input_args_t.getCPtr(args));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_park(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_park(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session session, switch_input_args_t args, uint timeout) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args), timeout);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session session, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t maxdigits, string terminators, string terminator, uint first_timeout, uint digit_timeout, uint abs_timeout) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session.getCPtr(session), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(maxdigits), terminators, terminator, first_timeout, digit_timeout, abs_timeout);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session session, string mod_name, string grammar, string path, string dest, switch_asr_handle ah) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session), mod_name, grammar, path, dest, switch_asr_handle.getCPtr(ah));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session session, string grammar, string path) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar, path);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session session, string grammar) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_record_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, switch_file_handle fh) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, switch_file_handle.getCPtr(fh));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session session, string uuid, string require_group, uint flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, require_group, flags);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_displace_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, string flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, flags);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session session, string file) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session session, string file) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session, switch_bool_t read_stream) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)read_stream);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static void switch_ivr_session_echo(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) {
-    freeswitchPINVOKE.switch_ivr_session_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args));
-  }
-
-  public static switch_status_t switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session session, string key, string tone_spec, string flags, SWIGTYPE_p_time_t timeout, string app, string data) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, tone_spec, flags, SWIGTYPE_p_time_t.getCPtr(timeout), app, data);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_play_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_play_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args));
-    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;
-  }
-
-  public static switch_status_t switch_ivr_gentones(SWIGTYPE_p_switch_core_session session, string script, int loops, switch_input_args_t args) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_gentones(SWIGTYPE_p_switch_core_session.getCPtr(session), script, loops, switch_input_args_t.getCPtr(args));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_record_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args, uint limit) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args), limit);
-    return ret;
-  }
-
-  public static switch_status_t switch_play_and_get_digits(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, uint max_tries, uint timeout, string valid_terminators, string audio_file, string bad_input_audio_file, SWIGTYPE_p_void digit_buffer, uint digit_buffer_length, string digits_regex) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_play_and_get_digits(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, max_tries, timeout, valid_terminators, audio_file, bad_input_audio_file, SWIGTYPE_p_void.getCPtr(digit_buffer), digit_buffer_length, digits_regex);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session session, switch_speech_handle sh, switch_codec codec, switch_timer timer, string text, switch_input_args_t args) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_speech_handle.getCPtr(sh), switch_codec.getCPtr(codec), switch_timer.getCPtr(timer), text, switch_input_args_t.getCPtr(args));
-    return ret;
-  }
-
-  public static void switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session session) {
-    freeswitchPINVOKE.switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session.getCPtr(session));
-  }
-
-  public static switch_status_t switch_ivr_speak_text(SWIGTYPE_p_switch_core_session session, string tts_name, string voice_name, string text, switch_input_args_t args) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text(SWIGTYPE_p_switch_core_session.getCPtr(session), tts_name, voice_name, text, switch_input_args_t.getCPtr(args));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_originate(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session bleg, SWIGTYPE_p_switch_call_cause_t cause, string bridgeto, uint timelimit_sec, switch_state_handler_table table, string cid_name_override, string cid_num_override, switch_caller_profile caller_profile_override, uint flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_originate(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(bleg), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause), bridgeto, timelimit_sec, switch_state_handler_table.getCPtr(table), cid_name_override, cid_num_override, switch_caller_profile.getCPtr(caller_profile_override), flags);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t dtmf_callback, SWIGTYPE_p_void session_data, SWIGTYPE_p_void peer_session_data) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session), SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(dtmf_callback), SWIGTYPE_p_void.getCPtr(session_data), SWIGTYPE_p_void.getCPtr(peer_session_data));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session session, string extension, string dialplan, string context) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session.getCPtr(session), extension, dialplan, context);
-    return ret;
-  }
-
-  public static uint switch_ivr_schedule_transfer(SWIGTYPE_p_time_t runtime, string uuid, string extension, string dialplan, string context) {
-    uint ret = freeswitchPINVOKE.switch_ivr_schedule_transfer(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, extension, dialplan, context);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static uint switch_ivr_schedule_hangup(SWIGTYPE_p_time_t runtime, string uuid, switch_call_cause_t cause, switch_bool_t bleg) {
-    uint ret = freeswitchPINVOKE.switch_ivr_schedule_hangup(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, (int)cause, (int)bleg);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_uuid_bridge(string originator_uuid, string originatee_uuid) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_uuid_bridge(originator_uuid, originatee_uuid);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_media(string uuid, uint flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_media(uuid, flags);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_nomedia(string uuid, uint flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_nomedia(uuid, flags);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_hold_uuid(string uuid, string message, switch_bool_t moh) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold_uuid(uuid, message, (int)moh);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_unhold_uuid(string uuid) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold_uuid(uuid);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_hold(SWIGTYPE_p_switch_core_session session, string message, switch_bool_t moh) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), message, (int)moh);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_unhold(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static uint switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t runtime, string uuid, string path, uint flags) {
-    uint ret = freeswitchPINVOKE.switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, path, flags);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_broadcast(string uuid, string path, uint flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_broadcast(uuid, path, flags);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session sessa, SWIGTYPE_p_switch_core_session sessb, string var) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session.getCPtr(sessa), SWIGTYPE_p_switch_core_session.getCPtr(sessb), var);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_ivr_digit_stream_parser parser) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_ivr_digit_stream_parser.getCPtr(parser));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser parser) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_p_switch_ivr_digit_stream stream) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_p_switch_ivr_digit_stream.getCPtr(stream));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_digit_stream_destroy(SWIGTYPE_p_switch_ivr_digit_stream stream) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_destroy(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits, SWIGTYPE_p_void data) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits, SWIGTYPE_p_void.getCPtr(data));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_void switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_switch_ivr_digit_stream stream, char digit) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream), digit);
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream stream) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, char digit) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digit);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu new_menu, SWIGTYPE_p_switch_ivr_menu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu.getCPtr(new_menu), SWIGTYPE_p_switch_ivr_menu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu menu, switch_ivr_action_t ivr_action, string arg, string bind) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), (int)ivr_action, arg, bind);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu menu, SWIGTYPE_p_switch_ivr_menu_action_function_t function, string arg, string bind) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), SWIGTYPE_p_switch_ivr_menu_action_function_t.getCPtr(function), arg, bind);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_ivr_menu stack, string name, SWIGTYPE_p_void obj) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_ivr_menu.getCPtr(stack), name, SWIGTYPE_p_void.getCPtr(obj));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu stack) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu.getCPtr(stack));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_p_switch_ivr_menu menu_stack, switch_xml xml_menus, switch_xml xml_menu) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_p_switch_ivr_menu.getCPtr(menu_stack), switch_xml.getCPtr(xml_menus), switch_xml.getCPtr(xml_menu));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_menu_str2action(string action_name, SWIGTYPE_p_switch_ivr_action_t action) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_str2action(action_name, SWIGTYPE_p_switch_ivr_action_t.getCPtr(action));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, string name, SWIGTYPE_p_switch_ivr_menu_action_function_t function) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), name, SWIGTYPE_p_switch_ivr_menu_action_function_t.getCPtr(function));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session session, string macro_name, string data, string lang, switch_input_args_t args) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session.getCPtr(session), macro_name, data, lang, switch_input_args_t.getCPtr(args));
-    return ret;
-  }
-
-  public static void switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session session, uint delay_ms) {
-    freeswitchPINVOKE.switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), delay_ms);
-  }
-
-  public static switch_status_t switch_ivr_find_bridged_uuid(string uuid, string b_uuid, SWIGTYPE_p_switch_size_t blen) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_find_bridged_uuid(uuid, b_uuid, SWIGTYPE_p_switch_size_t.getCPtr(blen));
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static void switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session session, string uuid, switch_bool_t bleg) {
-    freeswitchPINVOKE.switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, (int)bleg);
-  }
-
-  public static void switch_ivr_park_session(SWIGTYPE_p_switch_core_session session) {
-    freeswitchPINVOKE.switch_ivr_park_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
-  }
-
-  public static switch_status_t switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_read(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, string prompt_audio_file, string var_name, string digit_buffer, SWIGTYPE_p_switch_size_t digit_buffer_length, uint timeout, string valid_terminators) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_read(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, prompt_audio_file, var_name, digit_buffer, SWIGTYPE_p_switch_size_t.getCPtr(digit_buffer_length), timeout, valid_terminators);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session, uint key, uint bind_flags, string app) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, bind_flags, app);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session session, string unhold_key, string moh_a, string moh_b) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), unhold_key, moh_a, moh_b);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_say(SWIGTYPE_p_switch_core_session session, string tosay, string module_name, string say_type, string say_method, switch_input_args_t args) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_say(SWIGTYPE_p_switch_core_session.getCPtr(session), tosay, module_name, say_type, say_method, switch_input_args_t.getCPtr(args));
-    return ret;
-  }
-
-  public static switch_say_method_t switch_ivr_get_say_method_by_name(string name) {
-    switch_say_method_t ret = (switch_say_method_t)freeswitchPINVOKE.switch_ivr_get_say_method_by_name(name);
-    return ret;
-  }
-
-  public static switch_say_type_t switch_ivr_get_say_type_by_name(string name) {
-    switch_say_type_t ret = (switch_say_type_t)freeswitchPINVOKE.switch_ivr_get_say_type_by_name(name);
-    return ret;
-  }
-
-  public static switch_status_t switch_ivr_set_user(SWIGTYPE_p_switch_core_session session, string data) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_set_user(SWIGTYPE_p_switch_core_session.getCPtr(session), data);
-    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();
-    return ret;
-  }
-
-  public static void switch_rtp_get_random(SWIGTYPE_p_void buf, uint len) {
-    freeswitchPINVOKE.switch_rtp_get_random(SWIGTYPE_p_void.getCPtr(buf), len);
-  }
-
-  public static void switch_rtp_init(SWIGTYPE_p_apr_pool_t pool) {
-    freeswitchPINVOKE.switch_rtp_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-  }
-
-  public static void switch_rtp_shutdown() {
-    freeswitchPINVOKE.switch_rtp_shutdown();
-  }
-
-  public static ushort switch_rtp_set_start_port(ushort port) {
-    ushort ret = freeswitchPINVOKE.switch_rtp_set_start_port(port);
-    return ret;
-  }
-
-  public static ushort switch_rtp_set_end_port(ushort port) {
-    ushort ret = freeswitchPINVOKE.switch_rtp_set_end_port(port);
-    return ret;
-  }
-
-  public static ushort switch_rtp_request_port(string ip) {
-    ushort ret = freeswitchPINVOKE.switch_rtp_request_port(ip);
-    return ret;
-  }
-
-  public static void switch_rtp_release_port(string ip, ushort port) {
-    freeswitchPINVOKE.switch_rtp_release_port(ip, port);
-  }
-
-  public static switch_status_t switch_rtp_create(SWIGTYPE_p_p_switch_rtp new_rtp_session, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_create(SWIGTYPE_p_p_switch_rtp.getCPtr(new_rtp_session), payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_rtp switch_rtp_new(string rx_host, ushort rx_port, string tx_host, ushort tx_port, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_new(rx_host, rx_port, tx_host, tx_port, payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
-    SWIGTYPE_p_switch_rtp ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_rtp(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, switch_bool_t change_adv_addr, ref string err) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, (int)change_adv_addr, ref err);
-    return ret;
-  }
-
-  public static string switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp rtp_session) {
-    string ret = freeswitchPINVOKE.switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
-    return ret;
-  }
-
-  public static ushort switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp rtp_session) {
-    ushort ret = freeswitchPINVOKE.switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
-    return ret;
-  }
-
-  public static void switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp rtp_session, uint max) {
-    freeswitchPINVOKE.switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), max);
-  }
-
-  public static switch_status_t switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, ref string err) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, ref err);
-    return ret;
-  }
-
-  public static void switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp rtp_session) {
-    freeswitchPINVOKE.switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
-  }
-
-  public static void switch_rtp_break(SWIGTYPE_p_switch_rtp rtp_session) {
-    freeswitchPINVOKE.switch_rtp_break(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
-  }
-
-  public static byte switch_rtp_ready(SWIGTYPE_p_switch_rtp rtp_session) {
-    byte ret = freeswitchPINVOKE.switch_rtp_ready(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
-    return ret;
-  }
-
-  public static void switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp rtp_session) {
-    freeswitchPINVOKE.switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp.getCPtr(rtp_session));
-  }
-
-  public static switch_status_t switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp rtp_session, string login, string rlogin) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), login, rlogin);
-    return ret;
-  }
-
-  public static switch_status_t switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session, uint queue_frames) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), queue_frames);
-    return ret;
-  }
-
-  public static void switch_rtp_set_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) {
-    freeswitchPINVOKE.switch_rtp_set_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags);
-  }
-
-  public static uint switch_rtp_test_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) {
-    uint ret = freeswitchPINVOKE.switch_rtp_test_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags);
-    return ret;
-  }
-
-  public static void switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) {
-    freeswitchPINVOKE.switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags);
-  }
-
-  public static SWIGTYPE_p_switch_socket_t switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp rtp_session) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
-    SWIGTYPE_p_switch_socket_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_socket_t(cPtr, false);
-    return ret;
-  }
-
-  public static void switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session, ushort samples_per_interval) {
-    freeswitchPINVOKE.switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), samples_per_interval);
-  }
-
-  public static uint switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session) {
-    uint ret = freeswitchPINVOKE.switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
-    return ret;
-  }
-
-  public static void switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp rtp_session, byte payload) {
-    freeswitchPINVOKE.switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), payload);
-  }
-
-  public static uint switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp rtp_session) {
-    uint ret = freeswitchPINVOKE.switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
-    return ret;
-  }
-
-  public static void switch_rtp_set_invald_handler(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void on_invalid) {
-    freeswitchPINVOKE.switch_rtp_set_invald_handler(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void.getCPtr(on_invalid));
-  }
-
-  public static switch_status_t switch_rtp_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags);
-    return ret;
-  }
-
-  public static switch_status_t switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf));
-    return ret;
-  }
-
-  public static switch_status_t switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf));
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp rtp_session) {
-    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)), true);
-    return ret;
-  }
-
-  public static SWIGTYPE_p_switch_size_t switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) {
-    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)), true);
-    return ret;
-  }
-
-  public static switch_status_t switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags);
-    return ret;
-  }
-
-  public static switch_status_t switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame, uint io_flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame), io_flags);
-    return ret;
-  }
-
-  public static switch_status_t switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_core_session session, switch_codec codec, uint flags) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec), flags);
-    return ret;
-  }
-
-  public static switch_status_t switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp rtp_session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
-    return ret;
-  }
-
-  public static int switch_rtp_write_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame) {
-    int ret = freeswitchPINVOKE.switch_rtp_write_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame));
-    return ret;
-  }
-
-  public static int switch_rtp_write_manual(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, uint datalen, byte m, byte payload, uint ts, SWIGTYPE_p_unsigned_long flags) {
-    int ret = freeswitchPINVOKE.switch_rtp_write_manual(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), datalen, m, payload, ts, SWIGTYPE_p_unsigned_long.getCPtr(flags));
-    return ret;
-  }
-
-  public static uint switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp rtp_session) {
-    uint ret = freeswitchPINVOKE.switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
-    return ret;
-  }
-
-  public static void switch_rtp_set_private(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void private_data) {
-    freeswitchPINVOKE.switch_rtp_set_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(private_data));
-  }
-
-  public static void switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp rtp_session, byte te) {
-    freeswitchPINVOKE.switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), te);
-  }
-
-  public static void switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp rtp_session, byte pt) {
-    freeswitchPINVOKE.switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), pt);
-  }
-
-  public static SWIGTYPE_p_void switch_rtp_get_private(SWIGTYPE_p_switch_rtp rtp_session) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
-    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp rtp_session, string stun_ip, ushort stun_port, uint packet_count, switch_bool_t funny) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), stun_ip, stun_port, packet_count, (int)funny);
-    return ret;
-  }
-
-  public static switch_status_t switch_log_init(SWIGTYPE_p_apr_pool_t pool, switch_bool_t colorize) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), (int)colorize);
-    return ret;
-  }
-
-  public static switch_status_t switch_log_shutdown() {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_shutdown();
-    return ret;
-  }
-
-  public static switch_status_t switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function, switch_log_level_t level, switch_bool_t is_console) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function), (int)level, (int)is_console);
-    return ret;
-  }
-
-  public static switch_status_t switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function));
-    return ret;
-  }
-
-  public static string switch_log_level2str(switch_log_level_t level) {
-    string ret = freeswitchPINVOKE.switch_log_level2str((int)level);
-    return ret;
-  }
-
-  public static switch_log_level_t switch_log_str2level(string str) {
-    switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_log_str2level(str);
-    return ret;
-  }
-
-  public static uint switch_log_str2mask(string str) {
-    uint ret = freeswitchPINVOKE.switch_log_str2mask(str);
-    return ret;
-  }
-
-  public static switch_xml switch_xml_parse_str(string s, SWIGTYPE_p_switch_size_t len) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_str(s, SWIGTYPE_p_switch_size_t.getCPtr(len));
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static switch_xml switch_xml_parse_fd(int fd) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fd(fd);
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_xml switch_xml_parse_file(string file) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file(file);
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_xml switch_xml_parse_file_simple(string file) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file_simple(file);
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_xml switch_xml_parse_fp(SWIGTYPE_p_FILE fp) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fp(SWIGTYPE_p_FILE.getCPtr(fp));
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_xml switch_xml_child(switch_xml xml, string name) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_child(switch_xml.getCPtr(xml), name);
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_xml switch_xml_find_child(switch_xml node, string childname, string attrname, string value) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child(switch_xml.getCPtr(node), childname, attrname, value);
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static string switch_xml_attr(switch_xml xml, string attr) {
-    string ret = freeswitchPINVOKE.switch_xml_attr(switch_xml.getCPtr(xml), attr);
-    return ret;
-  }
-
-  public static string switch_xml_attr_soft(switch_xml xml, string attr) {
-    string ret = freeswitchPINVOKE.switch_xml_attr_soft(switch_xml.getCPtr(xml), attr);
-    return ret;
-  }
-
-  public static switch_xml switch_xml_get(switch_xml xml) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_get(switch_xml.getCPtr(xml));
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static string switch_xml_toxml(switch_xml xml, switch_bool_t prn_header) {
-    string ret = freeswitchPINVOKE.switch_xml_toxml(switch_xml.getCPtr(xml), (int)prn_header);
-    return ret;
-  }
-
-  public static string switch_xml_toxml_buf(switch_xml xml, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t offset, switch_bool_t prn_header) {
-    string ret = freeswitchPINVOKE.switch_xml_toxml_buf(switch_xml.getCPtr(xml), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(offset), (int)prn_header);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static void switch_xml_free(switch_xml xml) {
-    freeswitchPINVOKE.switch_xml_free(switch_xml.getCPtr(xml));
-  }
-
-  public static void switch_xml_free_in_thread(switch_xml xml, int stacksize) {
-    freeswitchPINVOKE.switch_xml_free_in_thread(switch_xml.getCPtr(xml), stacksize);
-  }
-
-  public static string switch_xml_error(switch_xml xml) {
-    string ret = freeswitchPINVOKE.switch_xml_error(switch_xml.getCPtr(xml));
-    return ret;
-  }
-
-  public static switch_xml switch_xml_new(string name) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_new(name);
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_xml switch_xml_add_child(switch_xml xml, string name, SWIGTYPE_p_switch_size_t off) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_add_child(switch_xml.getCPtr(xml), name, SWIGTYPE_p_switch_size_t.getCPtr(off));
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static switch_xml switch_xml_set_txt(switch_xml xml, string txt) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_txt(switch_xml.getCPtr(xml), txt);
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_xml switch_xml_set_attr(switch_xml xml, string name, string value) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_attr(switch_xml.getCPtr(xml), name, value);
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_xml switch_xml_set_flag(switch_xml xml, switch_xml_flag_t flag) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_flag(switch_xml.getCPtr(xml), (int)flag);
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_xml switch_xml_cut(switch_xml xml) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_cut(switch_xml.getCPtr(xml));
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_xml switch_xml_insert(switch_xml xml, switch_xml dest, SWIGTYPE_p_switch_size_t off) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_insert(switch_xml.getCPtr(xml), switch_xml.getCPtr(dest), SWIGTYPE_p_switch_size_t.getCPtr(off));
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static switch_xml switch_xml_open_root(byte reload, ref string err) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_root(reload, ref err);
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_xml_init(SWIGTYPE_p_apr_pool_t pool, ref string err) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), ref err);
-    return ret;
-  }
-
-  public static switch_status_t switch_xml_destroy() {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_destroy();
-    return ret;
-  }
-
-  public static switch_xml switch_xml_root() {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_root();
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_xml_locate(string section, string tag_name, string key_name, string key_value, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml node, switch_event arg6) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate(section, tag_name, key_name, key_value, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg6));
-    return ret;
-  }
-
-  public static switch_status_t switch_xml_locate_domain(string domain_name, switch_event arg1, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_domain(domain_name, switch_event.getCPtr(arg1), SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain));
-    return ret;
-  }
-
-  public static switch_status_t switch_xml_locate_user(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml user, switch_event arg7) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user(key, user_name, domain_name, ip, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), switch_event.getCPtr(arg7));
-    return ret;
-  }
-
-  public static switch_xml switch_xml_open_cfg(string file_path, SWIGTYPE_p_p_switch_xml node, switch_event arg2) {
-    IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_cfg(file_path, SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg2));
-    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
-    return ret;
-  }
-
-  public static switch_status_t switch_xml_bind_search_function(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function, uint sections, SWIGTYPE_p_void user_data) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_bind_search_function(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function), sections, SWIGTYPE_p_void.getCPtr(user_data));
-    return ret;
-  }
-
-  public static switch_status_t switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding binding) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding.getCPtr(binding));
-    return ret;
-  }
-
-  public static switch_status_t switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function));
-    return ret;
-  }
-
-  public static uint switch_xml_parse_section_string(string str) {
-    uint ret = freeswitchPINVOKE.switch_xml_parse_section_string(str);
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_add_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 read_frame) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_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(read_frame));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_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(write_frame));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_add_video_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 video_read_frame) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_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(video_read_frame));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_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(video_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;
-  }
-
-  public static switch_status_t switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_remove_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 read_frame) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_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(read_frame));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_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(write_frame));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_remove_video_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 video_read_frame) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_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(video_read_frame));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_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(video_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;
-  }
-
-  public static switch_status_t switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf));
-    return ret;
-  }
-
-  public static switch_status_t switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session));
-    return ret;
-  }
-
-  public static uint switch_scheduler_add_task(SWIGTYPE_p_time_t task_runtime, SWIGTYPE_p_f_p_switch_scheduler_task__void func, string desc, string group, uint cmd_id, SWIGTYPE_p_void cmd_arg, uint flags) {
-    uint ret = freeswitchPINVOKE.switch_scheduler_add_task(SWIGTYPE_p_time_t.getCPtr(task_runtime), SWIGTYPE_p_f_p_switch_scheduler_task__void.getCPtr(func), desc, group, cmd_id, SWIGTYPE_p_void.getCPtr(cmd_arg), flags);
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-    return ret;
-  }
-
-  public static uint switch_scheduler_del_task_id(uint task_id) {
-    uint ret = freeswitchPINVOKE.switch_scheduler_del_task_id(task_id);
-    return ret;
-  }
-
-  public static uint switch_scheduler_del_task_group(string group) {
-    uint ret = freeswitchPINVOKE.switch_scheduler_del_task_group(group);
-    return ret;
-  }
-
-  public static void switch_scheduler_task_thread_start() {
-    freeswitchPINVOKE.switch_scheduler_task_thread_start();
-  }
-
-  public static void switch_scheduler_task_thread_stop() {
-    freeswitchPINVOKE.switch_scheduler_task_thread_stop();
-  }
-
-  public static int switch_config_open_file(switch_config cfg, string file_path) {
-    int ret = freeswitchPINVOKE.switch_config_open_file(switch_config.getCPtr(cfg), file_path);
-    return ret;
-  }
-
-  public static void switch_config_close_file(switch_config cfg) {
-    freeswitchPINVOKE.switch_config_close_file(switch_config.getCPtr(cfg));
-  }
-
-  public static int switch_config_next_pair(switch_config cfg, ref string var, ref string val) {
-    int ret = freeswitchPINVOKE.switch_config_next_pair(switch_config.getCPtr(cfg), ref var, ref val);
-    return ret;
-  }
-
-  public static void consoleLog(string level_str, string msg) {
-    freeswitchPINVOKE.consoleLog(level_str, msg);
-  }
-
-  public static void consoleCleanLog(string msg) {
-    freeswitchPINVOKE.consoleCleanLog(msg);
-  }
-
-  public static void console_log(string level_str, string msg) {
-    freeswitchPINVOKE.console_log(level_str, msg);
-  }
-
-  public static void console_clean_log(string msg) {
-    freeswitchPINVOKE.console_clean_log(msg);
-  }
-
-  public static void bridge(CoreSession session_a, CoreSession session_b) {
-    freeswitchPINVOKE.bridge(CoreSession.getCPtr(session_a), CoreSession.getCPtr(session_b));
-    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
-  }
-
-  public static switch_status_t hanguphook(SWIGTYPE_p_switch_core_session session) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.hanguphook(SWIGTYPE_p_switch_core_session.getCPtr(session));
-    return ret;
-  }
-
-  public static switch_status_t dtmf_callback(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void input, switch_input_type_t itype, SWIGTYPE_p_void buf, uint buflen) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.dtmf_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(input), (int)itype, SWIGTYPE_p_void.getCPtr(buf), buflen);
-    return ret;
-  }
-
-  public static readonly string FREESWITCH_PEN = freeswitchPINVOKE.FREESWITCH_PEN_get();
-  public static readonly string FREESWITCH_OID_PREFIX = freeswitchPINVOKE.FREESWITCH_OID_PREFIX_get();
-  public static readonly string FREESWITCH_ITAD = freeswitchPINVOKE.FREESWITCH_ITAD_get();
-  public static readonly int __EXTENSIONS__ = freeswitchPINVOKE.__EXTENSIONS___get();
-  public static readonly int __BSD_VISIBLE = freeswitchPINVOKE.__BSD_VISIBLE_get();
-  public static readonly string SWITCH_BLANK_STRING = freeswitchPINVOKE.SWITCH_BLANK_STRING_get();
-  public static readonly string SWITCH_SEQ_ESC = freeswitchPINVOKE.SWITCH_SEQ_ESC_get();
-  public static readonly char SWITCH_SEQ_HOME_CHAR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_get();
-  public static readonly string SWITCH_SEQ_HOME_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_STR_get();
-  public static readonly char SWITCH_SEQ_CLEARLINE_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_get();
-  public static readonly string SWITCH_SEQ_CLEARLINE_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_STR_get();
-  public static readonly string SWITCH_SEQ_CLEARLINEEND_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_CHAR_get();
-  public static readonly char SWITCH_SEQ_CLEARSCR_CHAR0 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR0_get();
-  public static readonly char SWITCH_SEQ_CLEARSCR_CHAR1 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR1_get();
-  public static readonly string SWITCH_SEQ_CLEARSCR_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR_get();
-  public static readonly string SWITCH_SEQ_AND_COLOR = freeswitchPINVOKE.SWITCH_SEQ_AND_COLOR_get();
-  public static readonly string SWITCH_SEQ_END_COLOR = freeswitchPINVOKE.SWITCH_SEQ_END_COLOR_get();
-  public static readonly string SWITCH_SEQ_F_BLACK = freeswitchPINVOKE.SWITCH_SEQ_F_BLACK_get();
-  public static readonly string SWITCH_SEQ_F_RED = freeswitchPINVOKE.SWITCH_SEQ_F_RED_get();
-  public static readonly string SWITCH_SEQ_F_GREEN = freeswitchPINVOKE.SWITCH_SEQ_F_GREEN_get();
-  public static readonly string SWITCH_SEQ_F_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_F_YELLOW_get();
-  public static readonly string SWITCH_SEQ_F_BLUE = freeswitchPINVOKE.SWITCH_SEQ_F_BLUE_get();
-  public static readonly string SWITCH_SEQ_F_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_F_MAGEN_get();
-  public static readonly string SWITCH_SEQ_F_CYAN = freeswitchPINVOKE.SWITCH_SEQ_F_CYAN_get();
-  public static readonly string SWITCH_SEQ_F_WHITE = freeswitchPINVOKE.SWITCH_SEQ_F_WHITE_get();
-  public static readonly string SWITCH_SEQ_B_BLACK = freeswitchPINVOKE.SWITCH_SEQ_B_BLACK_get();
-  public static readonly string SWITCH_SEQ_B_RED = freeswitchPINVOKE.SWITCH_SEQ_B_RED_get();
-  public static readonly string SWITCH_SEQ_B_GREEN = freeswitchPINVOKE.SWITCH_SEQ_B_GREEN_get();
-  public static readonly string SWITCH_SEQ_B_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_B_YELLOW_get();
-  public static readonly string SWITCH_SEQ_B_BLUE = freeswitchPINVOKE.SWITCH_SEQ_B_BLUE_get();
-  public static readonly string SWITCH_SEQ_B_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_B_MAGEN_get();
-  public static readonly string SWITCH_SEQ_B_CYAN = freeswitchPINVOKE.SWITCH_SEQ_B_CYAN_get();
-  public static readonly string SWITCH_SEQ_B_WHITE = freeswitchPINVOKE.SWITCH_SEQ_B_WHITE_get();
-  public static readonly string SWITCH_SEQ_FBLACK = freeswitchPINVOKE.SWITCH_SEQ_FBLACK_get();
-  public static readonly string SWITCH_SEQ_FRED = freeswitchPINVOKE.SWITCH_SEQ_FRED_get();
-  public static readonly string SWITCH_SEQ_FGREEN = freeswitchPINVOKE.SWITCH_SEQ_FGREEN_get();
-  public static readonly string SWITCH_SEQ_FYELLOW = freeswitchPINVOKE.SWITCH_SEQ_FYELLOW_get();
-  public static readonly string SWITCH_SEQ_FBLUE = freeswitchPINVOKE.SWITCH_SEQ_FBLUE_get();
-  public static readonly string SWITCH_SEQ_FMAGEN = freeswitchPINVOKE.SWITCH_SEQ_FMAGEN_get();
-  public static readonly string SWITCH_SEQ_FCYAN = freeswitchPINVOKE.SWITCH_SEQ_FCYAN_get();
-  public static readonly string SWITCH_SEQ_FWHITE = freeswitchPINVOKE.SWITCH_SEQ_FWHITE_get();
-  public static readonly string SWITCH_SEQ_BBLACK = freeswitchPINVOKE.SWITCH_SEQ_BBLACK_get();
-  public static readonly string SWITCH_SEQ_BRED = freeswitchPINVOKE.SWITCH_SEQ_BRED_get();
-  public static readonly string SWITCH_SEQ_BGREEN = freeswitchPINVOKE.SWITCH_SEQ_BGREEN_get();
-  public static readonly string SWITCH_SEQ_BYELLOW = freeswitchPINVOKE.SWITCH_SEQ_BYELLOW_get();
-  public static readonly string SWITCH_SEQ_BBLUE = freeswitchPINVOKE.SWITCH_SEQ_BBLUE_get();
-  public static readonly string SWITCH_SEQ_BMAGEN = freeswitchPINVOKE.SWITCH_SEQ_BMAGEN_get();
-  public static readonly string SWITCH_SEQ_BCYAN = freeswitchPINVOKE.SWITCH_SEQ_BCYAN_get();
-  public static readonly string SWITCH_SEQ_BWHITE = freeswitchPINVOKE.SWITCH_SEQ_BWHITE_get();
-  public static readonly string SWITCH_SEQ_HOME = freeswitchPINVOKE.SWITCH_SEQ_HOME_get();
-  public static readonly string SWITCH_SEQ_CLEARLINE = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_get();
-  public static readonly string SWITCH_SEQ_CLEARLINEEND = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_get();
-  public static readonly string SWITCH_SEQ_CLEARSCR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_get();
-  public static readonly int SWITCH_DEFAULT_DTMF_DURATION = freeswitchPINVOKE.SWITCH_DEFAULT_DTMF_DURATION_get();
-  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_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get();
-  public static readonly string SWITCH_READ_RESULT_VARIABLE = freeswitchPINVOKE.SWITCH_READ_RESULT_VARIABLE_get();
-  public static readonly string SWITCH_COPY_XML_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_COPY_XML_CDR_VARIABLE_get();
-  public static readonly string SWITCH_CURRENT_APPLICATION_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_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_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();
-  public static readonly string SWITCH_API_BRIDGE_END_VARIABLE = freeswitchPINVOKE.SWITCH_API_BRIDGE_END_VARIABLE_get();
-  public static readonly string SWITCH_API_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_API_HANGUP_HOOK_VARIABLE_get();
-  public static readonly string SWITCH_PROCESS_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_PROCESS_CDR_VARIABLE_get();
-  public static readonly string SWITCH_BRIDGE_CHANNEL_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_CHANNEL_VARIABLE_get();
-  public static readonly string SWITCH_CHANNEL_NAME_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_NAME_VARIABLE_get();
-  public static readonly string SWITCH_BRIDGE_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_UUID_VARIABLE_get();
-  public static readonly string SWITCH_CONTINUE_ON_FAILURE_VARIABLE = freeswitchPINVOKE.SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get();
-  public static readonly string SWITCH_PLAYBACK_TERMINATORS_VARIABLE = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get();
-  public static readonly string SWITCH_PLAYBACK_TERMINATOR_USED = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATOR_USED_get();
-  public static readonly string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get();
-  public static readonly string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get();
-  public static readonly string SWITCH_BYPASS_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_VARIABLE_get();
-  public static readonly string SWITCH_PROXY_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_PROXY_MEDIA_VARIABLE_get();
-  public static readonly string SWITCH_ENDPOINT_DISPOSITION_VARIABLE = freeswitchPINVOKE.SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get();
-  public static readonly string SWITCH_HOLD_MUSIC_VARIABLE = freeswitchPINVOKE.SWITCH_HOLD_MUSIC_VARIABLE_get();
-  public static readonly string SWITCH_EXPORT_VARS_VARIABLE = freeswitchPINVOKE.SWITCH_EXPORT_VARS_VARIABLE_get();
-  public static readonly string SWITCH_R_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_R_SDP_VARIABLE_get();
-  public static readonly string SWITCH_L_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_L_SDP_VARIABLE_get();
-  public static readonly string SWITCH_B_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_B_SDP_VARIABLE_get();
-  public static readonly string SWITCH_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_VARIABLE_get();
-  public static readonly string SWITCH_SIGNAL_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BRIDGE_VARIABLE_get();
-  public static readonly string SWITCH_SIGNAL_BOND_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BOND_VARIABLE_get();
-  public static readonly string SWITCH_ORIGINATOR_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_VARIABLE_get();
-  public static readonly string SWITCH_ORIGINATOR_CODEC_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_CODEC_VARIABLE_get();
-  public static readonly string SWITCH_LOCAL_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_IP_VARIABLE_get();
-  public static readonly string SWITCH_LOCAL_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get();
-  public static readonly string SWITCH_REMOTE_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_IP_VARIABLE_get();
-  public static readonly string SWITCH_REMOTE_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get();
-  public static readonly string SWITCH_REMOTE_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_IP_VARIABLE_get();
-  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_HANGUP_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get();
-  public static readonly string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get();
-  public static readonly string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get();
-  public static readonly string SWITCH_MAX_FORWARDS_VARIABLE = freeswitchPINVOKE.SWITCH_MAX_FORWARDS_VARIABLE_get();
-  public static readonly string SWITCH_DISABLE_APP_LOG_VARIABLE = freeswitchPINVOKE.SWITCH_DISABLE_APP_LOG_VARIABLE_get();
-  public static readonly string SWITCH_SPEECH_KEY = freeswitchPINVOKE.SWITCH_SPEECH_KEY_get();
-  public static readonly string SWITCH_UUID_BRIDGE = freeswitchPINVOKE.SWITCH_UUID_BRIDGE_get();
-  public static readonly int SWITCH_BITS_PER_BYTE = freeswitchPINVOKE.SWITCH_BITS_PER_BYTE_get();
-  public static readonly int SWITCH_MAX_STACKS = freeswitchPINVOKE.SWITCH_MAX_STACKS_get();
-  public static readonly int SWITCH_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_THREAD_STACKSIZE_get();
-  public static readonly int SWITCH_SYSTEM_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_SYSTEM_THREAD_STACKSIZE_get();
-  public static readonly int SWITCH_MAX_INTERVAL = freeswitchPINVOKE.SWITCH_MAX_INTERVAL_get();
-  public static readonly int SWITCH_INTERVAL_PAD = freeswitchPINVOKE.SWITCH_INTERVAL_PAD_get();
-  public static readonly int SWITCH_MAX_SAMPLE_LEN = freeswitchPINVOKE.SWITCH_MAX_SAMPLE_LEN_get();
-  public static readonly int SWITCH_BYTES_PER_SAMPLE = freeswitchPINVOKE.SWITCH_BYTES_PER_SAMPLE_get();
-  public static readonly int SWITCH_RECOMMENDED_BUFFER_SIZE = freeswitchPINVOKE.SWITCH_RECOMMENDED_BUFFER_SIZE_get();
-  public static readonly int SWITCH_MAX_CODECS = freeswitchPINVOKE.SWITCH_MAX_CODECS_get();
-  public static readonly int SWITCH_MAX_STATE_HANDLERS = freeswitchPINVOKE.SWITCH_MAX_STATE_HANDLERS_get();
-  public static readonly int SWITCH_CORE_QUEUE_LEN = freeswitchPINVOKE.SWITCH_CORE_QUEUE_LEN_get();
-  public static readonly int SWITCH_MAX_MANAGEMENT_BUFFER_LEN = freeswitchPINVOKE.SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get();
-  public static readonly int SWITCH_RTP_CNG_PAYLOAD = freeswitchPINVOKE.SWITCH_RTP_CNG_PAYLOAD_get();
-  public static readonly int SWITCH_API_VERSION = freeswitchPINVOKE.SWITCH_API_VERSION_get();
-  public static readonly int SWITCH_CORE_DB_OK = freeswitchPINVOKE.SWITCH_CORE_DB_OK_get();
-  public static readonly int SWITCH_CORE_DB_ERROR = freeswitchPINVOKE.SWITCH_CORE_DB_ERROR_get();
-  public static readonly int SWITCH_CORE_DB_INTERNAL = freeswitchPINVOKE.SWITCH_CORE_DB_INTERNAL_get();
-  public static readonly int SWITCH_CORE_DB_PERM = freeswitchPINVOKE.SWITCH_CORE_DB_PERM_get();
-  public static readonly int SWITCH_CORE_DB_ABORT = freeswitchPINVOKE.SWITCH_CORE_DB_ABORT_get();
-  public static readonly int SWITCH_CORE_DB_BUSY = freeswitchPINVOKE.SWITCH_CORE_DB_BUSY_get();
-  public static readonly int SWITCH_CORE_DB_LOCKED = freeswitchPINVOKE.SWITCH_CORE_DB_LOCKED_get();
-  public static readonly int SWITCH_CORE_DB_NOMEM = freeswitchPINVOKE.SWITCH_CORE_DB_NOMEM_get();
-  public static readonly int SWITCH_CORE_DB_READONLY = freeswitchPINVOKE.SWITCH_CORE_DB_READONLY_get();
-  public static readonly int SWITCH_CORE_DB_INTERRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_INTERRUPT_get();
-  public static readonly int SWITCH_CORE_DB_IOERR = freeswitchPINVOKE.SWITCH_CORE_DB_IOERR_get();
-  public static readonly int SWITCH_CORE_DB_CORRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_CORRUPT_get();
-  public static readonly int SWITCH_CORE_DB_NOTFOUND = freeswitchPINVOKE.SWITCH_CORE_DB_NOTFOUND_get();
-  public static readonly int SWITCH_CORE_DB_FULL = freeswitchPINVOKE.SWITCH_CORE_DB_FULL_get();
-  public static readonly int SWITCH_CORE_DB_CANTOPEN = freeswitchPINVOKE.SWITCH_CORE_DB_CANTOPEN_get();
-  public static readonly int SWITCH_CORE_DB_PROTOCOL = freeswitchPINVOKE.SWITCH_CORE_DB_PROTOCOL_get();
-  public static readonly int SWITCH_CORE_DB_EMPTY = freeswitchPINVOKE.SWITCH_CORE_DB_EMPTY_get();
-  public static readonly int SWITCH_CORE_DB_SCHEMA = freeswitchPINVOKE.SWITCH_CORE_DB_SCHEMA_get();
-  public static readonly int SWITCH_CORE_DB_TOOBIG = freeswitchPINVOKE.SWITCH_CORE_DB_TOOBIG_get();
-  public static readonly int SWITCH_CORE_DB_CONSTRAINT = freeswitchPINVOKE.SWITCH_CORE_DB_CONSTRAINT_get();
-  public static readonly int SWITCH_CORE_DB_MISMATCH = freeswitchPINVOKE.SWITCH_CORE_DB_MISMATCH_get();
-  public static readonly int SWITCH_CORE_DB_MISUSE = freeswitchPINVOKE.SWITCH_CORE_DB_MISUSE_get();
-  public static readonly int SWITCH_CORE_DB_NOLFS = freeswitchPINVOKE.SWITCH_CORE_DB_NOLFS_get();
-  public static readonly int SWITCH_CORE_DB_AUTH = freeswitchPINVOKE.SWITCH_CORE_DB_AUTH_get();
-  public static readonly int SWITCH_CORE_DB_FORMAT = freeswitchPINVOKE.SWITCH_CORE_DB_FORMAT_get();
-  public static readonly int SWITCH_CORE_DB_RANGE = freeswitchPINVOKE.SWITCH_CORE_DB_RANGE_get();
-  public static readonly int SWITCH_CORE_DB_NOTADB = freeswitchPINVOKE.SWITCH_CORE_DB_NOTADB_get();
-  public static readonly int SWITCH_CORE_DB_ROW = freeswitchPINVOKE.SWITCH_CORE_DB_ROW_get();
-  public static readonly int SWITCH_CORE_DB_DONE = freeswitchPINVOKE.SWITCH_CORE_DB_DONE_get();
-  public static readonly int SWITCH_MAX_CORE_THREAD_SESSION_OBJS = freeswitchPINVOKE.SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get();
-  public static readonly int SWITCH_MAX_STREAMS = freeswitchPINVOKE.SWITCH_MAX_STREAMS_get();
-  public static readonly string SWITCH_CORE_DB = freeswitchPINVOKE.SWITCH_CORE_DB_get();
-  public static readonly int SWITCH_CMD_CHUNK_LEN = freeswitchPINVOKE.SWITCH_CMD_CHUNK_LEN_get();
-  public static readonly int SWITCH_SMAX = freeswitchPINVOKE.SWITCH_SMAX_get();
-  public static readonly int SWITCH_SMIN = freeswitchPINVOKE.SWITCH_SMIN_get();
-  public static readonly int SWITCH_RTP_MAX_BUF_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_BUF_LEN_get();
-  public static readonly int SWITCH_RTP_MAX_CRYPTO_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_CRYPTO_LEN_get();
-  public static readonly int SWITCH_RTP_KEY_LEN = freeswitchPINVOKE.SWITCH_RTP_KEY_LEN_get();
-  public static readonly string SWITCH_RTP_CRYPTO_KEY_32 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_32_get();
-  public static readonly string SWITCH_RTP_CRYPTO_KEY_80 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_80_get();
-  public static readonly int SWITCH_XML_BUFSIZE = freeswitchPINVOKE.SWITCH_XML_BUFSIZE_get();
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_caller_extension {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_caller_extension(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_caller_extension() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_caller_extension obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_media_bug {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_media_bug(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_media_bug() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_media_bug obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_media_bug {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_media_bug(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_media_bug() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_media_bug obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_rtp {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_rtp(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_rtp() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_rtp obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_rtp {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_rtp(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_rtp() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_rtp obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_ssize_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_ssize_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_ssize_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ssize_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_size_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_size_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_size_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_size_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_sockaddr_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_sockaddr_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_sockaddr_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_sockaddr_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_buffer {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_buffer(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_buffer() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_buffer obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_buffer {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_buffer(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_buffer() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_buffer obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_unsigned_short {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_unsigned_short(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_unsigned_short() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_short obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_real_pcre {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_real_pcre(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_real_pcre() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_real_pcre obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_real_pcre {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_real_pcre(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_real_pcre() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_real_pcre obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_short {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_short(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_short() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_short obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_pollfd_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_pollfd_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_pollfd_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_pollfd_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_event_node {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_event_node(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_event_node() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event_node obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_event_node {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_event_node(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_event_node() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_node obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_event {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_event(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_event() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_call_cause_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_call_cause_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_call_cause_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_call_cause_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_xml_binding {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_xml_binding(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_xml_binding() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml_binding obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_speech_handle__void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_speech_handle__void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_speech_handle__void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle__void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_scheduler_task__void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_scheduler_task__void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_scheduler_task__void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_scheduler_task__void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_network_list {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_network_list(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_network_list() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_network_list obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_network_list {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_network_list(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_network_list() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_network_list obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_sockaddr {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_sockaddr(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_sockaddr() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_sockaddr obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_event_types_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_event_types_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_event_types_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_types_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_mutex_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_mutex_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_mutex_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_mutex_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_socklen_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_socklen_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_socklen_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_socklen_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_HashElem {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_HashElem(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_HashElem() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_HashElem obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_audio_resampler_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_audio_resampler_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_audio_resampler_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_audio_resampler_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_time_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_time_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_time_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_time_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_time_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_time_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_time_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_time_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_sqlite3_stmt {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_sqlite3_stmt() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3_stmt obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_sqlite3_stmt {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_sqlite3_stmt() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3_stmt obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_loadable_module_interface {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_loadable_module_interface(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_loadable_module_interface() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_loadable_module_interface obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_char {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_char(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_char() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_char obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_p_char {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_p_char(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_p_char() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_p_char obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_channel {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_channel(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_channel() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_channel obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_channel {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_channel(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_channel() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_channel obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_ivr_menu_xml_ctx {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_ivr_menu_xml_ctx() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_xml_ctx obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_ivr_menu_xml_ctx {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_ivr_menu_xml_ctx() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_int {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_int(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_int() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_int obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_file_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_file_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_file_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_file_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_core_port_allocator {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_core_port_allocator() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_port_allocator obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_core_port_allocator {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_core_port_allocator() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_port_allocator obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_ivr_menu_action_function_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_ivr_menu_action_function_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_ivr_menu_action_function_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_action_function_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_ivr_action_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_ivr_action_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_ivr_action_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_action_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_ivr_digit_stream {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_ivr_digit_stream() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_ivr_digit_stream {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_ivr_digit_stream() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_unsigned_long {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_unsigned_long(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_unsigned_long() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_long obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_hash {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_hash(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_hash() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_hash obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_hash {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_hash(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_hash() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_hash obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_sqlite3 {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_sqlite3(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_sqlite3() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3 obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_sqlite3 {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_sqlite3(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_sqlite3() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3 obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_ivr_digit_stream_parser {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_ivr_digit_stream_parser() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream_parser obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_ivr_digit_stream_parser {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_ivr_digit_stream_parser() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream_parser obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_frame {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_frame(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_frame() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_frame obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_ivr_menu {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_ivr_menu() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_ivr_menu {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_ivr_menu() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_unsigned_int {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_unsigned_int(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_unsigned_int() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_int obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_unsigned_char {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_unsigned_char(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_unsigned_char() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_char obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_core_session_message {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_core_session_message(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_core_session_message() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session_message obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_file_handle__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_file_handle__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_timer__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_timer__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_timer__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_void__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_void__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_void__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_void__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_codec__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_codec__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_codec__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_apr_pool_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_apr_pool_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_apr_pool_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_apr_pool_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_apr_pool_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_apr_pool_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_apr_pool_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_apr_pool_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_float {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_float(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_float() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_float obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_socket_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_socket_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_socket_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_socket_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_core_session {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_core_session(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_core_session() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_session obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_core_session {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_core_session(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_core_session() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_p_switch_xml {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_p_switch_xml(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_p_switch_xml() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_FILE {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_FILE(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_FILE() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_FILE obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
-/* ----------------------------------------------------------------------------
- * This file was automatically generated by SWIG (http://www.swig.org).
- * Version 1.3.36
- *
- * 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 SWIGTYPE_p_switch_thread_rwlock_t {
-  private HandleRef swigCPtr;
-
-  internal SWIGTYPE_p_switch_thread_rwlock_t(IntPtr cPtr, bool futureUse) {
-    swigCPtr = new HandleRef(this, cPtr);
-  }
-
-  protected SWIGTYPE_p_switch_thread_rwlock_t() {
-    swigCPtr = new HandleRef(null, IntPtr.Zero);
-  }
-
-  internal static HandleRef getCPtr(SWIGTYPE_p_switch_thread_rwlock_t obj) {
-    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-  }
-}
-
-}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class Api : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Api(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(Api obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Api() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_Api(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public Api() : this(freeswitchPINVOKE.new_Api(), true) {
+  }
+
+  public string Execute(string command, string data) {
+    string ret = freeswitchPINVOKE.Api_Execute(swigCPtr, command, data);
+    return ret;
+  }
+
+  public string ExecuteString(string command) {
+    string ret = freeswitchPINVOKE.Api_ExecuteString(swigCPtr, command);
+    return ret;
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class CoreSession : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal CoreSession(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(CoreSession obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~CoreSession() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_CoreSession(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_switch_core_session InternalSession {
+    set {
+      freeswitchPINVOKE.CoreSession_InternalSession_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.CoreSession_InternalSession_get(swigCPtr);
+      SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_channel channel {
+    set {
+      freeswitchPINVOKE.CoreSession_channel_set(swigCPtr, SWIGTYPE_p_switch_channel.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.CoreSession_channel_get(swigCPtr);
+      SWIGTYPE_p_switch_channel ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_channel(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint flags {
+    set {
+      freeswitchPINVOKE.CoreSession_flags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.CoreSession_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int allocated {
+    set {
+      freeswitchPINVOKE.CoreSession_allocated_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.CoreSession_allocated_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public input_callback_state_t cb_state {
+    set {
+      freeswitchPINVOKE.CoreSession_cb_state_set(swigCPtr, input_callback_state_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.CoreSession_cb_state_get(swigCPtr);
+      input_callback_state_t ret = (cPtr == IntPtr.Zero) ? null : new input_callback_state_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_channel_state_t HookState {
+    set {
+      freeswitchPINVOKE.CoreSession_HookState_set(swigCPtr, (int)value);
+    } 
+    get {
+      switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.CoreSession_HookState_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string uuid {
+    set {
+      freeswitchPINVOKE.CoreSession_uuid_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.CoreSession_uuid_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string tts_name {
+    set {
+      freeswitchPINVOKE.CoreSession_tts_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.CoreSession_tts_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string voice_name {
+    set {
+      freeswitchPINVOKE.CoreSession_voice_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.CoreSession_voice_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int Answer() {
+    int ret = freeswitchPINVOKE.CoreSession_Answer(swigCPtr);
+    return ret;
+  }
+
+  public int preAnswer() {
+    int ret = freeswitchPINVOKE.CoreSession_preAnswer(swigCPtr);
+    return ret;
+  }
+
+  public void Hangup(string cause) {
+    freeswitchPINVOKE.CoreSession_Hangup(swigCPtr, cause);
+  }
+
+  public void SetVariable(string var, string val) {
+    freeswitchPINVOKE.CoreSession_SetVariable(swigCPtr, var, val);
+  }
+
+  public void SetPrivate(string var, SWIGTYPE_p_void val) {
+    freeswitchPINVOKE.CoreSession_SetPrivate(swigCPtr, var, SWIGTYPE_p_void.getCPtr(val));
+  }
+
+  public SWIGTYPE_p_void GetPrivate(string var) {
+    IntPtr cPtr = freeswitchPINVOKE.CoreSession_GetPrivate(swigCPtr, var);
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    return ret;
+  }
+
+  public string GetVariable(string var) {
+    string ret = freeswitchPINVOKE.CoreSession_GetVariable(swigCPtr, var);
+    return ret;
+  }
+
+  public void Say(string tosay, string module_name, string say_type, string say_method) {
+    freeswitchPINVOKE.CoreSession_Say(swigCPtr, tosay, module_name, say_type, say_method);
+  }
+
+  public void SayPhrase(string phrase_name, string phrase_data, string phrase_lang) {
+    freeswitchPINVOKE.CoreSession_SayPhrase(swigCPtr, phrase_name, phrase_data, phrase_lang);
+  }
+
+  public int RecordFile(string file_name, int time_limit, int silence_threshold, int silence_hits) {
+    int ret = freeswitchPINVOKE.CoreSession_RecordFile(swigCPtr, file_name, time_limit, silence_threshold, silence_hits);
+    return ret;
+  }
+
+  public void SetCallerData(string var, string val) {
+    freeswitchPINVOKE.CoreSession_SetCallerData(swigCPtr, var, val);
+  }
+
+  public int Originate(CoreSession a_leg_session, string dest, int timeout) {
+    int ret = freeswitchPINVOKE.CoreSession_Originate(swigCPtr, CoreSession.getCPtr(a_leg_session), dest, timeout);
+    return ret;
+  }
+
+  public void destroy() {
+    freeswitchPINVOKE.CoreSession_destroy(swigCPtr);
+  }
+
+  public int Speak(string text) {
+    int ret = freeswitchPINVOKE.CoreSession_Speak(swigCPtr, text);
+    return ret;
+  }
+
+  public void SetTtsParameters(string tts_name, string voice_name) {
+    freeswitchPINVOKE.CoreSession_SetTtsParameters(swigCPtr, tts_name, voice_name);
+  }
+
+  public int CollectDigits(int timeout) {
+    int ret = freeswitchPINVOKE.CoreSession_CollectDigits(swigCPtr, timeout);
+    return ret;
+  }
+
+  public string GetDigits(int maxdigits, string terminators, int timeout) {
+    string ret = freeswitchPINVOKE.CoreSession_GetDigits__SWIG_0(swigCPtr, maxdigits, terminators, timeout);
+    return ret;
+  }
+
+  public string GetDigits(int maxdigits, string terminators, int timeout, int interdigit) {
+    string ret = freeswitchPINVOKE.CoreSession_GetDigits__SWIG_1(swigCPtr, maxdigits, terminators, timeout, interdigit);
+    return ret;
+  }
+
+  public int Transfer(string extension, string dialplan, string context) {
+    int ret = freeswitchPINVOKE.CoreSession_Transfer(swigCPtr, extension, dialplan, context);
+    return ret;
+  }
+
+  public string read(int min_digits, int max_digits, string prompt_audio_file, int timeout, string valid_terminators) {
+    string ret = freeswitchPINVOKE.CoreSession_read(swigCPtr, min_digits, max_digits, prompt_audio_file, timeout, valid_terminators);
+    return ret;
+  }
+
+  public string PlayAndGetDigits(int min_digits, int max_digits, int max_tries, int timeout, string terminators, string audio_files, string bad_input_audio_files, string digits_regex) {
+    string ret = freeswitchPINVOKE.CoreSession_PlayAndGetDigits(swigCPtr, min_digits, max_digits, max_tries, timeout, terminators, audio_files, bad_input_audio_files, digits_regex);
+    return ret;
+  }
+
+  public int StreamFile(string file, int starting_sample_count) {
+    int ret = freeswitchPINVOKE.CoreSession_StreamFile(swigCPtr, file, starting_sample_count);
+    return ret;
+  }
+
+  public int sleep(int ms) {
+    int ret = freeswitchPINVOKE.CoreSession_sleep(swigCPtr, ms);
+    return ret;
+  }
+
+  public int flushEvents() {
+    int ret = freeswitchPINVOKE.CoreSession_flushEvents(swigCPtr);
+    return ret;
+  }
+
+  public int flushDigits() {
+    int ret = freeswitchPINVOKE.CoreSession_flushDigits(swigCPtr);
+    return ret;
+  }
+
+  public int SetAutoHangup(bool val) {
+    int ret = freeswitchPINVOKE.CoreSession_SetAutoHangup(swigCPtr, val);
+    return ret;
+  }
+
+  public bool Ready() {
+    bool ret = freeswitchPINVOKE.CoreSession_Ready(swigCPtr);
+    return ret;
+  }
+
+  public bool answered() {
+    bool ret = freeswitchPINVOKE.CoreSession_answered(swigCPtr);
+    return ret;
+  }
+
+  public bool mediaReady() {
+    bool ret = freeswitchPINVOKE.CoreSession_mediaReady(swigCPtr);
+    return ret;
+  }
+
+  public void waitForAnswer(CoreSession calling_session) {
+    freeswitchPINVOKE.CoreSession_waitForAnswer(swigCPtr, CoreSession.getCPtr(calling_session));
+  }
+
+  public void Execute(string app, string data) {
+    freeswitchPINVOKE.CoreSession_Execute(swigCPtr, app, data);
+  }
+
+  public void sendEvent(Event sendME) {
+    freeswitchPINVOKE.CoreSession_sendEvent(swigCPtr, Event.getCPtr(sendME));
+  }
+
+  public void setEventData(Event e) {
+    freeswitchPINVOKE.CoreSession_setEventData(swigCPtr, Event.getCPtr(e));
+  }
+
+  public string getXMLCDR() {
+    string ret = freeswitchPINVOKE.CoreSession_getXMLCDR(swigCPtr);
+    return ret;
+  }
+
+  public virtual bool begin_allow_threads() {
+    bool ret = freeswitchPINVOKE.CoreSession_begin_allow_threads(swigCPtr);
+    return ret;
+  }
+
+  public virtual bool end_allow_threads() {
+    bool ret = freeswitchPINVOKE.CoreSession_end_allow_threads(swigCPtr);
+    return ret;
+  }
+
+  public string GetUuid() {
+    string ret = freeswitchPINVOKE.CoreSession_GetUuid(swigCPtr);
+    return ret;
+  }
+
+  public switch_input_args_t get_cb_args() {
+    switch_input_args_t ret = new switch_input_args_t(freeswitchPINVOKE.CoreSession_get_cb_args(swigCPtr), false);
+    return ret;
+  }
+
+  public virtual void check_hangup_hook() {
+    freeswitchPINVOKE.CoreSession_check_hangup_hook(swigCPtr);
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class DTMF : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal DTMF(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(DTMF obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~DTMF() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_DTMF(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public char digit {
+    set {
+      freeswitchPINVOKE.DTMF_digit_set(swigCPtr, value);
+    } 
+    get {
+      char ret = freeswitchPINVOKE.DTMF_digit_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint duration {
+    set {
+      freeswitchPINVOKE.DTMF_duration_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.DTMF_duration_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public DTMF(char idigit, uint iduration) : this(freeswitchPINVOKE.new_DTMF(idigit, iduration), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class EventConsumer : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal EventConsumer(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(EventConsumer obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~EventConsumer() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_EventConsumer(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_switch_queue_t events {
+    set {
+      freeswitchPINVOKE.EventConsumer_events_set(swigCPtr, SWIGTYPE_p_switch_queue_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.EventConsumer_events_get(swigCPtr);
+      SWIGTYPE_p_switch_queue_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_queue_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_event_types_t e_event_id {
+    set {
+      freeswitchPINVOKE.EventConsumer_e_event_id_set(swigCPtr, (int)value);
+    } 
+    get {
+      switch_event_types_t ret = (switch_event_types_t)freeswitchPINVOKE.EventConsumer_e_event_id_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_event_node node {
+    set {
+      freeswitchPINVOKE.EventConsumer_node_set(swigCPtr, SWIGTYPE_p_switch_event_node.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.EventConsumer_node_get(swigCPtr);
+      SWIGTYPE_p_switch_event_node ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_event_node(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string e_callback {
+    set {
+      freeswitchPINVOKE.EventConsumer_e_callback_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.EventConsumer_e_callback_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string e_subclass_name {
+    set {
+      freeswitchPINVOKE.EventConsumer_e_subclass_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.EventConsumer_e_subclass_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string e_cb_arg {
+    set {
+      freeswitchPINVOKE.EventConsumer_e_cb_arg_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.EventConsumer_e_cb_arg_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public EventConsumer(string event_name, string subclass_name) : this(freeswitchPINVOKE.new_EventConsumer(event_name, subclass_name), true) {
+  }
+
+  public Event pop(int block) {
+    IntPtr cPtr = freeswitchPINVOKE.EventConsumer_pop(swigCPtr, block);
+    Event ret = (cPtr == IntPtr.Zero) ? null : new Event(cPtr, false);
+    return ret;
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public partial class Event : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Event(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(Event obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Event() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_Event(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public switch_event InternalEvent {
+    set {
+      freeswitchPINVOKE.Event_InternalEvent_set(swigCPtr, switch_event.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.Event_InternalEvent_get(swigCPtr);
+      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string serialized_string {
+    set {
+      freeswitchPINVOKE.Event_serialized_string_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.Event_serialized_string_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int mine {
+    set {
+      freeswitchPINVOKE.Event_mine_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.Event_mine_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public Event(string type, string subclass_name) : this(freeswitchPINVOKE.new_Event__SWIG_0(type, subclass_name), true) {
+  }
+
+  public Event(switch_event wrap_me, int free_me) : this(freeswitchPINVOKE.new_Event__SWIG_1(switch_event.getCPtr(wrap_me), free_me), true) {
+  }
+
+  public string Serialize(string format) {
+    string ret = freeswitchPINVOKE.Event_Serialize(swigCPtr, format);
+    return ret;
+  }
+
+  public bool SetPriority(switch_priority_t priority) {
+    bool ret = freeswitchPINVOKE.Event_SetPriority(swigCPtr, (int)priority);
+    return ret;
+  }
+
+  public string GetHeader(string header_name) {
+    string ret = freeswitchPINVOKE.Event_GetHeader(swigCPtr, header_name);
+    return ret;
+  }
+
+  public string GetBody() {
+    string ret = freeswitchPINVOKE.Event_GetBody(swigCPtr);
+    return ret;
+  }
+
+  public string GetEventType() {
+    string ret = freeswitchPINVOKE.Event_GetEventType(swigCPtr);
+    return ret;
+  }
+
+  public bool AddBody(string value) {
+    bool ret = freeswitchPINVOKE.Event_AddBody(swigCPtr, value);
+    return ret;
+  }
+
+  public bool AddHeader(string header_name, string value) {
+    bool ret = freeswitchPINVOKE.Event_AddHeader(swigCPtr, header_name, value);
+    return ret;
+  }
+
+  public bool DeleteHeader(string header_name) {
+    bool ret = freeswitchPINVOKE.Event_DeleteHeader(swigCPtr, header_name);
+    return ret;
+  }
+
+  public bool Fire() {
+    bool ret = freeswitchPINVOKE.Event_Fire(swigCPtr);
+    return ret;
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class freeswitch {
+  public static switch_directories SWITCH_GLOBAL_dirs {
+    set {
+      freeswitchPINVOKE.SWITCH_GLOBAL_dirs_set(switch_directories.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.SWITCH_GLOBAL_dirs_get();
+      switch_directories ret = (cPtr == IntPtr.Zero) ? null : new switch_directories(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public static int switch_core_db_close(SWIGTYPE_p_sqlite3 db) {
+    int ret = freeswitchPINVOKE.switch_core_db_close(SWIGTYPE_p_sqlite3.getCPtr(db));
+    return ret;
+  }
+
+  public static int switch_core_db_open(string filename, SWIGTYPE_p_p_sqlite3 ppDb) {
+    int ret = freeswitchPINVOKE.switch_core_db_open(filename, SWIGTYPE_p_p_sqlite3.getCPtr(ppDb));
+    return ret;
+  }
+
+  public static SWIGTYPE_p_unsigned_char switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt stmt, int iCol) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_db_column_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), iCol);
+    SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
+    return ret;
+  }
+
+  public static string switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt stmt, int N) {
+    string ret = freeswitchPINVOKE.switch_core_db_column_name(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt), N);
+    return ret;
+  }
+
+  public static int switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt pStmt) {
+    int ret = freeswitchPINVOKE.switch_core_db_column_count(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt));
+    return ret;
+  }
+
+  public static string switch_core_db_errmsg(SWIGTYPE_p_sqlite3 db) {
+    string ret = freeswitchPINVOKE.switch_core_db_errmsg(SWIGTYPE_p_sqlite3.getCPtr(db));
+    return ret;
+  }
+
+  public static int switch_core_db_exec(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int callback, SWIGTYPE_p_void data, ref string errmsg) {
+    int ret = freeswitchPINVOKE.switch_core_db_exec(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int.getCPtr(callback), SWIGTYPE_p_void.getCPtr(data), ref errmsg);
+    return ret;
+  }
+
+  public static int switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt pStmt) {
+    int ret = freeswitchPINVOKE.switch_core_db_finalize(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt));
+    return ret;
+  }
+
+  public static int switch_core_db_prepare(SWIGTYPE_p_sqlite3 db, string zSql, int nBytes, SWIGTYPE_p_p_sqlite3_stmt ppStmt, ref string pzTail) {
+    int ret = freeswitchPINVOKE.switch_core_db_prepare(SWIGTYPE_p_sqlite3.getCPtr(db), zSql, nBytes, SWIGTYPE_p_p_sqlite3_stmt.getCPtr(ppStmt), ref pzTail);
+    return ret;
+  }
+
+  public static int switch_core_db_step(SWIGTYPE_p_sqlite3_stmt stmt) {
+    int ret = freeswitchPINVOKE.switch_core_db_step(SWIGTYPE_p_sqlite3_stmt.getCPtr(stmt));
+    return ret;
+  }
+
+  public static int switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt pStmt) {
+    int ret = freeswitchPINVOKE.switch_core_db_reset(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt));
+    return ret;
+  }
+
+  public static int switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt pStmt, int i, int iValue) {
+    int ret = freeswitchPINVOKE.switch_core_db_bind_int(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue);
+    return ret;
+  }
+
+  public static int switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt pStmt, int i, long iValue) {
+    int ret = freeswitchPINVOKE.switch_core_db_bind_int64(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, iValue);
+    return ret;
+  }
+
+  public static int switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt pStmt, int i, string zData, int nData, SWIGTYPE_p_f_p_void__void xDel) {
+    int ret = freeswitchPINVOKE.switch_core_db_bind_text(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, zData, nData, SWIGTYPE_p_f_p_void__void.getCPtr(xDel));
+    return ret;
+  }
+
+  public static int switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt pStmt, int i, double dValue) {
+    int ret = freeswitchPINVOKE.switch_core_db_bind_double(SWIGTYPE_p_sqlite3_stmt.getCPtr(pStmt), i, dValue);
+    return ret;
+  }
+
+  public static long switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3 db) {
+    long ret = freeswitchPINVOKE.switch_core_db_last_insert_rowid(SWIGTYPE_p_sqlite3.getCPtr(db));
+    return ret;
+  }
+
+  public static int switch_core_db_get_table(SWIGTYPE_p_sqlite3 db, string sql, SWIGTYPE_p_p_p_char resultp, SWIGTYPE_p_int nrow, SWIGTYPE_p_int ncolumn, ref string errmsg) {
+    int ret = freeswitchPINVOKE.switch_core_db_get_table(SWIGTYPE_p_sqlite3.getCPtr(db), sql, SWIGTYPE_p_p_p_char.getCPtr(resultp), SWIGTYPE_p_int.getCPtr(nrow), SWIGTYPE_p_int.getCPtr(ncolumn), ref errmsg);
+    return ret;
+  }
+
+  public static void switch_core_db_free_table(ref string result) {
+    freeswitchPINVOKE.switch_core_db_free_table(ref result);
+  }
+
+  public static void switch_core_db_free(string z) {
+    freeswitchPINVOKE.switch_core_db_free(z);
+  }
+
+  public static int switch_core_db_changes(SWIGTYPE_p_sqlite3 db) {
+    int ret = freeswitchPINVOKE.switch_core_db_changes(SWIGTYPE_p_sqlite3.getCPtr(db));
+    return ret;
+  }
+
+  public static string switch_mprintf(string zFormat) {
+    string ret = freeswitchPINVOKE.switch_mprintf(zFormat);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_real_pcre switch_regex_compile(string pattern, int options, ref string errorptr, SWIGTYPE_p_int erroroffset, SWIGTYPE_p_unsigned_char tables) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_regex_compile(pattern, options, ref errorptr, SWIGTYPE_p_int.getCPtr(erroroffset), SWIGTYPE_p_unsigned_char.getCPtr(tables));
+    SWIGTYPE_p_real_pcre ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_real_pcre(cPtr, false);
+    return ret;
+  }
+
+  public static int switch_regex_copy_substring(string subject, SWIGTYPE_p_int ovector, int stringcount, int stringnumber, string buffer, int size) {
+    int ret = freeswitchPINVOKE.switch_regex_copy_substring(subject, SWIGTYPE_p_int.getCPtr(ovector), stringcount, stringnumber, buffer, size);
+    return ret;
+  }
+
+  public static void switch_regex_free(SWIGTYPE_p_void data) {
+    freeswitchPINVOKE.switch_regex_free(SWIGTYPE_p_void.getCPtr(data));
+  }
+
+  public static int switch_regex_perform(string field, string expression, SWIGTYPE_p_p_real_pcre new_re, SWIGTYPE_p_int ovector, uint olen) {
+    int ret = freeswitchPINVOKE.switch_regex_perform(field, expression, SWIGTYPE_p_p_real_pcre.getCPtr(new_re), SWIGTYPE_p_int.getCPtr(ovector), olen);
+    return ret;
+  }
+
+  public static void switch_perform_substitution(SWIGTYPE_p_real_pcre re, int match_count, string data, string field_data, string substituted, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_int ovector) {
+    freeswitchPINVOKE.switch_perform_substitution(SWIGTYPE_p_real_pcre.getCPtr(re), match_count, data, field_data, substituted, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_int.getCPtr(ovector));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static switch_status_t switch_regex_match(string target, string expression) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match(target, expression);
+    return ret;
+  }
+
+  public static switch_status_t switch_regex_match_partial(string target, string expression, SWIGTYPE_p_int partial_match) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_regex_match_partial(target, expression, SWIGTYPE_p_int.getCPtr(partial_match));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_media_bug_add(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_time_t stop_time, uint flags, SWIGTYPE_p_p_switch_media_bug new_bug) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_add(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_time_t.getCPtr(stop_time), flags, SWIGTYPE_p_p_switch_media_bug.getCPtr(new_bug));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static SWIGTYPE_p_void switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug bug) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_user_data(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    return ret;
+  }
+
+  public static switch_frame switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug bug) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
+    switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
+    return ret;
+  }
+
+  public static void switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) {
+    freeswitchPINVOKE.switch_core_media_bug_set_write_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame));
+  }
+
+  public static switch_frame switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug bug) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
+    switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_core_session switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug bug) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_media_bug_get_session(SWIGTYPE_p_switch_media_bug.getCPtr(bug));
+    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
+    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;
+  }
+
+  public static void switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) {
+    freeswitchPINVOKE.switch_core_media_bug_set_read_replace_frame(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame));
+  }
+
+  public static switch_status_t switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_media_bug bug) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_media_bug.getCPtr(bug));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug bug) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_close(SWIGTYPE_p_p_switch_media_bug.getCPtr(bug));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_media_bug_remove_all(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_remove_all(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug bug, switch_frame frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_media_bug_read(SWIGTYPE_p_switch_media_bug.getCPtr(bug), switch_frame.getCPtr(frame));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_port_allocator_new(ushort start, ushort end, uint flags, SWIGTYPE_p_p_switch_core_port_allocator new_allocator) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_new(start, end, flags, SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(new_allocator));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator alloc, SWIGTYPE_p_unsigned_short port_ptr) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_request_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), SWIGTYPE_p_unsigned_short.getCPtr(port_ptr));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator alloc, ushort port) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_port_allocator_free_port(SWIGTYPE_p_switch_core_port_allocator.getCPtr(alloc), port);
+    return ret;
+  }
+
+  public static void switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator alloc) {
+    freeswitchPINVOKE.switch_core_port_allocator_destroy(SWIGTYPE_p_p_switch_core_port_allocator.getCPtr(alloc));
+  }
+
+  public static switch_status_t switch_core_init(uint flags, switch_bool_t console, ref string err) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init(flags, (int)console, ref err);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_init_and_modload(uint flags, switch_bool_t console, ref string err) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_init_and_modload(flags, (int)console, ref err);
+    return ret;
+  }
+
+  public static uint switch_core_session_limit(uint new_limit) {
+    uint ret = freeswitchPINVOKE.switch_core_session_limit(new_limit);
+    return ret;
+  }
+
+  public static uint switch_core_sessions_per_second(uint new_limit) {
+    uint ret = freeswitchPINVOKE.switch_core_sessions_per_second(new_limit);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_destroy() {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_destroy();
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_signal_lock(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_signal_lock(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_signal_unlock(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_signal_unlock(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_read_lock(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_lock(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static void switch_core_session_write_lock(SWIGTYPE_p_switch_core_session session) {
+    freeswitchPINVOKE.switch_core_session_write_lock(SWIGTYPE_p_switch_core_session.getCPtr(session));
+  }
+
+  public static void switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session session) {
+    freeswitchPINVOKE.switch_core_session_rwunlock(SWIGTYPE_p_switch_core_session.getCPtr(session));
+  }
+
+  public static int switch_core_add_state_handler(switch_state_handler_table state_handler) {
+    int ret = freeswitchPINVOKE.switch_core_add_state_handler(switch_state_handler_table.getCPtr(state_handler));
+    return ret;
+  }
+
+  public static void switch_core_remove_state_handler(switch_state_handler_table state_handler) {
+    freeswitchPINVOKE.switch_core_remove_state_handler(switch_state_handler_table.getCPtr(state_handler));
+  }
+
+  public static switch_state_handler_table switch_core_get_state_handler(int index) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_get_state_handler(index);
+    switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false);
+    return ret;
+  }
+
+  public static void switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t pool, string tag) {
+    freeswitchPINVOKE.switch_core_memory_pool_tag(SWIGTYPE_p_apr_pool_t.getCPtr(pool), tag);
+  }
+
+  public static switch_status_t switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_new_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t pool, string file, string func, int line) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_destroy_memory_pool(SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), file, func, line);
+    return ret;
+  }
+
+  public static void switch_core_session_run(SWIGTYPE_p_switch_core_session session) {
+    freeswitchPINVOKE.switch_core_session_run(SWIGTYPE_p_switch_core_session.getCPtr(session));
+  }
+
+  public static uint switch_core_session_running(SWIGTYPE_p_switch_core_session session) {
+    uint ret = freeswitchPINVOKE.switch_core_session_running(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static SWIGTYPE_p_void switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t memory, string file, string func, int line) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_permanent_alloc(SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line);
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static SWIGTYPE_p_void switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_alloc(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line);
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static SWIGTYPE_p_void switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_size_t memory, string file, string func, int line) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_perform_session_alloc(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_size_t.getCPtr(memory), file, func, line);
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static string switch_core_perform_permanent_strdup(string todup, string file, string func, int line) {
+    string ret = freeswitchPINVOKE.switch_core_perform_permanent_strdup(todup, file, func, line);
+    return ret;
+  }
+
+  public static string switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session session, string todup, string file, string func, int line) {
+    string ret = freeswitchPINVOKE.switch_core_perform_session_strdup(SWIGTYPE_p_switch_core_session.getCPtr(session), todup, file, func, line);
+    return ret;
+  }
+
+  public static string switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t pool, string todup, string file, string func, int line) {
+    string ret = freeswitchPINVOKE.switch_core_perform_strdup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), todup, file, func, line);
+    return ret;
+  }
+
+  public static string switch_core_session_sprintf(SWIGTYPE_p_switch_core_session session, string fmt) {
+    string ret = freeswitchPINVOKE.switch_core_session_sprintf(SWIGTYPE_p_switch_core_session.getCPtr(session), fmt);
+    return ret;
+  }
+
+  public static string switch_core_sprintf(SWIGTYPE_p_apr_pool_t pool, string fmt) {
+    string ret = freeswitchPINVOKE.switch_core_sprintf(SWIGTYPE_p_apr_pool_t.getCPtr(pool), fmt);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_apr_pool_t switch_core_session_get_pool(SWIGTYPE_p_switch_core_session session) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_pool(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_core_session switch_core_session_request(switch_endpoint_interface endpoint_interface, SWIGTYPE_p_p_apr_pool_t pool) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request(switch_endpoint_interface.getCPtr(endpoint_interface), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool));
+    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
+    return ret;
+  }
+
+  public static void switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session session, string file, string func, int line) {
+    freeswitchPINVOKE.switch_core_session_perform_destroy(SWIGTYPE_p_p_switch_core_session.getCPtr(session), file, func, line);
+  }
+
+  public static uint switch_core_session_count() {
+    uint ret = freeswitchPINVOKE.switch_core_session_count();
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_core_session_id() {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_id(), true);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_core_session switch_core_session_request_by_name(string endpoint_name, SWIGTYPE_p_p_apr_pool_t pool) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_request_by_name(endpoint_name, SWIGTYPE_p_p_apr_pool_t.getCPtr(pool));
+    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_thread_launch(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_channel switch_core_session_get_channel(SWIGTYPE_p_switch_core_session session) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_channel(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    SWIGTYPE_p_switch_channel ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_channel(cPtr, false);
+    return ret;
+  }
+
+  public static void switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session session) {
+    freeswitchPINVOKE.switch_core_session_signal_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session));
+  }
+
+  public static string switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session session) {
+    string ret = freeswitchPINVOKE.switch_core_session_get_uuid(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static string switch_core_get_uuid() {
+    string ret = freeswitchPINVOKE.switch_core_get_uuid();
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_core_session switch_core_session_locate(string uuid_str) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_locate(uuid_str);
+    SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
+    return ret;
+  }
+
+  public static string switch_core_get_variable(string varname) {
+    string ret = freeswitchPINVOKE.switch_core_get_variable(varname);
+    return ret;
+  }
+
+  public static void switch_core_set_variable(string varname, string value) {
+    freeswitchPINVOKE.switch_core_set_variable(varname, value);
+  }
+
+  public static void switch_core_dump_variables(switch_stream_handle stream) {
+    freeswitchPINVOKE.switch_core_dump_variables(switch_stream_handle.getCPtr(stream));
+  }
+
+  public static void switch_core_session_hupall(switch_call_cause_t cause) {
+    freeswitchPINVOKE.switch_core_session_hupall((int)cause);
+  }
+
+  public static void switch_core_session_hupall_matching_var(string var_name, string var_val, switch_call_cause_t cause) {
+    freeswitchPINVOKE.switch_core_session_hupall_matching_var(var_name, var_val, (int)cause);
+  }
+
+  public static void switch_core_session_hupall_endpoint(switch_endpoint_interface endpoint_interface, switch_call_cause_t cause) {
+    freeswitchPINVOKE.switch_core_session_hupall_endpoint(switch_endpoint_interface.getCPtr(endpoint_interface), (int)cause);
+  }
+
+  public static switch_status_t switch_core_session_message_send(string uuid_str, switch_core_session_message message) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_message_send(uuid_str, switch_core_session_message.getCPtr(message));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_queue_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_pass_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session session, switch_core_session_message_types_t indication) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_indication(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)indication);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session_message message) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session_message.getCPtr(message));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_flush_message(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_flush_message(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_event_send(string uuid_str, SWIGTYPE_p_p_switch_event arg1) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_event_send(uuid_str, SWIGTYPE_p_p_switch_event.getCPtr(arg1));
+    return ret;
+  }
+
+  public static switch_app_log switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session session) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_app_log(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_exec(SWIGTYPE_p_switch_core_session session, switch_application_interface application_interface, string arg) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_exec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_application_interface.getCPtr(application_interface), arg);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_execute_application(SWIGTYPE_p_switch_core_session session, string app, string arg) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_application(SWIGTYPE_p_switch_core_session.getCPtr(session), app, arg);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session session, string exten, string dialplan, string context) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_execute_exten(SWIGTYPE_p_switch_core_session.getCPtr(session), exten, dialplan, context);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
+    return ret;
+  }
+
+  public static SWIGTYPE_p_void switch_core_session_get_private(SWIGTYPE_p_switch_core_session session) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_private(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_set_private(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_private(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info));
+    return ret;
+  }
+
+  public static int switch_core_session_add_stream(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void private_info) {
+    int ret = freeswitchPINVOKE.switch_core_session_add_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(private_info));
+    return ret;
+  }
+
+  public static SWIGTYPE_p_void switch_core_session_get_stream(SWIGTYPE_p_switch_core_session session, int index) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_stream(SWIGTYPE_p_switch_core_session.getCPtr(session), index);
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    return ret;
+  }
+
+  public static int switch_core_session_get_stream_count(SWIGTYPE_p_switch_core_session session) {
+    int ret = freeswitchPINVOKE.switch_core_session_get_stream_count(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));
+  }
+
+  public static void switch_core_thread_session_end(switch_core_thread_session thread_session) {
+    freeswitchPINVOKE.switch_core_thread_session_end(switch_core_thread_session.getCPtr(thread_session));
+  }
+
+  public static void switch_core_service_session(SWIGTYPE_p_switch_core_session session, switch_core_thread_session thread_session, int stream_id) {
+    freeswitchPINVOKE.switch_core_service_session(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_thread_session.getCPtr(thread_session), stream_id);
+  }
+
+  public static switch_call_cause_t switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session session, switch_event var_event, string endpoint_name, switch_caller_profile caller_profile, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, uint flags) {
+    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(var_event), endpoint_name, switch_caller_profile.getCPtr(caller_profile), SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), flags);
+    return ret;
+  }
+
+  public static switch_call_cause_t switch_core_session_resurrect_channel(string endpoint_name, SWIGTYPE_p_p_switch_core_session new_session, SWIGTYPE_p_p_apr_pool_t pool, SWIGTYPE_p_void data) {
+    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_core_session_resurrect_channel(endpoint_name, SWIGTYPE_p_p_switch_core_session.getCPtr(new_session), SWIGTYPE_p_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_void.getCPtr(data));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_receive_message(SWIGTYPE_p_switch_core_session session, switch_core_session_message message) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_core_session_message.getCPtr(message));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_queue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
+    return ret;
+  }
+
+  public static uint switch_core_session_event_count(SWIGTYPE_p_switch_core_session session) {
+    uint ret = freeswitchPINVOKE.switch_core_session_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_queue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
+    return ret;
+  }
+
+  public static uint switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session session) {
+    uint ret = freeswitchPINVOKE.switch_core_session_private_event_count(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_event arg1) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_dequeue_private_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
+    return ret;
+  }
+
+  public static uint switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session session) {
+    uint ret = freeswitchPINVOKE.switch_core_session_flush_private_events(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_read_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_frame frame, uint flags, int stream_id) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_read_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_frame.getCPtr(frame), flags, stream_id);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_video_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id);
+    return ret;
+  }
+
+  public static void switch_core_session_reset(SWIGTYPE_p_switch_core_session session, switch_bool_t flush_dtmf) {
+    freeswitchPINVOKE.switch_core_session_reset(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)flush_dtmf);
+  }
+
+  public static switch_status_t switch_core_session_write_frame(SWIGTYPE_p_switch_core_session session, switch_frame frame, uint flags, int stream_id) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_write_frame(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_frame.getCPtr(frame), flags, stream_id);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session session, string file, string func, int line, switch_signal_t sig) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_perform_kill_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), file, func, line, (int)sig);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session session, string dtmf_string) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_send_dtmf_string(SWIGTYPE_p_switch_core_session.getCPtr(session), dtmf_string);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session session, switch_dtmf_t dtmf) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_dtmf_t.getCPtr(dtmf));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_hash_init(SWIGTYPE_p_p_switch_hash hash, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_init(SWIGTYPE_p_p_switch_hash.getCPtr(hash), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_hash_destroy(SWIGTYPE_p_p_switch_hash hash) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_destroy(SWIGTYPE_p_p_switch_hash.getCPtr(hash));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_hash_insert(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_void data, SWIGTYPE_p_switch_mutex_t mutex) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_hash_delete(SWIGTYPE_p_switch_hash hash, string key) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete(SWIGTYPE_p_switch_hash.getCPtr(hash), key);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_hash_delete_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_switch_mutex_t mutex) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_delete_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
+    return ret;
+  }
+
+  public static SWIGTYPE_p_void switch_core_hash_find(SWIGTYPE_p_switch_hash hash, string key) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find(SWIGTYPE_p_switch_hash.getCPtr(hash), key);
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_void switch_core_hash_find_locked(SWIGTYPE_p_switch_hash hash, string key, SWIGTYPE_p_switch_mutex_t mutex) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_hash_find_locked(SWIGTYPE_p_switch_hash.getCPtr(hash), key, SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_HashElem switch_hash_first(string depricate_me, SWIGTYPE_p_switch_hash hash) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_hash_first(depricate_me, SWIGTYPE_p_switch_hash.getCPtr(hash));
+    SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_HashElem switch_hash_next(SWIGTYPE_p_HashElem hi) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_hash_next(SWIGTYPE_p_HashElem.getCPtr(hi));
+    SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false);
+    return ret;
+  }
+
+  public static void switch_hash_this(SWIGTYPE_p_HashElem hi, SWIGTYPE_p_p_void key, SWIGTYPE_p_switch_ssize_t klen, SWIGTYPE_p_p_void val) {
+    freeswitchPINVOKE.switch_hash_this(SWIGTYPE_p_HashElem.getCPtr(hi), SWIGTYPE_p_p_void.getCPtr(key), SWIGTYPE_p_switch_ssize_t.getCPtr(klen), SWIGTYPE_p_p_void.getCPtr(val));
+  }
+
+  public static switch_status_t switch_core_timer_init(switch_timer timer, string timer_name, int interval, int samples, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_init(switch_timer.getCPtr(timer), timer_name, interval, samples, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_timer_next(switch_timer timer) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_next(switch_timer.getCPtr(timer));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_timer_step(switch_timer timer) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_step(switch_timer.getCPtr(timer));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_timer_sync(switch_timer timer) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_sync(switch_timer.getCPtr(timer));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_timer_check(switch_timer timer, switch_bool_t step) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_check(switch_timer.getCPtr(timer), (int)step);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_timer_destroy(switch_timer timer) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_timer_destroy(switch_timer.getCPtr(timer));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_codec_init(switch_codec codec, string codec_name, string fmtp, uint rate, int ms, int channels, uint flags, switch_codec_settings codec_settings, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_init(switch_codec.getCPtr(codec), codec_name, fmtp, rate, ms, channels, flags, switch_codec_settings.getCPtr(codec_settings), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_codec_copy(switch_codec codec, switch_codec new_codec, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_copy(switch_codec.getCPtr(codec), switch_codec.getCPtr(new_codec), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_codec_encode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void decoded_data, uint decoded_data_len, uint decoded_rate, SWIGTYPE_p_void encoded_data, SWIGTYPE_p_unsigned_long encoded_data_len, SWIGTYPE_p_unsigned_long encoded_rate, SWIGTYPE_p_unsigned_int flag) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_encode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(decoded_data), decoded_data_len, decoded_rate, SWIGTYPE_p_void.getCPtr(encoded_data), SWIGTYPE_p_unsigned_long.getCPtr(encoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(encoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_codec_decode(switch_codec codec, switch_codec other_codec, SWIGTYPE_p_void encoded_data, uint encoded_data_len, uint encoded_rate, SWIGTYPE_p_void decoded_data, SWIGTYPE_p_unsigned_long decoded_data_len, SWIGTYPE_p_unsigned_long decoded_rate, SWIGTYPE_p_unsigned_int flag) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_decode(switch_codec.getCPtr(codec), switch_codec.getCPtr(other_codec), SWIGTYPE_p_void.getCPtr(encoded_data), encoded_data_len, encoded_rate, SWIGTYPE_p_void.getCPtr(decoded_data), SWIGTYPE_p_unsigned_long.getCPtr(decoded_data_len), SWIGTYPE_p_unsigned_long.getCPtr(decoded_rate), SWIGTYPE_p_unsigned_int.getCPtr(flag));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_codec_destroy(switch_codec codec) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_codec_destroy(switch_codec.getCPtr(codec));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
+    return ret;
+  }
+
+  public static void switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session session) {
+    freeswitchPINVOKE.switch_core_session_unset_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
+  }
+
+  public static switch_codec switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session session) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
+    return ret;
+  }
+
+  public static switch_codec switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session session) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
+    return ret;
+  }
+
+  public static switch_codec switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session session) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
+    return ret;
+  }
+
+  public static switch_codec switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session session) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_effective_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
+    return ret;
+  }
+
+  public static switch_codec switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session session) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_read_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session session, switch_codec codec) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_session_set_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec));
+    return ret;
+  }
+
+  public static switch_codec switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session session) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_session_get_video_write_codec(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_sqlite3 switch_core_db_open_file(string filename) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_db_open_file(filename);
+    SWIGTYPE_p_sqlite3 ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_sqlite3(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3 db, string sql, uint retries) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_db_persistant_execute(SWIGTYPE_p_sqlite3.getCPtr(db), sql, retries);
+    return ret;
+  }
+
+  public static void switch_core_db_test_reactive(SWIGTYPE_p_sqlite3 db, string test_sql, string drop_sql, string reactive_sql) {
+    freeswitchPINVOKE.switch_core_db_test_reactive(SWIGTYPE_p_sqlite3.getCPtr(db), test_sql, drop_sql, reactive_sql);
+  }
+
+  public static switch_status_t switch_core_perform_file_open(string file, string func, int line, switch_file_handle fh, string file_path, byte channels, uint rate, uint flags, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_perform_file_open(file, func, line, switch_file_handle.getCPtr(fh), file_path, channels, rate, flags, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_file_read(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_read(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_file_write(switch_file_handle fh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t len) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_write(switch_file_handle.getCPtr(fh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(len));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_file_seek(switch_file_handle fh, SWIGTYPE_p_unsigned_int cur_pos, long samples, int whence) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_seek(switch_file_handle.getCPtr(fh), SWIGTYPE_p_unsigned_int.getCPtr(cur_pos), samples, whence);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_file_set_string(switch_file_handle fh, switch_audio_col_t col, string arg2) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_set_string(switch_file_handle.getCPtr(fh), (int)col, arg2);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_file_get_string(switch_file_handle fh, switch_audio_col_t col, ref string arg2) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_get_string(switch_file_handle.getCPtr(fh), (int)col, ref arg2);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_file_close(switch_file_handle fh) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_file_close(switch_file_handle.getCPtr(fh));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_speech_open(switch_speech_handle sh, string module_name, string voice_name, uint rate, uint interval, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_open(switch_speech_handle.getCPtr(sh), module_name, voice_name, rate, interval, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_speech_feed_tts(switch_speech_handle sh, string text, SWIGTYPE_p_unsigned_long flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_feed_tts(switch_speech_handle.getCPtr(sh), text, SWIGTYPE_p_unsigned_long.getCPtr(flags));
+    return ret;
+  }
+
+  public static void switch_core_speech_flush_tts(switch_speech_handle sh) {
+    freeswitchPINVOKE.switch_core_speech_flush_tts(switch_speech_handle.getCPtr(sh));
+  }
+
+  public static void switch_core_speech_text_param_tts(switch_speech_handle sh, string param, string val) {
+    freeswitchPINVOKE.switch_core_speech_text_param_tts(switch_speech_handle.getCPtr(sh), param, val);
+  }
+
+  public static void switch_core_speech_numeric_param_tts(switch_speech_handle sh, string param, int val) {
+    freeswitchPINVOKE.switch_core_speech_numeric_param_tts(switch_speech_handle.getCPtr(sh), param, val);
+  }
+
+  public static void switch_core_speech_float_param_tts(switch_speech_handle sh, string param, double val) {
+    freeswitchPINVOKE.switch_core_speech_float_param_tts(switch_speech_handle.getCPtr(sh), param, val);
+  }
+
+  public static switch_status_t switch_core_speech_read_tts(switch_speech_handle sh, SWIGTYPE_p_void data, SWIGTYPE_p_switch_size_t datalen, SWIGTYPE_p_unsigned_long rate, SWIGTYPE_p_unsigned_long flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_read_tts(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen), SWIGTYPE_p_unsigned_long.getCPtr(rate), SWIGTYPE_p_unsigned_long.getCPtr(flags));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_speech_close(switch_speech_handle sh, SWIGTYPE_p_unsigned_long flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_close(switch_speech_handle.getCPtr(sh), SWIGTYPE_p_unsigned_long.getCPtr(flags));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_asr_open(switch_asr_handle ah, string module_name, string codec, int rate, string dest, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_open(switch_asr_handle.getCPtr(ah), module_name, codec, rate, dest, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_asr_close(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_close(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_asr_feed(switch_asr_handle ah, SWIGTYPE_p_void data, uint len, SWIGTYPE_p_unsigned_long flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_feed(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_void.getCPtr(data), len, SWIGTYPE_p_unsigned_long.getCPtr(flags));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_asr_check_results(switch_asr_handle ah, SWIGTYPE_p_unsigned_long flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_check_results(switch_asr_handle.getCPtr(ah), SWIGTYPE_p_unsigned_long.getCPtr(flags));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_asr_get_results(switch_asr_handle ah, ref string xmlstr, SWIGTYPE_p_unsigned_long flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_get_results(switch_asr_handle.getCPtr(ah), ref xmlstr, SWIGTYPE_p_unsigned_long.getCPtr(flags));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_asr_load_grammar(switch_asr_handle ah, string grammar, string path) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_load_grammar(switch_asr_handle.getCPtr(ah), grammar, path);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_asr_unload_grammar(switch_asr_handle ah, string grammar) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_unload_grammar(switch_asr_handle.getCPtr(ah), grammar);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_asr_pause(switch_asr_handle ah) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_pause(switch_asr_handle.getCPtr(ah));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_asr_resume(switch_asr_handle ah) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_asr_resume(switch_asr_handle.getCPtr(ah));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_directory_open(switch_directory_handle dh, string module_name, string source, string dsn, string passwd, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_open(switch_directory_handle.getCPtr(dh), module_name, source, dsn, passwd, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_directory_query(switch_directory_handle dh, string arg1, string query) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_query(switch_directory_handle.getCPtr(dh), arg1, query);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_directory_next(switch_directory_handle dh) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next(switch_directory_handle.getCPtr(dh));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_directory_next_pair(switch_directory_handle dh, ref string var, ref string val) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_next_pair(switch_directory_handle.getCPtr(dh), ref var, ref val);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_directory_close(switch_directory_handle dh) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_directory_close(switch_directory_handle.getCPtr(dh));
+    return ret;
+  }
+
+  public static SWIGTYPE_p_FILE switch_core_data_channel(switch_text_channel_t channel) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_data_channel((int)channel);
+    SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false);
+    return ret;
+  }
+
+  public static switch_bool_t switch_core_ready() {
+    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_core_ready();
+    return ret;
+  }
+
+  public static uint switch_core_flags() {
+    uint ret = freeswitchPINVOKE.switch_core_flags();
+    return ret;
+  }
+
+  public static switch_status_t switch_core_management_exec(string relative_oid, switch_management_action_t action, string data, SWIGTYPE_p_switch_size_t datalen) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_management_exec(relative_oid, (int)action, data, SWIGTYPE_p_switch_size_t.getCPtr(datalen));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static int set_high_priority() {
+    int ret = freeswitchPINVOKE.set_high_priority();
+    return ret;
+  }
+
+  public static int change_user_group(string user, string group) {
+    int ret = freeswitchPINVOKE.change_user_group(user, group);
+    return ret;
+  }
+
+  public static void switch_core_runtime_loop(int bg) {
+    freeswitchPINVOKE.switch_core_runtime_loop(bg);
+  }
+
+  public static switch_status_t switch_core_set_console(string console) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_set_console(console);
+    return ret;
+  }
+
+  public static void switch_core_measure_time(SWIGTYPE_p_switch_time_t total_ms, switch_core_time_duration duration) {
+    freeswitchPINVOKE.switch_core_measure_time(SWIGTYPE_p_switch_time_t.getCPtr(total_ms), switch_core_time_duration.getCPtr(duration));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static SWIGTYPE_p_switch_time_t switch_core_uptime() {
+    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_core_uptime(), true);
+    return ret;
+  }
+
+  public static int switch_core_session_ctl(switch_session_ctl_t cmd, SWIGTYPE_p_int val) {
+    int ret = freeswitchPINVOKE.switch_core_session_ctl((int)cmd, SWIGTYPE_p_int.getCPtr(val));
+    return ret;
+  }
+
+  public static SWIGTYPE_p_FILE switch_core_get_console() {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_get_console();
+    SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false);
+    return ret;
+  }
+
+  public static void switch_core_launch_thread(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void func, SWIGTYPE_p_void obj, SWIGTYPE_p_apr_pool_t pool) {
+    freeswitchPINVOKE.switch_core_launch_thread(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void.getCPtr(func), SWIGTYPE_p_void.getCPtr(obj), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+  }
+
+  public static void switch_core_set_globals() {
+    freeswitchPINVOKE.switch_core_set_globals();
+  }
+
+  public static byte switch_core_session_compare(SWIGTYPE_p_switch_core_session a, SWIGTYPE_p_switch_core_session b) {
+    byte ret = freeswitchPINVOKE.switch_core_session_compare(SWIGTYPE_p_switch_core_session.getCPtr(a), SWIGTYPE_p_switch_core_session.getCPtr(b));
+    return ret;
+  }
+
+  public static byte switch_core_session_check_interface(SWIGTYPE_p_switch_core_session session, switch_endpoint_interface endpoint_interface) {
+    byte ret = freeswitchPINVOKE.switch_core_session_check_interface(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_endpoint_interface.getCPtr(endpoint_interface));
+    return ret;
+  }
+
+  public static SWIGTYPE_p_HashElem switch_core_mime_index() {
+    IntPtr cPtr = freeswitchPINVOKE.switch_core_mime_index();
+    SWIGTYPE_p_HashElem ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_HashElem(cPtr, false);
+    return ret;
+  }
+
+  public static string switch_core_mime_ext2type(string ext) {
+    string ret = freeswitchPINVOKE.switch_core_mime_ext2type(ext);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_mime_add_type(string type, string ext) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_mime_add_type(type, ext);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_loadable_module_interface switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t pool, string name) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_module_interface(SWIGTYPE_p_apr_pool_t.getCPtr(pool), name);
+    SWIGTYPE_p_switch_loadable_module_interface ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_loadable_module_interface(cPtr, false);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_void switch_loadable_module_create_interface(SWIGTYPE_p_switch_loadable_module_interface mod, switch_module_interface_name_t iname) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_create_interface(SWIGTYPE_p_switch_loadable_module_interface.getCPtr(mod), (int)iname);
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_time_t switch_timestamp_now() {
+    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_timestamp_now(), true);
+    return ret;
+  }
+
+  public static void switch_core_memory_reclaim() {
+    freeswitchPINVOKE.switch_core_memory_reclaim();
+  }
+
+  public static void switch_core_memory_reclaim_events() {
+    freeswitchPINVOKE.switch_core_memory_reclaim_events();
+  }
+
+  public static void switch_core_memory_reclaim_logger() {
+    freeswitchPINVOKE.switch_core_memory_reclaim_logger();
+  }
+
+  public static void switch_core_memory_reclaim_all() {
+    freeswitchPINVOKE.switch_core_memory_reclaim_all();
+  }
+
+  public static void switch_core_setrlimits() {
+    freeswitchPINVOKE.switch_core_setrlimits();
+  }
+
+  public static void switch_time_sync() {
+    freeswitchPINVOKE.switch_time_sync();
+  }
+
+  public static SWIGTYPE_p_time_t switch_timestamp(SWIGTYPE_p_time_t t) {
+    SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(freeswitchPINVOKE.switch_timestamp(SWIGTYPE_p_time_t.getCPtr(t)), true);
+    return ret;
+  }
+
+  public static switch_status_t switch_strftime_tz(string tz, string format, string date, uint len) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_strftime_tz(tz, format, date, len);
+    return ret;
+  }
+
+  public static void switch_load_network_lists(switch_bool_t reload) {
+    freeswitchPINVOKE.switch_load_network_lists((int)reload);
+  }
+
+  public static switch_bool_t switch_check_network_list_ip_token(string ip_str, string list_name, ref string token) {
+    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_check_network_list_ip_token(ip_str, list_name, ref token);
+    return ret;
+  }
+
+  public static void switch_time_set_monotonic(switch_bool_t enable) {
+    freeswitchPINVOKE.switch_time_set_monotonic((int)enable);
+  }
+
+  public static uint switch_core_max_dtmf_duration(uint duration) {
+    uint ret = freeswitchPINVOKE.switch_core_max_dtmf_duration(duration);
+    return ret;
+  }
+
+  public static uint switch_core_default_dtmf_duration(uint duration) {
+    uint ret = freeswitchPINVOKE.switch_core_default_dtmf_duration(duration);
+    return ret;
+  }
+
+  public static switch_status_t switch_console_set_complete(string arg0) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_complete(arg0);
+    return ret;
+  }
+
+  public static switch_status_t switch_console_set_alias(string arg0) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_set_alias(arg0);
+    return ret;
+  }
+
+  public static int switch_system(string cmd, switch_bool_t wait) {
+    int ret = freeswitchPINVOKE.switch_system(cmd, (int)wait);
+    return ret;
+  }
+
+  public static void switch_console_loop() {
+    freeswitchPINVOKE.switch_console_loop();
+  }
+
+  public static switch_status_t switch_console_stream_raw_write(switch_stream_handle handle, SWIGTYPE_p_unsigned_char data, SWIGTYPE_p_switch_size_t datalen) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_console_stream_raw_write(switch_stream_handle.getCPtr(handle), SWIGTYPE_p_unsigned_char.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(datalen));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static switch_bool_t switch_is_moh(string s) {
+    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_moh(s);
+    return ret;
+  }
+
+  public static switch_status_t switch_b64_encode(SWIGTYPE_p_unsigned_char arg0, SWIGTYPE_p_switch_size_t ilen, SWIGTYPE_p_unsigned_char arg2, SWIGTYPE_p_switch_size_t olen) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_b64_encode(SWIGTYPE_p_unsigned_char.getCPtr(arg0), SWIGTYPE_p_switch_size_t.getCPtr(ilen), SWIGTYPE_p_unsigned_char.getCPtr(arg2), SWIGTYPE_p_switch_size_t.getCPtr(olen));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_b64_decode(string arg0, string arg1, SWIGTYPE_p_switch_size_t olen) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_b64_decode(arg0, arg1, SWIGTYPE_p_switch_size_t.getCPtr(olen)), true);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static string switch_amp_encode(string s, string buf, SWIGTYPE_p_switch_size_t len) {
+    string ret = freeswitchPINVOKE.switch_amp_encode(s, buf, SWIGTYPE_p_switch_size_t.getCPtr(len));
+    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;
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_fd_read_line(int fd, string buf, SWIGTYPE_p_switch_size_t len) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_fd_read_line(fd, buf, SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static switch_status_t switch_find_local_ip(string buf, int len, int family) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_find_local_ip(buf, len, family);
+    return ret;
+  }
+
+  public static string get_addr(string buf, SWIGTYPE_p_switch_size_t len, SWIGTYPE_p_sockaddr sa, SWIGTYPE_p_socklen_t salen) {
+    string ret = freeswitchPINVOKE.get_addr(buf, SWIGTYPE_p_switch_size_t.getCPtr(len), SWIGTYPE_p_sockaddr.getCPtr(sa), SWIGTYPE_p_socklen_t.getCPtr(salen));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static ushort get_port(SWIGTYPE_p_sockaddr sa) {
+    ushort ret = freeswitchPINVOKE.get_port(SWIGTYPE_p_sockaddr.getCPtr(sa));
+    return ret;
+  }
+
+  public static int switch_build_uri(string uri, SWIGTYPE_p_switch_size_t size, string scheme, string user, SWIGTYPE_p_switch_sockaddr_t sa, int flags) {
+    int ret = freeswitchPINVOKE.switch_build_uri(uri, SWIGTYPE_p_switch_size_t.getCPtr(size), scheme, user, SWIGTYPE_p_switch_sockaddr_t.getCPtr(sa), flags);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static string switch_priority_name(switch_priority_t priority) {
+    string ret = freeswitchPINVOKE.switch_priority_name((int)priority);
+    return ret;
+  }
+
+  public static char switch_rfc2833_to_char(int arg0) {
+    char ret = freeswitchPINVOKE.switch_rfc2833_to_char(arg0);
+    return ret;
+  }
+
+  public static byte switch_char_to_rfc2833(char key) {
+    byte ret = freeswitchPINVOKE.switch_char_to_rfc2833(key);
+    return ret;
+  }
+
+  public static string switch_clean_string(string s) {
+    string ret = freeswitchPINVOKE.switch_clean_string(s);
+    return ret;
+  }
+
+  public static string switch_safe_strdup(string it) {
+    string ret = freeswitchPINVOKE.switch_safe_strdup(it);
+    return ret;
+  }
+
+  public static switch_bool_t switch_strstr(string s, string q) {
+    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_strstr(s, q);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_time_t switch_str_time(string arg0) {
+    SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_str_time(arg0), true);
+    return ret;
+  }
+
+  public static uint switch_separate_string(string buf, char delim, ref string array, uint arraylen) {
+    uint ret = freeswitchPINVOKE.switch_separate_string(buf, delim, ref array, arraylen);
+    return ret;
+  }
+
+  public static switch_bool_t switch_is_number(string str) {
+    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_number(str);
+    return ret;
+  }
+
+  public static string switch_strip_spaces(string str) {
+    string ret = freeswitchPINVOKE.switch_strip_spaces(str);
+    return ret;
+  }
+
+  public static string switch_separate_paren_args(string str) {
+    string ret = freeswitchPINVOKE.switch_separate_paren_args(str);
+    return ret;
+  }
+
+  public static string switch_stristr(string instr, string str) {
+    string ret = freeswitchPINVOKE.switch_stristr(instr, str);
+    return ret;
+  }
+
+  public static switch_bool_t switch_is_lan_addr(string ip) {
+    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_is_lan_addr(ip);
+    return ret;
+  }
+
+  public static string switch_replace_char(string str, char from, char to, switch_bool_t dup) {
+    string ret = freeswitchPINVOKE.switch_replace_char(str, from, to, (int)dup);
+    return ret;
+  }
+
+  public static switch_bool_t switch_ast2regex(string pat, string rbuf, uint len) {
+    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_ast2regex(pat, rbuf, len);
+    return ret;
+  }
+
+  public static string switch_escape_char(SWIGTYPE_p_apr_pool_t pool, string arg1, string delim, char esc) {
+    string ret = freeswitchPINVOKE.switch_escape_char(SWIGTYPE_p_apr_pool_t.getCPtr(pool), arg1, delim, esc);
+    return ret;
+  }
+
+  public static int switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t poll, int ms) {
+    int ret = freeswitchPINVOKE.switch_socket_waitfor(SWIGTYPE_p_switch_pollfd_t.getCPtr(poll), ms);
+    return ret;
+  }
+
+  public static string switch_cut_path(string arg0) {
+    string ret = freeswitchPINVOKE.switch_cut_path(arg0);
+    return ret;
+  }
+
+  public static string switch_string_replace(string arg0, string search, string replace) {
+    string ret = freeswitchPINVOKE.switch_string_replace(arg0, search, replace);
+    return ret;
+  }
+
+  public static switch_status_t switch_string_match(string arg0, uint string_len, string search, uint search_len) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_string_match(arg0, string_len, search, search_len);
+    return ret;
+  }
+
+  public static uint switch_url_encode(string url, string buf, uint len) {
+    uint ret = freeswitchPINVOKE.switch_url_encode(url, buf, len);
+    return ret;
+  }
+
+  public static string switch_url_decode(string s) {
+    string ret = freeswitchPINVOKE.switch_url_decode(s);
+    return ret;
+  }
+
+  public static switch_bool_t switch_simple_email(string to, string from, string headers, string body, string file) {
+    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_simple_email(to, from, headers, body, file);
+    return ret;
+  }
+
+  public static string switch_find_end_paren(string s, char open, char close) {
+    string ret = freeswitchPINVOKE.switch_find_end_paren(s, open, close);
+    return ret;
+  }
+
+  public static int switch_parse_cidr(string arg0, SWIGTYPE_p_unsigned_long ip, SWIGTYPE_p_unsigned_long mask, SWIGTYPE_p_unsigned_long bitp) {
+    int ret = freeswitchPINVOKE.switch_parse_cidr(arg0, SWIGTYPE_p_unsigned_long.getCPtr(ip), SWIGTYPE_p_unsigned_long.getCPtr(mask), SWIGTYPE_p_unsigned_long.getCPtr(bitp));
+    return ret;
+  }
+
+  public static switch_status_t switch_network_list_create(SWIGTYPE_p_p_switch_network_list list, switch_bool_t default_type, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_create(SWIGTYPE_p_p_switch_network_list.getCPtr(list), (int)default_type, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static switch_status_t switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list list, string cidr_str, switch_bool_t ok, string token) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_cidr_token(SWIGTYPE_p_switch_network_list.getCPtr(list), cidr_str, (int)ok, token);
+    return ret;
+  }
+
+  public static switch_status_t switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list list, string host, string mask_str, switch_bool_t ok) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_network_list_add_host_mask(SWIGTYPE_p_switch_network_list.getCPtr(list), host, mask_str, (int)ok);
+    return ret;
+  }
+
+  public static switch_bool_t switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list list, uint ip, ref string token) {
+    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_network_list_validate_ip_token(SWIGTYPE_p_switch_network_list.getCPtr(list), ip, ref token);
+    return ret;
+  }
+
+  public static switch_caller_extension switch_caller_extension_new(SWIGTYPE_p_switch_core_session session, string extension_name, string extension_number) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_new(SWIGTYPE_p_switch_core_session.getCPtr(session), extension_name, extension_number);
+    switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension new_ext, switch_caller_extension orig, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_caller_extension_clone(SWIGTYPE_p_p_switch_caller_extension.getCPtr(new_ext), switch_caller_extension.getCPtr(orig), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static void switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session session, switch_caller_extension caller_extension, string application_name, string extra_data) {
+    freeswitchPINVOKE.switch_caller_extension_add_application(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_extension.getCPtr(caller_extension), application_name, extra_data);
+  }
+
+  public static string switch_caller_get_field_by_name(switch_caller_profile caller_profile, string name) {
+    string ret = freeswitchPINVOKE.switch_caller_get_field_by_name(switch_caller_profile.getCPtr(caller_profile), name);
+    return ret;
+  }
+
+  public static switch_caller_profile switch_caller_profile_new(SWIGTYPE_p_apr_pool_t pool, string username, string dialplan, string caller_id_name, string caller_id_number, string network_addr, string ani, string aniii, string rdnis, string source, string context, string destination_number) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), username, dialplan, caller_id_name, caller_id_number, network_addr, ani, aniii, rdnis, source, context, destination_number);
+    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
+    return ret;
+  }
+
+  public static switch_caller_profile switch_caller_profile_clone(SWIGTYPE_p_switch_core_session session, switch_caller_profile tocopy) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_clone(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_caller_profile.getCPtr(tocopy));
+    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
+    return ret;
+  }
+
+  public static switch_caller_profile switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t pool, switch_caller_profile tocopy) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_dup(SWIGTYPE_p_apr_pool_t.getCPtr(pool), switch_caller_profile.getCPtr(tocopy));
+    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
+    return ret;
+  }
+
+  public static void switch_caller_profile_event_set_data(switch_caller_profile caller_profile, string prefix, switch_event arg2) {
+    freeswitchPINVOKE.switch_caller_profile_event_set_data(switch_caller_profile.getCPtr(caller_profile), prefix, switch_event.getCPtr(arg2));
+  }
+
+  public static switch_channel_state_t switch_channel_get_state(SWIGTYPE_p_switch_channel channel) {
+    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_state(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    return ret;
+  }
+
+  public static switch_channel_state_t switch_channel_get_running_state(SWIGTYPE_p_switch_channel channel) {
+    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_get_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    return ret;
+  }
+
+  public static byte switch_channel_ready(SWIGTYPE_p_switch_channel channel) {
+    byte ret = freeswitchPINVOKE.switch_channel_ready(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    return ret;
+  }
+
+  public static void switch_channel_wait_for_state(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_channel other_channel, switch_channel_state_t want_state) {
+    freeswitchPINVOKE.switch_channel_wait_for_state(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_channel.getCPtr(other_channel), (int)want_state);
+  }
+
+  public static switch_status_t switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel channel, uint want_flag, switch_bool_t pres, uint to, SWIGTYPE_p_switch_channel super_channel) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_wait_for_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), want_flag, (int)pres, to, SWIGTYPE_p_switch_channel.getCPtr(super_channel));
+    return ret;
+  }
+
+  public static switch_channel_state_t switch_channel_perform_set_state(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_channel_state_t state) {
+    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_state(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)state);
+    return ret;
+  }
+
+  public static switch_channel_state_t switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel channel, switch_channel_state_t state, string file, string func, int line) {
+    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_set_running_state(SWIGTYPE_p_switch_channel.getCPtr(channel), (int)state, file, func, line);
+    return ret;
+  }
+
+  public static switch_call_cause_t switch_channel_str2cause(string str) {
+    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_str2cause(str);
+    return ret;
+  }
+
+  public static switch_call_cause_t switch_channel_get_cause(SWIGTYPE_p_switch_channel channel) {
+    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    return ret;
+  }
+
+  public static switch_call_cause_t switch_channel_cause_q850(switch_call_cause_t cause) {
+    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_cause_q850((int)cause);
+    return ret;
+  }
+
+  public static switch_call_cause_t switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel channel) {
+    switch_call_cause_t ret = (switch_call_cause_t)freeswitchPINVOKE.switch_channel_get_cause_q850(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    return ret;
+  }
+
+  public static string switch_channel_cause2str(switch_call_cause_t cause) {
+    string ret = freeswitchPINVOKE.switch_channel_cause2str((int)cause);
+    return ret;
+  }
+
+  public static switch_channel_timetable switch_channel_get_timetable(SWIGTYPE_p_switch_channel channel) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_timetable(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_alloc(SWIGTYPE_p_p_switch_channel channel, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_alloc(SWIGTYPE_p_p_switch_channel.getCPtr(channel), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_init(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_switch_core_session session, switch_channel_state_t state, uint flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_init(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_switch_core_session.getCPtr(session), (int)state, flags);
+    return ret;
+  }
+
+  public static void switch_channel_presence(SWIGTYPE_p_switch_channel channel, string rpid, string status, string id) {
+    freeswitchPINVOKE.switch_channel_presence(SWIGTYPE_p_switch_channel.getCPtr(channel), rpid, status, id);
+  }
+
+  public static void switch_channel_uninit(SWIGTYPE_p_switch_channel channel) {
+    freeswitchPINVOKE.switch_channel_uninit(SWIGTYPE_p_switch_channel.getCPtr(channel));
+  }
+
+  public static void switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) {
+    freeswitchPINVOKE.switch_channel_set_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile));
+  }
+
+  public static switch_caller_profile switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel channel) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
+    return ret;
+  }
+
+  public static void switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) {
+    freeswitchPINVOKE.switch_channel_set_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile));
+  }
+
+  public static switch_caller_profile switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel channel) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originator_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
+    return ret;
+  }
+
+  public static void switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile) {
+    freeswitchPINVOKE.switch_channel_set_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile));
+  }
+
+  public static switch_caller_profile switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel channel) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_originatee_caller_profile(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
+    return ret;
+  }
+
+  public static string switch_channel_get_uuid(SWIGTYPE_p_switch_channel channel) {
+    string ret = freeswitchPINVOKE.switch_channel_get_uuid(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_set_variable(SWIGTYPE_p_switch_channel channel, string varname, string value) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel channel, string varname, string fmt) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_printf(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, fmt);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_set_variable_partner(SWIGTYPE_p_switch_channel channel, string varname, string value) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_variable_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), varname, value);
+    return ret;
+  }
+
+  public static string switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel channel, string varname) {
+    string ret = freeswitchPINVOKE.switch_channel_get_variable_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), varname);
+    return ret;
+  }
+
+  public static string switch_channel_get_variable(SWIGTYPE_p_switch_channel channel, string varname) {
+    string ret = freeswitchPINVOKE.switch_channel_get_variable(SWIGTYPE_p_switch_channel.getCPtr(channel), varname);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_get_variables(SWIGTYPE_p_switch_channel channel, SWIGTYPE_p_p_switch_event arg1) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_get_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), SWIGTYPE_p_p_switch_event.getCPtr(arg1));
+    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);
+    return ret;
+  }
+
+  public static void switch_channel_variable_last(SWIGTYPE_p_switch_channel channel) {
+    freeswitchPINVOKE.switch_channel_variable_last(SWIGTYPE_p_switch_channel.getCPtr(channel));
+  }
+
+  public static void switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel channel, switch_caller_extension caller_extension) {
+    freeswitchPINVOKE.switch_channel_set_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_extension.getCPtr(caller_extension));
+  }
+
+  public static switch_caller_extension switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel channel) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_caller_extension(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
+    return ret;
+  }
+
+  public static uint switch_channel_test_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
+    uint ret = freeswitchPINVOKE.switch_channel_test_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
+    return ret;
+  }
+
+  public static void switch_channel_set_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
+    freeswitchPINVOKE.switch_channel_set_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
+  }
+
+  public static switch_bool_t switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel channel, uint flags) {
+    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_set_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
+    return ret;
+  }
+
+  public static switch_bool_t switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel channel, uint flags) {
+    switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_channel_clear_flag_partner(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
+    return ret;
+  }
+
+  public static void switch_channel_set_state_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
+    freeswitchPINVOKE.switch_channel_set_state_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
+  }
+
+  public static void switch_channel_clear_flag(SWIGTYPE_p_switch_channel channel, uint flags) {
+    freeswitchPINVOKE.switch_channel_clear_flag(SWIGTYPE_p_switch_channel.getCPtr(channel), flags);
+  }
+
+  public static switch_status_t switch_channel_perform_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_pre_answer(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_pre_answered(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel channel, string file, string func, int line) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_perform_mark_ring_ready(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line);
+    return ret;
+  }
+
+  public static int switch_channel_add_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) {
+    int ret = freeswitchPINVOKE.switch_channel_add_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler));
+    return ret;
+  }
+
+  public static void switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel channel, switch_state_handler_table state_handler) {
+    freeswitchPINVOKE.switch_channel_clear_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_state_handler_table.getCPtr(state_handler));
+  }
+
+  public static switch_state_handler_table switch_channel_get_state_handler(SWIGTYPE_p_switch_channel channel, int index) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_state_handler(SWIGTYPE_p_switch_channel.getCPtr(channel), index);
+    switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_set_private(SWIGTYPE_p_switch_channel channel, string key, SWIGTYPE_p_void private_info) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key, SWIGTYPE_p_void.getCPtr(private_info));
+    return ret;
+  }
+
+  public static SWIGTYPE_p_void switch_channel_get_private(SWIGTYPE_p_switch_channel channel, string key) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_channel_get_private(SWIGTYPE_p_switch_channel.getCPtr(channel), key);
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_set_name(SWIGTYPE_p_switch_channel channel, string name) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_name(SWIGTYPE_p_switch_channel.getCPtr(channel), name);
+    return ret;
+  }
+
+  public static string switch_channel_get_name(SWIGTYPE_p_switch_channel channel) {
+    string ret = freeswitchPINVOKE.switch_channel_get_name(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    return ret;
+  }
+
+  public static switch_channel_state_t switch_channel_perform_hangup(SWIGTYPE_p_switch_channel channel, string file, string func, int line, switch_call_cause_t hangup_cause) {
+    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_perform_hangup(SWIGTYPE_p_switch_channel.getCPtr(channel), file, func, line, (int)hangup_cause);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_channel_has_dtmf(SWIGTYPE_p_switch_channel channel) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_has_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel)), true);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf));
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_string) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_queue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_string);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel channel, switch_dtmf_t dtmf) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_dequeue_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_dtmf_t.getCPtr(dtmf));
+    return ret;
+  }
+
+  public static void switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel channel) {
+    freeswitchPINVOKE.switch_channel_flush_dtmf(SWIGTYPE_p_switch_channel.getCPtr(channel));
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel channel, string dtmf_str, SWIGTYPE_p_switch_size_t len) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_channel_dequeue_dtmf_string(SWIGTYPE_p_switch_channel.getCPtr(channel), dtmf_str, SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static string switch_channel_state_name(switch_channel_state_t state) {
+    string ret = freeswitchPINVOKE.switch_channel_state_name((int)state);
+    return ret;
+  }
+
+  public static switch_channel_state_t switch_channel_name_state(string name) {
+    switch_channel_state_t ret = (switch_channel_state_t)freeswitchPINVOKE.switch_channel_name_state(name);
+    return ret;
+  }
+
+  public static void switch_channel_event_set_data(SWIGTYPE_p_switch_channel channel, switch_event arg1) {
+    freeswitchPINVOKE.switch_channel_event_set_data(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_event.getCPtr(arg1));
+  }
+
+  public static string switch_channel_expand_variables(SWIGTYPE_p_switch_channel channel, string arg1) {
+    string ret = freeswitchPINVOKE.switch_channel_expand_variables(SWIGTYPE_p_switch_channel.getCPtr(channel), arg1);
+    return ret;
+  }
+
+  public static string switch_channel_build_param_string(SWIGTYPE_p_switch_channel channel, switch_caller_profile caller_profile, string prefix) {
+    string ret = freeswitchPINVOKE.switch_channel_build_param_string(SWIGTYPE_p_switch_channel.getCPtr(channel), switch_caller_profile.getCPtr(caller_profile), prefix);
+    return ret;
+  }
+
+  public static switch_status_t switch_channel_set_timestamps(SWIGTYPE_p_switch_channel channel) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_channel_set_timestamps(SWIGTYPE_p_switch_channel.getCPtr(channel));
+    return ret;
+  }
+
+  public static switch_status_t switch_buffer_create(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t max_len) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(max_len));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static switch_status_t switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t blocksize, SWIGTYPE_p_switch_size_t start_len, SWIGTYPE_p_switch_size_t max_len) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_create_dynamic(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(blocksize), SWIGTYPE_p_switch_size_t.getCPtr(start_len), SWIGTYPE_p_switch_size_t.getCPtr(max_len));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_mutex_t mutex) {
+    freeswitchPINVOKE.switch_buffer_add_mutex(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_mutex_t.getCPtr(mutex));
+  }
+
+  public static void switch_buffer_lock(SWIGTYPE_p_switch_buffer buffer) {
+    freeswitchPINVOKE.switch_buffer_lock(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
+  }
+
+  public static switch_status_t switch_buffer_trylock(SWIGTYPE_p_switch_buffer buffer) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_buffer_trylock(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
+    return ret;
+  }
+
+  public static void switch_buffer_unlock(SWIGTYPE_p_switch_buffer buffer) {
+    freeswitchPINVOKE.switch_buffer_unlock(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_buffer_len(SWIGTYPE_p_switch_buffer buffer) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_len(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_buffer_freespace(SWIGTYPE_p_switch_buffer buffer) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_freespace(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_buffer_inuse(SWIGTYPE_p_switch_buffer buffer) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_inuse(SWIGTYPE_p_switch_buffer.getCPtr(buffer)), true);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_buffer_read(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_read(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 SWIGTYPE_p_switch_size_t switch_buffer_read_loop(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_read_loop(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_set_loops(SWIGTYPE_p_switch_buffer buffer, int loops) {
+    freeswitchPINVOKE.switch_buffer_set_loops(SWIGTYPE_p_switch_buffer.getCPtr(buffer), loops);
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_buffer_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_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 SWIGTYPE_p_switch_size_t switch_buffer_toss(SWIGTYPE_p_switch_buffer buffer, SWIGTYPE_p_switch_size_t datalen) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_buffer_toss(SWIGTYPE_p_switch_buffer.getCPtr(buffer), SWIGTYPE_p_switch_size_t.getCPtr(datalen)), true);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void switch_buffer_zero(SWIGTYPE_p_switch_buffer buffer) {
+    freeswitchPINVOKE.switch_buffer_zero(SWIGTYPE_p_switch_buffer.getCPtr(buffer));
+  }
+
+  public static void switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer buffer) {
+    freeswitchPINVOKE.switch_buffer_destroy(SWIGTYPE_p_p_switch_buffer.getCPtr(buffer));
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_buffer_zwrite(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_zwrite(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 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;
+  }
+
+  public static switch_status_t switch_event_shutdown() {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_shutdown();
+    return ret;
+  }
+
+  public static switch_status_t switch_event_create_subclass(SWIGTYPE_p_p_switch_event arg0, switch_event_types_t event_id, string subclass_name) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_subclass(SWIGTYPE_p_p_switch_event.getCPtr(arg0), (int)event_id, subclass_name);
+    return ret;
+  }
+
+  public static switch_status_t switch_event_set_priority(switch_event arg0, switch_priority_t priority) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_set_priority(switch_event.getCPtr(arg0), (int)priority);
+    return ret;
+  }
+
+  public static string switch_event_get_header(switch_event arg0, string header_name) {
+    string ret = freeswitchPINVOKE.switch_event_get_header(switch_event.getCPtr(arg0), header_name);
+    return ret;
+  }
+
+  public static string switch_event_get_body(switch_event arg0) {
+    string ret = freeswitchPINVOKE.switch_event_get_body(switch_event.getCPtr(arg0));
+    return ret;
+  }
+
+  public static switch_status_t switch_event_add_header_string(switch_event arg0, switch_stack_t stack, string header_name, string data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_add_header_string(switch_event.getCPtr(arg0), (int)stack, header_name, data);
+    return ret;
+  }
+
+  public static switch_status_t switch_event_del_header(switch_event arg0, string header_name) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_del_header(switch_event.getCPtr(arg0), header_name);
+    return ret;
+  }
+
+  public static void switch_event_destroy(SWIGTYPE_p_p_switch_event arg0) {
+    freeswitchPINVOKE.switch_event_destroy(SWIGTYPE_p_p_switch_event.getCPtr(arg0));
+  }
+
+  public static switch_status_t switch_event_dup(SWIGTYPE_p_p_switch_event arg0, switch_event todup) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_dup(SWIGTYPE_p_p_switch_event.getCPtr(arg0), switch_event.getCPtr(todup));
+    return ret;
+  }
+
+  public static switch_status_t switch_event_fire_detailed(string file, string func, int line, SWIGTYPE_p_p_switch_event arg3, SWIGTYPE_p_void user_data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_fire_detailed(file, func, line, SWIGTYPE_p_p_switch_event.getCPtr(arg3), SWIGTYPE_p_void.getCPtr(user_data));
+    return ret;
+  }
+
+  public static switch_status_t switch_event_bind(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data));
+    return ret;
+  }
+
+  public static switch_status_t switch_event_bind_removable(string id, switch_event_types_t arg1, string subclass_name, SWIGTYPE_p_f_p_switch_event__void callback, SWIGTYPE_p_void user_data, SWIGTYPE_p_p_switch_event_node node) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_bind_removable(id, (int)arg1, subclass_name, SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback), SWIGTYPE_p_void.getCPtr(user_data), SWIGTYPE_p_p_switch_event_node.getCPtr(node));
+    return ret;
+  }
+
+  public static switch_status_t switch_event_unbind(SWIGTYPE_p_p_switch_event_node node) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind(SWIGTYPE_p_p_switch_event_node.getCPtr(node));
+    return ret;
+  }
+
+  public static switch_status_t switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void callback) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_unbind_callback(SWIGTYPE_p_f_p_switch_event__void.getCPtr(callback));
+    return ret;
+  }
+
+  public static string switch_event_name(switch_event_types_t arg0) {
+    string ret = freeswitchPINVOKE.switch_event_name((int)arg0);
+    return ret;
+  }
+
+  public static switch_status_t switch_name_event(string name, SWIGTYPE_p_switch_event_types_t type) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_name_event(name, SWIGTYPE_p_switch_event_types_t.getCPtr(type));
+    return ret;
+  }
+
+  public static switch_status_t switch_event_reserve_subclass_detailed(string owner, string subclass_name) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_reserve_subclass_detailed(owner, subclass_name);
+    return ret;
+  }
+
+  public static switch_status_t switch_event_free_subclass_detailed(string owner, string subclass_name) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_free_subclass_detailed(owner, subclass_name);
+    return ret;
+  }
+
+  public static switch_status_t switch_event_serialize(switch_event arg0, ref string str, switch_bool_t encode) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_serialize(switch_event.getCPtr(arg0), ref str, (int)encode);
+    return ret;
+  }
+
+  public static switch_status_t switch_event_running() {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_running();
+    return ret;
+  }
+
+  public static string switch_event_expand_headers(switch_event arg0, string arg1) {
+    string ret = freeswitchPINVOKE.switch_event_expand_headers(switch_event.getCPtr(arg0), arg1);
+    return ret;
+  }
+
+  public static switch_status_t switch_event_create_pres_in_detailed(string file, string func, int line, string proto, string login, string from, string from_domain, string status, string event_type, string alt_event_type, int event_count, string unique_id, string channel_state, string answer_state, string call_direction) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_event_create_pres_in_detailed(file, func, line, proto, login, from, from_domain, status, event_type, alt_event_type, event_count, unique_id, channel_state, answer_state, call_direction);
+    return ret;
+  }
+
+  public static void switch_event_deliver(SWIGTYPE_p_p_switch_event arg0) {
+    freeswitchPINVOKE.switch_event_deliver(SWIGTYPE_p_p_switch_event.getCPtr(arg0));
+  }
+
+  public static string switch_event_build_param_string(switch_event arg0, string prefix, SWIGTYPE_p_switch_hash vars_map) {
+    string ret = freeswitchPINVOKE.switch_event_build_param_string(switch_event.getCPtr(arg0), prefix, SWIGTYPE_p_switch_hash.getCPtr(vars_map));
+    return ret;
+  }
+
+  public static switch_status_t switch_resample_create(SWIGTYPE_p_p_switch_audio_resampler_t new_resampler, int from_rate, SWIGTYPE_p_switch_size_t from_size, int to_rate, uint to_size, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_resample_create(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(new_resampler), from_rate, SWIGTYPE_p_switch_size_t.getCPtr(from_size), to_rate, to_size, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t resampler) {
+    freeswitchPINVOKE.switch_resample_destroy(SWIGTYPE_p_p_switch_audio_resampler_t.getCPtr(resampler));
+  }
+
+  public static uint switch_resample_process(switch_audio_resampler_t resampler, SWIGTYPE_p_float src, int srclen, SWIGTYPE_p_float dst, uint dstlen, int last) {
+    uint ret = freeswitchPINVOKE.switch_resample_process(switch_audio_resampler_t.getCPtr(resampler), SWIGTYPE_p_float.getCPtr(src), srclen, SWIGTYPE_p_float.getCPtr(dst), dstlen, last);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_float_to_short(SWIGTYPE_p_float f, SWIGTYPE_p_short s, SWIGTYPE_p_switch_size_t len) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_float_to_short(SWIGTYPE_p_float.getCPtr(f), SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_switch_size_t.getCPtr(len)), true);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static int switch_char_to_float(string c, SWIGTYPE_p_float f, int len) {
+    int ret = freeswitchPINVOKE.switch_char_to_float(c, SWIGTYPE_p_float.getCPtr(f), len);
+    return ret;
+  }
+
+  public static int switch_float_to_char(SWIGTYPE_p_float f, string c, int len) {
+    int ret = freeswitchPINVOKE.switch_float_to_char(SWIGTYPE_p_float.getCPtr(f), c, len);
+    return ret;
+  }
+
+  public static int switch_short_to_float(SWIGTYPE_p_short s, SWIGTYPE_p_float f, int len) {
+    int ret = freeswitchPINVOKE.switch_short_to_float(SWIGTYPE_p_short.getCPtr(s), SWIGTYPE_p_float.getCPtr(f), len);
+    return ret;
+  }
+
+  public static void switch_swap_linear(SWIGTYPE_p_short buf, int len) {
+    freeswitchPINVOKE.switch_swap_linear(SWIGTYPE_p_short.getCPtr(buf), len);
+  }
+
+  public static void switch_generate_sln_silence(SWIGTYPE_p_short data, uint samples, uint divisor) {
+    freeswitchPINVOKE.switch_generate_sln_silence(SWIGTYPE_p_short.getCPtr(data), samples, divisor);
+  }
+
+  public static void switch_change_sln_volume(SWIGTYPE_p_short data, uint samples, int vol) {
+    freeswitchPINVOKE.switch_change_sln_volume(SWIGTYPE_p_short.getCPtr(data), samples, vol);
+  }
+
+  public static uint switch_merge_sln(SWIGTYPE_p_short data, uint samples, SWIGTYPE_p_short other_data, uint other_samples) {
+    uint ret = freeswitchPINVOKE.switch_merge_sln(SWIGTYPE_p_short.getCPtr(data), samples, SWIGTYPE_p_short.getCPtr(other_data), other_samples);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_deactivate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session session, string local_ip, ushort local_port, string remote_ip, ushort remote_port, string transport, string flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_activate_unicast(SWIGTYPE_p_switch_core_session.getCPtr(session), local_ip, local_port, remote_ip, remote_port, transport, flags);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_xml xml_cdr) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_generate_xml_cdr(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_xml.getCPtr(xml_cdr));
+    return ret;
+  }
+
+  public static int switch_ivr_set_xml_profile_data(switch_xml xml, switch_caller_profile caller_profile, int off) {
+    int ret = freeswitchPINVOKE.switch_ivr_set_xml_profile_data(switch_xml.getCPtr(xml), switch_caller_profile.getCPtr(caller_profile), off);
+    return ret;
+  }
+
+  public static int switch_ivr_set_xml_chan_vars(switch_xml xml, SWIGTYPE_p_switch_channel channel, int off) {
+    int ret = freeswitchPINVOKE.switch_ivr_set_xml_chan_vars(switch_xml.getCPtr(xml), SWIGTYPE_p_switch_channel.getCPtr(channel), off);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_parse_event(SWIGTYPE_p_switch_core_session session, switch_event arg1) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_event(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_event.getCPtr(arg1));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_all_events(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_parse_next_event(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_sleep(SWIGTYPE_p_switch_core_session session, uint ms, switch_input_args_t args) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_sleep(SWIGTYPE_p_switch_core_session.getCPtr(session), ms, switch_input_args_t.getCPtr(args));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_park(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_park(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session session, switch_input_args_t args, uint timeout) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args), timeout);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session session, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t maxdigits, string terminators, string terminator, uint first_timeout, uint digit_timeout, uint abs_timeout) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_collect_digits_count(SWIGTYPE_p_switch_core_session.getCPtr(session), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(maxdigits), terminators, terminator, first_timeout, digit_timeout, abs_timeout);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session session, string mod_name, string grammar, string path, string dest, switch_asr_handle ah) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session), mod_name, grammar, path, dest, switch_asr_handle.getCPtr(ah));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_pause_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_resume_detect_speech(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session session, string grammar, string path) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_load_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar, path);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session session, string grammar) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_detect_speech_unload_grammar(SWIGTYPE_p_switch_core_session.getCPtr(session), grammar);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_record_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, switch_file_handle fh) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, switch_file_handle.getCPtr(fh));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session session, string uuid, string require_group, uint flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_eavesdrop_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, require_group, flags);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_displace_session(SWIGTYPE_p_switch_core_session session, string file, uint limit, string flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file, limit, flags);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session session, string file) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_displace_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session session, string file) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_record_session(SWIGTYPE_p_switch_core_session.getCPtr(session), file);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session, switch_bool_t read_stream) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session), (int)read_stream);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_inband_dtmf_generate_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static void switch_ivr_session_echo(SWIGTYPE_p_switch_core_session session, switch_input_args_t args) {
+    freeswitchPINVOKE.switch_ivr_session_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_input_args_t.getCPtr(args));
+  }
+
+  public static switch_status_t switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_stop_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session session, string key, string tone_spec, string flags, SWIGTYPE_p_time_t timeout, string app, string data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_tone_detect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, tone_spec, flags, SWIGTYPE_p_time_t.getCPtr(timeout), app, data);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_play_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_play_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args));
+    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;
+  }
+
+  public static switch_status_t switch_ivr_gentones(SWIGTYPE_p_switch_core_session session, string script, int loops, switch_input_args_t args) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_gentones(SWIGTYPE_p_switch_core_session.getCPtr(session), script, loops, switch_input_args_t.getCPtr(args));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_record_file(SWIGTYPE_p_switch_core_session session, switch_file_handle fh, string file, switch_input_args_t args, uint limit) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_record_file(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_file_handle.getCPtr(fh), file, switch_input_args_t.getCPtr(args), limit);
+    return ret;
+  }
+
+  public static switch_status_t switch_play_and_get_digits(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, uint max_tries, uint timeout, string valid_terminators, string audio_file, string bad_input_audio_file, SWIGTYPE_p_void digit_buffer, uint digit_buffer_length, string digits_regex) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_play_and_get_digits(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, max_tries, timeout, valid_terminators, audio_file, bad_input_audio_file, SWIGTYPE_p_void.getCPtr(digit_buffer), digit_buffer_length, digits_regex);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session session, switch_speech_handle sh, switch_codec codec, switch_timer timer, string text, switch_input_args_t args) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text_handle(SWIGTYPE_p_switch_core_session.getCPtr(session), switch_speech_handle.getCPtr(sh), switch_codec.getCPtr(codec), switch_timer.getCPtr(timer), text, switch_input_args_t.getCPtr(args));
+    return ret;
+  }
+
+  public static void switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session session) {
+    freeswitchPINVOKE.switch_ivr_clear_speech_cache(SWIGTYPE_p_switch_core_session.getCPtr(session));
+  }
+
+  public static switch_status_t switch_ivr_speak_text(SWIGTYPE_p_switch_core_session session, string tts_name, string voice_name, string text, switch_input_args_t args) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_speak_text(SWIGTYPE_p_switch_core_session.getCPtr(session), tts_name, voice_name, text, switch_input_args_t.getCPtr(args));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_originate(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_p_switch_core_session bleg, SWIGTYPE_p_switch_call_cause_t cause, string bridgeto, uint timelimit_sec, switch_state_handler_table table, string cid_name_override, string cid_num_override, switch_caller_profile caller_profile_override, uint flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_originate(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_p_switch_core_session.getCPtr(bleg), SWIGTYPE_p_switch_call_cause_t.getCPtr(cause), bridgeto, timelimit_sec, switch_state_handler_table.getCPtr(table), cid_name_override, cid_num_override, switch_caller_profile.getCPtr(caller_profile_override), flags);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t dtmf_callback, SWIGTYPE_p_void session_data, SWIGTYPE_p_void peer_session_data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_multi_threaded_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session), SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(dtmf_callback), SWIGTYPE_p_void.getCPtr(session_data), SWIGTYPE_p_void.getCPtr(peer_session_data));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_signal_bridge(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session session, string extension, string dialplan, string context) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_session_transfer(SWIGTYPE_p_switch_core_session.getCPtr(session), extension, dialplan, context);
+    return ret;
+  }
+
+  public static uint switch_ivr_schedule_transfer(SWIGTYPE_p_time_t runtime, string uuid, string extension, string dialplan, string context) {
+    uint ret = freeswitchPINVOKE.switch_ivr_schedule_transfer(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, extension, dialplan, context);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static uint switch_ivr_schedule_hangup(SWIGTYPE_p_time_t runtime, string uuid, switch_call_cause_t cause, switch_bool_t bleg) {
+    uint ret = freeswitchPINVOKE.switch_ivr_schedule_hangup(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, (int)cause, (int)bleg);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_uuid_bridge(string originator_uuid, string originatee_uuid) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_uuid_bridge(originator_uuid, originatee_uuid);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_media(string uuid, uint flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_media(uuid, flags);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_nomedia(string uuid, uint flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_nomedia(uuid, flags);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_hold_uuid(string uuid, string message, switch_bool_t moh) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold_uuid(uuid, message, (int)moh);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_unhold_uuid(string uuid) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold_uuid(uuid);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_hold(SWIGTYPE_p_switch_core_session session, string message, switch_bool_t moh) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), message, (int)moh);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_unhold(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unhold(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static uint switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t runtime, string uuid, string path, uint flags) {
+    uint ret = freeswitchPINVOKE.switch_ivr_schedule_broadcast(SWIGTYPE_p_time_t.getCPtr(runtime), uuid, path, flags);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_broadcast(string uuid, string path, uint flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_broadcast(uuid, path, flags);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session sessa, SWIGTYPE_p_switch_core_session sessb, string var) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_transfer_variable(SWIGTYPE_p_switch_core_session.getCPtr(sessa), SWIGTYPE_p_switch_core_session.getCPtr(sessb), var);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t pool, SWIGTYPE_p_p_switch_ivr_digit_stream_parser parser) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_new(SWIGTYPE_p_apr_pool_t.getCPtr(pool), SWIGTYPE_p_p_switch_ivr_digit_stream_parser.getCPtr(parser));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser parser) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_destroy(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_p_switch_ivr_digit_stream stream) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_new(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_p_switch_ivr_digit_stream.getCPtr(stream));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_digit_stream_destroy(SWIGTYPE_p_switch_ivr_digit_stream stream) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_destroy(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits, SWIGTYPE_p_void data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits, SWIGTYPE_p_void.getCPtr(data));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, string digits) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_del_event(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digits);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_void switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, SWIGTYPE_p_switch_ivr_digit_stream stream, char digit) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_ivr_digit_stream_parser_feed(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream), digit);
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream stream) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_reset(SWIGTYPE_p_switch_ivr_digit_stream.getCPtr(stream));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser parser, char digit) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_digit_stream_parser_set_terminator(SWIGTYPE_p_switch_ivr_digit_stream_parser.getCPtr(parser), digit);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu new_menu, SWIGTYPE_p_switch_ivr_menu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_init(SWIGTYPE_p_p_switch_ivr_menu.getCPtr(new_menu), SWIGTYPE_p_switch_ivr_menu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu menu, switch_ivr_action_t ivr_action, string arg, string bind) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_action(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), (int)ivr_action, arg, bind);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu menu, SWIGTYPE_p_switch_ivr_menu_action_function_t function, string arg, string bind) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_bind_function(SWIGTYPE_p_switch_ivr_menu.getCPtr(menu), SWIGTYPE_p_switch_ivr_menu_action_function_t.getCPtr(function), arg, bind);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_ivr_menu stack, string name, SWIGTYPE_p_void obj) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_execute(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_ivr_menu.getCPtr(stack), name, SWIGTYPE_p_void.getCPtr(obj));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu stack) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_free(SWIGTYPE_p_switch_ivr_menu.getCPtr(stack));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_p_switch_ivr_menu menu_stack, switch_xml xml_menus, switch_xml xml_menu) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_build(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_p_switch_ivr_menu.getCPtr(menu_stack), switch_xml.getCPtr(xml_menus), switch_xml.getCPtr(xml_menu));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_menu_str2action(string action_name, SWIGTYPE_p_switch_ivr_action_t action) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_str2action(action_name, SWIGTYPE_p_switch_ivr_action_t.getCPtr(action));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx xml_menu_ctx, string name, SWIGTYPE_p_switch_ivr_menu_action_function_t function) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_add_custom(SWIGTYPE_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), name, SWIGTYPE_p_switch_ivr_menu_action_function_t.getCPtr(function));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx xml_menu_ctx, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_menu_stack_xml_init(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx.getCPtr(xml_menu_ctx), SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session session, string macro_name, string data, string lang, switch_input_args_t args) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_phrase_macro(SWIGTYPE_p_switch_core_session.getCPtr(session), macro_name, data, lang, switch_input_args_t.getCPtr(args));
+    return ret;
+  }
+
+  public static void switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session session, uint delay_ms) {
+    freeswitchPINVOKE.switch_ivr_delay_echo(SWIGTYPE_p_switch_core_session.getCPtr(session), delay_ms);
+  }
+
+  public static switch_status_t switch_ivr_find_bridged_uuid(string uuid, string b_uuid, SWIGTYPE_p_switch_size_t blen) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_find_bridged_uuid(uuid, b_uuid, SWIGTYPE_p_switch_size_t.getCPtr(blen));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session session, string uuid, switch_bool_t bleg) {
+    freeswitchPINVOKE.switch_ivr_intercept_session(SWIGTYPE_p_switch_core_session.getCPtr(session), uuid, (int)bleg);
+  }
+
+  public static void switch_ivr_park_session(SWIGTYPE_p_switch_core_session session) {
+    freeswitchPINVOKE.switch_ivr_park_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
+  }
+
+  public static switch_status_t switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_switch_core_session peer_session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_wait_for_answer(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_switch_core_session.getCPtr(peer_session));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_read(SWIGTYPE_p_switch_core_session session, uint min_digits, uint max_digits, string prompt_audio_file, string var_name, string digit_buffer, SWIGTYPE_p_switch_size_t digit_buffer_length, uint timeout, string valid_terminators) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_read(SWIGTYPE_p_switch_core_session.getCPtr(session), min_digits, max_digits, prompt_audio_file, var_name, digit_buffer, SWIGTYPE_p_switch_size_t.getCPtr(digit_buffer_length), timeout, valid_terminators);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session, uint key, uint bind_flags, string app) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_bind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session), key, bind_flags, app);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_unbind_dtmf_meta_session(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session session, string unhold_key, string moh_a, string moh_b) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_soft_hold(SWIGTYPE_p_switch_core_session.getCPtr(session), unhold_key, moh_a, moh_b);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_say(SWIGTYPE_p_switch_core_session session, string tosay, string module_name, string say_type, string say_method, switch_input_args_t args) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_say(SWIGTYPE_p_switch_core_session.getCPtr(session), tosay, module_name, say_type, say_method, switch_input_args_t.getCPtr(args));
+    return ret;
+  }
+
+  public static switch_say_method_t switch_ivr_get_say_method_by_name(string name) {
+    switch_say_method_t ret = (switch_say_method_t)freeswitchPINVOKE.switch_ivr_get_say_method_by_name(name);
+    return ret;
+  }
+
+  public static switch_say_type_t switch_ivr_get_say_type_by_name(string name) {
+    switch_say_type_t ret = (switch_say_type_t)freeswitchPINVOKE.switch_ivr_get_say_type_by_name(name);
+    return ret;
+  }
+
+  public static switch_status_t switch_ivr_set_user(SWIGTYPE_p_switch_core_session session, string data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_ivr_set_user(SWIGTYPE_p_switch_core_session.getCPtr(session), data);
+    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();
+    return ret;
+  }
+
+  public static void switch_rtp_get_random(SWIGTYPE_p_void buf, uint len) {
+    freeswitchPINVOKE.switch_rtp_get_random(SWIGTYPE_p_void.getCPtr(buf), len);
+  }
+
+  public static void switch_rtp_init(SWIGTYPE_p_apr_pool_t pool) {
+    freeswitchPINVOKE.switch_rtp_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+  }
+
+  public static void switch_rtp_shutdown() {
+    freeswitchPINVOKE.switch_rtp_shutdown();
+  }
+
+  public static ushort switch_rtp_set_start_port(ushort port) {
+    ushort ret = freeswitchPINVOKE.switch_rtp_set_start_port(port);
+    return ret;
+  }
+
+  public static ushort switch_rtp_set_end_port(ushort port) {
+    ushort ret = freeswitchPINVOKE.switch_rtp_set_end_port(port);
+    return ret;
+  }
+
+  public static ushort switch_rtp_request_port(string ip) {
+    ushort ret = freeswitchPINVOKE.switch_rtp_request_port(ip);
+    return ret;
+  }
+
+  public static void switch_rtp_release_port(string ip, ushort port) {
+    freeswitchPINVOKE.switch_rtp_release_port(ip, port);
+  }
+
+  public static switch_status_t switch_rtp_create(SWIGTYPE_p_p_switch_rtp new_rtp_session, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_create(SWIGTYPE_p_p_switch_rtp.getCPtr(new_rtp_session), payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_rtp switch_rtp_new(string rx_host, ushort rx_port, string tx_host, ushort tx_port, byte payload, uint samples_per_interval, uint ms_per_packet, uint flags, string timer_name, ref string err, SWIGTYPE_p_apr_pool_t pool) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_new(rx_host, rx_port, tx_host, tx_port, payload, samples_per_interval, ms_per_packet, flags, timer_name, ref err, SWIGTYPE_p_apr_pool_t.getCPtr(pool));
+    SWIGTYPE_p_switch_rtp ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_rtp(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, switch_bool_t change_adv_addr, ref string err) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, (int)change_adv_addr, ref err);
+    return ret;
+  }
+
+  public static string switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp rtp_session) {
+    string ret = freeswitchPINVOKE.switch_rtp_get_remote_host(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+    return ret;
+  }
+
+  public static ushort switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp rtp_session) {
+    ushort ret = freeswitchPINVOKE.switch_rtp_get_remote_port(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+    return ret;
+  }
+
+  public static void switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp rtp_session, uint max) {
+    freeswitchPINVOKE.switch_rtp_set_max_missed_packets(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), max);
+  }
+
+  public static switch_status_t switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, ref string err) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_local_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, ref err);
+    return ret;
+  }
+
+  public static void switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp rtp_session) {
+    freeswitchPINVOKE.switch_rtp_kill_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+  }
+
+  public static void switch_rtp_break(SWIGTYPE_p_switch_rtp rtp_session) {
+    freeswitchPINVOKE.switch_rtp_break(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+  }
+
+  public static byte switch_rtp_ready(SWIGTYPE_p_switch_rtp rtp_session) {
+    byte ret = freeswitchPINVOKE.switch_rtp_ready(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+    return ret;
+  }
+
+  public static void switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp rtp_session) {
+    freeswitchPINVOKE.switch_rtp_destroy(SWIGTYPE_p_p_switch_rtp.getCPtr(rtp_session));
+  }
+
+  public static switch_status_t switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp rtp_session, string login, string rlogin) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_ice(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), login, rlogin);
+    return ret;
+  }
+
+  public static switch_status_t switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session, uint queue_frames) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), queue_frames);
+    return ret;
+  }
+
+  public static void switch_rtp_set_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) {
+    freeswitchPINVOKE.switch_rtp_set_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags);
+  }
+
+  public static uint switch_rtp_test_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) {
+    uint ret = freeswitchPINVOKE.switch_rtp_test_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags);
+    return ret;
+  }
+
+  public static void switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp rtp_session, uint flags) {
+    freeswitchPINVOKE.switch_rtp_clear_flag(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), flags);
+  }
+
+  public static SWIGTYPE_p_switch_socket_t switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp rtp_session) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_rtp_socket(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+    SWIGTYPE_p_switch_socket_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_socket_t(cPtr, false);
+    return ret;
+  }
+
+  public static void switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session, ushort samples_per_interval) {
+    freeswitchPINVOKE.switch_rtp_set_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), samples_per_interval);
+  }
+
+  public static uint switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp rtp_session) {
+    uint ret = freeswitchPINVOKE.switch_rtp_get_default_samples_per_interval(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+    return ret;
+  }
+
+  public static void switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp rtp_session, byte payload) {
+    freeswitchPINVOKE.switch_rtp_set_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), payload);
+  }
+
+  public static uint switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp rtp_session) {
+    uint ret = freeswitchPINVOKE.switch_rtp_get_default_payload(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+    return ret;
+  }
+
+  public static void switch_rtp_set_invald_handler(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void on_invalid) {
+    freeswitchPINVOKE.switch_rtp_set_invald_handler(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void.getCPtr(on_invalid));
+  }
+
+  public static switch_status_t switch_rtp_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags);
+    return ret;
+  }
+
+  public static switch_status_t switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf));
+    return ret;
+  }
+
+  public static switch_status_t switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_queue_rfc2833_in(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf));
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp rtp_session) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_has_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session)), true);
+    return ret;
+  }
+
+  public static SWIGTYPE_p_switch_size_t switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp rtp_session, switch_dtmf_t dtmf) {
+    SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_dequeue_dtmf(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_dtmf_t.getCPtr(dtmf)), true);
+    return ret;
+  }
+
+  public static switch_status_t switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_p_void data, SWIGTYPE_p_unsigned_long datalen, SWIGTYPE_p_unsigned_char payload_type, SWIGTYPE_p_unsigned_long flags, uint io_flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_p_void.getCPtr(data), SWIGTYPE_p_unsigned_long.getCPtr(datalen), SWIGTYPE_p_unsigned_char.getCPtr(payload_type), SWIGTYPE_p_unsigned_long.getCPtr(flags), io_flags);
+    return ret;
+  }
+
+  public static switch_status_t switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame, uint io_flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame), io_flags);
+    return ret;
+  }
+
+  public static switch_status_t switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_core_session session, switch_codec codec, uint flags) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_enable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_switch_core_session.getCPtr(session), switch_codec.getCPtr(codec), flags);
+    return ret;
+  }
+
+  public static switch_status_t switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp rtp_session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_disable_vad(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+    return ret;
+  }
+
+  public static int switch_rtp_write_frame(SWIGTYPE_p_switch_rtp rtp_session, switch_frame frame) {
+    int ret = freeswitchPINVOKE.switch_rtp_write_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), switch_frame.getCPtr(frame));
+    return ret;
+  }
+
+  public static int switch_rtp_write_manual(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void data, uint datalen, byte m, byte payload, uint ts, SWIGTYPE_p_unsigned_long flags) {
+    int ret = freeswitchPINVOKE.switch_rtp_write_manual(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(data), datalen, m, payload, ts, SWIGTYPE_p_unsigned_long.getCPtr(flags));
+    return ret;
+  }
+
+  public static uint switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp rtp_session) {
+    uint ret = freeswitchPINVOKE.switch_rtp_get_ssrc(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+    return ret;
+  }
+
+  public static void switch_rtp_set_private(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_void private_data) {
+    freeswitchPINVOKE.switch_rtp_set_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_void.getCPtr(private_data));
+  }
+
+  public static void switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp rtp_session, byte te) {
+    freeswitchPINVOKE.switch_rtp_set_telephony_event(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), te);
+  }
+
+  public static void switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp rtp_session, byte pt) {
+    freeswitchPINVOKE.switch_rtp_set_cng_pt(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), pt);
+  }
+
+  public static SWIGTYPE_p_void switch_rtp_get_private(SWIGTYPE_p_switch_rtp rtp_session) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_rtp_get_private(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session));
+    SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp rtp_session, string stun_ip, ushort stun_port, uint packet_count, switch_bool_t funny) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_stun_ping(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), stun_ip, stun_port, packet_count, (int)funny);
+    return ret;
+  }
+
+  public static switch_status_t switch_log_init(SWIGTYPE_p_apr_pool_t pool, switch_bool_t colorize) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), (int)colorize);
+    return ret;
+  }
+
+  public static switch_status_t switch_log_shutdown() {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_shutdown();
+    return ret;
+  }
+
+  public static switch_status_t switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function, switch_log_level_t level, switch_bool_t is_console) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_bind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function), (int)level, (int)is_console);
+    return ret;
+  }
+
+  public static switch_status_t switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t function) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_log_unbind_logger(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t.getCPtr(function));
+    return ret;
+  }
+
+  public static string switch_log_level2str(switch_log_level_t level) {
+    string ret = freeswitchPINVOKE.switch_log_level2str((int)level);
+    return ret;
+  }
+
+  public static switch_log_level_t switch_log_str2level(string str) {
+    switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_log_str2level(str);
+    return ret;
+  }
+
+  public static uint switch_log_str2mask(string str) {
+    uint ret = freeswitchPINVOKE.switch_log_str2mask(str);
+    return ret;
+  }
+
+  public static switch_xml switch_xml_parse_str(string s, SWIGTYPE_p_switch_size_t len) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_str(s, SWIGTYPE_p_switch_size_t.getCPtr(len));
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static switch_xml switch_xml_parse_fd(int fd) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fd(fd);
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_xml switch_xml_parse_file(string file) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file(file);
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_xml switch_xml_parse_file_simple(string file) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_file_simple(file);
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_xml switch_xml_parse_fp(SWIGTYPE_p_FILE fp) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_parse_fp(SWIGTYPE_p_FILE.getCPtr(fp));
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_xml switch_xml_child(switch_xml xml, string name) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_child(switch_xml.getCPtr(xml), name);
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_xml switch_xml_find_child(switch_xml node, string childname, string attrname, string value) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_find_child(switch_xml.getCPtr(node), childname, attrname, value);
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static string switch_xml_attr(switch_xml xml, string attr) {
+    string ret = freeswitchPINVOKE.switch_xml_attr(switch_xml.getCPtr(xml), attr);
+    return ret;
+  }
+
+  public static string switch_xml_attr_soft(switch_xml xml, string attr) {
+    string ret = freeswitchPINVOKE.switch_xml_attr_soft(switch_xml.getCPtr(xml), attr);
+    return ret;
+  }
+
+  public static switch_xml switch_xml_get(switch_xml xml) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_get(switch_xml.getCPtr(xml));
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static string switch_xml_toxml(switch_xml xml, switch_bool_t prn_header) {
+    string ret = freeswitchPINVOKE.switch_xml_toxml(switch_xml.getCPtr(xml), (int)prn_header);
+    return ret;
+  }
+
+  public static string switch_xml_toxml_buf(switch_xml xml, string buf, SWIGTYPE_p_switch_size_t buflen, SWIGTYPE_p_switch_size_t offset, switch_bool_t prn_header) {
+    string ret = freeswitchPINVOKE.switch_xml_toxml_buf(switch_xml.getCPtr(xml), buf, SWIGTYPE_p_switch_size_t.getCPtr(buflen), SWIGTYPE_p_switch_size_t.getCPtr(offset), (int)prn_header);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static void switch_xml_free(switch_xml xml) {
+    freeswitchPINVOKE.switch_xml_free(switch_xml.getCPtr(xml));
+  }
+
+  public static void switch_xml_free_in_thread(switch_xml xml, int stacksize) {
+    freeswitchPINVOKE.switch_xml_free_in_thread(switch_xml.getCPtr(xml), stacksize);
+  }
+
+  public static string switch_xml_error(switch_xml xml) {
+    string ret = freeswitchPINVOKE.switch_xml_error(switch_xml.getCPtr(xml));
+    return ret;
+  }
+
+  public static switch_xml switch_xml_new(string name) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_new(name);
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_xml switch_xml_add_child(switch_xml xml, string name, SWIGTYPE_p_switch_size_t off) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_add_child(switch_xml.getCPtr(xml), name, SWIGTYPE_p_switch_size_t.getCPtr(off));
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static switch_xml switch_xml_set_txt(switch_xml xml, string txt) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_txt(switch_xml.getCPtr(xml), txt);
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_xml switch_xml_set_attr(switch_xml xml, string name, string value) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_attr(switch_xml.getCPtr(xml), name, value);
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_xml switch_xml_set_flag(switch_xml xml, switch_xml_flag_t flag) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_set_flag(switch_xml.getCPtr(xml), (int)flag);
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_xml switch_xml_cut(switch_xml xml) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_cut(switch_xml.getCPtr(xml));
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_xml switch_xml_insert(switch_xml xml, switch_xml dest, SWIGTYPE_p_switch_size_t off) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_insert(switch_xml.getCPtr(xml), switch_xml.getCPtr(dest), SWIGTYPE_p_switch_size_t.getCPtr(off));
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static switch_xml switch_xml_open_root(byte reload, ref string err) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_root(reload, ref err);
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_xml_init(SWIGTYPE_p_apr_pool_t pool, ref string err) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_init(SWIGTYPE_p_apr_pool_t.getCPtr(pool), ref err);
+    return ret;
+  }
+
+  public static switch_status_t switch_xml_destroy() {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_destroy();
+    return ret;
+  }
+
+  public static switch_xml switch_xml_root() {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_root();
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_xml_locate(string section, string tag_name, string key_name, string key_value, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml node, switch_event arg6) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate(section, tag_name, key_name, key_value, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg6));
+    return ret;
+  }
+
+  public static switch_status_t switch_xml_locate_domain(string domain_name, switch_event arg1, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_domain(domain_name, switch_event.getCPtr(arg1), SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain));
+    return ret;
+  }
+
+  public static switch_status_t switch_xml_locate_user(string key, string user_name, string domain_name, string ip, SWIGTYPE_p_p_switch_xml root, SWIGTYPE_p_p_switch_xml domain, SWIGTYPE_p_p_switch_xml user, switch_event arg7) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_locate_user(key, user_name, domain_name, ip, SWIGTYPE_p_p_switch_xml.getCPtr(root), SWIGTYPE_p_p_switch_xml.getCPtr(domain), SWIGTYPE_p_p_switch_xml.getCPtr(user), switch_event.getCPtr(arg7));
+    return ret;
+  }
+
+  public static switch_xml switch_xml_open_cfg(string file_path, SWIGTYPE_p_p_switch_xml node, switch_event arg2) {
+    IntPtr cPtr = freeswitchPINVOKE.switch_xml_open_cfg(file_path, SWIGTYPE_p_p_switch_xml.getCPtr(node), switch_event.getCPtr(arg2));
+    switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+    return ret;
+  }
+
+  public static switch_status_t switch_xml_bind_search_function(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function, uint sections, SWIGTYPE_p_void user_data) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_bind_search_function(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function), sections, SWIGTYPE_p_void.getCPtr(user_data));
+    return ret;
+  }
+
+  public static switch_status_t switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding binding) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function(SWIGTYPE_p_p_switch_xml_binding.getCPtr(binding));
+    return ret;
+  }
+
+  public static switch_status_t switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml function) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_xml_unbind_search_function_ptr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml.getCPtr(function));
+    return ret;
+  }
+
+  public static uint switch_xml_parse_section_string(string str) {
+    uint ret = freeswitchPINVOKE.switch_xml_parse_section_string(str);
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_add_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 read_frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_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(read_frame));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_add_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_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(write_frame));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_add_video_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 video_read_frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_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(video_read_frame));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_add_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_video_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(video_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;
+  }
+
+  public static switch_status_t switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_add_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_outgoing_channel(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(outgoing_channel));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_message(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(receive_message));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_receive_event(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(receive_event));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_state_change(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(state_change));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_remove_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 read_frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_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(read_frame));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_remove_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_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(write_frame));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_remove_video_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 video_read_frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_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(video_read_frame));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_remove_video_write_frame(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t video_write_frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_video_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(video_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;
+  }
+
+  public static switch_status_t switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_send_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(send_dtmf));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_recv_dtmf(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(recv_dtmf));
+    return ret;
+  }
+
+  public static switch_status_t switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_event_hook_remove_resurrect_session(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(resurrect_session));
+    return ret;
+  }
+
+  public static uint switch_scheduler_add_task(SWIGTYPE_p_time_t task_runtime, SWIGTYPE_p_f_p_switch_scheduler_task__void func, string desc, string group, uint cmd_id, SWIGTYPE_p_void cmd_arg, uint flags) {
+    uint ret = freeswitchPINVOKE.switch_scheduler_add_task(SWIGTYPE_p_time_t.getCPtr(task_runtime), SWIGTYPE_p_f_p_switch_scheduler_task__void.getCPtr(func), desc, group, cmd_id, SWIGTYPE_p_void.getCPtr(cmd_arg), flags);
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    return ret;
+  }
+
+  public static uint switch_scheduler_del_task_id(uint task_id) {
+    uint ret = freeswitchPINVOKE.switch_scheduler_del_task_id(task_id);
+    return ret;
+  }
+
+  public static uint switch_scheduler_del_task_group(string group) {
+    uint ret = freeswitchPINVOKE.switch_scheduler_del_task_group(group);
+    return ret;
+  }
+
+  public static void switch_scheduler_task_thread_start() {
+    freeswitchPINVOKE.switch_scheduler_task_thread_start();
+  }
+
+  public static void switch_scheduler_task_thread_stop() {
+    freeswitchPINVOKE.switch_scheduler_task_thread_stop();
+  }
+
+  public static int switch_config_open_file(switch_config cfg, string file_path) {
+    int ret = freeswitchPINVOKE.switch_config_open_file(switch_config.getCPtr(cfg), file_path);
+    return ret;
+  }
+
+  public static void switch_config_close_file(switch_config cfg) {
+    freeswitchPINVOKE.switch_config_close_file(switch_config.getCPtr(cfg));
+  }
+
+  public static int switch_config_next_pair(switch_config cfg, ref string var, ref string val) {
+    int ret = freeswitchPINVOKE.switch_config_next_pair(switch_config.getCPtr(cfg), ref var, ref val);
+    return ret;
+  }
+
+  public static void consoleLog(string level_str, string msg) {
+    freeswitchPINVOKE.consoleLog(level_str, msg);
+  }
+
+  public static void consoleCleanLog(string msg) {
+    freeswitchPINVOKE.consoleCleanLog(msg);
+  }
+
+  public static void console_log(string level_str, string msg) {
+    freeswitchPINVOKE.console_log(level_str, msg);
+  }
+
+  public static void console_clean_log(string msg) {
+    freeswitchPINVOKE.console_clean_log(msg);
+  }
+
+  public static void bridge(CoreSession session_a, CoreSession session_b) {
+    freeswitchPINVOKE.bridge(CoreSession.getCPtr(session_a), CoreSession.getCPtr(session_b));
+    if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+  }
+
+  public static switch_status_t hanguphook(SWIGTYPE_p_switch_core_session session) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.hanguphook(SWIGTYPE_p_switch_core_session.getCPtr(session));
+    return ret;
+  }
+
+  public static switch_status_t dtmf_callback(SWIGTYPE_p_switch_core_session session, SWIGTYPE_p_void input, switch_input_type_t itype, SWIGTYPE_p_void buf, uint buflen) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.dtmf_callback(SWIGTYPE_p_switch_core_session.getCPtr(session), SWIGTYPE_p_void.getCPtr(input), (int)itype, SWIGTYPE_p_void.getCPtr(buf), buflen);
+    return ret;
+  }
+
+  public static readonly string FREESWITCH_PEN = freeswitchPINVOKE.FREESWITCH_PEN_get();
+  public static readonly string FREESWITCH_OID_PREFIX = freeswitchPINVOKE.FREESWITCH_OID_PREFIX_get();
+  public static readonly string FREESWITCH_ITAD = freeswitchPINVOKE.FREESWITCH_ITAD_get();
+  public static readonly int __EXTENSIONS__ = freeswitchPINVOKE.__EXTENSIONS___get();
+  public static readonly int __BSD_VISIBLE = freeswitchPINVOKE.__BSD_VISIBLE_get();
+  public static readonly string SWITCH_BLANK_STRING = freeswitchPINVOKE.SWITCH_BLANK_STRING_get();
+  public static readonly string SWITCH_SEQ_ESC = freeswitchPINVOKE.SWITCH_SEQ_ESC_get();
+  public static readonly char SWITCH_SEQ_HOME_CHAR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_get();
+  public static readonly string SWITCH_SEQ_HOME_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_HOME_CHAR_STR_get();
+  public static readonly char SWITCH_SEQ_CLEARLINE_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_get();
+  public static readonly string SWITCH_SEQ_CLEARLINE_CHAR_STR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_CHAR_STR_get();
+  public static readonly string SWITCH_SEQ_CLEARLINEEND_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_CHAR_get();
+  public static readonly char SWITCH_SEQ_CLEARSCR_CHAR0 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR0_get();
+  public static readonly char SWITCH_SEQ_CLEARSCR_CHAR1 = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR1_get();
+  public static readonly string SWITCH_SEQ_CLEARSCR_CHAR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_CHAR_get();
+  public static readonly string SWITCH_SEQ_AND_COLOR = freeswitchPINVOKE.SWITCH_SEQ_AND_COLOR_get();
+  public static readonly string SWITCH_SEQ_END_COLOR = freeswitchPINVOKE.SWITCH_SEQ_END_COLOR_get();
+  public static readonly string SWITCH_SEQ_F_BLACK = freeswitchPINVOKE.SWITCH_SEQ_F_BLACK_get();
+  public static readonly string SWITCH_SEQ_F_RED = freeswitchPINVOKE.SWITCH_SEQ_F_RED_get();
+  public static readonly string SWITCH_SEQ_F_GREEN = freeswitchPINVOKE.SWITCH_SEQ_F_GREEN_get();
+  public static readonly string SWITCH_SEQ_F_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_F_YELLOW_get();
+  public static readonly string SWITCH_SEQ_F_BLUE = freeswitchPINVOKE.SWITCH_SEQ_F_BLUE_get();
+  public static readonly string SWITCH_SEQ_F_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_F_MAGEN_get();
+  public static readonly string SWITCH_SEQ_F_CYAN = freeswitchPINVOKE.SWITCH_SEQ_F_CYAN_get();
+  public static readonly string SWITCH_SEQ_F_WHITE = freeswitchPINVOKE.SWITCH_SEQ_F_WHITE_get();
+  public static readonly string SWITCH_SEQ_B_BLACK = freeswitchPINVOKE.SWITCH_SEQ_B_BLACK_get();
+  public static readonly string SWITCH_SEQ_B_RED = freeswitchPINVOKE.SWITCH_SEQ_B_RED_get();
+  public static readonly string SWITCH_SEQ_B_GREEN = freeswitchPINVOKE.SWITCH_SEQ_B_GREEN_get();
+  public static readonly string SWITCH_SEQ_B_YELLOW = freeswitchPINVOKE.SWITCH_SEQ_B_YELLOW_get();
+  public static readonly string SWITCH_SEQ_B_BLUE = freeswitchPINVOKE.SWITCH_SEQ_B_BLUE_get();
+  public static readonly string SWITCH_SEQ_B_MAGEN = freeswitchPINVOKE.SWITCH_SEQ_B_MAGEN_get();
+  public static readonly string SWITCH_SEQ_B_CYAN = freeswitchPINVOKE.SWITCH_SEQ_B_CYAN_get();
+  public static readonly string SWITCH_SEQ_B_WHITE = freeswitchPINVOKE.SWITCH_SEQ_B_WHITE_get();
+  public static readonly string SWITCH_SEQ_FBLACK = freeswitchPINVOKE.SWITCH_SEQ_FBLACK_get();
+  public static readonly string SWITCH_SEQ_FRED = freeswitchPINVOKE.SWITCH_SEQ_FRED_get();
+  public static readonly string SWITCH_SEQ_FGREEN = freeswitchPINVOKE.SWITCH_SEQ_FGREEN_get();
+  public static readonly string SWITCH_SEQ_FYELLOW = freeswitchPINVOKE.SWITCH_SEQ_FYELLOW_get();
+  public static readonly string SWITCH_SEQ_FBLUE = freeswitchPINVOKE.SWITCH_SEQ_FBLUE_get();
+  public static readonly string SWITCH_SEQ_FMAGEN = freeswitchPINVOKE.SWITCH_SEQ_FMAGEN_get();
+  public static readonly string SWITCH_SEQ_FCYAN = freeswitchPINVOKE.SWITCH_SEQ_FCYAN_get();
+  public static readonly string SWITCH_SEQ_FWHITE = freeswitchPINVOKE.SWITCH_SEQ_FWHITE_get();
+  public static readonly string SWITCH_SEQ_BBLACK = freeswitchPINVOKE.SWITCH_SEQ_BBLACK_get();
+  public static readonly string SWITCH_SEQ_BRED = freeswitchPINVOKE.SWITCH_SEQ_BRED_get();
+  public static readonly string SWITCH_SEQ_BGREEN = freeswitchPINVOKE.SWITCH_SEQ_BGREEN_get();
+  public static readonly string SWITCH_SEQ_BYELLOW = freeswitchPINVOKE.SWITCH_SEQ_BYELLOW_get();
+  public static readonly string SWITCH_SEQ_BBLUE = freeswitchPINVOKE.SWITCH_SEQ_BBLUE_get();
+  public static readonly string SWITCH_SEQ_BMAGEN = freeswitchPINVOKE.SWITCH_SEQ_BMAGEN_get();
+  public static readonly string SWITCH_SEQ_BCYAN = freeswitchPINVOKE.SWITCH_SEQ_BCYAN_get();
+  public static readonly string SWITCH_SEQ_BWHITE = freeswitchPINVOKE.SWITCH_SEQ_BWHITE_get();
+  public static readonly string SWITCH_SEQ_HOME = freeswitchPINVOKE.SWITCH_SEQ_HOME_get();
+  public static readonly string SWITCH_SEQ_CLEARLINE = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINE_get();
+  public static readonly string SWITCH_SEQ_CLEARLINEEND = freeswitchPINVOKE.SWITCH_SEQ_CLEARLINEEND_get();
+  public static readonly string SWITCH_SEQ_CLEARSCR = freeswitchPINVOKE.SWITCH_SEQ_CLEARSCR_get();
+  public static readonly int SWITCH_DEFAULT_DTMF_DURATION = freeswitchPINVOKE.SWITCH_DEFAULT_DTMF_DURATION_get();
+  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_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get();
+  public static readonly string SWITCH_READ_RESULT_VARIABLE = freeswitchPINVOKE.SWITCH_READ_RESULT_VARIABLE_get();
+  public static readonly string SWITCH_COPY_XML_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_COPY_XML_CDR_VARIABLE_get();
+  public static readonly string SWITCH_CURRENT_APPLICATION_VARIABLE = freeswitchPINVOKE.SWITCH_CURRENT_APPLICATION_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_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();
+  public static readonly string SWITCH_API_BRIDGE_END_VARIABLE = freeswitchPINVOKE.SWITCH_API_BRIDGE_END_VARIABLE_get();
+  public static readonly string SWITCH_API_HANGUP_HOOK_VARIABLE = freeswitchPINVOKE.SWITCH_API_HANGUP_HOOK_VARIABLE_get();
+  public static readonly string SWITCH_PROCESS_CDR_VARIABLE = freeswitchPINVOKE.SWITCH_PROCESS_CDR_VARIABLE_get();
+  public static readonly string SWITCH_BRIDGE_CHANNEL_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_CHANNEL_VARIABLE_get();
+  public static readonly string SWITCH_CHANNEL_NAME_VARIABLE = freeswitchPINVOKE.SWITCH_CHANNEL_NAME_VARIABLE_get();
+  public static readonly string SWITCH_BRIDGE_UUID_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_UUID_VARIABLE_get();
+  public static readonly string SWITCH_CONTINUE_ON_FAILURE_VARIABLE = freeswitchPINVOKE.SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get();
+  public static readonly string SWITCH_PLAYBACK_TERMINATORS_VARIABLE = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get();
+  public static readonly string SWITCH_PLAYBACK_TERMINATOR_USED = freeswitchPINVOKE.SWITCH_PLAYBACK_TERMINATOR_USED_get();
+  public static readonly string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get();
+  public static readonly string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME = freeswitchPINVOKE.SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get();
+  public static readonly string SWITCH_BYPASS_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_BYPASS_MEDIA_VARIABLE_get();
+  public static readonly string SWITCH_PROXY_MEDIA_VARIABLE = freeswitchPINVOKE.SWITCH_PROXY_MEDIA_VARIABLE_get();
+  public static readonly string SWITCH_ENDPOINT_DISPOSITION_VARIABLE = freeswitchPINVOKE.SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get();
+  public static readonly string SWITCH_HOLD_MUSIC_VARIABLE = freeswitchPINVOKE.SWITCH_HOLD_MUSIC_VARIABLE_get();
+  public static readonly string SWITCH_EXPORT_VARS_VARIABLE = freeswitchPINVOKE.SWITCH_EXPORT_VARS_VARIABLE_get();
+  public static readonly string SWITCH_R_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_R_SDP_VARIABLE_get();
+  public static readonly string SWITCH_L_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_L_SDP_VARIABLE_get();
+  public static readonly string SWITCH_B_SDP_VARIABLE = freeswitchPINVOKE.SWITCH_B_SDP_VARIABLE_get();
+  public static readonly string SWITCH_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_BRIDGE_VARIABLE_get();
+  public static readonly string SWITCH_SIGNAL_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BRIDGE_VARIABLE_get();
+  public static readonly string SWITCH_SIGNAL_BOND_VARIABLE = freeswitchPINVOKE.SWITCH_SIGNAL_BOND_VARIABLE_get();
+  public static readonly string SWITCH_ORIGINATOR_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_VARIABLE_get();
+  public static readonly string SWITCH_ORIGINATOR_CODEC_VARIABLE = freeswitchPINVOKE.SWITCH_ORIGINATOR_CODEC_VARIABLE_get();
+  public static readonly string SWITCH_LOCAL_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_IP_VARIABLE_get();
+  public static readonly string SWITCH_LOCAL_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get();
+  public static readonly string SWITCH_REMOTE_MEDIA_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_IP_VARIABLE_get();
+  public static readonly string SWITCH_REMOTE_MEDIA_PORT_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get();
+  public static readonly string SWITCH_REMOTE_VIDEO_IP_VARIABLE = freeswitchPINVOKE.SWITCH_REMOTE_VIDEO_IP_VARIABLE_get();
+  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_HANGUP_AFTER_BRIDGE_VARIABLE = freeswitchPINVOKE.SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get();
+  public static readonly string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get();
+  public static readonly string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE = freeswitchPINVOKE.SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get();
+  public static readonly string SWITCH_MAX_FORWARDS_VARIABLE = freeswitchPINVOKE.SWITCH_MAX_FORWARDS_VARIABLE_get();
+  public static readonly string SWITCH_DISABLE_APP_LOG_VARIABLE = freeswitchPINVOKE.SWITCH_DISABLE_APP_LOG_VARIABLE_get();
+  public static readonly string SWITCH_SPEECH_KEY = freeswitchPINVOKE.SWITCH_SPEECH_KEY_get();
+  public static readonly string SWITCH_UUID_BRIDGE = freeswitchPINVOKE.SWITCH_UUID_BRIDGE_get();
+  public static readonly int SWITCH_BITS_PER_BYTE = freeswitchPINVOKE.SWITCH_BITS_PER_BYTE_get();
+  public static readonly int SWITCH_MAX_STACKS = freeswitchPINVOKE.SWITCH_MAX_STACKS_get();
+  public static readonly int SWITCH_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_THREAD_STACKSIZE_get();
+  public static readonly int SWITCH_SYSTEM_THREAD_STACKSIZE = freeswitchPINVOKE.SWITCH_SYSTEM_THREAD_STACKSIZE_get();
+  public static readonly int SWITCH_MAX_INTERVAL = freeswitchPINVOKE.SWITCH_MAX_INTERVAL_get();
+  public static readonly int SWITCH_INTERVAL_PAD = freeswitchPINVOKE.SWITCH_INTERVAL_PAD_get();
+  public static readonly int SWITCH_MAX_SAMPLE_LEN = freeswitchPINVOKE.SWITCH_MAX_SAMPLE_LEN_get();
+  public static readonly int SWITCH_BYTES_PER_SAMPLE = freeswitchPINVOKE.SWITCH_BYTES_PER_SAMPLE_get();
+  public static readonly int SWITCH_RECOMMENDED_BUFFER_SIZE = freeswitchPINVOKE.SWITCH_RECOMMENDED_BUFFER_SIZE_get();
+  public static readonly int SWITCH_MAX_CODECS = freeswitchPINVOKE.SWITCH_MAX_CODECS_get();
+  public static readonly int SWITCH_MAX_STATE_HANDLERS = freeswitchPINVOKE.SWITCH_MAX_STATE_HANDLERS_get();
+  public static readonly int SWITCH_CORE_QUEUE_LEN = freeswitchPINVOKE.SWITCH_CORE_QUEUE_LEN_get();
+  public static readonly int SWITCH_MAX_MANAGEMENT_BUFFER_LEN = freeswitchPINVOKE.SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get();
+  public static readonly int SWITCH_RTP_CNG_PAYLOAD = freeswitchPINVOKE.SWITCH_RTP_CNG_PAYLOAD_get();
+  public static readonly int SWITCH_API_VERSION = freeswitchPINVOKE.SWITCH_API_VERSION_get();
+  public static readonly int SWITCH_CORE_DB_OK = freeswitchPINVOKE.SWITCH_CORE_DB_OK_get();
+  public static readonly int SWITCH_CORE_DB_ERROR = freeswitchPINVOKE.SWITCH_CORE_DB_ERROR_get();
+  public static readonly int SWITCH_CORE_DB_INTERNAL = freeswitchPINVOKE.SWITCH_CORE_DB_INTERNAL_get();
+  public static readonly int SWITCH_CORE_DB_PERM = freeswitchPINVOKE.SWITCH_CORE_DB_PERM_get();
+  public static readonly int SWITCH_CORE_DB_ABORT = freeswitchPINVOKE.SWITCH_CORE_DB_ABORT_get();
+  public static readonly int SWITCH_CORE_DB_BUSY = freeswitchPINVOKE.SWITCH_CORE_DB_BUSY_get();
+  public static readonly int SWITCH_CORE_DB_LOCKED = freeswitchPINVOKE.SWITCH_CORE_DB_LOCKED_get();
+  public static readonly int SWITCH_CORE_DB_NOMEM = freeswitchPINVOKE.SWITCH_CORE_DB_NOMEM_get();
+  public static readonly int SWITCH_CORE_DB_READONLY = freeswitchPINVOKE.SWITCH_CORE_DB_READONLY_get();
+  public static readonly int SWITCH_CORE_DB_INTERRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_INTERRUPT_get();
+  public static readonly int SWITCH_CORE_DB_IOERR = freeswitchPINVOKE.SWITCH_CORE_DB_IOERR_get();
+  public static readonly int SWITCH_CORE_DB_CORRUPT = freeswitchPINVOKE.SWITCH_CORE_DB_CORRUPT_get();
+  public static readonly int SWITCH_CORE_DB_NOTFOUND = freeswitchPINVOKE.SWITCH_CORE_DB_NOTFOUND_get();
+  public static readonly int SWITCH_CORE_DB_FULL = freeswitchPINVOKE.SWITCH_CORE_DB_FULL_get();
+  public static readonly int SWITCH_CORE_DB_CANTOPEN = freeswitchPINVOKE.SWITCH_CORE_DB_CANTOPEN_get();
+  public static readonly int SWITCH_CORE_DB_PROTOCOL = freeswitchPINVOKE.SWITCH_CORE_DB_PROTOCOL_get();
+  public static readonly int SWITCH_CORE_DB_EMPTY = freeswitchPINVOKE.SWITCH_CORE_DB_EMPTY_get();
+  public static readonly int SWITCH_CORE_DB_SCHEMA = freeswitchPINVOKE.SWITCH_CORE_DB_SCHEMA_get();
+  public static readonly int SWITCH_CORE_DB_TOOBIG = freeswitchPINVOKE.SWITCH_CORE_DB_TOOBIG_get();
+  public static readonly int SWITCH_CORE_DB_CONSTRAINT = freeswitchPINVOKE.SWITCH_CORE_DB_CONSTRAINT_get();
+  public static readonly int SWITCH_CORE_DB_MISMATCH = freeswitchPINVOKE.SWITCH_CORE_DB_MISMATCH_get();
+  public static readonly int SWITCH_CORE_DB_MISUSE = freeswitchPINVOKE.SWITCH_CORE_DB_MISUSE_get();
+  public static readonly int SWITCH_CORE_DB_NOLFS = freeswitchPINVOKE.SWITCH_CORE_DB_NOLFS_get();
+  public static readonly int SWITCH_CORE_DB_AUTH = freeswitchPINVOKE.SWITCH_CORE_DB_AUTH_get();
+  public static readonly int SWITCH_CORE_DB_FORMAT = freeswitchPINVOKE.SWITCH_CORE_DB_FORMAT_get();
+  public static readonly int SWITCH_CORE_DB_RANGE = freeswitchPINVOKE.SWITCH_CORE_DB_RANGE_get();
+  public static readonly int SWITCH_CORE_DB_NOTADB = freeswitchPINVOKE.SWITCH_CORE_DB_NOTADB_get();
+  public static readonly int SWITCH_CORE_DB_ROW = freeswitchPINVOKE.SWITCH_CORE_DB_ROW_get();
+  public static readonly int SWITCH_CORE_DB_DONE = freeswitchPINVOKE.SWITCH_CORE_DB_DONE_get();
+  public static readonly int SWITCH_MAX_CORE_THREAD_SESSION_OBJS = freeswitchPINVOKE.SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get();
+  public static readonly int SWITCH_MAX_STREAMS = freeswitchPINVOKE.SWITCH_MAX_STREAMS_get();
+  public static readonly string SWITCH_CORE_DB = freeswitchPINVOKE.SWITCH_CORE_DB_get();
+  public static readonly int SWITCH_CMD_CHUNK_LEN = freeswitchPINVOKE.SWITCH_CMD_CHUNK_LEN_get();
+  public static readonly int SWITCH_SMAX = freeswitchPINVOKE.SWITCH_SMAX_get();
+  public static readonly int SWITCH_SMIN = freeswitchPINVOKE.SWITCH_SMIN_get();
+  public static readonly int SWITCH_RTP_MAX_BUF_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_BUF_LEN_get();
+  public static readonly int SWITCH_RTP_MAX_CRYPTO_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_CRYPTO_LEN_get();
+  public static readonly int SWITCH_RTP_KEY_LEN = freeswitchPINVOKE.SWITCH_RTP_KEY_LEN_get();
+  public static readonly string SWITCH_RTP_CRYPTO_KEY_32 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_32_get();
+  public static readonly string SWITCH_RTP_CRYPTO_KEY_80 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_80_get();
+  public static readonly int SWITCH_XML_BUFSIZE = freeswitchPINVOKE.SWITCH_XML_BUFSIZE_get();
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+class freeswitchPINVOKE {
+
+  protected class SWIGExceptionHelper {
+
+    public delegate void ExceptionDelegate(string message);
+    public delegate void ExceptionArgumentDelegate(string message, string paramName);
+
+    static ExceptionDelegate applicationDelegate = new ExceptionDelegate(SetPendingApplicationException);
+    static ExceptionDelegate arithmeticDelegate = new ExceptionDelegate(SetPendingArithmeticException);
+    static ExceptionDelegate divideByZeroDelegate = new ExceptionDelegate(SetPendingDivideByZeroException);
+    static ExceptionDelegate indexOutOfRangeDelegate = new ExceptionDelegate(SetPendingIndexOutOfRangeException);
+    static ExceptionDelegate invalidCastDelegate = new ExceptionDelegate(SetPendingInvalidCastException);
+    static ExceptionDelegate invalidOperationDelegate = new ExceptionDelegate(SetPendingInvalidOperationException);
+    static ExceptionDelegate ioDelegate = new ExceptionDelegate(SetPendingIOException);
+    static ExceptionDelegate nullReferenceDelegate = new ExceptionDelegate(SetPendingNullReferenceException);
+    static ExceptionDelegate outOfMemoryDelegate = new ExceptionDelegate(SetPendingOutOfMemoryException);
+    static ExceptionDelegate overflowDelegate = new ExceptionDelegate(SetPendingOverflowException);
+    static ExceptionDelegate systemDelegate = new ExceptionDelegate(SetPendingSystemException);
+
+    static ExceptionArgumentDelegate argumentDelegate = new ExceptionArgumentDelegate(SetPendingArgumentException);
+    static ExceptionArgumentDelegate argumentNullDelegate = new ExceptionArgumentDelegate(SetPendingArgumentNullException);
+    static ExceptionArgumentDelegate argumentOutOfRangeDelegate = new ExceptionArgumentDelegate(SetPendingArgumentOutOfRangeException);
+
+    [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionCallbacks_freeswitch")]
+    public static extern void SWIGRegisterExceptionCallbacks_freeswitch(
+                                ExceptionDelegate applicationDelegate,
+                                ExceptionDelegate arithmeticDelegate,
+                                ExceptionDelegate divideByZeroDelegate, 
+                                ExceptionDelegate indexOutOfRangeDelegate, 
+                                ExceptionDelegate invalidCastDelegate,
+                                ExceptionDelegate invalidOperationDelegate,
+                                ExceptionDelegate ioDelegate,
+                                ExceptionDelegate nullReferenceDelegate,
+                                ExceptionDelegate outOfMemoryDelegate, 
+                                ExceptionDelegate overflowDelegate, 
+                                ExceptionDelegate systemExceptionDelegate);
+
+    [DllImport("mod_managed", EntryPoint="SWIGRegisterExceptionArgumentCallbacks_freeswitch")]
+    public static extern void SWIGRegisterExceptionCallbacksArgument_freeswitch(
+                                ExceptionArgumentDelegate argumentDelegate,
+                                ExceptionArgumentDelegate argumentNullDelegate,
+                                ExceptionArgumentDelegate argumentOutOfRangeDelegate);
+
+    static void SetPendingApplicationException(string message) {
+      SWIGPendingException.Set(new System.ApplicationException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingArithmeticException(string message) {
+      SWIGPendingException.Set(new System.ArithmeticException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingDivideByZeroException(string message) {
+      SWIGPendingException.Set(new System.DivideByZeroException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingIndexOutOfRangeException(string message) {
+      SWIGPendingException.Set(new System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingInvalidCastException(string message) {
+      SWIGPendingException.Set(new System.InvalidCastException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingInvalidOperationException(string message) {
+      SWIGPendingException.Set(new System.InvalidOperationException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingIOException(string message) {
+      SWIGPendingException.Set(new System.IO.IOException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingNullReferenceException(string message) {
+      SWIGPendingException.Set(new System.NullReferenceException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingOutOfMemoryException(string message) {
+      SWIGPendingException.Set(new System.OutOfMemoryException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingOverflowException(string message) {
+      SWIGPendingException.Set(new System.OverflowException(message, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingSystemException(string message) {
+      SWIGPendingException.Set(new System.SystemException(message, SWIGPendingException.Retrieve()));
+    }
+
+    static void SetPendingArgumentException(string message, string paramName) {
+      SWIGPendingException.Set(new System.ArgumentException(message, paramName, SWIGPendingException.Retrieve()));
+    }
+    static void SetPendingArgumentNullException(string message, string paramName) {
+      Exception e = SWIGPendingException.Retrieve();
+      if (e != null) message = message + " Inner Exception: " + e.Message;
+      SWIGPendingException.Set(new System.ArgumentNullException(paramName, message));
+    }
+    static void SetPendingArgumentOutOfRangeException(string message, string paramName) {
+      Exception e = SWIGPendingException.Retrieve();
+      if (e != null) message = message + " Inner Exception: " + e.Message;
+      SWIGPendingException.Set(new System.ArgumentOutOfRangeException(paramName, message));
+    }
+
+    static SWIGExceptionHelper() {
+      SWIGRegisterExceptionCallbacks_freeswitch(
+                                applicationDelegate,
+                                arithmeticDelegate,
+                                divideByZeroDelegate,
+                                indexOutOfRangeDelegate,
+                                invalidCastDelegate,
+                                invalidOperationDelegate,
+                                ioDelegate,
+                                nullReferenceDelegate,
+                                outOfMemoryDelegate,
+                                overflowDelegate,
+                                systemDelegate);
+
+      SWIGRegisterExceptionCallbacksArgument_freeswitch(
+                                argumentDelegate,
+                                argumentNullDelegate,
+                                argumentOutOfRangeDelegate);
+    }
+  }
+
+  protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper();
+
+  public class SWIGPendingException {
+    [ThreadStatic]
+    private static Exception pendingException = null;
+    private static int numExceptionsPending = 0;
+
+    public static bool Pending {
+      get {
+        bool pending = false;
+        if (numExceptionsPending > 0)
+          if (pendingException != null)
+            pending = true;
+        return pending;
+      } 
+    }
+
+    public static void Set(Exception e) {
+      if (pendingException != null)
+        throw new ApplicationException("FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + ")", e);
+      pendingException = e;
+      lock(typeof(freeswitchPINVOKE)) {
+        numExceptionsPending++;
+      }
+    }
+
+    public static Exception Retrieve() {
+      Exception e = null;
+      if (numExceptionsPending > 0) {
+        if (pendingException != null) {
+          e = pendingException;
+          pendingException = null;
+          lock(typeof(freeswitchPINVOKE)) {
+            numExceptionsPending--;
+          }
+        }
+      }
+      return e;
+    }
+  }
+
+
+  protected class SWIGStringHelper {
+
+    public delegate string SWIGStringDelegate(string message);
+    static SWIGStringDelegate stringDelegate = new SWIGStringDelegate(CreateString);
+
+    [DllImport("mod_managed", EntryPoint="SWIGRegisterStringCallback_freeswitch")]
+    public static extern void SWIGRegisterStringCallback_freeswitch(SWIGStringDelegate stringDelegate);
+
+    static string CreateString(string cString) {
+      return cString;
+    }
+
+    static SWIGStringHelper() {
+      SWIGRegisterStringCallback_freeswitch(stringDelegate);
+    }
+  }
+
+  static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper();
+
+
+  [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_PEN_get")]
+  public static extern string FREESWITCH_PEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_OID_PREFIX_get")]
+  public static extern string FREESWITCH_OID_PREFIX_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_FREESWITCH_ITAD_get")]
+  public static extern string FREESWITCH_ITAD_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp___EXTENSIONS___get")]
+  public static extern int __EXTENSIONS___get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp___BSD_VISIBLE_get")]
+  public static extern int __BSD_VISIBLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BLANK_STRING_get")]
+  public static extern string SWITCH_BLANK_STRING_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_ESC_get")]
+  public static extern string SWITCH_SEQ_ESC_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_get")]
+  public static extern char SWITCH_SEQ_HOME_CHAR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_CHAR_STR_get")]
+  public static extern string SWITCH_SEQ_HOME_CHAR_STR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_get")]
+  public static extern char SWITCH_SEQ_CLEARLINE_CHAR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_CHAR_STR_get")]
+  public static extern string SWITCH_SEQ_CLEARLINE_CHAR_STR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_CHAR_get")]
+  public static extern string SWITCH_SEQ_CLEARLINEEND_CHAR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR0_get")]
+  public static extern char SWITCH_SEQ_CLEARSCR_CHAR0_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR1_get")]
+  public static extern char SWITCH_SEQ_CLEARSCR_CHAR1_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_CHAR_get")]
+  public static extern string SWITCH_SEQ_CLEARSCR_CHAR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_AND_COLOR_get")]
+  public static extern string SWITCH_SEQ_AND_COLOR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_END_COLOR_get")]
+  public static extern string SWITCH_SEQ_END_COLOR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLACK_get")]
+  public static extern string SWITCH_SEQ_F_BLACK_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_RED_get")]
+  public static extern string SWITCH_SEQ_F_RED_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_GREEN_get")]
+  public static extern string SWITCH_SEQ_F_GREEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_YELLOW_get")]
+  public static extern string SWITCH_SEQ_F_YELLOW_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_BLUE_get")]
+  public static extern string SWITCH_SEQ_F_BLUE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_MAGEN_get")]
+  public static extern string SWITCH_SEQ_F_MAGEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_CYAN_get")]
+  public static extern string SWITCH_SEQ_F_CYAN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_F_WHITE_get")]
+  public static extern string SWITCH_SEQ_F_WHITE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLACK_get")]
+  public static extern string SWITCH_SEQ_B_BLACK_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_RED_get")]
+  public static extern string SWITCH_SEQ_B_RED_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_GREEN_get")]
+  public static extern string SWITCH_SEQ_B_GREEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_YELLOW_get")]
+  public static extern string SWITCH_SEQ_B_YELLOW_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_BLUE_get")]
+  public static extern string SWITCH_SEQ_B_BLUE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_MAGEN_get")]
+  public static extern string SWITCH_SEQ_B_MAGEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_CYAN_get")]
+  public static extern string SWITCH_SEQ_B_CYAN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_B_WHITE_get")]
+  public static extern string SWITCH_SEQ_B_WHITE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLACK_get")]
+  public static extern string SWITCH_SEQ_FBLACK_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FRED_get")]
+  public static extern string SWITCH_SEQ_FRED_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FGREEN_get")]
+  public static extern string SWITCH_SEQ_FGREEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FYELLOW_get")]
+  public static extern string SWITCH_SEQ_FYELLOW_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FBLUE_get")]
+  public static extern string SWITCH_SEQ_FBLUE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FMAGEN_get")]
+  public static extern string SWITCH_SEQ_FMAGEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FCYAN_get")]
+  public static extern string SWITCH_SEQ_FCYAN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_FWHITE_get")]
+  public static extern string SWITCH_SEQ_FWHITE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLACK_get")]
+  public static extern string SWITCH_SEQ_BBLACK_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BRED_get")]
+  public static extern string SWITCH_SEQ_BRED_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BGREEN_get")]
+  public static extern string SWITCH_SEQ_BGREEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BYELLOW_get")]
+  public static extern string SWITCH_SEQ_BYELLOW_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BBLUE_get")]
+  public static extern string SWITCH_SEQ_BBLUE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BMAGEN_get")]
+  public static extern string SWITCH_SEQ_BMAGEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BCYAN_get")]
+  public static extern string SWITCH_SEQ_BCYAN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_BWHITE_get")]
+  public static extern string SWITCH_SEQ_BWHITE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_HOME_get")]
+  public static extern string SWITCH_SEQ_HOME_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINE_get")]
+  public static extern string SWITCH_SEQ_CLEARLINE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARLINEEND_get")]
+  public static extern string SWITCH_SEQ_CLEARLINEEND_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SEQ_CLEARSCR_get")]
+  public static extern string SWITCH_SEQ_CLEARSCR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DEFAULT_DTMF_DURATION_get")]
+  public static extern int SWITCH_DEFAULT_DTMF_DURATION_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_DTMF_DURATION_get")]
+  public static extern int SWITCH_MAX_DTMF_DURATION_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PATH_SEPARATOR_get")]
+  public static extern string SWITCH_PATH_SEPARATOR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_URL_SEPARATOR_get")]
+  public static extern string SWITCH_URL_SEPARATOR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get")]
+  public static extern string SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_READ_RESULT_VARIABLE_get")]
+  public static extern string SWITCH_READ_RESULT_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_COPY_XML_CDR_VARIABLE_get")]
+  public static extern string SWITCH_COPY_XML_CDR_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CURRENT_APPLICATION_VARIABLE_get")]
+  public static extern string SWITCH_CURRENT_APPLICATION_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get")]
+  public static extern string SWITCH_PROTO_SPECIFIC_HANGUP_CAUSE_VARIABLE_get();
+
+  [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_RING_VARIABLE_get")]
+  public static extern string SWITCH_CHANNEL_EXECUTE_ON_RING_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CALL_TIMEOUT_VARIABLE_get")]
+  public static extern string SWITCH_CALL_TIMEOUT_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLDING_UUID_VARIABLE_get")]
+  public static extern string SWITCH_HOLDING_UUID_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_BRIDGE_END_VARIABLE_get")]
+  public static extern string SWITCH_API_BRIDGE_END_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_HANGUP_HOOK_VARIABLE_get")]
+  public static extern string SWITCH_API_HANGUP_HOOK_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROCESS_CDR_VARIABLE_get")]
+  public static extern string SWITCH_PROCESS_CDR_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_CHANNEL_VARIABLE_get")]
+  public static extern string SWITCH_BRIDGE_CHANNEL_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CHANNEL_NAME_VARIABLE_get")]
+  public static extern string SWITCH_CHANNEL_NAME_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_UUID_VARIABLE_get")]
+  public static extern string SWITCH_BRIDGE_UUID_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get")]
+  public static extern string SWITCH_CONTINUE_ON_FAILURE_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get")]
+  public static extern string SWITCH_PLAYBACK_TERMINATORS_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PLAYBACK_TERMINATOR_USED_get")]
+  public static extern string SWITCH_PLAYBACK_TERMINATOR_USED_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get")]
+  public static extern string SWITCH_CACHE_SPEECH_HANDLES_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get")]
+  public static extern string SWITCH_CACHE_SPEECH_HANDLES_OBJ_NAME_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYPASS_MEDIA_VARIABLE_get")]
+  public static extern string SWITCH_BYPASS_MEDIA_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_PROXY_MEDIA_VARIABLE_get")]
+  public static extern string SWITCH_PROXY_MEDIA_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get")]
+  public static extern string SWITCH_ENDPOINT_DISPOSITION_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_HOLD_MUSIC_VARIABLE_get")]
+  public static extern string SWITCH_HOLD_MUSIC_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXPORT_VARS_VARIABLE_get")]
+  public static extern string SWITCH_EXPORT_VARS_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_R_SDP_VARIABLE_get")]
+  public static extern string SWITCH_R_SDP_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_L_SDP_VARIABLE_get")]
+  public static extern string SWITCH_L_SDP_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_B_SDP_VARIABLE_get")]
+  public static extern string SWITCH_B_SDP_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BRIDGE_VARIABLE_get")]
+  public static extern string SWITCH_BRIDGE_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BRIDGE_VARIABLE_get")]
+  public static extern string SWITCH_SIGNAL_BRIDGE_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SIGNAL_BOND_VARIABLE_get")]
+  public static extern string SWITCH_SIGNAL_BOND_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_VARIABLE_get")]
+  public static extern string SWITCH_ORIGINATOR_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_ORIGINATOR_CODEC_VARIABLE_get")]
+  public static extern string SWITCH_ORIGINATOR_CODEC_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_IP_VARIABLE_get")]
+  public static extern string SWITCH_LOCAL_MEDIA_IP_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get")]
+  public static extern string SWITCH_LOCAL_MEDIA_PORT_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_IP_VARIABLE_get")]
+  public static extern string SWITCH_REMOTE_MEDIA_IP_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get")]
+  public static extern string SWITCH_REMOTE_MEDIA_PORT_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_IP_VARIABLE_get")]
+  public static extern string SWITCH_REMOTE_VIDEO_IP_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get")]
+  public static extern string SWITCH_REMOTE_VIDEO_PORT_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_LOCAL_VIDEO_IP_VARIABLE_get")]
+  public static extern string SWITCH_LOCAL_VIDEO_IP_VARIABLE_get();
+
+  [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_HANGUP_AFTER_BRIDGE_VARIABLE_get")]
+  public static extern string SWITCH_HANGUP_AFTER_BRIDGE_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get")]
+  public static extern string SWITCH_EXEC_AFTER_BRIDGE_APP_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get")]
+  public static extern string SWITCH_EXEC_AFTER_BRIDGE_ARG_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_FORWARDS_VARIABLE_get")]
+  public static extern string SWITCH_MAX_FORWARDS_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_DISABLE_APP_LOG_VARIABLE_get")]
+  public static extern string SWITCH_DISABLE_APP_LOG_VARIABLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SPEECH_KEY_get")]
+  public static extern string SWITCH_SPEECH_KEY_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_UUID_BRIDGE_get")]
+  public static extern string SWITCH_UUID_BRIDGE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BITS_PER_BYTE_get")]
+  public static extern int SWITCH_BITS_PER_BYTE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_set")]
+  public static extern void switch_dtmf_t_digit_set(HandleRef jarg1, char jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_digit_get")]
+  public static extern char switch_dtmf_t_digit_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_set")]
+  public static extern void switch_dtmf_t_duration_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_dtmf_t_duration_get")]
+  public static extern uint switch_dtmf_t_duration_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dtmf_t")]
+  public static extern IntPtr new_switch_dtmf_t();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dtmf_t")]
+  public static extern void delete_switch_dtmf_t(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_set")]
+  public static extern void switch_bitpack_t_buf_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buf_get")]
+  public static extern IntPtr switch_bitpack_t_buf_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_set")]
+  public static extern void switch_bitpack_t_buflen_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_buflen_get")]
+  public static extern uint switch_bitpack_t_buflen_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_set")]
+  public static extern void switch_bitpack_t_cur_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_cur_get")]
+  public static extern IntPtr switch_bitpack_t_cur_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_set")]
+  public static extern void switch_bitpack_t_bytes_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bytes_get")]
+  public static extern uint switch_bitpack_t_bytes_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_set")]
+  public static extern void switch_bitpack_t_bits_tot_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_tot_get")]
+  public static extern uint switch_bitpack_t_bits_tot_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_set")]
+  public static extern void switch_bitpack_t_bits_cur_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_cur_get")]
+  public static extern byte switch_bitpack_t_bits_cur_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_set")]
+  public static extern void switch_bitpack_t_bits_rem_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_bits_rem_get")]
+  public static extern byte switch_bitpack_t_bits_rem_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_set")]
+  public static extern void switch_bitpack_t_frame_bits_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_frame_bits_get")]
+  public static extern byte switch_bitpack_t_frame_bits_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_set")]
+  public static extern void switch_bitpack_t_shiftby_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_shiftby_get")]
+  public static extern byte switch_bitpack_t_shiftby_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_set")]
+  public static extern void switch_bitpack_t_this_byte_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_this_byte_get")]
+  public static extern byte switch_bitpack_t_this_byte_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_set")]
+  public static extern void switch_bitpack_t_under_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_under_get")]
+  public static extern byte switch_bitpack_t_under_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_set")]
+  public static extern void switch_bitpack_t_over_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_over_get")]
+  public static extern byte switch_bitpack_t_over_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_set")]
+  public static extern void switch_bitpack_t_mode_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_bitpack_t_mode_get")]
+  public static extern int switch_bitpack_t_mode_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_bitpack_t")]
+  public static extern IntPtr new_switch_bitpack_t();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_bitpack_t")]
+  public static extern void delete_switch_bitpack_t(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_set")]
+  public static extern void switch_directories_base_dir_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_base_dir_get")]
+  public static extern string switch_directories_base_dir_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_set")]
+  public static extern void switch_directories_mod_dir_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_mod_dir_get")]
+  public static extern string switch_directories_mod_dir_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_set")]
+  public static extern void switch_directories_conf_dir_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_conf_dir_get")]
+  public static extern string switch_directories_conf_dir_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_set")]
+  public static extern void switch_directories_log_dir_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_log_dir_get")]
+  public static extern string switch_directories_log_dir_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_set")]
+  public static extern void switch_directories_db_dir_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_db_dir_get")]
+  public static extern string switch_directories_db_dir_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_set")]
+  public static extern void switch_directories_script_dir_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_script_dir_get")]
+  public static extern string switch_directories_script_dir_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_set")]
+  public static extern void switch_directories_temp_dir_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_temp_dir_get")]
+  public static extern string switch_directories_temp_dir_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_set")]
+  public static extern void switch_directories_htdocs_dir_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_htdocs_dir_get")]
+  public static extern string switch_directories_htdocs_dir_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_set")]
+  public static extern void switch_directories_grammar_dir_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_grammar_dir_get")]
+  public static extern string switch_directories_grammar_dir_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_set")]
+  public static extern void switch_directories_storage_dir_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directories_storage_dir_get")]
+  public static extern string switch_directories_storage_dir_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directories")]
+  public static extern IntPtr new_switch_directories();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directories")]
+  public static extern void delete_switch_directories(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_set")]
+  public static extern void SWITCH_GLOBAL_dirs_set(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_GLOBAL_dirs_get")]
+  public static extern IntPtr SWITCH_GLOBAL_dirs_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STACKS_get")]
+  public static extern int SWITCH_MAX_STACKS_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_THREAD_STACKSIZE_get")]
+  public static extern int SWITCH_THREAD_STACKSIZE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SYSTEM_THREAD_STACKSIZE_get")]
+  public static extern int SWITCH_SYSTEM_THREAD_STACKSIZE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_INTERVAL_get")]
+  public static extern int SWITCH_MAX_INTERVAL_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_INTERVAL_PAD_get")]
+  public static extern int SWITCH_INTERVAL_PAD_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_SAMPLE_LEN_get")]
+  public static extern int SWITCH_MAX_SAMPLE_LEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_BYTES_PER_SAMPLE_get")]
+  public static extern int SWITCH_BYTES_PER_SAMPLE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RECOMMENDED_BUFFER_SIZE_get")]
+  public static extern int SWITCH_RECOMMENDED_BUFFER_SIZE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CODECS_get")]
+  public static extern int SWITCH_MAX_CODECS_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STATE_HANDLERS_get")]
+  public static extern int SWITCH_MAX_STATE_HANDLERS_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_QUEUE_LEN_get")]
+  public static extern int SWITCH_CORE_QUEUE_LEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get")]
+  public static extern int SWITCH_MAX_MANAGEMENT_BUFFER_LEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CNG_PAYLOAD_get")]
+  public static extern int SWITCH_RTP_CNG_PAYLOAD_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_set")]
+  public static extern void switch_rtp_hdr_t_version_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_version_get")]
+  public static extern uint switch_rtp_hdr_t_version_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_set")]
+  public static extern void switch_rtp_hdr_t_p_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_p_get")]
+  public static extern uint switch_rtp_hdr_t_p_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_set")]
+  public static extern void switch_rtp_hdr_t_x_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_x_get")]
+  public static extern uint switch_rtp_hdr_t_x_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_set")]
+  public static extern void switch_rtp_hdr_t_cc_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_cc_get")]
+  public static extern uint switch_rtp_hdr_t_cc_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_set")]
+  public static extern void switch_rtp_hdr_t_m_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_m_get")]
+  public static extern uint switch_rtp_hdr_t_m_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_set")]
+  public static extern void switch_rtp_hdr_t_pt_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_pt_get")]
+  public static extern uint switch_rtp_hdr_t_pt_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_set")]
+  public static extern void switch_rtp_hdr_t_seq_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_seq_get")]
+  public static extern uint switch_rtp_hdr_t_seq_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_set")]
+  public static extern void switch_rtp_hdr_t_ts_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ts_get")]
+  public static extern uint switch_rtp_hdr_t_ts_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_set")]
+  public static extern void switch_rtp_hdr_t_ssrc_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_hdr_t_ssrc_get")]
+  public static extern uint switch_rtp_hdr_t_ssrc_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_hdr_t")]
+  public static extern IntPtr new_switch_rtp_hdr_t();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_hdr_t")]
+  public static extern void delete_switch_rtp_hdr_t(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_set")]
+  public static extern void switch_input_args_t_input_callback_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_input_callback_get")]
+  public static extern IntPtr switch_input_args_t_input_callback_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_set")]
+  public static extern void switch_input_args_t_buf_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buf_get")]
+  public static extern IntPtr switch_input_args_t_buf_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_set")]
+  public static extern void switch_input_args_t_buflen_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_buflen_get")]
+  public static extern uint switch_input_args_t_buflen_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_set")]
+  public static extern void switch_input_args_t_read_frame_callback_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_read_frame_callback_get")]
+  public static extern IntPtr switch_input_args_t_read_frame_callback_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_set")]
+  public static extern void switch_input_args_t_user_data_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_input_args_t_user_data_get")]
+  public static extern IntPtr switch_input_args_t_user_data_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_input_args_t")]
+  public static extern IntPtr new_switch_input_args_t();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_input_args_t")]
+  public static extern void delete_switch_input_args_t(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_API_VERSION_get")]
+  public static extern int SWITCH_API_VERSION_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_set")]
+  public static extern void switch_loadable_module_function_table_t_switch_api_version_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_switch_api_version_get")]
+  public static extern int switch_loadable_module_function_table_t_switch_api_version_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_set")]
+  public static extern void switch_loadable_module_function_table_t_load_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_load_get")]
+  public static extern IntPtr switch_loadable_module_function_table_t_load_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_set")]
+  public static extern void switch_loadable_module_function_table_t_shutdown_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_shutdown_get")]
+  public static extern IntPtr switch_loadable_module_function_table_t_shutdown_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_set")]
+  public static extern void switch_loadable_module_function_table_t_runtime_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_function_table_t_runtime_get")]
+  public static extern IntPtr switch_loadable_module_function_table_t_runtime_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_loadable_module_function_table_t")]
+  public static extern IntPtr new_switch_loadable_module_function_table_t();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_loadable_module_function_table_t")]
+  public static extern void delete_switch_loadable_module_function_table_t(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_close")]
+  public static extern int switch_core_db_close(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open")]
+  public static extern int switch_core_db_open(string jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_text")]
+  public static extern IntPtr switch_core_db_column_text(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_name")]
+  public static extern string switch_core_db_column_name(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_column_count")]
+  public static extern int switch_core_db_column_count(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_errmsg")]
+  public static extern string switch_core_db_errmsg(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_exec")]
+  public static extern int switch_core_db_exec(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, ref string jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_finalize")]
+  public static extern int switch_core_db_finalize(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_prepare")]
+  public static extern int switch_core_db_prepare(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4, ref string jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_step")]
+  public static extern int switch_core_db_step(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_reset")]
+  public static extern int switch_core_db_reset(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int")]
+  public static extern int switch_core_db_bind_int(HandleRef jarg1, int jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_int64")]
+  public static extern int switch_core_db_bind_int64(HandleRef jarg1, int jarg2, long jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_text")]
+  public static extern int switch_core_db_bind_text(HandleRef jarg1, int jarg2, string jarg3, int jarg4, HandleRef jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_bind_double")]
+  public static extern int switch_core_db_bind_double(HandleRef jarg1, int jarg2, double jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_last_insert_rowid")]
+  public static extern long switch_core_db_last_insert_rowid(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_get_table")]
+  public static extern int switch_core_db_get_table(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, ref string jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free_table")]
+  public static extern void switch_core_db_free_table(ref string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_free")]
+  public static extern void switch_core_db_free(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_changes")]
+  public static extern int switch_core_db_changes(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_OK_get")]
+  public static extern int SWITCH_CORE_DB_OK_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ERROR_get")]
+  public static extern int SWITCH_CORE_DB_ERROR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERNAL_get")]
+  public static extern int SWITCH_CORE_DB_INTERNAL_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PERM_get")]
+  public static extern int SWITCH_CORE_DB_PERM_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ABORT_get")]
+  public static extern int SWITCH_CORE_DB_ABORT_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_BUSY_get")]
+  public static extern int SWITCH_CORE_DB_BUSY_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_LOCKED_get")]
+  public static extern int SWITCH_CORE_DB_LOCKED_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOMEM_get")]
+  public static extern int SWITCH_CORE_DB_NOMEM_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_READONLY_get")]
+  public static extern int SWITCH_CORE_DB_READONLY_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_INTERRUPT_get")]
+  public static extern int SWITCH_CORE_DB_INTERRUPT_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_IOERR_get")]
+  public static extern int SWITCH_CORE_DB_IOERR_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CORRUPT_get")]
+  public static extern int SWITCH_CORE_DB_CORRUPT_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTFOUND_get")]
+  public static extern int SWITCH_CORE_DB_NOTFOUND_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FULL_get")]
+  public static extern int SWITCH_CORE_DB_FULL_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CANTOPEN_get")]
+  public static extern int SWITCH_CORE_DB_CANTOPEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_PROTOCOL_get")]
+  public static extern int SWITCH_CORE_DB_PROTOCOL_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_EMPTY_get")]
+  public static extern int SWITCH_CORE_DB_EMPTY_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_SCHEMA_get")]
+  public static extern int SWITCH_CORE_DB_SCHEMA_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_TOOBIG_get")]
+  public static extern int SWITCH_CORE_DB_TOOBIG_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_CONSTRAINT_get")]
+  public static extern int SWITCH_CORE_DB_CONSTRAINT_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISMATCH_get")]
+  public static extern int SWITCH_CORE_DB_MISMATCH_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_MISUSE_get")]
+  public static extern int SWITCH_CORE_DB_MISUSE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOLFS_get")]
+  public static extern int SWITCH_CORE_DB_NOLFS_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_AUTH_get")]
+  public static extern int SWITCH_CORE_DB_AUTH_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_FORMAT_get")]
+  public static extern int SWITCH_CORE_DB_FORMAT_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_RANGE_get")]
+  public static extern int SWITCH_CORE_DB_RANGE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_NOTADB_get")]
+  public static extern int SWITCH_CORE_DB_NOTADB_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_ROW_get")]
+  public static extern int SWITCH_CORE_DB_ROW_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_DONE_get")]
+  public static extern int SWITCH_CORE_DB_DONE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_mprintf")]
+  public static extern string switch_mprintf(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_compile")]
+  public static extern IntPtr switch_regex_compile(string jarg1, int jarg2, ref string jarg3, HandleRef jarg4, HandleRef jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_copy_substring")]
+  public static extern int switch_regex_copy_substring(string jarg1, HandleRef jarg2, int jarg3, int jarg4, string jarg5, int jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_free")]
+  public static extern void switch_regex_free(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_perform")]
+  public static extern int switch_regex_perform(string jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_perform_substitution")]
+  public static extern void switch_perform_substitution(HandleRef jarg1, int jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match")]
+  public static extern int switch_regex_match(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_regex_match_partial")]
+  public static extern int switch_regex_match_partial(string jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get")]
+  public static extern int SWITCH_MAX_CORE_THREAD_SESSION_OBJS_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_MAX_STREAMS_get")]
+  public static extern int SWITCH_MAX_STREAMS_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_set")]
+  public static extern void switch_core_time_duration_mms_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_mms_get")]
+  public static extern uint switch_core_time_duration_mms_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_set")]
+  public static extern void switch_core_time_duration_ms_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_ms_get")]
+  public static extern uint switch_core_time_duration_ms_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_set")]
+  public static extern void switch_core_time_duration_sec_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_sec_get")]
+  public static extern uint switch_core_time_duration_sec_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_set")]
+  public static extern void switch_core_time_duration_min_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_min_get")]
+  public static extern uint switch_core_time_duration_min_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_set")]
+  public static extern void switch_core_time_duration_hr_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_hr_get")]
+  public static extern uint switch_core_time_duration_hr_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_set")]
+  public static extern void switch_core_time_duration_day_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_day_get")]
+  public static extern uint switch_core_time_duration_day_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_set")]
+  public static extern void switch_core_time_duration_yr_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_time_duration_yr_get")]
+  public static extern uint switch_core_time_duration_yr_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_time_duration")]
+  public static extern IntPtr new_switch_core_time_duration();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_time_duration")]
+  public static extern void delete_switch_core_time_duration(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_set")]
+  public static extern void switch_app_log_app_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_app_get")]
+  public static extern string switch_app_log_app_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_set")]
+  public static extern void switch_app_log_arg_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_arg_get")]
+  public static extern string switch_app_log_arg_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_set")]
+  public static extern void switch_app_log_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_app_log_next_get")]
+  public static extern IntPtr switch_app_log_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_app_log")]
+  public static extern IntPtr new_switch_app_log();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_app_log")]
+  public static extern void delete_switch_app_log(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_set")]
+  public static extern void switch_core_session_message_from_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_from_get")]
+  public static extern string switch_core_session_message_from_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_set")]
+  public static extern void switch_core_session_message_message_id_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_message_id_get")]
+  public static extern int switch_core_session_message_message_id_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_set")]
+  public static extern void switch_core_session_message_numeric_arg_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_arg_get")]
+  public static extern int switch_core_session_message_numeric_arg_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_set")]
+  public static extern void switch_core_session_message_string_arg_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_get")]
+  public static extern string switch_core_session_message_string_arg_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_set")]
+  public static extern void switch_core_session_message_string_arg_size_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_arg_size_get")]
+  public static extern IntPtr switch_core_session_message_string_arg_size_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_set")]
+  public static extern void switch_core_session_message_pointer_arg_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_get")]
+  public static extern IntPtr switch_core_session_message_pointer_arg_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_set")]
+  public static extern void switch_core_session_message_pointer_arg_size_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_arg_size_get")]
+  public static extern IntPtr switch_core_session_message_pointer_arg_size_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_set")]
+  public static extern void switch_core_session_message_numeric_reply_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_numeric_reply_get")]
+  public static extern int switch_core_session_message_numeric_reply_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_set")]
+  public static extern void switch_core_session_message_string_reply_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_get")]
+  public static extern string switch_core_session_message_string_reply_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_set")]
+  public static extern void switch_core_session_message_string_reply_size_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_string_reply_size_get")]
+  public static extern IntPtr switch_core_session_message_string_reply_size_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_set")]
+  public static extern void switch_core_session_message_pointer_reply_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_get")]
+  public static extern IntPtr switch_core_session_message_pointer_reply_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_set")]
+  public static extern void switch_core_session_message_pointer_reply_size_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_pointer_reply_size_get")]
+  public static extern IntPtr switch_core_session_message_pointer_reply_size_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_set")]
+  public static extern void switch_core_session_message_flags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_flags_get")]
+  public static extern uint switch_core_session_message_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_session_message")]
+  public static extern IntPtr new_switch_core_session_message();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_session_message")]
+  public static extern void delete_switch_core_session_message(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_set")]
+  public static extern void switch_core_thread_session_running_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_running_get")]
+  public static extern int switch_core_thread_session_running_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_set")]
+  public static extern void switch_core_thread_session_mutex_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_mutex_get")]
+  public static extern IntPtr switch_core_thread_session_mutex_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_set")]
+  public static extern void switch_core_thread_session_objs_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_objs_get")]
+  public static extern IntPtr switch_core_thread_session_objs_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_set")]
+  public static extern void switch_core_thread_session_input_callback_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_input_callback_get")]
+  public static extern IntPtr switch_core_thread_session_input_callback_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_set")]
+  public static extern void switch_core_thread_session_pool_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_pool_get")]
+  public static extern IntPtr switch_core_thread_session_pool_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_core_thread_session")]
+  public static extern IntPtr new_switch_core_thread_session();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_core_thread_session")]
+  public static extern void delete_switch_core_thread_session(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_add")]
+  public static extern int switch_core_media_bug_add(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, uint jarg5, HandleRef jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_user_data")]
+  public static extern IntPtr switch_core_media_bug_get_user_data(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_write_replace_frame")]
+  public static extern IntPtr switch_core_media_bug_get_write_replace_frame(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_write_replace_frame")]
+  public static extern void switch_core_media_bug_set_write_replace_frame(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_get_read_replace_frame")]
+  public static extern IntPtr switch_core_media_bug_get_read_replace_frame(HandleRef jarg1);
+
+  [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_test_flag")]
+  public static extern uint switch_core_media_bug_test_flag(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_set_read_replace_frame")]
+  public static extern void switch_core_media_bug_set_read_replace_frame(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove")]
+  public static extern int switch_core_media_bug_remove(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_close")]
+  public static extern int switch_core_media_bug_close(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_remove_all")]
+  public static extern int switch_core_media_bug_remove_all(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_media_bug_read")]
+  public static extern int switch_core_media_bug_read(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_new")]
+  public static extern int switch_core_port_allocator_new(ushort jarg1, ushort jarg2, uint jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_request_port")]
+  public static extern int switch_core_port_allocator_request_port(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_free_port")]
+  public static extern int switch_core_port_allocator_free_port(HandleRef jarg1, ushort jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_port_allocator_destroy")]
+  public static extern void switch_core_port_allocator_destroy(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init")]
+  public static extern int switch_core_init(uint jarg1, int jarg2, ref string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_init_and_modload")]
+  public static extern int switch_core_init_and_modload(uint jarg1, int jarg2, ref string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_limit")]
+  public static extern uint switch_core_session_limit(uint jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sessions_per_second")]
+  public static extern uint switch_core_sessions_per_second(uint jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_destroy")]
+  public static extern int switch_core_destroy();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_signal_lock")]
+  public static extern int switch_core_session_signal_lock(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_signal_unlock")]
+  public static extern int switch_core_session_signal_unlock(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_lock")]
+  public static extern int switch_core_session_read_lock(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_lock")]
+  public static extern void switch_core_session_write_lock(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_rwunlock")]
+  public static extern void switch_core_session_rwunlock(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_add_state_handler")]
+  public static extern int switch_core_add_state_handler(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_remove_state_handler")]
+  public static extern void switch_core_remove_state_handler(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_state_handler")]
+  public static extern IntPtr switch_core_get_state_handler(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_pool_tag")]
+  public static extern void switch_core_memory_pool_tag(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_new_memory_pool")]
+  public static extern int switch_core_perform_new_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_destroy_memory_pool")]
+  public static extern int switch_core_perform_destroy_memory_pool(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_run")]
+  public static extern void switch_core_session_run(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_running")]
+  public static extern uint switch_core_session_running(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_alloc")]
+  public static extern IntPtr switch_core_perform_permanent_alloc(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_alloc")]
+  public static extern IntPtr switch_core_perform_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_alloc")]
+  public static extern IntPtr switch_core_perform_session_alloc(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, int jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_permanent_strdup")]
+  public static extern string switch_core_perform_permanent_strdup(string jarg1, string jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_session_strdup")]
+  public static extern string switch_core_perform_session_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_strdup")]
+  public static extern string switch_core_perform_strdup(HandleRef jarg1, string jarg2, string jarg3, string jarg4, int jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_sprintf")]
+  public static extern string switch_core_session_sprintf(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_sprintf")]
+  public static extern string switch_core_sprintf(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_pool")]
+  public static extern IntPtr switch_core_session_get_pool(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request")]
+  public static extern IntPtr switch_core_session_request(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_destroy")]
+  public static extern void switch_core_session_perform_destroy(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_count")]
+  public static extern uint switch_core_session_count();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_id")]
+  public static extern IntPtr switch_core_session_id();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_request_by_name")]
+  public static extern IntPtr switch_core_session_request_by_name(string jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_thread_launch")]
+  public static extern int switch_core_session_thread_launch(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_channel")]
+  public static extern IntPtr switch_core_session_get_channel(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_signal_state_change")]
+  public static extern void switch_core_session_signal_state_change(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_uuid")]
+  public static extern string switch_core_session_get_uuid(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_uuid")]
+  public static extern string switch_core_get_uuid();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_locate")]
+  public static extern IntPtr switch_core_session_locate(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_variable")]
+  public static extern string switch_core_get_variable(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_variable")]
+  public static extern void switch_core_set_variable(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_dump_variables")]
+  public static extern void switch_core_dump_variables(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall")]
+  public static extern void switch_core_session_hupall(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_matching_var")]
+  public static extern void switch_core_session_hupall_matching_var(string jarg1, string jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_hupall_endpoint")]
+  public static extern void switch_core_session_hupall_endpoint(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_message_send")]
+  public static extern int switch_core_session_message_send(string jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_message")]
+  public static extern int switch_core_session_queue_message(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_pass_indication")]
+  public static extern int switch_core_session_pass_indication(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_indication")]
+  public static extern int switch_core_session_queue_indication(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_message")]
+  public static extern int switch_core_session_dequeue_message(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_message")]
+  public static extern int switch_core_session_flush_message(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_send")]
+  public static extern int switch_core_session_event_send(string jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_app_log")]
+  public static extern IntPtr switch_core_session_get_app_log(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_exec")]
+  public static extern int switch_core_session_exec(HandleRef jarg1, HandleRef jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_application")]
+  public static extern int switch_core_session_execute_application(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_execute_exten")]
+  public static extern int switch_core_session_execute_exten(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_receive_event")]
+  public static extern int switch_core_session_receive_event(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_private")]
+  public static extern IntPtr switch_core_session_get_private(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_private")]
+  public static extern int switch_core_session_set_private(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_add_stream")]
+  public static extern int switch_core_session_add_stream(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_stream")]
+  public static extern IntPtr switch_core_session_get_stream(HandleRef jarg1, int jarg2);
+
+  [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_launch_thread")]
+  public static extern void switch_core_session_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_thread_session_end")]
+  public static extern void switch_core_thread_session_end(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_service_session")]
+  public static extern void switch_core_service_session(HandleRef jarg1, HandleRef jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_outgoing_channel")]
+  public static extern int switch_core_session_outgoing_channel(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6, uint jarg7);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_resurrect_channel")]
+  public static extern int switch_core_session_resurrect_channel(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_receive_message")]
+  public static extern int switch_core_session_receive_message(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_event")]
+  public static extern int switch_core_session_queue_event(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_event_count")]
+  public static extern uint switch_core_session_event_count(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_event")]
+  public static extern int switch_core_session_dequeue_event(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_queue_private_event")]
+  public static extern int switch_core_session_queue_private_event(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_private_event_count")]
+  public static extern uint switch_core_session_private_event_count(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_dequeue_private_event")]
+  public static extern int switch_core_session_dequeue_private_event(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_flush_private_events")]
+  public static extern uint switch_core_session_flush_private_events(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_frame")]
+  public static extern int switch_core_session_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_read_video_frame")]
+  public static extern int switch_core_session_read_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_video_frame")]
+  public static extern int switch_core_session_write_video_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_reset")]
+  public static extern void switch_core_session_reset(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_write_frame")]
+  public static extern int switch_core_session_write_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_perform_kill_channel")]
+  public static extern int switch_core_session_perform_kill_channel(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf")]
+  public static extern int switch_core_session_send_dtmf(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_send_dtmf_string")]
+  public static extern int switch_core_session_send_dtmf_string(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_recv_dtmf")]
+  public static extern int switch_core_session_recv_dtmf(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_init")]
+  public static extern int switch_core_hash_init(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_destroy")]
+  public static extern int switch_core_hash_destroy(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert")]
+  public static extern int switch_core_hash_insert(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert_locked")]
+  public static extern int switch_core_hash_insert_locked(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete")]
+  public static extern int switch_core_hash_delete(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_delete_locked")]
+  public static extern int switch_core_hash_delete_locked(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find")]
+  public static extern IntPtr switch_core_hash_find(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_find_locked")]
+  public static extern IntPtr switch_core_hash_find_locked(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_first")]
+  public static extern IntPtr switch_hash_first(string jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_next")]
+  public static extern IntPtr switch_hash_next(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_hash_this")]
+  public static extern void switch_hash_this(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_init")]
+  public static extern int switch_core_timer_init(HandleRef jarg1, string jarg2, int jarg3, int jarg4, HandleRef jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_next")]
+  public static extern int switch_core_timer_next(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_step")]
+  public static extern int switch_core_timer_step(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_sync")]
+  public static extern int switch_core_timer_sync(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_check")]
+  public static extern int switch_core_timer_check(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_timer_destroy")]
+  public static extern int switch_core_timer_destroy(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_init")]
+  public static extern int switch_core_codec_init(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, int jarg5, int jarg6, uint jarg7, HandleRef jarg8, HandleRef jarg9);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_copy")]
+  public static extern int switch_core_codec_copy(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_encode")]
+  public static extern int switch_core_codec_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_decode")]
+  public static extern int switch_core_codec_decode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8, HandleRef jarg9);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_codec_destroy")]
+  public static extern int switch_core_codec_destroy(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_read_codec")]
+  public static extern int switch_core_session_set_read_codec(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_unset_read_codec")]
+  public static extern void switch_core_session_unset_read_codec(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_read_codec")]
+  public static extern IntPtr switch_core_session_get_read_codec(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_read_codec")]
+  public static extern IntPtr switch_core_session_get_effective_read_codec(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_write_codec")]
+  public static extern int switch_core_session_set_write_codec(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_write_codec")]
+  public static extern IntPtr switch_core_session_get_write_codec(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_effective_write_codec")]
+  public static extern IntPtr switch_core_session_get_effective_write_codec(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_read_codec")]
+  public static extern int switch_core_session_set_video_read_codec(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_read_codec")]
+  public static extern IntPtr switch_core_session_get_video_read_codec(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_set_video_write_codec")]
+  public static extern int switch_core_session_set_video_write_codec(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_get_video_write_codec")]
+  public static extern IntPtr switch_core_session_get_video_write_codec(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_open_file")]
+  public static extern IntPtr switch_core_db_open_file(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_persistant_execute")]
+  public static extern int switch_core_db_persistant_execute(HandleRef jarg1, string jarg2, uint jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_db_test_reactive")]
+  public static extern void switch_core_db_test_reactive(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CORE_DB_get")]
+  public static extern string SWITCH_CORE_DB_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_perform_file_open")]
+  public static extern int switch_core_perform_file_open(string jarg1, string jarg2, int jarg3, HandleRef jarg4, string jarg5, byte jarg6, uint jarg7, uint jarg8, HandleRef jarg9);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_read")]
+  public static extern int switch_core_file_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_write")]
+  public static extern int switch_core_file_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_seek")]
+  public static extern int switch_core_file_seek(HandleRef jarg1, HandleRef jarg2, long jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_set_string")]
+  public static extern int switch_core_file_set_string(HandleRef jarg1, int jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_get_string")]
+  public static extern int switch_core_file_get_string(HandleRef jarg1, int jarg2, ref string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_file_close")]
+  public static extern int switch_core_file_close(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_open")]
+  public static extern int switch_core_speech_open(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_feed_tts")]
+  public static extern int switch_core_speech_feed_tts(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_flush_tts")]
+  public static extern void switch_core_speech_flush_tts(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_text_param_tts")]
+  public static extern void switch_core_speech_text_param_tts(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_numeric_param_tts")]
+  public static extern void switch_core_speech_numeric_param_tts(HandleRef jarg1, string jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_float_param_tts")]
+  public static extern void switch_core_speech_float_param_tts(HandleRef jarg1, string jarg2, double jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_read_tts")]
+  public static extern int switch_core_speech_read_tts(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_close")]
+  public static extern int switch_core_speech_close(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_open")]
+  public static extern int switch_core_asr_open(HandleRef jarg1, string jarg2, string jarg3, int jarg4, string jarg5, HandleRef jarg6, HandleRef jarg7);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_close")]
+  public static extern int switch_core_asr_close(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_feed")]
+  public static extern int switch_core_asr_feed(HandleRef jarg1, HandleRef jarg2, uint jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_check_results")]
+  public static extern int switch_core_asr_check_results(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_get_results")]
+  public static extern int switch_core_asr_get_results(HandleRef jarg1, ref string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_load_grammar")]
+  public static extern int switch_core_asr_load_grammar(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_unload_grammar")]
+  public static extern int switch_core_asr_unload_grammar(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_pause")]
+  public static extern int switch_core_asr_pause(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_asr_resume")]
+  public static extern int switch_core_asr_resume(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_open")]
+  public static extern int switch_core_directory_open(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_query")]
+  public static extern int switch_core_directory_query(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next")]
+  public static extern int switch_core_directory_next(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_next_pair")]
+  public static extern int switch_core_directory_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_directory_close")]
+  public static extern int switch_core_directory_close(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_data_channel")]
+  public static extern IntPtr switch_core_data_channel(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_ready")]
+  public static extern int switch_core_ready();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_flags")]
+  public static extern uint switch_core_flags();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_management_exec")]
+  public static extern int switch_core_management_exec(string jarg1, int jarg2, string jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_set_high_priority")]
+  public static extern int set_high_priority();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_change_user_group")]
+  public static extern int change_user_group(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_runtime_loop")]
+  public static extern void switch_core_runtime_loop(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_console")]
+  public static extern int switch_core_set_console(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_measure_time")]
+  public static extern void switch_core_measure_time(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_uptime")]
+  public static extern IntPtr switch_core_uptime();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_ctl")]
+  public static extern int switch_core_session_ctl(int jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_get_console")]
+  public static extern IntPtr switch_core_get_console();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_launch_thread")]
+  public static extern void switch_core_launch_thread(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_set_globals")]
+  public static extern void switch_core_set_globals();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_compare")]
+  public static extern byte switch_core_session_compare(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_session_check_interface")]
+  public static extern byte switch_core_session_check_interface(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_index")]
+  public static extern IntPtr switch_core_mime_index();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_ext2type")]
+  public static extern string switch_core_mime_ext2type(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_mime_add_type")]
+  public static extern int switch_core_mime_add_type(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_module_interface")]
+  public static extern IntPtr switch_loadable_module_create_module_interface(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_loadable_module_create_interface")]
+  public static extern IntPtr switch_loadable_module_create_interface(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timestamp_now")]
+  public static extern IntPtr switch_timestamp_now();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim")]
+  public static extern void switch_core_memory_reclaim();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_events")]
+  public static extern void switch_core_memory_reclaim_events();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_logger")]
+  public static extern void switch_core_memory_reclaim_logger();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_memory_reclaim_all")]
+  public static extern void switch_core_memory_reclaim_all();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_setrlimits")]
+  public static extern void switch_core_setrlimits();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_sync")]
+  public static extern void switch_time_sync();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timestamp")]
+  public static extern IntPtr switch_timestamp(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_strftime_tz")]
+  public static extern int switch_strftime_tz(string jarg1, string jarg2, string jarg3, uint jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_load_network_lists")]
+  public static extern void switch_load_network_lists(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_check_network_list_ip_token")]
+  public static extern int switch_check_network_list_ip_token(string jarg1, string jarg2, ref string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_time_set_monotonic")]
+  public static extern void switch_time_set_monotonic(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_max_dtmf_duration")]
+  public static extern uint switch_core_max_dtmf_duration(uint jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_default_dtmf_duration")]
+  public static extern uint switch_core_default_dtmf_duration(uint jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_complete")]
+  public static extern int switch_console_set_complete(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_set_alias")]
+  public static extern int switch_console_set_alias(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_system")]
+  public static extern int switch_system(string jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_CMD_CHUNK_LEN_get")]
+  public static extern int SWITCH_CMD_CHUNK_LEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_loop")]
+  public static extern void switch_console_loop();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_console_stream_raw_write")]
+  public static extern int switch_console_stream_raw_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMAX_get")]
+  public static extern int SWITCH_SMAX_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_SMIN_get")]
+  public static extern int SWITCH_SMIN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_moh")]
+  public static extern int switch_is_moh(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_encode")]
+  public static extern int switch_b64_encode(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_b64_decode")]
+  public static extern IntPtr switch_b64_decode(string jarg1, string jarg2, HandleRef jarg3);
+
+  [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_is_digit_string")]
+  public static extern int switch_is_digit_string(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_fd_read_line")]
+  public static extern IntPtr switch_fd_read_line(int jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_find_local_ip")]
+  public static extern int switch_find_local_ip(string jarg1, int jarg2, int jarg3);
+
+  [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_port")]
+  public static extern ushort get_port(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_build_uri")]
+  public static extern int switch_build_uri(string jarg1, HandleRef jarg2, string jarg3, string jarg4, HandleRef jarg5, int jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_priority_name")]
+  public static extern string switch_priority_name(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rfc2833_to_char")]
+  public static extern char switch_rfc2833_to_char(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_rfc2833")]
+  public static extern byte switch_char_to_rfc2833(char jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_clean_string")]
+  public static extern string switch_clean_string(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_safe_strdup")]
+  public static extern string switch_safe_strdup(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_strstr")]
+  public static extern int switch_strstr(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_str_time")]
+  public static extern IntPtr switch_str_time(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_string")]
+  public static extern uint switch_separate_string(string jarg1, char jarg2, ref string jarg3, uint jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_number")]
+  public static extern int switch_is_number(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_strip_spaces")]
+  public static extern string switch_strip_spaces(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_separate_paren_args")]
+  public static extern string switch_separate_paren_args(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stristr")]
+  public static extern string switch_stristr(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_is_lan_addr")]
+  public static extern int switch_is_lan_addr(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_replace_char")]
+  public static extern string switch_replace_char(string jarg1, char jarg2, char jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ast2regex")]
+  public static extern int switch_ast2regex(string jarg1, string jarg2, uint jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_escape_char")]
+  public static extern string switch_escape_char(HandleRef jarg1, string jarg2, string jarg3, char jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_socket_waitfor")]
+  public static extern int switch_socket_waitfor(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_cut_path")]
+  public static extern string switch_cut_path(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_replace")]
+  public static extern string switch_string_replace(string jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_string_match")]
+  public static extern int switch_string_match(string jarg1, uint jarg2, string jarg3, uint jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_url_encode")]
+  public static extern uint switch_url_encode(string jarg1, string jarg2, uint jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_url_decode")]
+  public static extern string switch_url_decode(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_simple_email")]
+  public static extern int switch_simple_email(string jarg1, string jarg2, string jarg3, string jarg4, string jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_find_end_paren")]
+  public static extern string switch_find_end_paren(string jarg1, char jarg2, char jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_parse_cidr")]
+  public static extern int switch_parse_cidr(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_create")]
+  public static extern int switch_network_list_create(HandleRef jarg1, int jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_cidr_token")]
+  public static extern int switch_network_list_add_cidr_token(HandleRef jarg1, string jarg2, int jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_add_host_mask")]
+  public static extern int switch_network_list_add_host_mask(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_network_list_validate_ip_token")]
+  public static extern int switch_network_list_validate_ip_token(HandleRef jarg1, uint jarg2, ref string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_set")]
+  public static extern void switch_caller_profile_username_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_username_get")]
+  public static extern string switch_caller_profile_username_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_set")]
+  public static extern void switch_caller_profile_dialplan_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dialplan_get")]
+  public static extern string switch_caller_profile_dialplan_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_set")]
+  public static extern void switch_caller_profile_caller_id_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_name_get")]
+  public static extern string switch_caller_profile_caller_id_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_set")]
+  public static extern void switch_caller_profile_caller_id_number_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_id_number_get")]
+  public static extern string switch_caller_profile_caller_id_number_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_set")]
+  public static extern void switch_caller_profile_caller_ton_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_ton_get")]
+  public static extern byte switch_caller_profile_caller_ton_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_set")]
+  public static extern void switch_caller_profile_caller_numplan_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_numplan_get")]
+  public static extern byte switch_caller_profile_caller_numplan_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_set")]
+  public static extern void switch_caller_profile_network_addr_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_network_addr_get")]
+  public static extern string switch_caller_profile_network_addr_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_set")]
+  public static extern void switch_caller_profile_ani_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_get")]
+  public static extern string switch_caller_profile_ani_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_set")]
+  public static extern void switch_caller_profile_ani_ton_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_ton_get")]
+  public static extern byte switch_caller_profile_ani_ton_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_set")]
+  public static extern void switch_caller_profile_ani_numplan_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_ani_numplan_get")]
+  public static extern byte switch_caller_profile_ani_numplan_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_set")]
+  public static extern void switch_caller_profile_aniii_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_aniii_get")]
+  public static extern string switch_caller_profile_aniii_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_set")]
+  public static extern void switch_caller_profile_rdnis_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_get")]
+  public static extern string switch_caller_profile_rdnis_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_set")]
+  public static extern void switch_caller_profile_rdnis_ton_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_ton_get")]
+  public static extern byte switch_caller_profile_rdnis_ton_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_set")]
+  public static extern void switch_caller_profile_rdnis_numplan_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_rdnis_numplan_get")]
+  public static extern byte switch_caller_profile_rdnis_numplan_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_set")]
+  public static extern void switch_caller_profile_destination_number_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_get")]
+  public static extern string switch_caller_profile_destination_number_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_set")]
+  public static extern void switch_caller_profile_destination_number_ton_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_ton_get")]
+  public static extern byte switch_caller_profile_destination_number_ton_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_set")]
+  public static extern void switch_caller_profile_destination_number_numplan_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_destination_number_numplan_get")]
+  public static extern byte switch_caller_profile_destination_number_numplan_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_set")]
+  public static extern void switch_caller_profile_source_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_source_get")]
+  public static extern string switch_caller_profile_source_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_set")]
+  public static extern void switch_caller_profile_chan_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_chan_name_get")]
+  public static extern string switch_caller_profile_chan_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_set")]
+  public static extern void switch_caller_profile_uuid_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_uuid_get")]
+  public static extern string switch_caller_profile_uuid_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_set")]
+  public static extern void switch_caller_profile_context_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_context_get")]
+  public static extern string switch_caller_profile_context_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_set")]
+  public static extern void switch_caller_profile_profile_index_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_profile_index_get")]
+  public static extern string switch_caller_profile_profile_index_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_set")]
+  public static extern void switch_caller_profile_flags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_flags_get")]
+  public static extern uint switch_caller_profile_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_set")]
+  public static extern void switch_caller_profile_originator_caller_profile_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originator_caller_profile_get")]
+  public static extern IntPtr switch_caller_profile_originator_caller_profile_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_set")]
+  public static extern void switch_caller_profile_originatee_caller_profile_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_originatee_caller_profile_get")]
+  public static extern IntPtr switch_caller_profile_originatee_caller_profile_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_set")]
+  public static extern void switch_caller_profile_times_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_times_get")]
+  public static extern IntPtr switch_caller_profile_times_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_set")]
+  public static extern void switch_caller_profile_caller_extension_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_caller_extension_get")]
+  public static extern IntPtr switch_caller_profile_caller_extension_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_set")]
+  public static extern void switch_caller_profile_pool_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_pool_get")]
+  public static extern IntPtr switch_caller_profile_pool_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_set")]
+  public static extern void switch_caller_profile_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_next_get")]
+  public static extern IntPtr switch_caller_profile_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_profile")]
+  public static extern IntPtr new_switch_caller_profile();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_profile")]
+  public static extern void delete_switch_caller_profile(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_set")]
+  public static extern void switch_caller_application_application_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_name_get")]
+  public static extern string switch_caller_application_application_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_set")]
+  public static extern void switch_caller_application_application_data_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_data_get")]
+  public static extern string switch_caller_application_application_data_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_set")]
+  public static extern void switch_caller_application_application_function_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_application_function_get")]
+  public static extern IntPtr switch_caller_application_application_function_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_set")]
+  public static extern void switch_caller_application_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_application_next_get")]
+  public static extern IntPtr switch_caller_application_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_application")]
+  public static extern IntPtr new_switch_caller_application();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_application")]
+  public static extern void delete_switch_caller_application(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_set")]
+  public static extern void switch_caller_extension_extension_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_name_get")]
+  public static extern string switch_caller_extension_extension_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_set")]
+  public static extern void switch_caller_extension_extension_number_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_extension_number_get")]
+  public static extern string switch_caller_extension_extension_number_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_set")]
+  public static extern void switch_caller_extension_current_application_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_current_application_get")]
+  public static extern IntPtr switch_caller_extension_current_application_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_set")]
+  public static extern void switch_caller_extension_last_application_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_last_application_get")]
+  public static extern IntPtr switch_caller_extension_last_application_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_set")]
+  public static extern void switch_caller_extension_applications_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_applications_get")]
+  public static extern IntPtr switch_caller_extension_applications_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_set")]
+  public static extern void switch_caller_extension_children_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_children_get")]
+  public static extern IntPtr switch_caller_extension_children_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_set")]
+  public static extern void switch_caller_extension_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_next_get")]
+  public static extern IntPtr switch_caller_extension_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_caller_extension")]
+  public static extern IntPtr new_switch_caller_extension();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_caller_extension")]
+  public static extern void delete_switch_caller_extension(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_new")]
+  public static extern IntPtr switch_caller_extension_new(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_clone")]
+  public static extern int switch_caller_extension_clone(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_extension_add_application")]
+  public static extern void switch_caller_extension_add_application(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_get_field_by_name")]
+  public static extern string switch_caller_get_field_by_name(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_new")]
+  public static extern IntPtr switch_caller_profile_new(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, string jarg11, string jarg12);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_clone")]
+  public static extern IntPtr switch_caller_profile_clone(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_dup")]
+  public static extern IntPtr switch_caller_profile_dup(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_caller_profile_event_set_data")]
+  public static extern void switch_caller_profile_event_set_data(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_set")]
+  public static extern void switch_frame_codec_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_codec_get")]
+  public static extern IntPtr switch_frame_codec_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_set")]
+  public static extern void switch_frame_source_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_source_get")]
+  public static extern string switch_frame_source_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_set")]
+  public static extern void switch_frame_packet_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packet_get")]
+  public static extern IntPtr switch_frame_packet_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_set")]
+  public static extern void switch_frame_packetlen_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_packetlen_get")]
+  public static extern uint switch_frame_packetlen_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_set")]
+  public static extern void switch_frame_data_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_data_get")]
+  public static extern IntPtr switch_frame_data_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_set")]
+  public static extern void switch_frame_datalen_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_datalen_get")]
+  public static extern uint switch_frame_datalen_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_set")]
+  public static extern void switch_frame_buflen_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_buflen_get")]
+  public static extern uint switch_frame_buflen_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_set")]
+  public static extern void switch_frame_samples_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_samples_get")]
+  public static extern uint switch_frame_samples_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_set")]
+  public static extern void switch_frame_rate_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_rate_get")]
+  public static extern uint switch_frame_rate_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_set")]
+  public static extern void switch_frame_payload_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_payload_get")]
+  public static extern byte switch_frame_payload_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_set")]
+  public static extern void switch_frame_timestamp_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_timestamp_get")]
+  public static extern IntPtr switch_frame_timestamp_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_set")]
+  public static extern void switch_frame_seq_set(HandleRef jarg1, ushort jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_seq_get")]
+  public static extern ushort switch_frame_seq_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_set")]
+  public static extern void switch_frame_ssrc_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_ssrc_get")]
+  public static extern uint switch_frame_ssrc_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_set")]
+  public static extern void switch_frame_m_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_m_get")]
+  public static extern int switch_frame_m_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_set")]
+  public static extern void switch_frame_flags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_frame_flags_get")]
+  public static extern uint switch_frame_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_frame")]
+  public static extern IntPtr new_switch_frame();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_frame")]
+  public static extern void delete_switch_frame(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_set")]
+  public static extern void switch_state_handler_table_on_init_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_init_get")]
+  public static extern IntPtr switch_state_handler_table_on_init_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_set")]
+  public static extern void switch_state_handler_table_on_routing_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_routing_get")]
+  public static extern IntPtr switch_state_handler_table_on_routing_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_set")]
+  public static extern void switch_state_handler_table_on_execute_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_execute_get")]
+  public static extern IntPtr switch_state_handler_table_on_execute_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_set")]
+  public static extern void switch_state_handler_table_on_hangup_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hangup_get")]
+  public static extern IntPtr switch_state_handler_table_on_hangup_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_set")]
+  public static extern void switch_state_handler_table_on_exchange_media_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_exchange_media_get")]
+  public static extern IntPtr switch_state_handler_table_on_exchange_media_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_set")]
+  public static extern void switch_state_handler_table_on_soft_execute_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_soft_execute_get")]
+  public static extern IntPtr switch_state_handler_table_on_soft_execute_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_set")]
+  public static extern void switch_state_handler_table_on_consume_media_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_consume_media_get")]
+  public static extern IntPtr switch_state_handler_table_on_consume_media_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_set")]
+  public static extern void switch_state_handler_table_on_hibernate_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_hibernate_get")]
+  public static extern IntPtr switch_state_handler_table_on_hibernate_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_set")]
+  public static extern void switch_state_handler_table_on_reset_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_reset_get")]
+  public static extern IntPtr switch_state_handler_table_on_reset_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_set")]
+  public static extern void switch_state_handler_table_on_park_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_on_park_get")]
+  public static extern IntPtr switch_state_handler_table_on_park_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);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_state_handler_table_padding_get")]
+  public static extern IntPtr switch_state_handler_table_padding_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_state_handler_table")]
+  public static extern IntPtr new_switch_state_handler_table();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_state_handler_table")]
+  public static extern void delete_switch_state_handler_table(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_set")]
+  public static extern void switch_stream_handle_write_function_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_write_function_get")]
+  public static extern IntPtr switch_stream_handle_write_function_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_set")]
+  public static extern void switch_stream_handle_raw_write_function_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_raw_write_function_get")]
+  public static extern IntPtr switch_stream_handle_raw_write_function_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_set")]
+  public static extern void switch_stream_handle_data_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_get")]
+  public static extern IntPtr switch_stream_handle_data_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_set")]
+  public static extern void switch_stream_handle_end_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_end_get")]
+  public static extern IntPtr switch_stream_handle_end_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_set")]
+  public static extern void switch_stream_handle_data_size_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_size_get")]
+  public static extern IntPtr switch_stream_handle_data_size_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_set")]
+  public static extern void switch_stream_handle_data_len_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_data_len_get")]
+  public static extern IntPtr switch_stream_handle_data_len_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_set")]
+  public static extern void switch_stream_handle_alloc_len_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_len_get")]
+  public static extern IntPtr switch_stream_handle_alloc_len_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_set")]
+  public static extern void switch_stream_handle_alloc_chunk_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_alloc_chunk_get")]
+  public static extern IntPtr switch_stream_handle_alloc_chunk_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_set")]
+  public static extern void switch_stream_handle_param_event_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_stream_handle_param_event_get")]
+  public static extern IntPtr switch_stream_handle_param_event_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_stream_handle")]
+  public static extern IntPtr new_switch_stream_handle();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_stream_handle")]
+  public static extern void delete_switch_stream_handle(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_set")]
+  public static extern void switch_io_routines_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_outgoing_channel_get")]
+  public static extern IntPtr switch_io_routines_outgoing_channel_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_set")]
+  public static extern void switch_io_routines_read_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_frame_get")]
+  public static extern IntPtr switch_io_routines_read_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_set")]
+  public static extern void switch_io_routines_write_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_frame_get")]
+  public static extern IntPtr switch_io_routines_write_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_set")]
+  public static extern void switch_io_routines_kill_channel_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_kill_channel_get")]
+  public static extern IntPtr switch_io_routines_kill_channel_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_set")]
+  public static extern void switch_io_routines_send_dtmf_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_send_dtmf_get")]
+  public static extern IntPtr switch_io_routines_send_dtmf_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_set")]
+  public static extern void switch_io_routines_receive_message_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_message_get")]
+  public static extern IntPtr switch_io_routines_receive_message_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_set")]
+  public static extern void switch_io_routines_receive_event_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_receive_event_get")]
+  public static extern IntPtr switch_io_routines_receive_event_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_set")]
+  public static extern void switch_io_routines_state_change_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_state_change_get")]
+  public static extern IntPtr switch_io_routines_state_change_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_set")]
+  public static extern void switch_io_routines_read_video_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_read_video_frame_get")]
+  public static extern IntPtr switch_io_routines_read_video_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_write_video_frame_set")]
+  public static extern void switch_io_routines_write_video_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [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_resurrect_session_set")]
+  public static extern void switch_io_routines_resurrect_session_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_resurrect_session_get")]
+  public static extern IntPtr switch_io_routines_resurrect_session_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_set")]
+  public static extern void switch_io_routines_padding_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_routines_padding_get")]
+  public static extern IntPtr switch_io_routines_padding_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_routines")]
+  public static extern IntPtr new_switch_io_routines();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_routines")]
+  public static extern void delete_switch_io_routines(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_set")]
+  public static extern void switch_endpoint_interface_interface_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_interface_name_get")]
+  public static extern string switch_endpoint_interface_interface_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_set")]
+  public static extern void switch_endpoint_interface_io_routines_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_io_routines_get")]
+  public static extern IntPtr switch_endpoint_interface_io_routines_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_set")]
+  public static extern void switch_endpoint_interface_state_handler_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_state_handler_get")]
+  public static extern IntPtr switch_endpoint_interface_state_handler_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_set")]
+  public static extern void switch_endpoint_interface_private_info_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_private_info_get")]
+  public static extern IntPtr switch_endpoint_interface_private_info_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_set")]
+  public static extern void switch_endpoint_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_rwlock_get")]
+  public static extern IntPtr switch_endpoint_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_set")]
+  public static extern void switch_endpoint_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_endpoint_interface_next_get")]
+  public static extern IntPtr switch_endpoint_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_endpoint_interface")]
+  public static extern IntPtr new_switch_endpoint_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_endpoint_interface")]
+  public static extern void delete_switch_endpoint_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_set")]
+  public static extern void switch_timer_interval_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interval_get")]
+  public static extern int switch_timer_interval_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_set")]
+  public static extern void switch_timer_flags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_flags_get")]
+  public static extern uint switch_timer_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_set")]
+  public static extern void switch_timer_samples_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samples_get")]
+  public static extern uint switch_timer_samples_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_set")]
+  public static extern void switch_timer_samplecount_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_samplecount_get")]
+  public static extern uint switch_timer_samplecount_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_set")]
+  public static extern void switch_timer_timer_interface_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_timer_interface_get")]
+  public static extern IntPtr switch_timer_timer_interface_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_set")]
+  public static extern void switch_timer_memory_pool_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_memory_pool_get")]
+  public static extern IntPtr switch_timer_memory_pool_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_set")]
+  public static extern void switch_timer_private_info_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_private_info_get")]
+  public static extern IntPtr switch_timer_private_info_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_set")]
+  public static extern void switch_timer_diff_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_diff_get")]
+  public static extern IntPtr switch_timer_diff_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_set")]
+  public static extern void switch_timer_tick_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_tick_get")]
+  public static extern IntPtr switch_timer_tick_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer")]
+  public static extern IntPtr new_switch_timer();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer")]
+  public static extern void delete_switch_timer(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_set")]
+  public static extern void switch_timer_interface_interface_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_interface_name_get")]
+  public static extern string switch_timer_interface_interface_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_set")]
+  public static extern void switch_timer_interface_timer_init_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_init_get")]
+  public static extern IntPtr switch_timer_interface_timer_init_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_set")]
+  public static extern void switch_timer_interface_timer_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_next_get")]
+  public static extern IntPtr switch_timer_interface_timer_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_set")]
+  public static extern void switch_timer_interface_timer_step_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_step_get")]
+  public static extern IntPtr switch_timer_interface_timer_step_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_set")]
+  public static extern void switch_timer_interface_timer_sync_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_sync_get")]
+  public static extern IntPtr switch_timer_interface_timer_sync_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_set")]
+  public static extern void switch_timer_interface_timer_check_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_check_get")]
+  public static extern IntPtr switch_timer_interface_timer_check_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_set")]
+  public static extern void switch_timer_interface_timer_destroy_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_timer_destroy_get")]
+  public static extern IntPtr switch_timer_interface_timer_destroy_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_set")]
+  public static extern void switch_timer_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_rwlock_get")]
+  public static extern IntPtr switch_timer_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_set")]
+  public static extern void switch_timer_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_timer_interface_next_get")]
+  public static extern IntPtr switch_timer_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_timer_interface")]
+  public static extern IntPtr new_switch_timer_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_timer_interface")]
+  public static extern void delete_switch_timer_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_set")]
+  public static extern void switch_dialplan_interface_interface_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_interface_name_get")]
+  public static extern string switch_dialplan_interface_interface_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_set")]
+  public static extern void switch_dialplan_interface_hunt_function_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_hunt_function_get")]
+  public static extern IntPtr switch_dialplan_interface_hunt_function_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_set")]
+  public static extern void switch_dialplan_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_rwlock_get")]
+  public static extern IntPtr switch_dialplan_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_set")]
+  public static extern void switch_dialplan_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_dialplan_interface_next_get")]
+  public static extern IntPtr switch_dialplan_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_dialplan_interface")]
+  public static extern IntPtr new_switch_dialplan_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_dialplan_interface")]
+  public static extern void delete_switch_dialplan_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_set")]
+  public static extern void switch_file_interface_interface_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_interface_name_get")]
+  public static extern string switch_file_interface_interface_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_set")]
+  public static extern void switch_file_interface_file_open_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_open_get")]
+  public static extern IntPtr switch_file_interface_file_open_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_set")]
+  public static extern void switch_file_interface_file_close_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_close_get")]
+  public static extern IntPtr switch_file_interface_file_close_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_set")]
+  public static extern void switch_file_interface_file_read_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_read_get")]
+  public static extern IntPtr switch_file_interface_file_read_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_set")]
+  public static extern void switch_file_interface_file_write_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_write_get")]
+  public static extern IntPtr switch_file_interface_file_write_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_set")]
+  public static extern void switch_file_interface_file_seek_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_seek_get")]
+  public static extern IntPtr switch_file_interface_file_seek_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_set")]
+  public static extern void switch_file_interface_file_set_string_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_set_string_get")]
+  public static extern IntPtr switch_file_interface_file_set_string_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_set")]
+  public static extern void switch_file_interface_file_get_string_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_file_get_string_get")]
+  public static extern IntPtr switch_file_interface_file_get_string_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_set")]
+  public static extern void switch_file_interface_extens_set(HandleRef jarg1, ref string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_extens_get")]
+  public static extern string switch_file_interface_extens_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_set")]
+  public static extern void switch_file_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_rwlock_get")]
+  public static extern IntPtr switch_file_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_set")]
+  public static extern void switch_file_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_interface_next_get")]
+  public static extern IntPtr switch_file_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_interface")]
+  public static extern IntPtr new_switch_file_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_interface")]
+  public static extern void delete_switch_file_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_set")]
+  public static extern void switch_file_handle_file_interface_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_interface_get")]
+  public static extern IntPtr switch_file_handle_file_interface_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_set")]
+  public static extern void switch_file_handle_flags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_flags_get")]
+  public static extern uint switch_file_handle_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_set")]
+  public static extern void switch_file_handle_fd_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_fd_get")]
+  public static extern IntPtr switch_file_handle_fd_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_set")]
+  public static extern void switch_file_handle_samples_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samples_get")]
+  public static extern uint switch_file_handle_samples_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_set")]
+  public static extern void switch_file_handle_samplerate_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_samplerate_get")]
+  public static extern uint switch_file_handle_samplerate_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_set")]
+  public static extern void switch_file_handle_native_rate_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_native_rate_get")]
+  public static extern uint switch_file_handle_native_rate_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_set")]
+  public static extern void switch_file_handle_channels_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_get")]
+  public static extern byte switch_file_handle_channels_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_set")]
+  public static extern void switch_file_handle_format_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_get")]
+  public static extern uint switch_file_handle_format_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_set")]
+  public static extern void switch_file_handle_sections_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sections_get")]
+  public static extern uint switch_file_handle_sections_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_set")]
+  public static extern void switch_file_handle_seekable_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_seekable_get")]
+  public static extern int switch_file_handle_seekable_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_set")]
+  public static extern void switch_file_handle_sample_count_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sample_count_get")]
+  public static extern IntPtr switch_file_handle_sample_count_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_set")]
+  public static extern void switch_file_handle_speed_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_speed_get")]
+  public static extern int switch_file_handle_speed_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_set")]
+  public static extern void switch_file_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_memory_pool_get")]
+  public static extern IntPtr switch_file_handle_memory_pool_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_set")]
+  public static extern void switch_file_handle_prebuf_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_prebuf_get")]
+  public static extern uint switch_file_handle_prebuf_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_set")]
+  public static extern void switch_file_handle_interval_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_interval_get")]
+  public static extern uint switch_file_handle_interval_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_set")]
+  public static extern void switch_file_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_private_info_get")]
+  public static extern IntPtr switch_file_handle_private_info_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_set")]
+  public static extern void switch_file_handle_handler_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_handler_get")]
+  public static extern string switch_file_handle_handler_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_set")]
+  public static extern void switch_file_handle_pos_set(HandleRef jarg1, long jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_pos_get")]
+  public static extern long switch_file_handle_pos_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_set")]
+  public static extern void switch_file_handle_audio_buffer_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_audio_buffer_get")]
+  public static extern IntPtr switch_file_handle_audio_buffer_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_set")]
+  public static extern void switch_file_handle_sp_audio_buffer_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_sp_audio_buffer_get")]
+  public static extern IntPtr switch_file_handle_sp_audio_buffer_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_set")]
+  public static extern void switch_file_handle_thresh_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_thresh_get")]
+  public static extern uint switch_file_handle_thresh_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_set")]
+  public static extern void switch_file_handle_silence_hits_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_silence_hits_get")]
+  public static extern uint switch_file_handle_silence_hits_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_set")]
+  public static extern void switch_file_handle_offset_pos_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_offset_pos_get")]
+  public static extern uint switch_file_handle_offset_pos_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_last_pos_set")]
+  public static extern void switch_file_handle_last_pos_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_last_pos_get")]
+  public static extern uint switch_file_handle_last_pos_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_set")]
+  public static extern void switch_file_handle_vol_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_vol_get")]
+  public static extern int switch_file_handle_vol_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_set")]
+  public static extern void switch_file_handle_resampler_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_resampler_get")]
+  public static extern IntPtr switch_file_handle_resampler_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_set")]
+  public static extern void switch_file_handle_buffer_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_buffer_get")]
+  public static extern IntPtr switch_file_handle_buffer_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_set")]
+  public static extern void switch_file_handle_dbuf_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuf_get")]
+  public static extern IntPtr switch_file_handle_dbuf_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_set")]
+  public static extern void switch_file_handle_dbuflen_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_dbuflen_get")]
+  public static extern IntPtr switch_file_handle_dbuflen_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_set")]
+  public static extern void switch_file_handle_file_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_file_get")]
+  public static extern string switch_file_handle_file_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_set")]
+  public static extern void switch_file_handle_func_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_func_get")]
+  public static extern string switch_file_handle_func_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_set")]
+  public static extern void switch_file_handle_line_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_line_get")]
+  public static extern int switch_file_handle_line_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_file_handle")]
+  public static extern IntPtr new_switch_file_handle();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_file_handle")]
+  public static extern void delete_switch_file_handle(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_set")]
+  public static extern void switch_asr_interface_interface_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_interface_name_get")]
+  public static extern string switch_asr_interface_interface_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_set")]
+  public static extern void switch_asr_interface_asr_open_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_open_get")]
+  public static extern IntPtr switch_asr_interface_asr_open_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_set")]
+  public static extern void switch_asr_interface_asr_load_grammar_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_load_grammar_get")]
+  public static extern IntPtr switch_asr_interface_asr_load_grammar_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_set")]
+  public static extern void switch_asr_interface_asr_unload_grammar_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_unload_grammar_get")]
+  public static extern IntPtr switch_asr_interface_asr_unload_grammar_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_set")]
+  public static extern void switch_asr_interface_asr_close_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_close_get")]
+  public static extern IntPtr switch_asr_interface_asr_close_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_set")]
+  public static extern void switch_asr_interface_asr_feed_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_feed_get")]
+  public static extern IntPtr switch_asr_interface_asr_feed_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_set")]
+  public static extern void switch_asr_interface_asr_resume_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_resume_get")]
+  public static extern IntPtr switch_asr_interface_asr_resume_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_set")]
+  public static extern void switch_asr_interface_asr_pause_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_pause_get")]
+  public static extern IntPtr switch_asr_interface_asr_pause_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_set")]
+  public static extern void switch_asr_interface_asr_check_results_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_check_results_get")]
+  public static extern IntPtr switch_asr_interface_asr_check_results_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_set")]
+  public static extern void switch_asr_interface_asr_get_results_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_asr_get_results_get")]
+  public static extern IntPtr switch_asr_interface_asr_get_results_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_set")]
+  public static extern void switch_asr_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_rwlock_get")]
+  public static extern IntPtr switch_asr_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_set")]
+  public static extern void switch_asr_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_interface_next_get")]
+  public static extern IntPtr switch_asr_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_interface")]
+  public static extern IntPtr new_switch_asr_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_interface")]
+  public static extern void delete_switch_asr_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_set")]
+  public static extern void switch_asr_handle_asr_interface_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_asr_interface_get")]
+  public static extern IntPtr switch_asr_handle_asr_interface_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_set")]
+  public static extern void switch_asr_handle_flags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_flags_get")]
+  public static extern uint switch_asr_handle_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_set")]
+  public static extern void switch_asr_handle_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_name_get")]
+  public static extern string switch_asr_handle_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_set")]
+  public static extern void switch_asr_handle_codec_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_codec_get")]
+  public static extern string switch_asr_handle_codec_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_set")]
+  public static extern void switch_asr_handle_rate_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_rate_get")]
+  public static extern uint switch_asr_handle_rate_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_set")]
+  public static extern void switch_asr_handle_grammar_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_grammar_get")]
+  public static extern string switch_asr_handle_grammar_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_set")]
+  public static extern void switch_asr_handle_param_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_param_get")]
+  public static extern string switch_asr_handle_param_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_set")]
+  public static extern void switch_asr_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_memory_pool_get")]
+  public static extern IntPtr switch_asr_handle_memory_pool_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_set")]
+  public static extern void switch_asr_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_asr_handle_private_info_get")]
+  public static extern IntPtr switch_asr_handle_private_info_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_asr_handle")]
+  public static extern IntPtr new_switch_asr_handle();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_asr_handle")]
+  public static extern void delete_switch_asr_handle(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_set")]
+  public static extern void switch_speech_interface_interface_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_interface_name_get")]
+  public static extern string switch_speech_interface_interface_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_set")]
+  public static extern void switch_speech_interface_speech_open_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_open_get")]
+  public static extern IntPtr switch_speech_interface_speech_open_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_set")]
+  public static extern void switch_speech_interface_speech_close_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_close_get")]
+  public static extern IntPtr switch_speech_interface_speech_close_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_set")]
+  public static extern void switch_speech_interface_speech_feed_tts_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_feed_tts_get")]
+  public static extern IntPtr switch_speech_interface_speech_feed_tts_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_set")]
+  public static extern void switch_speech_interface_speech_read_tts_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_read_tts_get")]
+  public static extern IntPtr switch_speech_interface_speech_read_tts_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_set")]
+  public static extern void switch_speech_interface_speech_flush_tts_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_flush_tts_get")]
+  public static extern IntPtr switch_speech_interface_speech_flush_tts_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_set")]
+  public static extern void switch_speech_interface_speech_text_param_tts_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_text_param_tts_get")]
+  public static extern IntPtr switch_speech_interface_speech_text_param_tts_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_set")]
+  public static extern void switch_speech_interface_speech_numeric_param_tts_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_numeric_param_tts_get")]
+  public static extern IntPtr switch_speech_interface_speech_numeric_param_tts_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_set")]
+  public static extern void switch_speech_interface_speech_float_param_tts_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_speech_float_param_tts_get")]
+  public static extern IntPtr switch_speech_interface_speech_float_param_tts_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_set")]
+  public static extern void switch_speech_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_rwlock_get")]
+  public static extern IntPtr switch_speech_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_set")]
+  public static extern void switch_speech_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_interface_next_get")]
+  public static extern IntPtr switch_speech_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_interface")]
+  public static extern IntPtr new_switch_speech_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_interface")]
+  public static extern void delete_switch_speech_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_set")]
+  public static extern void switch_speech_handle_speech_interface_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speech_interface_get")]
+  public static extern IntPtr switch_speech_handle_speech_interface_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_set")]
+  public static extern void switch_speech_handle_flags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_flags_get")]
+  public static extern uint switch_speech_handle_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_set")]
+  public static extern void switch_speech_handle_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_name_get")]
+  public static extern string switch_speech_handle_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_set")]
+  public static extern void switch_speech_handle_rate_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_rate_get")]
+  public static extern uint switch_speech_handle_rate_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_set")]
+  public static extern void switch_speech_handle_speed_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_speed_get")]
+  public static extern uint switch_speech_handle_speed_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_set")]
+  public static extern void switch_speech_handle_samples_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_get")]
+  public static extern uint switch_speech_handle_samples_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_set")]
+  public static extern void switch_speech_handle_voice_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_get")]
+  public static extern string switch_speech_handle_voice_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_set")]
+  public static extern void switch_speech_handle_engine_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_engine_get")]
+  public static extern string switch_speech_handle_engine_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_set")]
+  public static extern void switch_speech_handle_param_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_param_get")]
+  public static extern string switch_speech_handle_param_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_set")]
+  public static extern void switch_speech_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_memory_pool_get")]
+  public static extern IntPtr switch_speech_handle_memory_pool_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_set")]
+  public static extern void switch_speech_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_private_info_get")]
+  public static extern IntPtr switch_speech_handle_private_info_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_speech_handle")]
+  public static extern IntPtr new_switch_speech_handle();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_speech_handle")]
+  public static extern void delete_switch_speech_handle(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_set")]
+  public static extern void switch_say_interface_interface_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_interface_name_get")]
+  public static extern string switch_say_interface_interface_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_set")]
+  public static extern void switch_say_interface_say_function_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_say_function_get")]
+  public static extern IntPtr switch_say_interface_say_function_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_set")]
+  public static extern void switch_say_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_rwlock_get")]
+  public static extern IntPtr switch_say_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_set")]
+  public static extern void switch_say_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_say_interface_next_get")]
+  public static extern IntPtr switch_say_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_say_interface")]
+  public static extern IntPtr new_switch_say_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_say_interface")]
+  public static extern void delete_switch_say_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_set")]
+  public static extern void switch_chat_interface_interface_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_interface_name_get")]
+  public static extern string switch_chat_interface_interface_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_set")]
+  public static extern void switch_chat_interface_chat_send_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_chat_send_get")]
+  public static extern IntPtr switch_chat_interface_chat_send_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_set")]
+  public static extern void switch_chat_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_rwlock_get")]
+  public static extern IntPtr switch_chat_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_set")]
+  public static extern void switch_chat_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_chat_interface_next_get")]
+  public static extern IntPtr switch_chat_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_chat_interface")]
+  public static extern IntPtr new_switch_chat_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_chat_interface")]
+  public static extern void delete_switch_chat_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_set")]
+  public static extern void switch_management_interface_relative_oid_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_relative_oid_get")]
+  public static extern string switch_management_interface_relative_oid_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_set")]
+  public static extern void switch_management_interface_management_function_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_management_function_get")]
+  public static extern IntPtr switch_management_interface_management_function_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_set")]
+  public static extern void switch_management_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_rwlock_get")]
+  public static extern IntPtr switch_management_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_set")]
+  public static extern void switch_management_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_management_interface_next_get")]
+  public static extern IntPtr switch_management_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_management_interface")]
+  public static extern IntPtr new_switch_management_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_management_interface")]
+  public static extern void delete_switch_management_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_set")]
+  public static extern void switch_directory_interface_interface_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_interface_name_get")]
+  public static extern string switch_directory_interface_interface_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_set")]
+  public static extern void switch_directory_interface_directory_open_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_open_get")]
+  public static extern IntPtr switch_directory_interface_directory_open_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_set")]
+  public static extern void switch_directory_interface_directory_close_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_close_get")]
+  public static extern IntPtr switch_directory_interface_directory_close_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_set")]
+  public static extern void switch_directory_interface_directory_query_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_query_get")]
+  public static extern IntPtr switch_directory_interface_directory_query_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_set")]
+  public static extern void switch_directory_interface_directory_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_get")]
+  public static extern IntPtr switch_directory_interface_directory_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_set")]
+  public static extern void switch_directory_interface_directory_next_pair_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_directory_next_pair_get")]
+  public static extern IntPtr switch_directory_interface_directory_next_pair_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_set")]
+  public static extern void switch_directory_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_rwlock_get")]
+  public static extern IntPtr switch_directory_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_set")]
+  public static extern void switch_directory_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_interface_next_get")]
+  public static extern IntPtr switch_directory_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_interface")]
+  public static extern IntPtr new_switch_directory_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_interface")]
+  public static extern void delete_switch_directory_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_set")]
+  public static extern void switch_directory_handle_directory_interface_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_directory_interface_get")]
+  public static extern IntPtr switch_directory_handle_directory_interface_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_set")]
+  public static extern void switch_directory_handle_flags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_flags_get")]
+  public static extern uint switch_directory_handle_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_set")]
+  public static extern void switch_directory_handle_memory_pool_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_memory_pool_get")]
+  public static extern IntPtr switch_directory_handle_memory_pool_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_set")]
+  public static extern void switch_directory_handle_private_info_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_directory_handle_private_info_get")]
+  public static extern IntPtr switch_directory_handle_private_info_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_directory_handle")]
+  public static extern IntPtr new_switch_directory_handle();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_directory_handle")]
+  public static extern void delete_switch_directory_handle(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_set")]
+  public static extern void switch_codec_settings_quality_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_quality_get")]
+  public static extern int switch_codec_settings_quality_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_set")]
+  public static extern void switch_codec_settings_complexity_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_complexity_get")]
+  public static extern int switch_codec_settings_complexity_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_set")]
+  public static extern void switch_codec_settings_enhancement_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_enhancement_get")]
+  public static extern int switch_codec_settings_enhancement_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_set")]
+  public static extern void switch_codec_settings_vad_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vad_get")]
+  public static extern int switch_codec_settings_vad_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_set")]
+  public static extern void switch_codec_settings_vbr_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_get")]
+  public static extern int switch_codec_settings_vbr_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_set")]
+  public static extern void switch_codec_settings_vbr_quality_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_vbr_quality_get")]
+  public static extern float switch_codec_settings_vbr_quality_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_set")]
+  public static extern void switch_codec_settings_abr_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_abr_get")]
+  public static extern int switch_codec_settings_abr_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_set")]
+  public static extern void switch_codec_settings_dtx_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_dtx_get")]
+  public static extern int switch_codec_settings_dtx_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_set")]
+  public static extern void switch_codec_settings_preproc_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_preproc_get")]
+  public static extern int switch_codec_settings_preproc_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_set")]
+  public static extern void switch_codec_settings_pp_vad_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_vad_get")]
+  public static extern int switch_codec_settings_pp_vad_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_set")]
+  public static extern void switch_codec_settings_pp_agc_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_get")]
+  public static extern int switch_codec_settings_pp_agc_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_set")]
+  public static extern void switch_codec_settings_pp_agc_level_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_agc_level_get")]
+  public static extern float switch_codec_settings_pp_agc_level_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_set")]
+  public static extern void switch_codec_settings_pp_denoise_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_denoise_get")]
+  public static extern int switch_codec_settings_pp_denoise_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_set")]
+  public static extern void switch_codec_settings_pp_dereverb_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_get")]
+  public static extern int switch_codec_settings_pp_dereverb_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_set")]
+  public static extern void switch_codec_settings_pp_dereverb_decay_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_decay_get")]
+  public static extern float switch_codec_settings_pp_dereverb_decay_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_set")]
+  public static extern void switch_codec_settings_pp_dereverb_level_set(HandleRef jarg1, float jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_settings_pp_dereverb_level_get")]
+  public static extern float switch_codec_settings_pp_dereverb_level_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_settings")]
+  public static extern IntPtr new_switch_codec_settings();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_settings")]
+  public static extern void delete_switch_codec_settings(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_set")]
+  public static extern void switch_codec_codec_interface_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_interface_get")]
+  public static extern IntPtr switch_codec_codec_interface_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_set")]
+  public static extern void switch_codec_implementation_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_get")]
+  public static extern IntPtr switch_codec_implementation_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_set")]
+  public static extern void switch_codec_fmtp_in_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_in_get")]
+  public static extern string switch_codec_fmtp_in_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_set")]
+  public static extern void switch_codec_fmtp_out_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_out_get")]
+  public static extern string switch_codec_fmtp_out_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_set")]
+  public static extern void switch_codec_codec_settings_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_codec_settings_get")]
+  public static extern IntPtr switch_codec_codec_settings_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_set")]
+  public static extern void switch_codec_flags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_flags_get")]
+  public static extern uint switch_codec_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_set")]
+  public static extern void switch_codec_memory_pool_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_memory_pool_get")]
+  public static extern IntPtr switch_codec_memory_pool_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_set")]
+  public static extern void switch_codec_private_info_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_private_info_get")]
+  public static extern IntPtr switch_codec_private_info_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_set")]
+  public static extern void switch_codec_agreed_pt_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_agreed_pt_get")]
+  public static extern byte switch_codec_agreed_pt_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec")]
+  public static extern IntPtr new_switch_codec();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec")]
+  public static extern void delete_switch_codec(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_set")]
+  public static extern void switch_codec_implementation_codec_type_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_type_get")]
+  public static extern int switch_codec_implementation_codec_type_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_set")]
+  public static extern void switch_codec_implementation_ianacode_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_ianacode_get")]
+  public static extern byte switch_codec_implementation_ianacode_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_set")]
+  public static extern void switch_codec_implementation_iananame_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_iananame_get")]
+  public static extern string switch_codec_implementation_iananame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_set")]
+  public static extern void switch_codec_implementation_fmtp_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_fmtp_get")]
+  public static extern string switch_codec_implementation_fmtp_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_set")]
+  public static extern void switch_codec_implementation_samples_per_second_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_second_get")]
+  public static extern uint switch_codec_implementation_samples_per_second_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_set")]
+  public static extern void switch_codec_implementation_actual_samples_per_second_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_actual_samples_per_second_get")]
+  public static extern uint switch_codec_implementation_actual_samples_per_second_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_set")]
+  public static extern void switch_codec_implementation_bits_per_second_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bits_per_second_get")]
+  public static extern int switch_codec_implementation_bits_per_second_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_frame_set")]
+  public static extern void switch_codec_implementation_microseconds_per_frame_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_microseconds_per_frame_get")]
+  public static extern int switch_codec_implementation_microseconds_per_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_frame_set")]
+  public static extern void switch_codec_implementation_samples_per_frame_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_samples_per_frame_get")]
+  public static extern uint switch_codec_implementation_samples_per_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bytes_per_frame_set")]
+  public static extern void switch_codec_implementation_bytes_per_frame_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_bytes_per_frame_get")]
+  public static extern uint switch_codec_implementation_bytes_per_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_frame_set")]
+  public static extern void switch_codec_implementation_encoded_bytes_per_frame_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encoded_bytes_per_frame_get")]
+  public static extern uint switch_codec_implementation_encoded_bytes_per_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_set")]
+  public static extern void switch_codec_implementation_number_of_channels_set(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_number_of_channels_get")]
+  public static extern byte switch_codec_implementation_number_of_channels_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_pref_frames_per_packet_set")]
+  public static extern void switch_codec_implementation_pref_frames_per_packet_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_pref_frames_per_packet_get")]
+  public static extern int switch_codec_implementation_pref_frames_per_packet_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_max_frames_per_packet_set")]
+  public static extern void switch_codec_implementation_max_frames_per_packet_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_max_frames_per_packet_get")]
+  public static extern int switch_codec_implementation_max_frames_per_packet_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_set")]
+  public static extern void switch_codec_implementation_init_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_init_get")]
+  public static extern IntPtr switch_codec_implementation_init_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_set")]
+  public static extern void switch_codec_implementation_encode_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_encode_get")]
+  public static extern IntPtr switch_codec_implementation_encode_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_set")]
+  public static extern void switch_codec_implementation_decode_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_decode_get")]
+  public static extern IntPtr switch_codec_implementation_decode_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_set")]
+  public static extern void switch_codec_implementation_destroy_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_destroy_get")]
+  public static extern IntPtr switch_codec_implementation_destroy_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_set")]
+  public static extern void switch_codec_implementation_codec_id_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_codec_id_get")]
+  public static extern uint switch_codec_implementation_codec_id_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_set")]
+  public static extern void switch_codec_implementation_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_implementation_next_get")]
+  public static extern IntPtr switch_codec_implementation_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_implementation")]
+  public static extern IntPtr new_switch_codec_implementation();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_implementation")]
+  public static extern void delete_switch_codec_implementation(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_set")]
+  public static extern void switch_codec_interface_interface_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_interface_name_get")]
+  public static extern string switch_codec_interface_interface_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_set")]
+  public static extern void switch_codec_interface_implementations_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_implementations_get")]
+  public static extern IntPtr switch_codec_interface_implementations_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_set")]
+  public static extern void switch_codec_interface_codec_id_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_codec_id_get")]
+  public static extern uint switch_codec_interface_codec_id_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_set")]
+  public static extern void switch_codec_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_rwlock_get")]
+  public static extern IntPtr switch_codec_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_set")]
+  public static extern void switch_codec_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_interface_next_get")]
+  public static extern IntPtr switch_codec_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_codec_interface")]
+  public static extern IntPtr new_switch_codec_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_codec_interface")]
+  public static extern void delete_switch_codec_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_set")]
+  public static extern void switch_application_interface_interface_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_interface_name_get")]
+  public static extern string switch_application_interface_interface_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_set")]
+  public static extern void switch_application_interface_application_function_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_application_function_get")]
+  public static extern IntPtr switch_application_interface_application_function_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_set")]
+  public static extern void switch_application_interface_long_desc_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_long_desc_get")]
+  public static extern string switch_application_interface_long_desc_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_set")]
+  public static extern void switch_application_interface_short_desc_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_short_desc_get")]
+  public static extern string switch_application_interface_short_desc_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_set")]
+  public static extern void switch_application_interface_syntax_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_syntax_get")]
+  public static extern string switch_application_interface_syntax_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_set")]
+  public static extern void switch_application_interface_flags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_flags_get")]
+  public static extern uint switch_application_interface_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_set")]
+  public static extern void switch_application_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_rwlock_get")]
+  public static extern IntPtr switch_application_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_set")]
+  public static extern void switch_application_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_application_interface_next_get")]
+  public static extern IntPtr switch_application_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_application_interface")]
+  public static extern IntPtr new_switch_application_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_application_interface")]
+  public static extern void delete_switch_application_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_set")]
+  public static extern void switch_api_interface_interface_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_interface_name_get")]
+  public static extern string switch_api_interface_interface_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_set")]
+  public static extern void switch_api_interface_desc_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_desc_get")]
+  public static extern string switch_api_interface_desc_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_set")]
+  public static extern void switch_api_interface_function_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_function_get")]
+  public static extern IntPtr switch_api_interface_function_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_set")]
+  public static extern void switch_api_interface_syntax_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_syntax_get")]
+  public static extern string switch_api_interface_syntax_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_set")]
+  public static extern void switch_api_interface_rwlock_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_rwlock_get")]
+  public static extern IntPtr switch_api_interface_rwlock_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_set")]
+  public static extern void switch_api_interface_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_api_interface_next_get")]
+  public static extern IntPtr switch_api_interface_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_api_interface")]
+  public static extern IntPtr new_switch_api_interface();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_api_interface")]
+  public static extern void delete_switch_api_interface(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_set")]
+  public static extern void switch_channel_timetable_profile_created_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_profile_created_get")]
+  public static extern IntPtr switch_channel_timetable_profile_created_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_set")]
+  public static extern void switch_channel_timetable_created_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_created_get")]
+  public static extern IntPtr switch_channel_timetable_created_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_set")]
+  public static extern void switch_channel_timetable_answered_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_answered_get")]
+  public static extern IntPtr switch_channel_timetable_answered_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_set")]
+  public static extern void switch_channel_timetable_progress_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_get")]
+  public static extern IntPtr switch_channel_timetable_progress_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_set")]
+  public static extern void switch_channel_timetable_progress_media_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_progress_media_get")]
+  public static extern IntPtr switch_channel_timetable_progress_media_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_set")]
+  public static extern void switch_channel_timetable_hungup_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_hungup_get")]
+  public static extern IntPtr switch_channel_timetable_hungup_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_set")]
+  public static extern void switch_channel_timetable_transferred_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_transferred_get")]
+  public static extern IntPtr switch_channel_timetable_transferred_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_set")]
+  public static extern void switch_channel_timetable_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_timetable_next_get")]
+  public static extern IntPtr switch_channel_timetable_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_channel_timetable")]
+  public static extern IntPtr new_switch_channel_timetable();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_channel_timetable")]
+  public static extern void delete_switch_channel_timetable(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state")]
+  public static extern int switch_channel_get_state(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_running_state")]
+  public static extern int switch_channel_get_running_state(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_ready")]
+  public static extern byte switch_channel_ready(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_state")]
+  public static extern void switch_channel_wait_for_state(HandleRef jarg1, HandleRef jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_wait_for_flag")]
+  public static extern int switch_channel_wait_for_flag(HandleRef jarg1, uint jarg2, int jarg3, uint jarg4, HandleRef jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_state")]
+  public static extern int switch_channel_perform_set_state(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_set_running_state")]
+  public static extern int switch_channel_perform_set_running_state(HandleRef jarg1, int jarg2, string jarg3, string jarg4, int jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_str2cause")]
+  public static extern int switch_channel_str2cause(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause")]
+  public static extern int switch_channel_get_cause(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause_q850")]
+  public static extern int switch_channel_cause_q850(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_cause_q850")]
+  public static extern int switch_channel_get_cause_q850(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_cause2str")]
+  public static extern string switch_channel_cause2str(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_timetable")]
+  public static extern IntPtr switch_channel_get_timetable(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_alloc")]
+  public static extern int switch_channel_alloc(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_init")]
+  public static extern int switch_channel_init(HandleRef jarg1, HandleRef jarg2, int jarg3, uint jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_presence")]
+  public static extern void switch_channel_presence(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_uninit")]
+  public static extern void switch_channel_uninit(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_profile")]
+  public static extern void switch_channel_set_caller_profile(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_profile")]
+  public static extern IntPtr switch_channel_get_caller_profile(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originator_caller_profile")]
+  public static extern void switch_channel_set_originator_caller_profile(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originator_caller_profile")]
+  public static extern IntPtr switch_channel_get_originator_caller_profile(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_originatee_caller_profile")]
+  public static extern void switch_channel_set_originatee_caller_profile(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_originatee_caller_profile")]
+  public static extern IntPtr switch_channel_get_originatee_caller_profile(HandleRef jarg1);
+
+  [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_variable")]
+  public static extern int switch_channel_set_variable(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_printf")]
+  public static extern int switch_channel_set_variable_printf(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_variable_partner")]
+  public static extern int switch_channel_set_variable_partner(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable_partner")]
+  public static extern string switch_channel_get_variable_partner(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_variable")]
+  public static extern string switch_channel_get_variable(HandleRef jarg1, string jarg2);
+
+  [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_variable_first")]
+  public static extern IntPtr switch_channel_variable_first(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_variable_last")]
+  public static extern void switch_channel_variable_last(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_caller_extension")]
+  public static extern void switch_channel_set_caller_extension(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_caller_extension")]
+  public static extern IntPtr switch_channel_get_caller_extension(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_test_flag")]
+  public static extern uint switch_channel_test_flag(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag")]
+  public static extern void switch_channel_set_flag(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_flag_partner")]
+  public static extern int switch_channel_set_flag_partner(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag_partner")]
+  public static extern int switch_channel_clear_flag_partner(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_state_flag")]
+  public static extern void switch_channel_set_state_flag(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_flag")]
+  public static extern void switch_channel_clear_flag(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_answer")]
+  public static extern int switch_channel_perform_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_answered")]
+  public static extern int switch_channel_perform_mark_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_ring_ready")]
+  public static extern int switch_channel_perform_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_pre_answer")]
+  public static extern int switch_channel_perform_pre_answer(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_pre_answered")]
+  public static extern int switch_channel_perform_mark_pre_answered(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_mark_ring_ready")]
+  public static extern int switch_channel_perform_mark_ring_ready(HandleRef jarg1, string jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_add_state_handler")]
+  public static extern int switch_channel_add_state_handler(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_clear_state_handler")]
+  public static extern void switch_channel_clear_state_handler(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_state_handler")]
+  public static extern IntPtr switch_channel_get_state_handler(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_private")]
+  public static extern int switch_channel_set_private(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_private")]
+  public static extern IntPtr switch_channel_get_private(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_name")]
+  public static extern int switch_channel_set_name(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_get_name")]
+  public static extern string switch_channel_get_name(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_perform_hangup")]
+  public static extern int switch_channel_perform_hangup(HandleRef jarg1, string jarg2, string jarg3, int jarg4, int jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_has_dtmf")]
+  public static extern IntPtr switch_channel_has_dtmf(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf")]
+  public static extern int switch_channel_queue_dtmf(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_queue_dtmf_string")]
+  public static extern int switch_channel_queue_dtmf_string(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf")]
+  public static extern int switch_channel_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_flush_dtmf")]
+  public static extern void switch_channel_flush_dtmf(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_dequeue_dtmf_string")]
+  public static extern IntPtr switch_channel_dequeue_dtmf_string(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_state_name")]
+  public static extern string switch_channel_state_name(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_name_state")]
+  public static extern int switch_channel_name_state(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_event_set_data")]
+  public static extern void switch_channel_event_set_data(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_expand_variables")]
+  public static extern string switch_channel_expand_variables(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_build_param_string")]
+  public static extern string switch_channel_build_param_string(HandleRef jarg1, HandleRef jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_channel_set_timestamps")]
+  public static extern int switch_channel_set_timestamps(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create")]
+  public static extern int switch_buffer_create(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_create_dynamic")]
+  public static extern int switch_buffer_create_dynamic(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_add_mutex")]
+  public static extern void switch_buffer_add_mutex(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_lock")]
+  public static extern void switch_buffer_lock(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_trylock")]
+  public static extern int switch_buffer_trylock(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_unlock")]
+  public static extern void switch_buffer_unlock(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_len")]
+  public static extern IntPtr switch_buffer_len(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_freespace")]
+  public static extern IntPtr switch_buffer_freespace(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_inuse")]
+  public static extern IntPtr switch_buffer_inuse(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read")]
+  public static extern IntPtr switch_buffer_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_read_loop")]
+  public static extern IntPtr switch_buffer_read_loop(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_set_loops")]
+  public static extern void switch_buffer_set_loops(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_write")]
+  public static extern IntPtr switch_buffer_write(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_toss")]
+  public static extern IntPtr switch_buffer_toss(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_zero")]
+  public static extern void switch_buffer_zero(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_buffer_destroy")]
+  public static extern void switch_buffer_destroy(HandleRef jarg1);
+
+  [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_event_header_name_set")]
+  public static extern void switch_event_header_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_name_get")]
+  public static extern string switch_event_header_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_set")]
+  public static extern void switch_event_header_value_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_value_get")]
+  public static extern string switch_event_header_value_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_set")]
+  public static extern void switch_event_header_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_header_next_get")]
+  public static extern IntPtr switch_event_header_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event_header")]
+  public static extern IntPtr new_switch_event_header();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event_header")]
+  public static extern void delete_switch_event_header(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_set")]
+  public static extern void switch_event_event_id_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_id_get")]
+  public static extern int switch_event_event_id_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_set")]
+  public static extern void switch_event_priority_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_priority_get")]
+  public static extern int switch_event_priority_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_set")]
+  public static extern void switch_event_owner_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_owner_get")]
+  public static extern string switch_event_owner_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_set")]
+  public static extern void switch_event_subclass_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_subclass_name_get")]
+  public static extern string switch_event_subclass_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_set")]
+  public static extern void switch_event_headers_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_headers_get")]
+  public static extern IntPtr switch_event_headers_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_set")]
+  public static extern void switch_event_last_header_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_last_header_get")]
+  public static extern IntPtr switch_event_last_header_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_set")]
+  public static extern void switch_event_body_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_body_get")]
+  public static extern string switch_event_body_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_set")]
+  public static extern void switch_event_bind_user_data_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_user_data_get")]
+  public static extern IntPtr switch_event_bind_user_data_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_set")]
+  public static extern void switch_event_event_user_data_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_event_user_data_get")]
+  public static extern IntPtr switch_event_event_user_data_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_set")]
+  public static extern void switch_event_key_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_key_get")]
+  public static extern uint switch_event_key_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_set")]
+  public static extern void switch_event_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_next_get")]
+  public static extern IntPtr switch_event_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_event")]
+  public static extern IntPtr new_switch_event();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_event")]
+  public static extern void delete_switch_event(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_init")]
+  public static extern int switch_event_init(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_shutdown")]
+  public static extern int switch_event_shutdown();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_subclass")]
+  public static extern int switch_event_create_subclass(HandleRef jarg1, int jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_set_priority")]
+  public static extern int switch_event_set_priority(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_header")]
+  public static extern string switch_event_get_header(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_get_body")]
+  public static extern string switch_event_get_body(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_add_header_string")]
+  public static extern int switch_event_add_header_string(HandleRef jarg1, int jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_del_header")]
+  public static extern int switch_event_del_header(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_destroy")]
+  public static extern void switch_event_destroy(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_dup")]
+  public static extern int switch_event_dup(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_fire_detailed")]
+  public static extern int switch_event_fire_detailed(string jarg1, string jarg2, int jarg3, HandleRef jarg4, HandleRef jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind")]
+  public static extern int switch_event_bind(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_bind_removable")]
+  public static extern int switch_event_bind_removable(string jarg1, int jarg2, string jarg3, HandleRef jarg4, HandleRef jarg5, HandleRef jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind")]
+  public static extern int switch_event_unbind(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_unbind_callback")]
+  public static extern int switch_event_unbind_callback(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_name")]
+  public static extern string switch_event_name(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_name_event")]
+  public static extern int switch_name_event(string jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_reserve_subclass_detailed")]
+  public static extern int switch_event_reserve_subclass_detailed(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_free_subclass_detailed")]
+  public static extern int switch_event_free_subclass_detailed(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_serialize")]
+  public static extern int switch_event_serialize(HandleRef jarg1, ref string jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_running")]
+  public static extern int switch_event_running();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_expand_headers")]
+  public static extern string switch_event_expand_headers(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_create_pres_in_detailed")]
+  public static extern int switch_event_create_pres_in_detailed(string jarg1, string jarg2, int jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, string jarg10, int jarg11, string jarg12, string jarg13, string jarg14, string jarg15);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_deliver")]
+  public static extern void switch_event_deliver(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_event_build_param_string")]
+  public static extern string switch_event_build_param_string(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_set")]
+  public static extern void switch_audio_resampler_t_resampler_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_resampler_get")]
+  public static extern IntPtr switch_audio_resampler_t_resampler_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_set")]
+  public static extern void switch_audio_resampler_t_from_rate_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_rate_get")]
+  public static extern int switch_audio_resampler_t_from_rate_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_set")]
+  public static extern void switch_audio_resampler_t_to_rate_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_rate_get")]
+  public static extern int switch_audio_resampler_t_to_rate_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_set")]
+  public static extern void switch_audio_resampler_t_factor_set(HandleRef jarg1, double jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_factor_get")]
+  public static extern double switch_audio_resampler_t_factor_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_set")]
+  public static extern void switch_audio_resampler_t_rfactor_set(HandleRef jarg1, double jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_rfactor_get")]
+  public static extern double switch_audio_resampler_t_rfactor_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_set")]
+  public static extern void switch_audio_resampler_t_from_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_get")]
+  public static extern IntPtr switch_audio_resampler_t_from_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_set")]
+  public static extern void switch_audio_resampler_t_from_len_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_len_get")]
+  public static extern int switch_audio_resampler_t_from_len_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_set")]
+  public static extern void switch_audio_resampler_t_from_size_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_from_size_get")]
+  public static extern IntPtr switch_audio_resampler_t_from_size_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_set")]
+  public static extern void switch_audio_resampler_t_to_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_get")]
+  public static extern IntPtr switch_audio_resampler_t_to_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_set")]
+  public static extern void switch_audio_resampler_t_to_len_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_len_get")]
+  public static extern uint switch_audio_resampler_t_to_len_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_set")]
+  public static extern void switch_audio_resampler_t_to_size_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_get")]
+  public static extern uint switch_audio_resampler_t_to_size_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_audio_resampler_t")]
+  public static extern IntPtr new_switch_audio_resampler_t();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_audio_resampler_t")]
+  public static extern void delete_switch_audio_resampler_t(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_create")]
+  public static extern int switch_resample_create(HandleRef jarg1, int jarg2, HandleRef jarg3, int jarg4, uint jarg5, HandleRef jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_destroy")]
+  public static extern void switch_resample_destroy(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_resample_process")]
+  public static extern uint switch_resample_process(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5, int jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_short")]
+  public static extern IntPtr switch_float_to_short(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_char_to_float")]
+  public static extern int switch_char_to_float(string jarg1, HandleRef jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_float_to_char")]
+  public static extern int switch_float_to_char(HandleRef jarg1, string jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_short_to_float")]
+  public static extern int switch_short_to_float(HandleRef jarg1, HandleRef jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_swap_linear")]
+  public static extern void switch_swap_linear(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_generate_sln_silence")]
+  public static extern void switch_generate_sln_silence(HandleRef jarg1, uint jarg2, uint jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_change_sln_volume")]
+  public static extern void switch_change_sln_volume(HandleRef jarg1, uint jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_merge_sln")]
+  public static extern uint switch_merge_sln(HandleRef jarg1, uint jarg2, HandleRef jarg3, uint jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_set")]
+  public static extern void switch_unicast_conninfo_session_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_get")]
+  public static extern IntPtr switch_unicast_conninfo_session_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_set")]
+  public static extern void switch_unicast_conninfo_read_codec_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_read_codec_get")]
+  public static extern IntPtr switch_unicast_conninfo_read_codec_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_set")]
+  public static extern void switch_unicast_conninfo_write_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_get")]
+  public static extern IntPtr switch_unicast_conninfo_write_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_set")]
+  public static extern void switch_unicast_conninfo_write_frame_data_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_write_frame_data_get")]
+  public static extern IntPtr switch_unicast_conninfo_write_frame_data_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_set")]
+  public static extern void switch_unicast_conninfo_socket_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_socket_get")]
+  public static extern IntPtr switch_unicast_conninfo_socket_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_set")]
+  public static extern void switch_unicast_conninfo_local_ip_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_ip_get")]
+  public static extern string switch_unicast_conninfo_local_ip_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_set")]
+  public static extern void switch_unicast_conninfo_local_port_set(HandleRef jarg1, ushort jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_port_get")]
+  public static extern ushort switch_unicast_conninfo_local_port_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_set")]
+  public static extern void switch_unicast_conninfo_remote_ip_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_ip_get")]
+  public static extern string switch_unicast_conninfo_remote_ip_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_set")]
+  public static extern void switch_unicast_conninfo_remote_port_set(HandleRef jarg1, ushort jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_port_get")]
+  public static extern ushort switch_unicast_conninfo_remote_port_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_set")]
+  public static extern void switch_unicast_conninfo_local_addr_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_local_addr_get")]
+  public static extern IntPtr switch_unicast_conninfo_local_addr_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_set")]
+  public static extern void switch_unicast_conninfo_remote_addr_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_remote_addr_get")]
+  public static extern IntPtr switch_unicast_conninfo_remote_addr_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_set")]
+  public static extern void switch_unicast_conninfo_flag_mutex_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flag_mutex_get")]
+  public static extern IntPtr switch_unicast_conninfo_flag_mutex_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_set")]
+  public static extern void switch_unicast_conninfo_flags_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_flags_get")]
+  public static extern int switch_unicast_conninfo_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_set")]
+  public static extern void switch_unicast_conninfo_type_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_type_get")]
+  public static extern int switch_unicast_conninfo_type_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_set")]
+  public static extern void switch_unicast_conninfo_transport_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_transport_get")]
+  public static extern int switch_unicast_conninfo_transport_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_set")]
+  public static extern void switch_unicast_conninfo_stream_id_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_stream_id_get")]
+  public static extern int switch_unicast_conninfo_stream_id_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_unicast_conninfo")]
+  public static extern IntPtr new_switch_unicast_conninfo();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_unicast_conninfo")]
+  public static extern void delete_switch_unicast_conninfo(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_deactivate_unicast")]
+  public static extern int switch_ivr_deactivate_unicast(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_activate_unicast")]
+  public static extern int switch_ivr_activate_unicast(HandleRef jarg1, string jarg2, ushort jarg3, string jarg4, ushort jarg5, string jarg6, string jarg7);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_generate_xml_cdr")]
+  public static extern int switch_ivr_generate_xml_cdr(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_profile_data")]
+  public static extern int switch_ivr_set_xml_profile_data(HandleRef jarg1, HandleRef jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_xml_chan_vars")]
+  public static extern int switch_ivr_set_xml_chan_vars(HandleRef jarg1, HandleRef jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_event")]
+  public static extern int switch_ivr_parse_event(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_all_events")]
+  public static extern int switch_ivr_parse_all_events(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_parse_next_event")]
+  public static extern int switch_ivr_parse_next_event(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_sleep")]
+  public static extern int switch_ivr_sleep(HandleRef jarg1, uint jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park")]
+  public static extern int switch_ivr_park(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_callback")]
+  public static extern int switch_ivr_collect_digits_callback(HandleRef jarg1, HandleRef jarg2, uint jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_collect_digits_count")]
+  public static extern int switch_ivr_collect_digits_count(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, string jarg6, uint jarg7, uint jarg8, uint jarg9);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech")]
+  public static extern int switch_ivr_detect_speech(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_detect_speech")]
+  public static extern int switch_ivr_stop_detect_speech(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_pause_detect_speech")]
+  public static extern int switch_ivr_pause_detect_speech(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_resume_detect_speech")]
+  public static extern int switch_ivr_resume_detect_speech(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_load_grammar")]
+  public static extern int switch_ivr_detect_speech_load_grammar(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_detect_speech_unload_grammar")]
+  public static extern int switch_ivr_detect_speech_unload_grammar(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_session")]
+  public static extern int switch_ivr_record_session(HandleRef jarg1, string jarg2, uint jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_eavesdrop_session")]
+  public static extern int switch_ivr_eavesdrop_session(HandleRef jarg1, string jarg2, string jarg3, uint jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_displace_session")]
+  public static extern int switch_ivr_displace_session(HandleRef jarg1, string jarg2, uint jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_displace_session")]
+  public static extern int switch_ivr_stop_displace_session(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_record_session")]
+  public static extern int switch_ivr_stop_record_session(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_session")]
+  public static extern int switch_ivr_inband_dtmf_session(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_session")]
+  public static extern int switch_ivr_stop_inband_dtmf_session(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_inband_dtmf_generate_session")]
+  public static extern int switch_ivr_inband_dtmf_generate_session(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_inband_dtmf_generate_session")]
+  public static extern int switch_ivr_stop_inband_dtmf_generate_session(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_echo")]
+  public static extern void switch_ivr_session_echo(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_stop_tone_detect_session")]
+  public static extern int switch_ivr_stop_tone_detect_session(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_tone_detect_session")]
+  public static extern int switch_ivr_tone_detect_session(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, string jarg6, string jarg7);
+
+  [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_wait_for_silence")]
+  public static extern int switch_ivr_wait_for_silence(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_gentones")]
+  public static extern int switch_ivr_gentones(HandleRef jarg1, string jarg2, int jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_record_file")]
+  public static extern int switch_ivr_record_file(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4, uint jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_play_and_get_digits")]
+  public static extern int switch_play_and_get_digits(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, string jarg7, string jarg8, HandleRef jarg9, uint jarg10, string jarg11);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text_handle")]
+  public static extern int switch_ivr_speak_text_handle(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, string jarg5, HandleRef jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_clear_speech_cache")]
+  public static extern void switch_ivr_clear_speech_cache(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_speak_text")]
+  public static extern int switch_ivr_speak_text(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_originate")]
+  public static extern int switch_ivr_originate(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, string jarg4, uint jarg5, HandleRef jarg6, string jarg7, string jarg8, HandleRef jarg9, uint jarg10);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_multi_threaded_bridge")]
+  public static extern int switch_ivr_multi_threaded_bridge(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_signal_bridge")]
+  public static extern int switch_ivr_signal_bridge(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_session_transfer")]
+  public static extern int switch_ivr_session_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_transfer")]
+  public static extern uint switch_ivr_schedule_transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_hangup")]
+  public static extern uint switch_ivr_schedule_hangup(HandleRef jarg1, string jarg2, int jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_uuid_bridge")]
+  public static extern int switch_ivr_uuid_bridge(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_media")]
+  public static extern int switch_ivr_media(string jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_nomedia")]
+  public static extern int switch_ivr_nomedia(string jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold_uuid")]
+  public static extern int switch_ivr_hold_uuid(string jarg1, string jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold_uuid")]
+  public static extern int switch_ivr_unhold_uuid(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_hold")]
+  public static extern int switch_ivr_hold(HandleRef jarg1, string jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unhold")]
+  public static extern int switch_ivr_unhold(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_schedule_broadcast")]
+  public static extern uint switch_ivr_schedule_broadcast(HandleRef jarg1, string jarg2, string jarg3, uint jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_broadcast")]
+  public static extern int switch_ivr_broadcast(string jarg1, string jarg2, uint jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_transfer_variable")]
+  public static extern int switch_ivr_transfer_variable(HandleRef jarg1, HandleRef jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_new")]
+  public static extern int switch_ivr_digit_stream_parser_new(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_destroy")]
+  public static extern int switch_ivr_digit_stream_parser_destroy(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_new")]
+  public static extern int switch_ivr_digit_stream_new(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_destroy")]
+  public static extern int switch_ivr_digit_stream_destroy(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_event")]
+  public static extern int switch_ivr_digit_stream_parser_set_event(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_del_event")]
+  public static extern int switch_ivr_digit_stream_parser_del_event(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_feed")]
+  public static extern IntPtr switch_ivr_digit_stream_parser_feed(HandleRef jarg1, HandleRef jarg2, char jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_reset")]
+  public static extern int switch_ivr_digit_stream_reset(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_digit_stream_parser_set_terminator")]
+  public static extern int switch_ivr_digit_stream_parser_set_terminator(HandleRef jarg1, char jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_init")]
+  public static extern int switch_ivr_menu_init(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, string jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14, int jarg15, HandleRef jarg16);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_action")]
+  public static extern int switch_ivr_menu_bind_action(HandleRef jarg1, int jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_bind_function")]
+  public static extern int switch_ivr_menu_bind_function(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_execute")]
+  public static extern int switch_ivr_menu_execute(HandleRef jarg1, HandleRef jarg2, string jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_free")]
+  public static extern int switch_ivr_menu_stack_free(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_build")]
+  public static extern int switch_ivr_menu_stack_xml_build(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_str2action")]
+  public static extern int switch_ivr_menu_str2action(string jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_add_custom")]
+  public static extern int switch_ivr_menu_stack_xml_add_custom(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_menu_stack_xml_init")]
+  public static extern int switch_ivr_menu_stack_xml_init(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_phrase_macro")]
+  public static extern int switch_ivr_phrase_macro(HandleRef jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_delay_echo")]
+  public static extern void switch_ivr_delay_echo(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_find_bridged_uuid")]
+  public static extern int switch_ivr_find_bridged_uuid(string jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_intercept_session")]
+  public static extern void switch_ivr_intercept_session(HandleRef jarg1, string jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_park_session")]
+  public static extern void switch_ivr_park_session(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_wait_for_answer")]
+  public static extern int switch_ivr_wait_for_answer(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_read")]
+  public static extern int switch_ivr_read(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4, string jarg5, string jarg6, HandleRef jarg7, uint jarg8, string jarg9);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_bind_dtmf_meta_session")]
+  public static extern int switch_ivr_bind_dtmf_meta_session(HandleRef jarg1, uint jarg2, uint jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_unbind_dtmf_meta_session")]
+  public static extern int switch_ivr_unbind_dtmf_meta_session(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_soft_hold")]
+  public static extern int switch_ivr_soft_hold(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_say")]
+  public static extern int switch_ivr_say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, HandleRef jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_method_by_name")]
+  public static extern int switch_ivr_get_say_method_by_name(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_get_say_type_by_name")]
+  public static extern int switch_ivr_get_say_type_by_name(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_ivr_set_user")]
+  public static extern int switch_ivr_set_user(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_BUF_LEN_get")]
+  public static extern int SWITCH_RTP_MAX_BUF_LEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_MAX_CRYPTO_LEN_get")]
+  public static extern int SWITCH_RTP_MAX_CRYPTO_LEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_KEY_LEN_get")]
+  public static extern int SWITCH_RTP_KEY_LEN_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_32_get")]
+  public static extern string SWITCH_RTP_CRYPTO_KEY_32_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_RTP_CRYPTO_KEY_80_get")]
+  public static extern string SWITCH_RTP_CRYPTO_KEY_80_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_set")]
+  public static extern void switch_rtp_crypto_key_index_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_index_get")]
+  public static extern uint switch_rtp_crypto_key_index_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_set")]
+  public static extern void switch_rtp_crypto_key_type_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_type_get")]
+  public static extern int switch_rtp_crypto_key_type_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_set")]
+  public static extern void switch_rtp_crypto_key_key_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_key_get")]
+  public static extern IntPtr switch_rtp_crypto_key_key_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_set")]
+  public static extern void switch_rtp_crypto_key_keylen_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_keylen_get")]
+  public static extern IntPtr switch_rtp_crypto_key_keylen_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_set")]
+  public static extern void switch_rtp_crypto_key_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_crypto_key_next_get")]
+  public static extern IntPtr switch_rtp_crypto_key_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_rtp_crypto_key")]
+  public static extern IntPtr new_switch_rtp_crypto_key();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_rtp_crypto_key")]
+  public static extern void delete_switch_rtp_crypto_key(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_add_crypto_key")]
+  public static extern int switch_rtp_add_crypto_key(HandleRef jarg1, int jarg2, uint jarg3, int jarg4, HandleRef jarg5, HandleRef jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_random")]
+  public static extern void switch_rtp_get_random(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_init")]
+  public static extern void switch_rtp_init(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_shutdown")]
+  public static extern void switch_rtp_shutdown();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_start_port")]
+  public static extern ushort switch_rtp_set_start_port(ushort jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_end_port")]
+  public static extern ushort switch_rtp_set_end_port(ushort jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_request_port")]
+  public static extern ushort switch_rtp_request_port(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_release_port")]
+  public static extern void switch_rtp_release_port(string jarg1, ushort jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_create")]
+  public static extern int switch_rtp_create(HandleRef jarg1, byte jarg2, uint jarg3, uint jarg4, uint jarg5, string jarg6, ref string jarg7, HandleRef jarg8);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_new")]
+  public static extern IntPtr switch_rtp_new(string jarg1, ushort jarg2, string jarg3, ushort jarg4, byte jarg5, uint jarg6, uint jarg7, uint jarg8, string jarg9, ref string jarg10, HandleRef jarg11);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_remote_address")]
+  public static extern int switch_rtp_set_remote_address(HandleRef jarg1, string jarg2, ushort jarg3, int jarg4, ref string jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_host")]
+  public static extern string switch_rtp_get_remote_host(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_remote_port")]
+  public static extern ushort switch_rtp_get_remote_port(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_max_missed_packets")]
+  public static extern void switch_rtp_set_max_missed_packets(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_local_address")]
+  public static extern int switch_rtp_set_local_address(HandleRef jarg1, string jarg2, ushort jarg3, ref string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_kill_socket")]
+  public static extern void switch_rtp_kill_socket(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_break")]
+  public static extern void switch_rtp_break(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_ready")]
+  public static extern byte switch_rtp_ready(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_destroy")]
+  public static extern void switch_rtp_destroy(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_ice")]
+  public static extern int switch_rtp_activate_ice(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_jitter_buffer")]
+  public static extern int switch_rtp_activate_jitter_buffer(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_flag")]
+  public static extern void switch_rtp_set_flag(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_test_flag")]
+  public static extern uint switch_rtp_test_flag(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_clear_flag")]
+  public static extern void switch_rtp_clear_flag(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_rtp_socket")]
+  public static extern IntPtr switch_rtp_get_rtp_socket(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_samples_per_interval")]
+  public static extern void switch_rtp_set_default_samples_per_interval(HandleRef jarg1, ushort jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_samples_per_interval")]
+  public static extern uint switch_rtp_get_default_samples_per_interval(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_default_payload")]
+  public static extern void switch_rtp_set_default_payload(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_default_payload")]
+  public static extern uint switch_rtp_get_default_payload(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_invald_handler")]
+  public static extern void switch_rtp_set_invald_handler(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_read")]
+  public static extern int switch_rtp_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833")]
+  public static extern int switch_rtp_queue_rfc2833(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_queue_rfc2833_in")]
+  public static extern int switch_rtp_queue_rfc2833_in(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_has_dtmf")]
+  public static extern IntPtr switch_rtp_has_dtmf(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_dequeue_dtmf")]
+  public static extern IntPtr switch_rtp_dequeue_dtmf(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read")]
+  public static extern int switch_rtp_zerocopy_read(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4, HandleRef jarg5, uint jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_zerocopy_read_frame")]
+  public static extern int switch_rtp_zerocopy_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_enable_vad")]
+  public static extern int switch_rtp_enable_vad(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3, uint jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_disable_vad")]
+  public static extern int switch_rtp_disable_vad(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_frame")]
+  public static extern int switch_rtp_write_frame(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_write_manual")]
+  public static extern int switch_rtp_write_manual(HandleRef jarg1, HandleRef jarg2, uint jarg3, byte jarg4, byte jarg5, uint jarg6, HandleRef jarg7);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_ssrc")]
+  public static extern uint switch_rtp_get_ssrc(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_private")]
+  public static extern void switch_rtp_set_private(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_telephony_event")]
+  public static extern void switch_rtp_set_telephony_event(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_set_cng_pt")]
+  public static extern void switch_rtp_set_cng_pt(HandleRef jarg1, byte jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_get_private")]
+  public static extern IntPtr switch_rtp_get_private(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_rtp_activate_stun_ping")]
+  public static extern int switch_rtp_activate_stun_ping(HandleRef jarg1, string jarg2, ushort jarg3, uint jarg4, int jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_set")]
+  public static extern void switch_log_node_t_data_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_data_get")]
+  public static extern string switch_log_node_t_data_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_set")]
+  public static extern void switch_log_node_t_file_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_file_get")]
+  public static extern string switch_log_node_t_file_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_set")]
+  public static extern void switch_log_node_t_line_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_line_get")]
+  public static extern uint switch_log_node_t_line_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_set")]
+  public static extern void switch_log_node_t_func_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_func_get")]
+  public static extern string switch_log_node_t_func_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_set")]
+  public static extern void switch_log_node_t_level_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_level_get")]
+  public static extern int switch_log_node_t_level_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_set")]
+  public static extern void switch_log_node_t_timestamp_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_timestamp_get")]
+  public static extern IntPtr switch_log_node_t_timestamp_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_set")]
+  public static extern void switch_log_node_t_content_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_content_get")]
+  public static extern string switch_log_node_t_content_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_set")]
+  public static extern void switch_log_node_t_userdata_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_node_t_userdata_get")]
+  public static extern string switch_log_node_t_userdata_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_log_node_t")]
+  public static extern IntPtr new_switch_log_node_t();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_log_node_t")]
+  public static extern void delete_switch_log_node_t(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_init")]
+  public static extern int switch_log_init(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_shutdown")]
+  public static extern int switch_log_shutdown();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_bind_logger")]
+  public static extern int switch_log_bind_logger(HandleRef jarg1, int jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_unbind_logger")]
+  public static extern int switch_log_unbind_logger(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_level2str")]
+  public static extern string switch_log_level2str(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2level")]
+  public static extern int switch_log_str2level(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_log_str2mask")]
+  public static extern uint switch_log_str2mask(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_SWITCH_XML_BUFSIZE_get")]
+  public static extern int SWITCH_XML_BUFSIZE_get();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_set")]
+  public static extern void switch_xml_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_name_get")]
+  public static extern string switch_xml_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_set")]
+  public static extern void switch_xml_attr_set(HandleRef jarg1, ref string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_get")]
+  public static extern string switch_xml_attr_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_set")]
+  public static extern void switch_xml_txt_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_txt_get")]
+  public static extern string switch_xml_txt_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_set")]
+  public static extern void switch_xml_free_path_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_path_get")]
+  public static extern string switch_xml_free_path_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_set")]
+  public static extern void switch_xml_off_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_off_get")]
+  public static extern IntPtr switch_xml_off_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_set")]
+  public static extern void switch_xml_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_next_get")]
+  public static extern IntPtr switch_xml_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_set")]
+  public static extern void switch_xml_sibling_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_sibling_get")]
+  public static extern IntPtr switch_xml_sibling_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_set")]
+  public static extern void switch_xml_ordered_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_ordered_get")]
+  public static extern IntPtr switch_xml_ordered_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_set")]
+  public static extern void switch_xml_child_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child_get")]
+  public static extern IntPtr switch_xml_child_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_set")]
+  public static extern void switch_xml_parent_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parent_get")]
+  public static extern IntPtr switch_xml_parent_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_set")]
+  public static extern void switch_xml_flags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_flags_get")]
+  public static extern uint switch_xml_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_xml")]
+  public static extern IntPtr new_switch_xml();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_xml")]
+  public static extern void delete_switch_xml(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_str")]
+  public static extern IntPtr switch_xml_parse_str(string jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fd")]
+  public static extern IntPtr switch_xml_parse_fd(int jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file")]
+  public static extern IntPtr switch_xml_parse_file(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_file_simple")]
+  public static extern IntPtr switch_xml_parse_file_simple(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_fp")]
+  public static extern IntPtr switch_xml_parse_fp(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_child")]
+  public static extern IntPtr switch_xml_child(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_find_child")]
+  public static extern IntPtr switch_xml_find_child(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr")]
+  public static extern string switch_xml_attr(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_attr_soft")]
+  public static extern string switch_xml_attr_soft(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_get")]
+  public static extern IntPtr switch_xml_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml")]
+  public static extern string switch_xml_toxml(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_toxml_buf")]
+  public static extern string switch_xml_toxml_buf(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4, int jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free")]
+  public static extern void switch_xml_free(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_free_in_thread")]
+  public static extern void switch_xml_free_in_thread(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_error")]
+  public static extern string switch_xml_error(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_new")]
+  public static extern IntPtr switch_xml_new(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_add_child")]
+  public static extern IntPtr switch_xml_add_child(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_txt")]
+  public static extern IntPtr switch_xml_set_txt(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_attr")]
+  public static extern IntPtr switch_xml_set_attr(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_set_flag")]
+  public static extern IntPtr switch_xml_set_flag(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_cut")]
+  public static extern IntPtr switch_xml_cut(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_insert")]
+  public static extern IntPtr switch_xml_insert(HandleRef jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_root")]
+  public static extern IntPtr switch_xml_open_root(byte jarg1, ref string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_init")]
+  public static extern int switch_xml_init(HandleRef jarg1, ref string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_destroy")]
+  public static extern int switch_xml_destroy();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_root")]
+  public static extern IntPtr switch_xml_root();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate")]
+  public static extern int switch_xml_locate(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_domain")]
+  public static extern int switch_xml_locate_domain(string jarg1, HandleRef jarg2, HandleRef jarg3, HandleRef jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_locate_user")]
+  public static extern int switch_xml_locate_user(string jarg1, string jarg2, string jarg3, string jarg4, HandleRef jarg5, HandleRef jarg6, HandleRef jarg7, HandleRef jarg8);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_open_cfg")]
+  public static extern IntPtr switch_xml_open_cfg(string jarg1, HandleRef jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_bind_search_function")]
+  public static extern int switch_xml_bind_search_function(HandleRef jarg1, uint jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function")]
+  public static extern int switch_xml_unbind_search_function(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_unbind_search_function_ptr")]
+  public static extern int switch_xml_unbind_search_function_ptr(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_xml_parse_section_string")]
+  public static extern uint switch_xml_parse_section_string(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_set")]
+  public static extern void switch_io_event_hook_outgoing_channel_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_outgoing_channel_get")]
+  public static extern IntPtr switch_io_event_hook_outgoing_channel_outgoing_channel_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_set")]
+  public static extern void switch_io_event_hook_outgoing_channel_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_outgoing_channel_next_get")]
+  public static extern IntPtr switch_io_event_hook_outgoing_channel_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_outgoing_channel")]
+  public static extern IntPtr new_switch_io_event_hook_outgoing_channel();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_outgoing_channel")]
+  public static extern void delete_switch_io_event_hook_outgoing_channel(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_set")]
+  public static extern void switch_io_event_hook_receive_message_receive_message_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_receive_message_get")]
+  public static extern IntPtr switch_io_event_hook_receive_message_receive_message_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_set")]
+  public static extern void switch_io_event_hook_receive_message_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_message_next_get")]
+  public static extern IntPtr switch_io_event_hook_receive_message_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_message")]
+  public static extern IntPtr new_switch_io_event_hook_receive_message();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_message")]
+  public static extern void delete_switch_io_event_hook_receive_message(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_set")]
+  public static extern void switch_io_event_hook_receive_event_receive_event_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_receive_event_get")]
+  public static extern IntPtr switch_io_event_hook_receive_event_receive_event_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_set")]
+  public static extern void switch_io_event_hook_receive_event_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_receive_event_next_get")]
+  public static extern IntPtr switch_io_event_hook_receive_event_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_receive_event")]
+  public static extern IntPtr new_switch_io_event_hook_receive_event();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_receive_event")]
+  public static extern void delete_switch_io_event_hook_receive_event(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_set")]
+  public static extern void switch_io_event_hook_read_frame_read_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_read_frame_get")]
+  public static extern IntPtr switch_io_event_hook_read_frame_read_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_set")]
+  public static extern void switch_io_event_hook_read_frame_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_read_frame_next_get")]
+  public static extern IntPtr switch_io_event_hook_read_frame_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_read_frame")]
+  public static extern IntPtr new_switch_io_event_hook_read_frame();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_read_frame")]
+  public static extern void delete_switch_io_event_hook_read_frame(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_set")]
+  public static extern void switch_io_event_hook_video_read_frame_video_read_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_video_read_frame_get")]
+  public static extern IntPtr switch_io_event_hook_video_read_frame_video_read_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_set")]
+  public static extern void switch_io_event_hook_video_read_frame_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_read_frame_next_get")]
+  public static extern IntPtr switch_io_event_hook_video_read_frame_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_read_frame")]
+  public static extern IntPtr new_switch_io_event_hook_video_read_frame();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_video_read_frame")]
+  public static extern void delete_switch_io_event_hook_video_read_frame(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_set")]
+  public static extern void switch_io_event_hook_write_frame_write_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_write_frame_get")]
+  public static extern IntPtr switch_io_event_hook_write_frame_write_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_set")]
+  public static extern void switch_io_event_hook_write_frame_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_write_frame_next_get")]
+  public static extern IntPtr switch_io_event_hook_write_frame_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_write_frame")]
+  public static extern IntPtr new_switch_io_event_hook_write_frame();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_write_frame")]
+  public static extern void delete_switch_io_event_hook_write_frame(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_set")]
+  public static extern void switch_io_event_hook_video_write_frame_video_write_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_video_write_frame_get")]
+  public static extern IntPtr switch_io_event_hook_video_write_frame_video_write_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_set")]
+  public static extern void switch_io_event_hook_video_write_frame_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_video_write_frame_next_get")]
+  public static extern IntPtr switch_io_event_hook_video_write_frame_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_video_write_frame")]
+  public static extern IntPtr new_switch_io_event_hook_video_write_frame();
+
+  [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_kill_channel_kill_channel_set")]
+  public static extern void switch_io_event_hook_kill_channel_kill_channel_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_kill_channel_get")]
+  public static extern IntPtr switch_io_event_hook_kill_channel_kill_channel_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_set")]
+  public static extern void switch_io_event_hook_kill_channel_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_kill_channel_next_get")]
+  public static extern IntPtr switch_io_event_hook_kill_channel_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_kill_channel")]
+  public static extern IntPtr new_switch_io_event_hook_kill_channel();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_kill_channel")]
+  public static extern void delete_switch_io_event_hook_kill_channel(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_set")]
+  public static extern void switch_io_event_hook_send_dtmf_send_dtmf_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_send_dtmf_get")]
+  public static extern IntPtr switch_io_event_hook_send_dtmf_send_dtmf_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_set")]
+  public static extern void switch_io_event_hook_send_dtmf_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_send_dtmf_next_get")]
+  public static extern IntPtr switch_io_event_hook_send_dtmf_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_send_dtmf")]
+  public static extern IntPtr new_switch_io_event_hook_send_dtmf();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_send_dtmf")]
+  public static extern void delete_switch_io_event_hook_send_dtmf(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_set")]
+  public static extern void switch_io_event_hook_recv_dtmf_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_recv_dtmf_get")]
+  public static extern IntPtr switch_io_event_hook_recv_dtmf_recv_dtmf_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_set")]
+  public static extern void switch_io_event_hook_recv_dtmf_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_recv_dtmf_next_get")]
+  public static extern IntPtr switch_io_event_hook_recv_dtmf_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_recv_dtmf")]
+  public static extern IntPtr new_switch_io_event_hook_recv_dtmf();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_recv_dtmf")]
+  public static extern void delete_switch_io_event_hook_recv_dtmf(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_set")]
+  public static extern void switch_io_event_hook_state_change_state_change_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_state_change_get")]
+  public static extern IntPtr switch_io_event_hook_state_change_state_change_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_set")]
+  public static extern void switch_io_event_hook_state_change_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_state_change_next_get")]
+  public static extern IntPtr switch_io_event_hook_state_change_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_state_change")]
+  public static extern IntPtr new_switch_io_event_hook_state_change();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_state_change")]
+  public static extern void delete_switch_io_event_hook_state_change(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_set")]
+  public static extern void switch_io_event_hook_resurrect_session_resurrect_session_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_resurrect_session_get")]
+  public static extern IntPtr switch_io_event_hook_resurrect_session_resurrect_session_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_set")]
+  public static extern void switch_io_event_hook_resurrect_session_next_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hook_resurrect_session_next_get")]
+  public static extern IntPtr switch_io_event_hook_resurrect_session_next_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hook_resurrect_session")]
+  public static extern IntPtr new_switch_io_event_hook_resurrect_session();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hook_resurrect_session")]
+  public static extern void delete_switch_io_event_hook_resurrect_session(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_set")]
+  public static extern void switch_io_event_hooks_outgoing_channel_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_outgoing_channel_get")]
+  public static extern IntPtr switch_io_event_hooks_outgoing_channel_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_set")]
+  public static extern void switch_io_event_hooks_receive_message_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_message_get")]
+  public static extern IntPtr switch_io_event_hooks_receive_message_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_set")]
+  public static extern void switch_io_event_hooks_receive_event_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_receive_event_get")]
+  public static extern IntPtr switch_io_event_hooks_receive_event_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_set")]
+  public static extern void switch_io_event_hooks_read_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_read_frame_get")]
+  public static extern IntPtr switch_io_event_hooks_read_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_set")]
+  public static extern void switch_io_event_hooks_video_read_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_read_frame_get")]
+  public static extern IntPtr switch_io_event_hooks_video_read_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_set")]
+  public static extern void switch_io_event_hooks_write_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_write_frame_get")]
+  public static extern IntPtr switch_io_event_hooks_write_frame_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_video_write_frame_set")]
+  public static extern void switch_io_event_hooks_video_write_frame_set(HandleRef jarg1, HandleRef jarg2);
+
+  [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_kill_channel_set")]
+  public static extern void switch_io_event_hooks_kill_channel_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_kill_channel_get")]
+  public static extern IntPtr switch_io_event_hooks_kill_channel_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_set")]
+  public static extern void switch_io_event_hooks_send_dtmf_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_send_dtmf_get")]
+  public static extern IntPtr switch_io_event_hooks_send_dtmf_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_set")]
+  public static extern void switch_io_event_hooks_recv_dtmf_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_recv_dtmf_get")]
+  public static extern IntPtr switch_io_event_hooks_recv_dtmf_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_set")]
+  public static extern void switch_io_event_hooks_state_change_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_state_change_get")]
+  public static extern IntPtr switch_io_event_hooks_state_change_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_set")]
+  public static extern void switch_io_event_hooks_resurrect_session_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_io_event_hooks_resurrect_session_get")]
+  public static extern IntPtr switch_io_event_hooks_resurrect_session_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_io_event_hooks")]
+  public static extern IntPtr new_switch_io_event_hooks();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_io_event_hooks")]
+  public static extern void delete_switch_io_event_hooks(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_outgoing_channel")]
+  public static extern int switch_core_event_hook_add_outgoing_channel(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_message")]
+  public static extern int switch_core_event_hook_add_receive_message(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_receive_event")]
+  public static extern int switch_core_event_hook_add_receive_event(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_state_change")]
+  public static extern int switch_core_event_hook_add_state_change(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_read_frame")]
+  public static extern int switch_core_event_hook_add_read_frame(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_write_frame")]
+  public static extern int switch_core_event_hook_add_write_frame(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_video_read_frame")]
+  public static extern int switch_core_event_hook_add_video_read_frame(HandleRef jarg1, HandleRef jarg2);
+
+  [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_kill_channel")]
+  public static extern int switch_core_event_hook_add_kill_channel(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_send_dtmf")]
+  public static extern int switch_core_event_hook_add_send_dtmf(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_recv_dtmf")]
+  public static extern int switch_core_event_hook_add_recv_dtmf(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_add_resurrect_session")]
+  public static extern int switch_core_event_hook_add_resurrect_session(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_outgoing_channel")]
+  public static extern int switch_core_event_hook_remove_outgoing_channel(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_message")]
+  public static extern int switch_core_event_hook_remove_receive_message(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_receive_event")]
+  public static extern int switch_core_event_hook_remove_receive_event(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_state_change")]
+  public static extern int switch_core_event_hook_remove_state_change(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_read_frame")]
+  public static extern int switch_core_event_hook_remove_read_frame(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_write_frame")]
+  public static extern int switch_core_event_hook_remove_write_frame(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_video_read_frame")]
+  public static extern int switch_core_event_hook_remove_video_read_frame(HandleRef jarg1, HandleRef jarg2);
+
+  [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_kill_channel")]
+  public static extern int switch_core_event_hook_remove_kill_channel(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_send_dtmf")]
+  public static extern int switch_core_event_hook_remove_send_dtmf(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_recv_dtmf")]
+  public static extern int switch_core_event_hook_remove_recv_dtmf(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_event_hook_remove_resurrect_session")]
+  public static extern int switch_core_event_hook_remove_resurrect_session(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_set")]
+  public static extern void switch_scheduler_task_created_set(HandleRef jarg1, long jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_created_get")]
+  public static extern long switch_scheduler_task_created_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_set")]
+  public static extern void switch_scheduler_task_runtime_set(HandleRef jarg1, long jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_runtime_get")]
+  public static extern long switch_scheduler_task_runtime_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_set")]
+  public static extern void switch_scheduler_task_cmd_id_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_id_get")]
+  public static extern uint switch_scheduler_task_cmd_id_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_set")]
+  public static extern void switch_scheduler_task_group_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_group_get")]
+  public static extern string switch_scheduler_task_group_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_set")]
+  public static extern void switch_scheduler_task_cmd_arg_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_cmd_arg_get")]
+  public static extern IntPtr switch_scheduler_task_cmd_arg_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_set")]
+  public static extern void switch_scheduler_task_task_id_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_task_id_get")]
+  public static extern uint switch_scheduler_task_task_id_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_scheduler_task")]
+  public static extern IntPtr new_switch_scheduler_task();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_scheduler_task")]
+  public static extern void delete_switch_scheduler_task(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_add_task")]
+  public static extern uint switch_scheduler_add_task(HandleRef jarg1, HandleRef jarg2, string jarg3, string jarg4, uint jarg5, HandleRef jarg6, uint jarg7);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_id")]
+  public static extern uint switch_scheduler_del_task_id(uint jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_del_task_group")]
+  public static extern uint switch_scheduler_del_task_group(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_start")]
+  public static extern void switch_scheduler_task_thread_start();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_scheduler_task_thread_stop")]
+  public static extern void switch_scheduler_task_thread_stop();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_set")]
+  public static extern void switch_config_file_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_file_get")]
+  public static extern IntPtr switch_config_file_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_set")]
+  public static extern void switch_config_path_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_path_get")]
+  public static extern string switch_config_path_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_set")]
+  public static extern void switch_config_category_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_category_get")]
+  public static extern string switch_config_category_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_set")]
+  public static extern void switch_config_section_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_section_get")]
+  public static extern string switch_config_section_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_set")]
+  public static extern void switch_config_buf_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_buf_get")]
+  public static extern string switch_config_buf_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_set")]
+  public static extern void switch_config_lineno_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lineno_get")]
+  public static extern int switch_config_lineno_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_set")]
+  public static extern void switch_config_catno_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_catno_get")]
+  public static extern int switch_config_catno_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_set")]
+  public static extern void switch_config_sectno_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_sectno_get")]
+  public static extern int switch_config_sectno_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_set")]
+  public static extern void switch_config_lockto_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_lockto_get")]
+  public static extern int switch_config_lockto_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_switch_config")]
+  public static extern IntPtr new_switch_config();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_switch_config")]
+  public static extern void delete_switch_config(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_open_file")]
+  public static extern int switch_config_open_file(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_close_file")]
+  public static extern void switch_config_close_file(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_config_next_pair")]
+  public static extern int switch_config_next_pair(HandleRef jarg1, ref string jarg2, ref string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_consoleLog")]
+  public static extern void consoleLog(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_consoleCleanLog")]
+  public static extern void consoleCleanLog(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_IvrMenu")]
+  public static extern IntPtr new_IvrMenu(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5, string jarg6, string jarg7, string jarg8, int jarg9, int jarg10, int jarg11, int jarg12, int jarg13, int jarg14);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_IvrMenu")]
+  public static extern void delete_IvrMenu(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_bindAction")]
+  public static extern void IvrMenu_bindAction(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_IvrMenu_Execute")]
+  public static extern void IvrMenu_Execute(HandleRef jarg1, HandleRef jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_Api")]
+  public static extern IntPtr new_Api();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_Api")]
+  public static extern void delete_Api(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Api_Execute")]
+  public static extern string Api_Execute(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Api_ExecuteString")]
+  public static extern string Api_ExecuteString(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_set")]
+  public static extern void input_callback_state_t_function_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_function_get")]
+  public static extern IntPtr input_callback_state_t_function_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_set")]
+  public static extern void input_callback_state_t_threadState_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_threadState_get")]
+  public static extern IntPtr input_callback_state_t_threadState_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_set")]
+  public static extern void input_callback_state_t_extra_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_extra_get")]
+  public static extern IntPtr input_callback_state_t_extra_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_set")]
+  public static extern void input_callback_state_t_funcargs_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_input_callback_state_t_funcargs_get")]
+  public static extern string input_callback_state_t_funcargs_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_input_callback_state_t")]
+  public static extern IntPtr new_input_callback_state_t();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_input_callback_state_t")]
+  public static extern void delete_input_callback_state_t(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_set")]
+  public static extern void DTMF_digit_set(HandleRef jarg1, char jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_digit_get")]
+  public static extern char DTMF_digit_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_set")]
+  public static extern void DTMF_duration_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_DTMF_duration_get")]
+  public static extern uint DTMF_duration_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_DTMF")]
+  public static extern IntPtr new_DTMF(char jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_DTMF")]
+  public static extern void delete_DTMF(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_0")]
+  public static extern IntPtr new_Stream__SWIG_0();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_Stream__SWIG_1")]
+  public static extern IntPtr new_Stream__SWIG_1(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_Stream")]
+  public static extern void delete_Stream(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Stream_Write")]
+  public static extern void Stream_Write(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Stream_get_data")]
+  public static extern string Stream_get_data(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_set")]
+  public static extern void Event_InternalEvent_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_InternalEvent_get")]
+  public static extern IntPtr Event_InternalEvent_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_set")]
+  public static extern void Event_serialized_string_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_serialized_string_get")]
+  public static extern string Event_serialized_string_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_set")]
+  public static extern void Event_mine_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_mine_get")]
+  public static extern int Event_mine_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_0")]
+  public static extern IntPtr new_Event__SWIG_0(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_Event__SWIG_1")]
+  public static extern IntPtr new_Event__SWIG_1(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_Event")]
+  public static extern void delete_Event(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_Serialize")]
+  public static extern string Event_Serialize(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_SetPriority")]
+  public static extern bool Event_SetPriority(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_GetHeader")]
+  public static extern string Event_GetHeader(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_GetBody")]
+  public static extern string Event_GetBody(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_GetEventType")]
+  public static extern string Event_GetEventType(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_AddBody")]
+  public static extern bool Event_AddBody(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_AddHeader")]
+  public static extern bool Event_AddHeader(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_DeleteHeader")]
+  public static extern bool Event_DeleteHeader(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_Event_Fire")]
+  public static extern bool Event_Fire(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_set")]
+  public static extern void EventConsumer_events_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_events_get")]
+  public static extern IntPtr EventConsumer_events_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_set")]
+  public static extern void EventConsumer_e_event_id_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_event_id_get")]
+  public static extern int EventConsumer_e_event_id_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_set")]
+  public static extern void EventConsumer_node_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_node_get")]
+  public static extern IntPtr EventConsumer_node_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_set")]
+  public static extern void EventConsumer_e_callback_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_callback_get")]
+  public static extern string EventConsumer_e_callback_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_set")]
+  public static extern void EventConsumer_e_subclass_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_subclass_name_get")]
+  public static extern string EventConsumer_e_subclass_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_set")]
+  public static extern void EventConsumer_e_cb_arg_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_e_cb_arg_get")]
+  public static extern string EventConsumer_e_cb_arg_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_EventConsumer")]
+  public static extern IntPtr new_EventConsumer(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_EventConsumer")]
+  public static extern void delete_EventConsumer(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_EventConsumer_pop")]
+  public static extern IntPtr EventConsumer_pop(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_CoreSession")]
+  public static extern void delete_CoreSession(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_set")]
+  public static extern void CoreSession_InternalSession_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_InternalSession_get")]
+  public static extern IntPtr CoreSession_InternalSession_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_set")]
+  public static extern void CoreSession_channel_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_channel_get")]
+  public static extern IntPtr CoreSession_channel_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_set")]
+  public static extern void CoreSession_flags_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flags_get")]
+  public static extern uint CoreSession_flags_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_set")]
+  public static extern void CoreSession_allocated_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_allocated_get")]
+  public static extern int CoreSession_allocated_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_set")]
+  public static extern void CoreSession_cb_state_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_cb_state_get")]
+  public static extern IntPtr CoreSession_cb_state_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_set")]
+  public static extern void CoreSession_HookState_set(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_HookState_get")]
+  public static extern int CoreSession_HookState_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_set")]
+  public static extern void CoreSession_uuid_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_uuid_get")]
+  public static extern string CoreSession_uuid_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_set")]
+  public static extern void CoreSession_tts_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_tts_name_get")]
+  public static extern string CoreSession_tts_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_set")]
+  public static extern void CoreSession_voice_name_set(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_voice_name_get")]
+  public static extern string CoreSession_voice_name_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Answer")]
+  public static extern int CoreSession_Answer(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_preAnswer")]
+  public static extern int CoreSession_preAnswer(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Hangup")]
+  public static extern void CoreSession_Hangup(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetVariable")]
+  public static extern void CoreSession_SetVariable(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetPrivate")]
+  public static extern void CoreSession_SetPrivate(HandleRef jarg1, string jarg2, HandleRef jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetPrivate")]
+  public static extern IntPtr CoreSession_GetPrivate(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetVariable")]
+  public static extern string CoreSession_GetVariable(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Say")]
+  public static extern void CoreSession_Say(HandleRef jarg1, string jarg2, string jarg3, string jarg4, string jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SayPhrase")]
+  public static extern void CoreSession_SayPhrase(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_RecordFile")]
+  public static extern int CoreSession_RecordFile(HandleRef jarg1, string jarg2, int jarg3, int jarg4, int jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetCallerData")]
+  public static extern void CoreSession_SetCallerData(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Originate")]
+  public static extern int CoreSession_Originate(HandleRef jarg1, HandleRef jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_destroy")]
+  public static extern void CoreSession_destroy(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Speak")]
+  public static extern int CoreSession_Speak(HandleRef jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetTtsParameters")]
+  public static extern void CoreSession_SetTtsParameters(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_CollectDigits")]
+  public static extern int CoreSession_CollectDigits(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_0")]
+  public static extern string CoreSession_GetDigits__SWIG_0(HandleRef jarg1, int jarg2, string jarg3, int jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetDigits__SWIG_1")]
+  public static extern string CoreSession_GetDigits__SWIG_1(HandleRef jarg1, int jarg2, string jarg3, int jarg4, int jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Transfer")]
+  public static extern int CoreSession_Transfer(HandleRef jarg1, string jarg2, string jarg3, string jarg4);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_read")]
+  public static extern string CoreSession_read(HandleRef jarg1, int jarg2, int jarg3, string jarg4, int jarg5, string jarg6);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_PlayAndGetDigits")]
+  public static extern string CoreSession_PlayAndGetDigits(HandleRef jarg1, int jarg2, int jarg3, int jarg4, int jarg5, string jarg6, string jarg7, string jarg8, string jarg9);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_StreamFile")]
+  public static extern int CoreSession_StreamFile(HandleRef jarg1, string jarg2, int jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sleep")]
+  public static extern int CoreSession_sleep(HandleRef jarg1, int jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushEvents")]
+  public static extern int CoreSession_flushEvents(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_flushDigits")]
+  public static extern int CoreSession_flushDigits(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_SetAutoHangup")]
+  public static extern int CoreSession_SetAutoHangup(HandleRef jarg1, bool jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Ready")]
+  public static extern bool CoreSession_Ready(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_answered")]
+  public static extern bool CoreSession_answered(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_mediaReady")]
+  public static extern bool CoreSession_mediaReady(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_waitForAnswer")]
+  public static extern void CoreSession_waitForAnswer(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_Execute")]
+  public static extern void CoreSession_Execute(HandleRef jarg1, string jarg2, string jarg3);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_sendEvent")]
+  public static extern void CoreSession_sendEvent(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_setEventData")]
+  public static extern void CoreSession_setEventData(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_getXMLCDR")]
+  public static extern string CoreSession_getXMLCDR(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_begin_allow_threads")]
+  public static extern bool CoreSession_begin_allow_threads(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_end_allow_threads")]
+  public static extern bool CoreSession_end_allow_threads(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_GetUuid")]
+  public static extern string CoreSession_GetUuid(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_get_cb_args")]
+  public static extern IntPtr CoreSession_get_cb_args(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_CoreSession_check_hangup_hook")]
+  public static extern void CoreSession_check_hangup_hook(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_console_log")]
+  public static extern void console_log(string jarg1, string jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_console_clean_log")]
+  public static extern void console_clean_log(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_bridge")]
+  public static extern void bridge(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_hanguphook")]
+  public static extern int hanguphook(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_dtmf_callback")]
+  public static extern int dtmf_callback(HandleRef jarg1, HandleRef jarg2, int jarg3, HandleRef jarg4, uint jarg5);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_0")]
+  public static extern IntPtr new_ManagedSession__SWIG_0();
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_1")]
+  public static extern IntPtr new_ManagedSession__SWIG_1(string jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_new_ManagedSession__SWIG_2")]
+  public static extern IntPtr new_ManagedSession__SWIG_2(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_delete_ManagedSession")]
+  public static extern void delete_ManagedSession(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_ManagedSession_dtmfDelegate_set")]
+  public static extern void ManagedSession_dtmfDelegate_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_ManagedSession_dtmfDelegate_get")]
+  public static extern IntPtr ManagedSession_dtmfDelegate_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_ManagedSession_hangupDelegate_set")]
+  public static extern void ManagedSession_hangupDelegate_set(HandleRef jarg1, HandleRef jarg2);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_ManagedSession_hangupDelegate_get")]
+  public static extern IntPtr ManagedSession_hangupDelegate_get(HandleRef jarg1);
+
+  [DllImport("mod_managed", EntryPoint="CSharp_ManagedSessionUpcast")]
+  public static extern IntPtr ManagedSessionUpcast(IntPtr objectRef);
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class input_callback_state_t : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal input_callback_state_t(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(input_callback_state_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~input_callback_state_t() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_input_callback_state_t(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_void function {
+    set {
+      freeswitchPINVOKE.input_callback_state_t_function_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_function_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void threadState {
+    set {
+      freeswitchPINVOKE.input_callback_state_t_threadState_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_threadState_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void extra {
+    set {
+      freeswitchPINVOKE.input_callback_state_t_extra_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.input_callback_state_t_extra_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string funcargs {
+    set {
+      freeswitchPINVOKE.input_callback_state_t_funcargs_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.input_callback_state_t_funcargs_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public input_callback_state_t() : this(freeswitchPINVOKE.new_input_callback_state_t(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class IvrMenu : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal IvrMenu(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(IvrMenu obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~IvrMenu() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_IvrMenu(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public IvrMenu(IvrMenu main, string name, string greeting_sound, string short_greeting_sound, string invalid_sound, string exit_sound, string confirm_macro, string confirm_key, int confirm_attempts, int inter_timeout, int digit_len, int timeout, int max_failures, int max_timeouts) : this(freeswitchPINVOKE.new_IvrMenu(IvrMenu.getCPtr(main), name, greeting_sound, short_greeting_sound, invalid_sound, exit_sound, confirm_macro, confirm_key, confirm_attempts, inter_timeout, digit_len, timeout, max_failures, max_timeouts), true) {
+  }
+
+  public void bindAction(string action, string arg, string bind) {
+    freeswitchPINVOKE.IvrMenu_bindAction(swigCPtr, action, arg, bind);
+  }
+
+  public void Execute(CoreSession session, string name) {
+    freeswitchPINVOKE.IvrMenu_Execute(swigCPtr, CoreSession.getCPtr(session), name);
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public partial class ManagedSession : CoreSession {
+  private HandleRef swigCPtr;
+
+  internal ManagedSession(IntPtr cPtr, bool cMemoryOwn) : base(freeswitchPINVOKE.ManagedSessionUpcast(cPtr), cMemoryOwn) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(ManagedSession obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~ManagedSession() {
+    Dispose();
+  }
+
+  public override void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_ManagedSession(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+      base.Dispose();
+    }
+  }
+
+  public ManagedSession() : this(freeswitchPINVOKE.new_ManagedSession__SWIG_0(), true) {
+  }
+
+  public ManagedSession(string uuid) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_1(uuid), true) {
+  }
+
+  public ManagedSession(SWIGTYPE_p_switch_core_session session) : this(freeswitchPINVOKE.new_ManagedSession__SWIG_2(SWIGTYPE_p_switch_core_session.getCPtr(session)), true) {
+  }
+
+  public SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char dtmfDelegate {
+    set {
+      freeswitchPINVOKE.ManagedSession_dtmfDelegate_set(swigCPtr, SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.ManagedSession_dtmfDelegate_get(swigCPtr);
+      SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_void__void hangupDelegate {
+    set {
+      freeswitchPINVOKE.ManagedSession_hangupDelegate_set(swigCPtr, SWIGTYPE_p_f_void__void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.ManagedSession_hangupDelegate_get(swigCPtr);
+      SWIGTYPE_p_f_void__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_void__void(cPtr, false);
+      return ret;
+    } 
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum session_flag_t {
+  S_HUP = (1 << 0),
+  S_FREE = (1 << 1),
+  S_RDLOCK = (1 << 2)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public partial class Stream : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal Stream(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(Stream obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~Stream() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_Stream(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public Stream() : this(freeswitchPINVOKE.new_Stream__SWIG_0(), true) {
+  }
+
+  public Stream(switch_stream_handle arg0) : this(freeswitchPINVOKE.new_Stream__SWIG_1(switch_stream_handle.getCPtr(arg0)), true) {
+  }
+
+  public void Write(string data) {
+    freeswitchPINVOKE.Stream_Write(swigCPtr, data);
+  }
+
+  public string get_data() {
+    string ret = freeswitchPINVOKE.Stream_get_data(swigCPtr);
+    return ret;
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_apr_pool_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_apr_pool_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_apr_pool_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_apr_pool_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_FILE {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_FILE(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_FILE() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_FILE obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_float {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_float(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_float() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_float obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_q_const__char_p_q_const__char_p_q_const__char_p_switch_event_t_p_void__p_switch_xml obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_q_const__switch_log_node_t_enum_switch_log_level_t__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_codec__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_codec__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_codec__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_event__void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_event__void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_event__void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_event__void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_file_handle__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_file_handle__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_file_handle__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_media_bug_p_void_enum_switch_abc_type_t__switch_bool_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_rtp_p_switch_socket_t_p_void_switch_size_t_p_switch_sockaddr_t__void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_scheduler_task__void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_scheduler_task__void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_scheduler_task__void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_scheduler_task__void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_speech_handle__void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_speech_handle__void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_speech_handle__void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle__void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_thread_t_p_void__p_void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_switch_timer__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_switch_timer__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_switch_timer__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_timer__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void_enum_switch_input_type_t__p_char obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void_int_p_p_char_p_p_char__int obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_p_void__void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_p_void__void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_p_void__void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_void__void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_void__switch_status_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_void__switch_status_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_void__switch_status_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_void__switch_status_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_f_void__void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_f_void__void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_f_void__void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_void__void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_HashElem {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_HashElem(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_HashElem() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_HashElem obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_int {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_int(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_int() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_int obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_apr_pool_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_apr_pool_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_apr_pool_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_apr_pool_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_char {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_char(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_char() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_char obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_p_char {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_p_char(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_p_char() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_p_char obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_real_pcre {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_real_pcre(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_real_pcre() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_real_pcre obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_sqlite3 {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_sqlite3(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_sqlite3() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3 obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_sqlite3_stmt {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_sqlite3_stmt() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_sqlite3_stmt obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_audio_resampler_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_audio_resampler_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_audio_resampler_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_audio_resampler_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_buffer {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_buffer(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_buffer() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_buffer obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_caller_extension {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_caller_extension(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_caller_extension() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_caller_extension obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_channel {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_channel(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_channel() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_channel obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_core_port_allocator {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_core_port_allocator() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_port_allocator obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_core_session {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_core_session(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_core_session() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_core_session_message {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_core_session_message(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_core_session_message() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_core_session_message obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_event {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_event(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_event() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_event_node {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_event_node(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_event_node() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_event_node obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_frame {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_frame(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_frame() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_frame obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_hash {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_hash(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_hash() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_hash obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_ivr_digit_stream {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_ivr_digit_stream() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_ivr_digit_stream_parser {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_ivr_digit_stream_parser() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_digit_stream_parser obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_ivr_menu {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_ivr_menu() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_ivr_menu_xml_ctx {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_ivr_menu_xml_ctx() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_ivr_menu_xml_ctx obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_media_bug {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_media_bug(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_media_bug() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_media_bug obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_network_list {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_network_list(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_network_list() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_network_list obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_rtp {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_rtp(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_rtp() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_rtp obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_xml_binding {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_xml_binding(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_xml_binding() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml_binding obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_switch_xml {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_switch_xml(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_switch_xml() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_switch_xml obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_p_void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_p_void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_p_void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_p_void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_real_pcre {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_real_pcre(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_real_pcre() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_real_pcre obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_short {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_short(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_short() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_short obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_sockaddr {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_sockaddr(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_sockaddr() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_sockaddr obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_socklen_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_socklen_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_socklen_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_socklen_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_sqlite3 {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_sqlite3(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_sqlite3() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3 obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_sqlite3_stmt {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_sqlite3_stmt(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_sqlite3_stmt() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_sqlite3_stmt obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_buffer {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_buffer(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_buffer() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_buffer obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_call_cause_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_call_cause_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_call_cause_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_call_cause_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_channel {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_channel(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_channel() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_channel obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_core_port_allocator {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_core_port_allocator(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_core_port_allocator() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_port_allocator obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_core_session {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_core_session(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_core_session() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_core_session obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_event_node {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_event_node(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_event_node() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_node obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_event_types_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_event_types_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_event_types_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_event_types_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_file_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_file_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_file_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_file_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_hash {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_hash(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_hash() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_hash obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_ivr_action_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_ivr_action_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_ivr_action_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_action_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_ivr_digit_stream {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_ivr_digit_stream(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_ivr_digit_stream() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_ivr_digit_stream_parser {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_ivr_digit_stream_parser(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_ivr_digit_stream_parser() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_digit_stream_parser obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_ivr_menu_action_function_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_ivr_menu_action_function_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_ivr_menu_action_function_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_action_function_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_ivr_menu {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_ivr_menu(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_ivr_menu() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_ivr_menu_xml_ctx {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_ivr_menu_xml_ctx(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_ivr_menu_xml_ctx() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ivr_menu_xml_ctx obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_loadable_module_interface {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_loadable_module_interface(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_loadable_module_interface() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_loadable_module_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_media_bug {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_media_bug(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_media_bug() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_media_bug obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_mutex_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_mutex_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_mutex_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_mutex_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_network_list {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_network_list(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_network_list() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_network_list obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_pollfd_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_pollfd_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_pollfd_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_pollfd_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_queue_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_queue_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_queue_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_queue_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_rtp {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_rtp(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_rtp() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_rtp obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_size_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_size_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_size_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_size_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_sockaddr_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_sockaddr_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_sockaddr_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_sockaddr_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_socket_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_socket_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_socket_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_socket_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_ssize_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_ssize_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_ssize_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_ssize_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_thread_rwlock_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_thread_rwlock_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_thread_rwlock_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_thread_rwlock_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_switch_time_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_time_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_time_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_time_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_time_t {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_time_t(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_time_t() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_time_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_unsigned_char {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_unsigned_char(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_unsigned_char() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_char obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_unsigned_int {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_unsigned_int(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_unsigned_int() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_int obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_unsigned_long {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_unsigned_long(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_unsigned_long() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_long obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_unsigned_short {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_unsigned_short(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_unsigned_short() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_unsigned_short obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class SWIGTYPE_p_void {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_void(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_void() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_void obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_abc_type_t {
+  SWITCH_ABC_TYPE_INIT,
+  SWITCH_ABC_TYPE_READ,
+  SWITCH_ABC_TYPE_WRITE,
+  SWITCH_ABC_TYPE_WRITE_REPLACE,
+  SWITCH_ABC_TYPE_READ_REPLACE,
+  SWITCH_ABC_TYPE_READ_PING,
+  SWITCH_ABC_TYPE_CLOSE
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_api_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_api_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_api_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_api_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_api_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string interface_name {
+    set {
+      freeswitchPINVOKE.switch_api_interface_interface_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_api_interface_interface_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string desc {
+    set {
+      freeswitchPINVOKE.switch_api_interface_desc_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_api_interface_desc_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t function {
+    set {
+      freeswitchPINVOKE.switch_api_interface_function_set(swigCPtr, SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_function_get(swigCPtr);
+      SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_q_const__char_p_switch_core_session_p_switch_stream_handle__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string syntax {
+    set {
+      freeswitchPINVOKE.switch_api_interface_syntax_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_api_interface_syntax_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_api_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_api_interface next {
+    set {
+      freeswitchPINVOKE.switch_api_interface_next_set(swigCPtr, switch_api_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_api_interface_next_get(swigCPtr);
+      switch_api_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_api_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_api_interface() : this(freeswitchPINVOKE.new_switch_api_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_application_flag_enum_t {
+  SAF_NONE = 0,
+  SAF_SUPPORT_NOMEDIA = (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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_application_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_application_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_application_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_application_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_application_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string interface_name {
+    set {
+      freeswitchPINVOKE.switch_application_interface_interface_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_application_interface_interface_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void application_function {
+    set {
+      freeswitchPINVOKE.switch_application_interface_application_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_application_function_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string long_desc {
+    set {
+      freeswitchPINVOKE.switch_application_interface_long_desc_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_application_interface_long_desc_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string short_desc {
+    set {
+      freeswitchPINVOKE.switch_application_interface_short_desc_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_application_interface_short_desc_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string syntax {
+    set {
+      freeswitchPINVOKE.switch_application_interface_syntax_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_application_interface_syntax_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint flags {
+    set {
+      freeswitchPINVOKE.switch_application_interface_flags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_application_interface_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_application_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_application_interface next {
+    set {
+      freeswitchPINVOKE.switch_application_interface_next_set(swigCPtr, switch_application_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_application_interface_next_get(swigCPtr);
+      switch_application_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_application_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_application_interface() : this(freeswitchPINVOKE.new_switch_application_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_app_log : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_app_log(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_app_log obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_app_log() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_app_log(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string app {
+    set {
+      freeswitchPINVOKE.switch_app_log_app_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_app_log_app_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string arg {
+    set {
+      freeswitchPINVOKE.switch_app_log_arg_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_app_log_arg_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_app_log next {
+    set {
+      freeswitchPINVOKE.switch_app_log_next_set(swigCPtr, switch_app_log.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_app_log_next_get(swigCPtr);
+      switch_app_log ret = (cPtr == IntPtr.Zero) ? null : new switch_app_log(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_app_log() : this(freeswitchPINVOKE.new_switch_app_log(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_asr_flag_enum_t {
+  SWITCH_ASR_FLAG_NONE = 0,
+  SWITCH_ASR_FLAG_DATA = (1 << 0),
+  SWITCH_ASR_FLAG_FREE_POOL = (1 << 1),
+  SWITCH_ASR_FLAG_CLOSED = (1 << 2),
+  SWITCH_ASR_FLAG_FIRE_EVENTS = (1 << 3),
+  SWITCH_ASR_FLAG_AUTO_RESUME = (1 << 4)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_asr_handle : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_asr_handle(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_asr_handle obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_asr_handle() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_asr_handle(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public switch_asr_interface asr_interface {
+    set {
+      freeswitchPINVOKE.switch_asr_handle_asr_interface_set(swigCPtr, switch_asr_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_asr_interface_get(swigCPtr);
+      switch_asr_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_asr_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint flags {
+    set {
+      freeswitchPINVOKE.switch_asr_handle_flags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_asr_handle_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string name {
+    set {
+      freeswitchPINVOKE.switch_asr_handle_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_asr_handle_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string codec {
+    set {
+      freeswitchPINVOKE.switch_asr_handle_codec_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_asr_handle_codec_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint rate {
+    set {
+      freeswitchPINVOKE.switch_asr_handle_rate_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_asr_handle_rate_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string grammar {
+    set {
+      freeswitchPINVOKE.switch_asr_handle_grammar_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_asr_handle_grammar_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string param {
+    set {
+      freeswitchPINVOKE.switch_asr_handle_param_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_asr_handle_param_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_apr_pool_t memory_pool {
+    set {
+      freeswitchPINVOKE.switch_asr_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_memory_pool_get(swigCPtr);
+      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void private_info {
+    set {
+      freeswitchPINVOKE.switch_asr_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_handle_private_info_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_asr_handle() : this(freeswitchPINVOKE.new_switch_asr_handle(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_asr_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_asr_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_asr_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_asr_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_asr_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string interface_name {
+    set {
+      freeswitchPINVOKE.switch_asr_interface_interface_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_asr_interface_interface_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t asr_open {
+    set {
+      freeswitchPINVOKE.switch_asr_interface_asr_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_open_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_int_p_q_const__char_p_unsigned_long__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t asr_load_grammar {
+    set {
+      freeswitchPINVOKE.switch_asr_interface_asr_load_grammar_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_load_grammar_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char_p_q_const__char__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t asr_unload_grammar {
+    set {
+      freeswitchPINVOKE.switch_asr_interface_asr_unload_grammar_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_unload_grammar_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_q_const__char__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t asr_close {
+    set {
+      freeswitchPINVOKE.switch_asr_interface_asr_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_close_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t asr_feed {
+    set {
+      freeswitchPINVOKE.switch_asr_interface_asr_feed_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_feed_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_void_unsigned_int_p_unsigned_long__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t asr_resume {
+    set {
+      freeswitchPINVOKE.switch_asr_interface_asr_resume_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_resume_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t asr_pause {
+    set {
+      freeswitchPINVOKE.switch_asr_interface_asr_pause_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_pause_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t asr_check_results {
+    set {
+      freeswitchPINVOKE.switch_asr_interface_asr_check_results_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_check_results_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_unsigned_long__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t asr_get_results {
+    set {
+      freeswitchPINVOKE.switch_asr_interface_asr_get_results_set(swigCPtr, SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_asr_get_results_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_asr_handle_p_p_char_p_unsigned_long__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_asr_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_asr_interface next {
+    set {
+      freeswitchPINVOKE.switch_asr_interface_next_set(swigCPtr, switch_asr_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_asr_interface_next_get(swigCPtr);
+      switch_asr_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_asr_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_asr_interface() : this(freeswitchPINVOKE.new_switch_asr_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_audio_col_t {
+  SWITCH_AUDIO_COL_STR_TITLE = 0x01,
+  SWITCH_AUDIO_COL_STR_COPYRIGHT = 0x02,
+  SWITCH_AUDIO_COL_STR_SOFTWARE = 0x03,
+  SWITCH_AUDIO_COL_STR_ARTIST = 0x04,
+  SWITCH_AUDIO_COL_STR_COMMENT = 0x05,
+  SWITCH_AUDIO_COL_STR_DATE = 0x06
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_audio_resampler_t : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_audio_resampler_t(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_audio_resampler_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_audio_resampler_t() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_audio_resampler_t(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_void resampler {
+    set {
+      freeswitchPINVOKE.switch_audio_resampler_t_resampler_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_resampler_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public int from_rate {
+    set {
+      freeswitchPINVOKE.switch_audio_resampler_t_from_rate_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_audio_resampler_t_from_rate_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int to_rate {
+    set {
+      freeswitchPINVOKE.switch_audio_resampler_t_to_rate_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_audio_resampler_t_to_rate_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public double factor {
+    set {
+      freeswitchPINVOKE.switch_audio_resampler_t_factor_set(swigCPtr, value);
+    } 
+    get {
+      double ret = freeswitchPINVOKE.switch_audio_resampler_t_factor_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public double rfactor {
+    set {
+      freeswitchPINVOKE.switch_audio_resampler_t_rfactor_set(swigCPtr, value);
+    } 
+    get {
+      double ret = freeswitchPINVOKE.switch_audio_resampler_t_rfactor_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_float from {
+    set {
+      freeswitchPINVOKE.switch_audio_resampler_t_from_set(swigCPtr, SWIGTYPE_p_float.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_from_get(swigCPtr);
+      SWIGTYPE_p_float ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public int from_len {
+    set {
+      freeswitchPINVOKE.switch_audio_resampler_t_from_len_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_audio_resampler_t_from_len_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t from_size {
+    set {
+      freeswitchPINVOKE.switch_audio_resampler_t_from_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_audio_resampler_t_from_size_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_float to {
+    set {
+      freeswitchPINVOKE.switch_audio_resampler_t_to_set(swigCPtr, SWIGTYPE_p_float.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_audio_resampler_t_to_get(swigCPtr);
+      SWIGTYPE_p_float ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint to_len {
+    set {
+      freeswitchPINVOKE.switch_audio_resampler_t_to_len_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_audio_resampler_t_to_len_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint to_size {
+    set {
+      freeswitchPINVOKE.switch_audio_resampler_t_to_size_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_audio_resampler_t_to_size_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_audio_resampler_t() : this(freeswitchPINVOKE.new_switch_audio_resampler_t(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_bind_flag_enum_t {
+  SBF_DIAL_ALEG = (1 << 0),
+  SBF_EXEC_ALEG = (1 << 1),
+  SBF_DIAL_BLEG = (1 << 2),
+  SBF_EXEC_BLEG = (1 << 3),
+  SBF_EXEC_OPPOSITE = (1 << 4),
+  SBF_EXEC_SAME = (1 << 5)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_bitpack_mode_t {
+  SWITCH_BITPACK_MODE_RFC3551,
+  SWITCH_BITPACK_MODE_AAL2
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_bitpack_t : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_bitpack_t(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_bitpack_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_bitpack_t() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_bitpack_t(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_unsigned_char buf {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_buf_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_bitpack_t_buf_get(swigCPtr);
+      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint buflen {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_buflen_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_bitpack_t_buflen_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_unsigned_char cur {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_cur_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_bitpack_t_cur_get(swigCPtr);
+      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint bytes {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_bytes_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_bitpack_t_bytes_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint bits_tot {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_bits_tot_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_bitpack_t_bits_tot_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte bits_cur {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_bits_cur_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_bitpack_t_bits_cur_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte bits_rem {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_bits_rem_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_bitpack_t_bits_rem_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte frame_bits {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_frame_bits_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_bitpack_t_frame_bits_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte shiftby {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_shiftby_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_bitpack_t_shiftby_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte this_byte {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_this_byte_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_bitpack_t_this_byte_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte under {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_under_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_bitpack_t_under_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte over {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_over_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_bitpack_t_over_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_bitpack_mode_t mode {
+    set {
+      freeswitchPINVOKE.switch_bitpack_t_mode_set(swigCPtr, (int)value);
+    } 
+    get {
+      switch_bitpack_mode_t ret = (switch_bitpack_mode_t)freeswitchPINVOKE.switch_bitpack_t_mode_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_bitpack_t() : this(freeswitchPINVOKE.new_switch_bitpack_t(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_bool_t {
+  SWITCH_FALSE = 0,
+  SWITCH_TRUE = 1
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_call_cause_t {
+  SWITCH_CAUSE_NONE = 0,
+  SWITCH_CAUSE_UNALLOCATED_NUMBER = 1,
+  SWITCH_CAUSE_NO_ROUTE_TRANSIT_NET = 2,
+  SWITCH_CAUSE_NO_ROUTE_DESTINATION = 3,
+  SWITCH_CAUSE_CHANNEL_UNACCEPTABLE = 6,
+  SWITCH_CAUSE_CALL_AWARDED_DELIVERED = 7,
+  SWITCH_CAUSE_NORMAL_CLEARING = 16,
+  SWITCH_CAUSE_USER_BUSY = 17,
+  SWITCH_CAUSE_NO_USER_RESPONSE = 18,
+  SWITCH_CAUSE_NO_ANSWER = 19,
+  SWITCH_CAUSE_SUBSCRIBER_ABSENT = 20,
+  SWITCH_CAUSE_CALL_REJECTED = 21,
+  SWITCH_CAUSE_NUMBER_CHANGED = 22,
+  SWITCH_CAUSE_REDIRECTION_TO_NEW_DESTINATION = 23,
+  SWITCH_CAUSE_EXCHANGE_ROUTING_ERROR = 25,
+  SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER = 27,
+  SWITCH_CAUSE_INVALID_NUMBER_FORMAT = 28,
+  SWITCH_CAUSE_FACILITY_REJECTED = 29,
+  SWITCH_CAUSE_RESPONSE_TO_STATUS_ENQUIRY = 30,
+  SWITCH_CAUSE_NORMAL_UNSPECIFIED = 31,
+  SWITCH_CAUSE_NORMAL_CIRCUIT_CONGESTION = 34,
+  SWITCH_CAUSE_NETWORK_OUT_OF_ORDER = 38,
+  SWITCH_CAUSE_NORMAL_TEMPORARY_FAILURE = 41,
+  SWITCH_CAUSE_SWITCH_CONGESTION = 42,
+  SWITCH_CAUSE_ACCESS_INFO_DISCARDED = 43,
+  SWITCH_CAUSE_REQUESTED_CHAN_UNAVAIL = 44,
+  SWITCH_CAUSE_PRE_EMPTED = 45,
+  SWITCH_CAUSE_FACILITY_NOT_SUBSCRIBED = 50,
+  SWITCH_CAUSE_OUTGOING_CALL_BARRED = 52,
+  SWITCH_CAUSE_INCOMING_CALL_BARRED = 54,
+  SWITCH_CAUSE_BEARERCAPABILITY_NOTAUTH = 57,
+  SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL = 58,
+  SWITCH_CAUSE_SERVICE_UNAVAILABLE = 63,
+  SWITCH_CAUSE_BEARERCAPABILITY_NOTIMPL = 65,
+  SWITCH_CAUSE_CHAN_NOT_IMPLEMENTED = 66,
+  SWITCH_CAUSE_FACILITY_NOT_IMPLEMENTED = 69,
+  SWITCH_CAUSE_SERVICE_NOT_IMPLEMENTED = 79,
+  SWITCH_CAUSE_INVALID_CALL_REFERENCE = 81,
+  SWITCH_CAUSE_INCOMPATIBLE_DESTINATION = 88,
+  SWITCH_CAUSE_INVALID_MSG_UNSPECIFIED = 95,
+  SWITCH_CAUSE_MANDATORY_IE_MISSING = 96,
+  SWITCH_CAUSE_MESSAGE_TYPE_NONEXIST = 97,
+  SWITCH_CAUSE_WRONG_MESSAGE = 98,
+  SWITCH_CAUSE_IE_NONEXIST = 99,
+  SWITCH_CAUSE_INVALID_IE_CONTENTS = 100,
+  SWITCH_CAUSE_WRONG_CALL_STATE = 101,
+  SWITCH_CAUSE_RECOVERY_ON_TIMER_EXPIRE = 102,
+  SWITCH_CAUSE_MANDATORY_IE_LENGTH_ERROR = 103,
+  SWITCH_CAUSE_PROTOCOL_ERROR = 111,
+  SWITCH_CAUSE_INTERWORKING = 127,
+  SWITCH_CAUSE_SUCCESS = 142,
+  SWITCH_CAUSE_ORIGINATOR_CANCEL = 487,
+  SWITCH_CAUSE_CRASH = 500,
+  SWITCH_CAUSE_SYSTEM_SHUTDOWN = 501,
+  SWITCH_CAUSE_LOSE_RACE = 502,
+  SWITCH_CAUSE_MANAGER_REQUEST = 503,
+  SWITCH_CAUSE_BLIND_TRANSFER = 600,
+  SWITCH_CAUSE_ATTENDED_TRANSFER = 601,
+  SWITCH_CAUSE_ALLOTTED_TIMEOUT = 602,
+  SWITCH_CAUSE_USER_CHALLENGE = 603,
+  SWITCH_CAUSE_MEDIA_TIMEOUT = 604,
+  SWITCH_CAUSE_PICKED_OFF = 605,
+  SWITCH_CAUSE_USER_NOT_REGISTERED = 606
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_caller_application : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_caller_application(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_caller_application obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_caller_application() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_caller_application(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string application_name {
+    set {
+      freeswitchPINVOKE.switch_caller_application_application_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_application_application_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string application_data {
+    set {
+      freeswitchPINVOKE.switch_caller_application_application_data_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_application_application_data_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void application_function {
+    set {
+      freeswitchPINVOKE.switch_caller_application_application_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_application_application_function_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__char__void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_caller_application next {
+    set {
+      freeswitchPINVOKE.switch_caller_application_next_set(swigCPtr, switch_caller_application.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_application_next_get(swigCPtr);
+      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_caller_application() : this(freeswitchPINVOKE.new_switch_caller_application(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_caller_extension : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_caller_extension(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_caller_extension obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_caller_extension() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_caller_extension(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string extension_name {
+    set {
+      freeswitchPINVOKE.switch_caller_extension_extension_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_extension_extension_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string extension_number {
+    set {
+      freeswitchPINVOKE.switch_caller_extension_extension_number_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_extension_extension_number_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_caller_application current_application {
+    set {
+      freeswitchPINVOKE.switch_caller_extension_current_application_set(swigCPtr, switch_caller_application.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_current_application_get(swigCPtr);
+      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_caller_application last_application {
+    set {
+      freeswitchPINVOKE.switch_caller_extension_last_application_set(swigCPtr, switch_caller_application.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_last_application_get(swigCPtr);
+      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_caller_application applications {
+    set {
+      freeswitchPINVOKE.switch_caller_extension_applications_set(swigCPtr, switch_caller_application.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_applications_get(swigCPtr);
+      switch_caller_application ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_application(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_caller_profile children {
+    set {
+      freeswitchPINVOKE.switch_caller_extension_children_set(swigCPtr, switch_caller_profile.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_children_get(swigCPtr);
+      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_caller_extension next {
+    set {
+      freeswitchPINVOKE.switch_caller_extension_next_set(swigCPtr, switch_caller_extension.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_extension_next_get(swigCPtr);
+      switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_caller_extension() : this(freeswitchPINVOKE.new_switch_caller_extension(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_caller_profile : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_caller_profile(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_caller_profile obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_caller_profile() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_caller_profile(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string username {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_username_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_username_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string dialplan {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_dialplan_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_dialplan_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string caller_id_name {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_caller_id_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_caller_id_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string caller_id_number {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_caller_id_number_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_caller_id_number_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte caller_ton {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_caller_ton_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_caller_profile_caller_ton_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte caller_numplan {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_caller_numplan_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_caller_profile_caller_numplan_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string network_addr {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_network_addr_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_network_addr_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string ani {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_ani_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_ani_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte ani_ton {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_ani_ton_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_caller_profile_ani_ton_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte ani_numplan {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_ani_numplan_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_caller_profile_ani_numplan_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string aniii {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_aniii_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_aniii_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string rdnis {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_rdnis_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_rdnis_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte rdnis_ton {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_rdnis_ton_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_caller_profile_rdnis_ton_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte rdnis_numplan {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_rdnis_numplan_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_caller_profile_rdnis_numplan_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string destination_number {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_destination_number_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_destination_number_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte destination_number_ton {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_destination_number_ton_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_caller_profile_destination_number_ton_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte destination_number_numplan {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_destination_number_numplan_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_caller_profile_destination_number_numplan_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string source {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_source_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_source_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string chan_name {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_chan_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_chan_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string uuid {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_uuid_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_uuid_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string context {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_context_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_context_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string profile_index {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_profile_index_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_caller_profile_profile_index_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint flags {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_flags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_caller_profile_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_caller_profile originator_caller_profile {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_originator_caller_profile_set(swigCPtr, switch_caller_profile.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_originator_caller_profile_get(swigCPtr);
+      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_caller_profile originatee_caller_profile {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_originatee_caller_profile_set(swigCPtr, switch_caller_profile.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_originatee_caller_profile_get(swigCPtr);
+      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_channel_timetable times {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_times_set(swigCPtr, switch_channel_timetable.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_times_get(swigCPtr);
+      switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_caller_extension caller_extension {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_caller_extension_set(swigCPtr, switch_caller_extension.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_caller_extension_get(swigCPtr);
+      switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_extension(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_apr_pool_t pool {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_pool_get(swigCPtr);
+      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_caller_profile next {
+    set {
+      freeswitchPINVOKE.switch_caller_profile_next_set(swigCPtr, switch_caller_profile.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_caller_profile_next_get(swigCPtr);
+      switch_caller_profile ret = (cPtr == IntPtr.Zero) ? null : new switch_caller_profile(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_caller_profile() : this(freeswitchPINVOKE.new_switch_caller_profile(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_caller_profile_flag_enum_t {
+  SWITCH_CPF_SCREEN = (1 << 0),
+  SWITCH_CPF_HIDE_NAME = (1 << 1),
+  SWITCH_CPF_HIDE_NUMBER = (1 << 2)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_channel_flag_enum_t {
+  CF_ANSWERED = (1 << 0),
+  CF_OUTBOUND = (1 << 1),
+  CF_EARLY_MEDIA = (1 << 2),
+  CF_ORIGINATOR = (1 << 3),
+  CF_TRANSFER = (1 << 4),
+  CF_ACCEPT_CNG = (1 << 5),
+  CF_WAIT_FOR_ME = (1 << 6),
+  CF_BRIDGED = (1 << 7),
+  CF_HOLD = (1 << 8),
+  CF_SERVICE = (1 << 9),
+  CF_TAGGED = (1 << 10),
+  CF_WINNER = (1 << 11),
+  CF_CONTROLLED = (1 << 12),
+  CF_PROXY_MODE = (1 << 13),
+  CF_SUSPEND = (1 << 14),
+  CF_EVENT_PARSE = (1 << 15),
+  CF_REPEAT_STATE = (1 << 16),
+  CF_GEN_RINGBACK = (1 << 17),
+  CF_RING_READY = (1 << 18),
+  CF_BREAK = (1 << 19),
+  CF_BROADCAST = (1 << 20),
+  CF_UNICAST = (1 << 21),
+  CF_VIDEO = (1 << 22),
+  CF_EVENT_LOCK = (1 << 23),
+  CF_RESET = (1 << 24),
+  CF_ORIGINATING = (1 << 25),
+  CF_STOP_BROADCAST = (1 << 26),
+  CF_PROXY_MEDIA = (1 << 27),
+  CF_INNER_BRIDGE = (1 << 28),
+  CF_REQ_MEDIA = (1 << 29),
+  CF_VERBOSE_EVENTS = (1 << 30)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_channel_state_t {
+  CS_NEW,
+  CS_INIT,
+  CS_ROUTING,
+  CS_SOFT_EXECUTE,
+  CS_EXECUTE,
+  CS_EXCHANGE_MEDIA,
+  CS_PARK,
+  CS_CONSUME_MEDIA,
+  CS_HIBERNATE,
+  CS_RESET,
+  CS_HANGUP,
+  CS_DONE,
+  CS_NONE
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_channel_timetable : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_channel_timetable(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_channel_timetable obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_channel_timetable() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_channel_timetable(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_switch_time_t profile_created {
+    set {
+      freeswitchPINVOKE.switch_channel_timetable_profile_created_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_profile_created_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_time_t created {
+    set {
+      freeswitchPINVOKE.switch_channel_timetable_created_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_created_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_time_t answered {
+    set {
+      freeswitchPINVOKE.switch_channel_timetable_answered_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_answered_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_time_t progress {
+    set {
+      freeswitchPINVOKE.switch_channel_timetable_progress_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_progress_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_time_t progress_media {
+    set {
+      freeswitchPINVOKE.switch_channel_timetable_progress_media_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_progress_media_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_time_t hungup {
+    set {
+      freeswitchPINVOKE.switch_channel_timetable_hungup_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_hungup_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_time_t transferred {
+    set {
+      freeswitchPINVOKE.switch_channel_timetable_transferred_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_channel_timetable_transferred_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public switch_channel_timetable next {
+    set {
+      freeswitchPINVOKE.switch_channel_timetable_next_set(swigCPtr, switch_channel_timetable.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_channel_timetable_next_get(swigCPtr);
+      switch_channel_timetable ret = (cPtr == IntPtr.Zero) ? null : new switch_channel_timetable(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_channel_timetable() : this(freeswitchPINVOKE.new_switch_channel_timetable(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_chat_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_chat_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_chat_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_chat_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_chat_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string interface_name {
+    set {
+      freeswitchPINVOKE.switch_chat_interface_interface_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_chat_interface_interface_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t chat_send {
+    set {
+      freeswitchPINVOKE.switch_chat_interface_chat_send_set(swigCPtr, SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_chat_send_get(swigCPtr);
+      SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_char_p_char_p_char_p_char_p_char_p_char__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_chat_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_chat_interface next {
+    set {
+      freeswitchPINVOKE.switch_chat_interface_next_set(swigCPtr, switch_chat_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_chat_interface_next_get(swigCPtr);
+      switch_chat_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_chat_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_chat_interface() : this(freeswitchPINVOKE.new_switch_chat_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_codec : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_codec(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_codec obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_codec() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_codec(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public switch_codec_interface codec_interface {
+    set {
+      freeswitchPINVOKE.switch_codec_codec_interface_set(swigCPtr, switch_codec_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_codec_interface_get(swigCPtr);
+      switch_codec_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_codec_implementation implementation {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_set(swigCPtr, switch_codec_implementation.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_get(swigCPtr);
+      switch_codec_implementation ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string fmtp_in {
+    set {
+      freeswitchPINVOKE.switch_codec_fmtp_in_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_codec_fmtp_in_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string fmtp_out {
+    set {
+      freeswitchPINVOKE.switch_codec_fmtp_out_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_codec_fmtp_out_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_codec_settings codec_settings {
+    set {
+      freeswitchPINVOKE.switch_codec_codec_settings_set(swigCPtr, switch_codec_settings.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_codec_settings_get(swigCPtr);
+      switch_codec_settings ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_settings(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint flags {
+    set {
+      freeswitchPINVOKE.switch_codec_flags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_codec_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_apr_pool_t memory_pool {
+    set {
+      freeswitchPINVOKE.switch_codec_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_memory_pool_get(swigCPtr);
+      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void private_info {
+    set {
+      freeswitchPINVOKE.switch_codec_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_private_info_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public byte agreed_pt {
+    set {
+      freeswitchPINVOKE.switch_codec_agreed_pt_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_codec_agreed_pt_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_codec() : this(freeswitchPINVOKE.new_switch_codec(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_codec_flag_enum_t {
+  SWITCH_CODEC_FLAG_ENCODE = (1 << 0),
+  SWITCH_CODEC_FLAG_DECODE = (1 << 1),
+  SWITCH_CODEC_FLAG_SILENCE_START = (1 << 2),
+  SWITCH_CODEC_FLAG_SILENCE_STOP = (1 << 3),
+  SWITCH_CODEC_FLAG_SILENCE = (1 << 4),
+  SWITCH_CODEC_FLAG_FREE_POOL = (1 << 5),
+  SWITCH_CODEC_FLAG_AAL2 = (1 << 6),
+  SWITCH_CODEC_FLAG_PASSTHROUGH = (1 << 7)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_codec_implementation : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_codec_implementation(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_codec_implementation obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_codec_implementation() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_codec_implementation(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public switch_codec_type_t codec_type {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_codec_type_set(swigCPtr, (int)value);
+    } 
+    get {
+      switch_codec_type_t ret = (switch_codec_type_t)freeswitchPINVOKE.switch_codec_implementation_codec_type_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte ianacode {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_ianacode_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_codec_implementation_ianacode_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string iananame {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_iananame_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_codec_implementation_iananame_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string fmtp {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_fmtp_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_codec_implementation_fmtp_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint samples_per_second {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_samples_per_second_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_codec_implementation_samples_per_second_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint actual_samples_per_second {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_actual_samples_per_second_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_codec_implementation_actual_samples_per_second_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int bits_per_second {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_bits_per_second_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_implementation_bits_per_second_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int microseconds_per_frame {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_microseconds_per_frame_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_implementation_microseconds_per_frame_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint samples_per_frame {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_samples_per_frame_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_codec_implementation_samples_per_frame_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint bytes_per_frame {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_bytes_per_frame_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_codec_implementation_bytes_per_frame_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint encoded_bytes_per_frame {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_encoded_bytes_per_frame_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_codec_implementation_encoded_bytes_per_frame_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte number_of_channels {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_number_of_channels_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_codec_implementation_number_of_channels_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int pref_frames_per_packet {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_pref_frames_per_packet_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_implementation_pref_frames_per_packet_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int max_frames_per_packet {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_max_frames_per_packet_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_implementation_max_frames_per_packet_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t init {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_init_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_init_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_unsigned_long_p_q_const__switch_codec_settings__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t encode {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_encode_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_encode_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t decode {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_decode_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_decode_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec_p_switch_codec_p_void_unsigned_long_unsigned_long_p_void_p_unsigned_long_p_unsigned_long_p_unsigned_int__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_codec__switch_status_t destroy {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_destroy_set(swigCPtr, SWIGTYPE_p_f_p_switch_codec__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_destroy_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_codec__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_codec__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint codec_id {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_codec_id_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_codec_implementation_codec_id_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_codec_implementation next {
+    set {
+      freeswitchPINVOKE.switch_codec_implementation_next_set(swigCPtr, switch_codec_implementation.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_implementation_next_get(swigCPtr);
+      switch_codec_implementation ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_codec_implementation() : this(freeswitchPINVOKE.new_switch_codec_implementation(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_codec_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_codec_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_codec_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_codec_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_codec_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string interface_name {
+    set {
+      freeswitchPINVOKE.switch_codec_interface_interface_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_codec_interface_interface_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_codec_implementation implementations {
+    set {
+      freeswitchPINVOKE.switch_codec_interface_implementations_set(swigCPtr, switch_codec_implementation.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_implementations_get(swigCPtr);
+      switch_codec_implementation ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_implementation(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint codec_id {
+    set {
+      freeswitchPINVOKE.switch_codec_interface_codec_id_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_codec_interface_codec_id_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_codec_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_codec_interface next {
+    set {
+      freeswitchPINVOKE.switch_codec_interface_next_set(swigCPtr, switch_codec_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_codec_interface_next_get(swigCPtr);
+      switch_codec_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_codec_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_codec_interface() : this(freeswitchPINVOKE.new_switch_codec_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_codec_settings : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_codec_settings(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_codec_settings obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_codec_settings() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_codec_settings(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public int quality {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_quality_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_settings_quality_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int complexity {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_complexity_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_settings_complexity_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int enhancement {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_enhancement_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_settings_enhancement_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int vad {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_vad_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_settings_vad_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int vbr {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_vbr_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_settings_vbr_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float vbr_quality {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_vbr_quality_set(swigCPtr, value);
+    } 
+    get {
+      float ret = freeswitchPINVOKE.switch_codec_settings_vbr_quality_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int abr {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_abr_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_settings_abr_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int dtx {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_dtx_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_settings_dtx_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int preproc {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_preproc_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_settings_preproc_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int pp_vad {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_pp_vad_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_settings_pp_vad_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int pp_agc {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_pp_agc_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_settings_pp_agc_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float pp_agc_level {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_pp_agc_level_set(swigCPtr, value);
+    } 
+    get {
+      float ret = freeswitchPINVOKE.switch_codec_settings_pp_agc_level_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int pp_denoise {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_pp_denoise_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_settings_pp_denoise_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int pp_dereverb {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_pp_dereverb_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_codec_settings_pp_dereverb_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float pp_dereverb_decay {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_pp_dereverb_decay_set(swigCPtr, value);
+    } 
+    get {
+      float ret = freeswitchPINVOKE.switch_codec_settings_pp_dereverb_decay_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public float pp_dereverb_level {
+    set {
+      freeswitchPINVOKE.switch_codec_settings_pp_dereverb_level_set(swigCPtr, value);
+    } 
+    get {
+      float ret = freeswitchPINVOKE.switch_codec_settings_pp_dereverb_level_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_codec_settings() : this(freeswitchPINVOKE.new_switch_codec_settings(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_codec_type_t {
+  SWITCH_CODEC_TYPE_AUDIO,
+  SWITCH_CODEC_TYPE_VIDEO,
+  SWITCH_CODEC_TYPE_T38,
+  SWITCH_CODEC_TYPE_APP
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_config : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_config(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_config obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_config() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_config(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_FILE file {
+    set {
+      freeswitchPINVOKE.switch_config_file_set(swigCPtr, SWIGTYPE_p_FILE.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_config_file_get(swigCPtr);
+      SWIGTYPE_p_FILE ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_FILE(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string path {
+    set {
+      freeswitchPINVOKE.switch_config_path_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_config_path_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string category {
+    set {
+      freeswitchPINVOKE.switch_config_category_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_config_category_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string section {
+    set {
+      freeswitchPINVOKE.switch_config_section_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_config_section_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string buf {
+    set {
+      freeswitchPINVOKE.switch_config_buf_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_config_buf_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int lineno {
+    set {
+      freeswitchPINVOKE.switch_config_lineno_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_config_lineno_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int catno {
+    set {
+      freeswitchPINVOKE.switch_config_catno_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_config_catno_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int sectno {
+    set {
+      freeswitchPINVOKE.switch_config_sectno_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_config_sectno_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int lockto {
+    set {
+      freeswitchPINVOKE.switch_config_lockto_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_config_lockto_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_config() : this(freeswitchPINVOKE.new_switch_config(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_core_flag_enum_t {
+  SCF_NONE = 0,
+  SCF_USE_SQL = (1 << 0),
+  SCF_NO_NEW_SESSIONS = (1 << 1),
+  SCF_SHUTTING_DOWN = (1 << 2),
+  SCF_CRASH_PROT = (1 << 3),
+  SCF_VG = (1 << 4),
+  SCF_RESTART = (1 << 5),
+  SCF_SHUTDOWN_REQUESTED = (1 << 6)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_core_session_message : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_core_session_message(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_core_session_message obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_core_session_message() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_core_session_message(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string from {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_from_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_core_session_message_from_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_core_session_message_types_t message_id {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_message_id_set(swigCPtr, (int)value);
+    } 
+    get {
+      switch_core_session_message_types_t ret = (switch_core_session_message_types_t)freeswitchPINVOKE.switch_core_session_message_message_id_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int numeric_arg {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_numeric_arg_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_core_session_message_numeric_arg_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string string_arg {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_string_arg_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_core_session_message_string_arg_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t string_arg_size {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_string_arg_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_string_arg_size_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void pointer_arg {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_pointer_arg_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_core_session_message_pointer_arg_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t pointer_arg_size {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_pointer_arg_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_pointer_arg_size_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public int numeric_reply {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_numeric_reply_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_core_session_message_numeric_reply_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string string_reply {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_string_reply_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_core_session_message_string_reply_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t string_reply_size {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_string_reply_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_string_reply_size_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void pointer_reply {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_pointer_reply_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_core_session_message_pointer_reply_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t pointer_reply_size {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_pointer_reply_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_core_session_message_pointer_reply_size_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public uint flags {
+    set {
+      freeswitchPINVOKE.switch_core_session_message_flags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_core_session_message_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_core_session_message() : this(freeswitchPINVOKE.new_switch_core_session_message(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_core_session_message_flag_enum_t {
+  SCSMF_DYNAMIC = (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_core_session_message_types_t {
+  SWITCH_MESSAGE_REDIRECT_AUDIO,
+  SWITCH_MESSAGE_TRANSMIT_TEXT,
+  SWITCH_MESSAGE_INDICATE_ANSWER,
+  SWITCH_MESSAGE_INDICATE_PROGRESS,
+  SWITCH_MESSAGE_INDICATE_BRIDGE,
+  SWITCH_MESSAGE_INDICATE_UNBRIDGE,
+  SWITCH_MESSAGE_INDICATE_TRANSFER,
+  SWITCH_MESSAGE_INDICATE_RINGING,
+  SWITCH_MESSAGE_INDICATE_MEDIA,
+  SWITCH_MESSAGE_INDICATE_NOMEDIA,
+  SWITCH_MESSAGE_INDICATE_HOLD,
+  SWITCH_MESSAGE_INDICATE_UNHOLD,
+  SWITCH_MESSAGE_INDICATE_REDIRECT,
+  SWITCH_MESSAGE_INDICATE_RESPOND,
+  SWITCH_MESSAGE_INDICATE_BROADCAST,
+  SWITCH_MESSAGE_INDICATE_MEDIA_REDIRECT,
+  SWITCH_MESSAGE_INDICATE_DEFLECT,
+  SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ,
+  SWITCH_MESSAGE_INDICATE_DISPLAY,
+  SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_core_thread_session : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_core_thread_session(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_core_thread_session obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_core_thread_session() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_core_thread_session(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public int running {
+    set {
+      freeswitchPINVOKE.switch_core_thread_session_running_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_core_thread_session_running_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_mutex_t mutex {
+    set {
+      freeswitchPINVOKE.switch_core_thread_session_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_mutex_get(swigCPtr);
+      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_void objs {
+    set {
+      freeswitchPINVOKE.switch_core_thread_session_objs_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_objs_get(swigCPtr);
+      SWIGTYPE_p_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t input_callback {
+    set {
+      freeswitchPINVOKE.switch_core_thread_session_input_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_input_callback_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_apr_pool_t pool {
+    set {
+      freeswitchPINVOKE.switch_core_thread_session_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_core_thread_session_pool_get(swigCPtr);
+      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_core_thread_session() : this(freeswitchPINVOKE.new_switch_core_thread_session(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_core_time_duration : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_core_time_duration(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_core_time_duration obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_core_time_duration() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_core_time_duration(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public uint mms {
+    set {
+      freeswitchPINVOKE.switch_core_time_duration_mms_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_core_time_duration_mms_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint ms {
+    set {
+      freeswitchPINVOKE.switch_core_time_duration_ms_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_core_time_duration_ms_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint sec {
+    set {
+      freeswitchPINVOKE.switch_core_time_duration_sec_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_core_time_duration_sec_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint min {
+    set {
+      freeswitchPINVOKE.switch_core_time_duration_min_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_core_time_duration_min_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint hr {
+    set {
+      freeswitchPINVOKE.switch_core_time_duration_hr_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_core_time_duration_hr_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint day {
+    set {
+      freeswitchPINVOKE.switch_core_time_duration_day_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_core_time_duration_day_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint yr {
+    set {
+      freeswitchPINVOKE.switch_core_time_duration_yr_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_core_time_duration_yr_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_core_time_duration() : this(freeswitchPINVOKE.new_switch_core_time_duration(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_dialplan_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_dialplan_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_dialplan_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_dialplan_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_dialplan_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string interface_name {
+    set {
+      freeswitchPINVOKE.switch_dialplan_interface_interface_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_dialplan_interface_interface_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension hunt_function {
+    set {
+      freeswitchPINVOKE.switch_dialplan_interface_hunt_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_hunt_function_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_t_p_void_p_switch_caller_profile_t__p_switch_caller_extension(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_dialplan_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_dialplan_interface next {
+    set {
+      freeswitchPINVOKE.switch_dialplan_interface_next_set(swigCPtr, switch_dialplan_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_dialplan_interface_next_get(swigCPtr);
+      switch_dialplan_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_dialplan_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_dialplan_interface() : this(freeswitchPINVOKE.new_switch_dialplan_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_directories : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_directories(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_directories obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_directories() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_directories(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string base_dir {
+    set {
+      freeswitchPINVOKE.switch_directories_base_dir_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_directories_base_dir_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string mod_dir {
+    set {
+      freeswitchPINVOKE.switch_directories_mod_dir_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_directories_mod_dir_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string conf_dir {
+    set {
+      freeswitchPINVOKE.switch_directories_conf_dir_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_directories_conf_dir_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string log_dir {
+    set {
+      freeswitchPINVOKE.switch_directories_log_dir_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_directories_log_dir_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string db_dir {
+    set {
+      freeswitchPINVOKE.switch_directories_db_dir_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_directories_db_dir_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string script_dir {
+    set {
+      freeswitchPINVOKE.switch_directories_script_dir_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_directories_script_dir_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string temp_dir {
+    set {
+      freeswitchPINVOKE.switch_directories_temp_dir_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_directories_temp_dir_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string htdocs_dir {
+    set {
+      freeswitchPINVOKE.switch_directories_htdocs_dir_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_directories_htdocs_dir_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string grammar_dir {
+    set {
+      freeswitchPINVOKE.switch_directories_grammar_dir_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_directories_grammar_dir_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string storage_dir {
+    set {
+      freeswitchPINVOKE.switch_directories_storage_dir_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_directories_storage_dir_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_directories() : this(freeswitchPINVOKE.new_switch_directories(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_directory_flag_enum_t {
+  SWITCH_DIRECTORY_FLAG_FREE_POOL = (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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_directory_handle : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_directory_handle(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_directory_handle obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_directory_handle() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_directory_handle(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public switch_directory_interface directory_interface {
+    set {
+      freeswitchPINVOKE.switch_directory_handle_directory_interface_set(swigCPtr, switch_directory_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_directory_interface_get(swigCPtr);
+      switch_directory_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_directory_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint flags {
+    set {
+      freeswitchPINVOKE.switch_directory_handle_flags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_directory_handle_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_apr_pool_t memory_pool {
+    set {
+      freeswitchPINVOKE.switch_directory_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_memory_pool_get(swigCPtr);
+      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void private_info {
+    set {
+      freeswitchPINVOKE.switch_directory_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_directory_handle_private_info_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_directory_handle() : this(freeswitchPINVOKE.new_switch_directory_handle(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_directory_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_directory_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_directory_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_directory_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_directory_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string interface_name {
+    set {
+      freeswitchPINVOKE.switch_directory_interface_interface_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_directory_interface_interface_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t directory_open {
+    set {
+      freeswitchPINVOKE.switch_directory_interface_directory_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_open_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char_p_char__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t directory_close {
+    set {
+      freeswitchPINVOKE.switch_directory_interface_directory_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_close_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t directory_query {
+    set {
+      freeswitchPINVOKE.switch_directory_interface_directory_query_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_query_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle_p_char_p_char__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t directory_next {
+    set {
+      freeswitchPINVOKE.switch_directory_interface_directory_next_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_next_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t directory_next_pair {
+    set {
+      freeswitchPINVOKE.switch_directory_interface_directory_next_pair_set(swigCPtr, SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_directory_next_pair_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_directory_handle_p_p_char_p_p_char__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_directory_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_directory_interface next {
+    set {
+      freeswitchPINVOKE.switch_directory_interface_next_set(swigCPtr, switch_directory_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_directory_interface_next_get(swigCPtr);
+      switch_directory_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_directory_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_directory_interface() : this(freeswitchPINVOKE.new_switch_directory_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_dtmf_direction_t {
+  SWITCH_DTMF_RECV = 0,
+  SWITCH_DTMF_SEND = 1
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_dtmf_t : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_dtmf_t(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_dtmf_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_dtmf_t() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_dtmf_t(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public char digit {
+    set {
+      freeswitchPINVOKE.switch_dtmf_t_digit_set(swigCPtr, value);
+    } 
+    get {
+      char ret = freeswitchPINVOKE.switch_dtmf_t_digit_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint duration {
+    set {
+      freeswitchPINVOKE.switch_dtmf_t_duration_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_dtmf_t_duration_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_dtmf_t() : this(freeswitchPINVOKE.new_switch_dtmf_t(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_eavesdrop_flag_enum_t {
+  ED_MUX_READ = (1 << 0),
+  ED_MUX_WRITE = (1 << 1),
+  ED_DTMF = (1 << 2)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_endpoint_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_endpoint_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_endpoint_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_endpoint_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_endpoint_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string interface_name {
+    set {
+      freeswitchPINVOKE.switch_endpoint_interface_interface_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_endpoint_interface_interface_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_io_routines io_routines {
+    set {
+      freeswitchPINVOKE.switch_endpoint_interface_io_routines_set(swigCPtr, switch_io_routines.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_io_routines_get(swigCPtr);
+      switch_io_routines ret = (cPtr == IntPtr.Zero) ? null : new switch_io_routines(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_state_handler_table state_handler {
+    set {
+      freeswitchPINVOKE.switch_endpoint_interface_state_handler_set(swigCPtr, switch_state_handler_table.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_state_handler_get(swigCPtr);
+      switch_state_handler_table ret = (cPtr == IntPtr.Zero) ? null : new switch_state_handler_table(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void private_info {
+    set {
+      freeswitchPINVOKE.switch_endpoint_interface_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_private_info_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_endpoint_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_endpoint_interface next {
+    set {
+      freeswitchPINVOKE.switch_endpoint_interface_next_set(swigCPtr, switch_endpoint_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_endpoint_interface_next_get(swigCPtr);
+      switch_endpoint_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_endpoint_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_endpoint_interface() : this(freeswitchPINVOKE.new_switch_endpoint_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_event : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_event(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_event obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_event() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_event(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public switch_event_types_t event_id {
+    set {
+      freeswitchPINVOKE.switch_event_event_id_set(swigCPtr, (int)value);
+    } 
+    get {
+      switch_event_types_t ret = (switch_event_types_t)freeswitchPINVOKE.switch_event_event_id_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_priority_t priority {
+    set {
+      freeswitchPINVOKE.switch_event_priority_set(swigCPtr, (int)value);
+    } 
+    get {
+      switch_priority_t ret = (switch_priority_t)freeswitchPINVOKE.switch_event_priority_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string owner {
+    set {
+      freeswitchPINVOKE.switch_event_owner_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_event_owner_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string subclass_name {
+    set {
+      freeswitchPINVOKE.switch_event_subclass_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_event_subclass_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_event_header headers {
+    set {
+      freeswitchPINVOKE.switch_event_headers_set(swigCPtr, switch_event_header.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_event_headers_get(swigCPtr);
+      switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_event_header last_header {
+    set {
+      freeswitchPINVOKE.switch_event_last_header_set(swigCPtr, switch_event_header.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_event_last_header_get(swigCPtr);
+      switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string body {
+    set {
+      freeswitchPINVOKE.switch_event_body_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_event_body_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void bind_user_data {
+    set {
+      freeswitchPINVOKE.switch_event_bind_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_event_bind_user_data_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void event_user_data {
+    set {
+      freeswitchPINVOKE.switch_event_event_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_event_event_user_data_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint key {
+    set {
+      freeswitchPINVOKE.switch_event_key_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_event_key_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_event next {
+    set {
+      freeswitchPINVOKE.switch_event_next_set(swigCPtr, switch_event.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_event_next_get(swigCPtr);
+      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_event() : this(freeswitchPINVOKE.new_switch_event(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_event_header : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_event_header(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_event_header obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_event_header() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_event_header(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string name {
+    set {
+      freeswitchPINVOKE.switch_event_header_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_event_header_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string value {
+    set {
+      freeswitchPINVOKE.switch_event_header_value_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_event_header_value_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_event_header next {
+    set {
+      freeswitchPINVOKE.switch_event_header_next_set(swigCPtr, switch_event_header.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_event_header_next_get(swigCPtr);
+      switch_event_header ret = (cPtr == IntPtr.Zero) ? null : new switch_event_header(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_event_header() : this(freeswitchPINVOKE.new_switch_event_header(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_event_types_t {
+  SWITCH_EVENT_CUSTOM,
+  SWITCH_EVENT_CHANNEL_CREATE,
+  SWITCH_EVENT_CHANNEL_DESTROY,
+  SWITCH_EVENT_CHANNEL_STATE,
+  SWITCH_EVENT_CHANNEL_ANSWER,
+  SWITCH_EVENT_CHANNEL_HANGUP,
+  SWITCH_EVENT_CHANNEL_EXECUTE,
+  SWITCH_EVENT_CHANNEL_EXECUTE_COMPLETE,
+  SWITCH_EVENT_CHANNEL_BRIDGE,
+  SWITCH_EVENT_CHANNEL_UNBRIDGE,
+  SWITCH_EVENT_CHANNEL_PROGRESS,
+  SWITCH_EVENT_CHANNEL_PROGRESS_MEDIA,
+  SWITCH_EVENT_CHANNEL_OUTGOING,
+  SWITCH_EVENT_CHANNEL_PARK,
+  SWITCH_EVENT_CHANNEL_UNPARK,
+  SWITCH_EVENT_CHANNEL_APPLICATION,
+  SWITCH_EVENT_CHANNEL_ORIGINATE,
+  SWITCH_EVENT_API,
+  SWITCH_EVENT_LOG,
+  SWITCH_EVENT_INBOUND_CHAN,
+  SWITCH_EVENT_OUTBOUND_CHAN,
+  SWITCH_EVENT_STARTUP,
+  SWITCH_EVENT_SHUTDOWN,
+  SWITCH_EVENT_PUBLISH,
+  SWITCH_EVENT_UNPUBLISH,
+  SWITCH_EVENT_TALK,
+  SWITCH_EVENT_NOTALK,
+  SWITCH_EVENT_SESSION_CRASH,
+  SWITCH_EVENT_MODULE_LOAD,
+  SWITCH_EVENT_MODULE_UNLOAD,
+  SWITCH_EVENT_DTMF,
+  SWITCH_EVENT_MESSAGE,
+  SWITCH_EVENT_PRESENCE_IN,
+  SWITCH_EVENT_PRESENCE_OUT,
+  SWITCH_EVENT_PRESENCE_PROBE,
+  SWITCH_EVENT_MESSAGE_WAITING,
+  SWITCH_EVENT_MESSAGE_QUERY,
+  SWITCH_EVENT_ROSTER,
+  SWITCH_EVENT_CODEC,
+  SWITCH_EVENT_BACKGROUND_JOB,
+  SWITCH_EVENT_DETECTED_SPEECH,
+  SWITCH_EVENT_DETECTED_TONE,
+  SWITCH_EVENT_PRIVATE_COMMAND,
+  SWITCH_EVENT_HEARTBEAT,
+  SWITCH_EVENT_TRAP,
+  SWITCH_EVENT_ADD_SCHEDULE,
+  SWITCH_EVENT_DEL_SCHEDULE,
+  SWITCH_EVENT_EXE_SCHEDULE,
+  SWITCH_EVENT_RE_SCHEDULE,
+  SWITCH_EVENT_RELOADXML,
+  SWITCH_EVENT_NOTIFY,
+  SWITCH_EVENT_SEND_MESSAGE,
+  SWITCH_EVENT_RECV_MESSAGE,
+  SWITCH_EVENT_REQUEST_PARAMS,
+  SWITCH_EVENT_CHANNEL_DATA,
+  SWITCH_EVENT_GENERAL,
+  SWITCH_EVENT_COMMAND,
+  SWITCH_EVENT_ALL
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_file_flag_enum_t {
+  SWITCH_FILE_FLAG_READ = (1 << 0),
+  SWITCH_FILE_FLAG_WRITE = (1 << 1),
+  SWITCH_FILE_FLAG_FREE_POOL = (1 << 2),
+  SWITCH_FILE_DATA_SHORT = (1 << 3),
+  SWITCH_FILE_DATA_INT = (1 << 4),
+  SWITCH_FILE_DATA_FLOAT = (1 << 5),
+  SWITCH_FILE_DATA_DOUBLE = (1 << 6),
+  SWITCH_FILE_DATA_RAW = (1 << 7),
+  SWITCH_FILE_PAUSE = (1 << 8),
+  SWITCH_FILE_NATIVE = (1 << 9),
+  SWITCH_FILE_SEEK = (1 << 10),
+  SWITCH_FILE_OPEN = (1 << 11),
+  SWITCH_FILE_CALLBACK = (1 << 12)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_file_handle : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_file_handle(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_file_handle obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_file_handle() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_file_handle(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public switch_file_interface file_interface {
+    set {
+      freeswitchPINVOKE.switch_file_handle_file_interface_set(swigCPtr, switch_file_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_file_interface_get(swigCPtr);
+      switch_file_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_file_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint flags {
+    set {
+      freeswitchPINVOKE.switch_file_handle_flags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_file_handle_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_file_t fd {
+    set {
+      freeswitchPINVOKE.switch_file_handle_fd_set(swigCPtr, SWIGTYPE_p_switch_file_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_fd_get(swigCPtr);
+      SWIGTYPE_p_switch_file_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_file_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint samples {
+    set {
+      freeswitchPINVOKE.switch_file_handle_samples_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_file_handle_samples_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint samplerate {
+    set {
+      freeswitchPINVOKE.switch_file_handle_samplerate_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_file_handle_samplerate_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint native_rate {
+    set {
+      freeswitchPINVOKE.switch_file_handle_native_rate_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_file_handle_native_rate_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte channels {
+    set {
+      freeswitchPINVOKE.switch_file_handle_channels_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_file_handle_channels_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint format {
+    set {
+      freeswitchPINVOKE.switch_file_handle_format_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_file_handle_format_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint sections {
+    set {
+      freeswitchPINVOKE.switch_file_handle_sections_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_file_handle_sections_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int seekable {
+    set {
+      freeswitchPINVOKE.switch_file_handle_seekable_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_file_handle_seekable_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t sample_count {
+    set {
+      freeswitchPINVOKE.switch_file_handle_sample_count_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_sample_count_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public int speed {
+    set {
+      freeswitchPINVOKE.switch_file_handle_speed_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_file_handle_speed_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_apr_pool_t memory_pool {
+    set {
+      freeswitchPINVOKE.switch_file_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_memory_pool_get(swigCPtr);
+      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint prebuf {
+    set {
+      freeswitchPINVOKE.switch_file_handle_prebuf_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_file_handle_prebuf_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint interval {
+    set {
+      freeswitchPINVOKE.switch_file_handle_interval_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_file_handle_interval_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void private_info {
+    set {
+      freeswitchPINVOKE.switch_file_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_private_info_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string handler {
+    set {
+      freeswitchPINVOKE.switch_file_handle_handler_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_file_handle_handler_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public long pos {
+    set {
+      freeswitchPINVOKE.switch_file_handle_pos_set(swigCPtr, value);
+    } 
+    get {
+      long ret = freeswitchPINVOKE.switch_file_handle_pos_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_buffer audio_buffer {
+    set {
+      freeswitchPINVOKE.switch_file_handle_audio_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_audio_buffer_get(swigCPtr);
+      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_buffer sp_audio_buffer {
+    set {
+      freeswitchPINVOKE.switch_file_handle_sp_audio_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_sp_audio_buffer_get(swigCPtr);
+      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint thresh {
+    set {
+      freeswitchPINVOKE.switch_file_handle_thresh_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_file_handle_thresh_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint silence_hits {
+    set {
+      freeswitchPINVOKE.switch_file_handle_silence_hits_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_file_handle_silence_hits_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint offset_pos {
+    set {
+      freeswitchPINVOKE.switch_file_handle_offset_pos_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_file_handle_offset_pos_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint last_pos {
+    set {
+      freeswitchPINVOKE.switch_file_handle_last_pos_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_file_handle_last_pos_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int vol {
+    set {
+      freeswitchPINVOKE.switch_file_handle_vol_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_file_handle_vol_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_audio_resampler_t resampler {
+    set {
+      freeswitchPINVOKE.switch_file_handle_resampler_set(swigCPtr, switch_audio_resampler_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_resampler_get(swigCPtr);
+      switch_audio_resampler_t ret = (cPtr == IntPtr.Zero) ? null : new switch_audio_resampler_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_buffer buffer {
+    set {
+      freeswitchPINVOKE.switch_file_handle_buffer_set(swigCPtr, SWIGTYPE_p_switch_buffer.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_buffer_get(swigCPtr);
+      SWIGTYPE_p_switch_buffer ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_buffer(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_unsigned_char dbuf {
+    set {
+      freeswitchPINVOKE.switch_file_handle_dbuf_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_handle_dbuf_get(swigCPtr);
+      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t dbuflen {
+    set {
+      freeswitchPINVOKE.switch_file_handle_dbuflen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_file_handle_dbuflen_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public string file {
+    set {
+      freeswitchPINVOKE.switch_file_handle_file_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_file_handle_file_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string func {
+    set {
+      freeswitchPINVOKE.switch_file_handle_func_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_file_handle_func_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int line {
+    set {
+      freeswitchPINVOKE.switch_file_handle_line_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_file_handle_line_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_file_handle() : this(freeswitchPINVOKE.new_switch_file_handle(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_file_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_file_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_file_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_file_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_file_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string interface_name {
+    set {
+      freeswitchPINVOKE.switch_file_interface_interface_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_file_interface_interface_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t file_open {
+    set {
+      freeswitchPINVOKE.switch_file_interface_file_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_open_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_q_const__char__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_file_handle__switch_status_t file_close {
+    set {
+      freeswitchPINVOKE.switch_file_interface_file_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_close_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_file_handle__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t file_read {
+    set {
+      freeswitchPINVOKE.switch_file_interface_file_read_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_read_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t file_write {
+    set {
+      freeswitchPINVOKE.switch_file_interface_file_write_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_write_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_void_p_switch_size_t__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t file_seek {
+    set {
+      freeswitchPINVOKE.switch_file_interface_file_seek_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_seek_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_p_unsigned_int_long_long_int__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t file_set_string {
+    set {
+      freeswitchPINVOKE.switch_file_interface_file_set_string_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_set_string_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_q_const__char__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t file_get_string {
+    set {
+      freeswitchPINVOKE.switch_file_interface_file_get_string_set(swigCPtr, SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_file_get_string_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_file_handle_enum_switch_audio_col_t_p_p_q_const__char__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string extens {
+  set { freeswitchPINVOKE.switch_file_interface_extens_set(swigCPtr, ref value); }
+
+  get {
+    return freeswitchPINVOKE.switch_file_interface_extens_get(swigCPtr);
+  }
+
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_file_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_file_interface next {
+    set {
+      freeswitchPINVOKE.switch_file_interface_next_set(swigCPtr, switch_file_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_file_interface_next_get(swigCPtr);
+      switch_file_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_file_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_file_interface() : this(freeswitchPINVOKE.new_switch_file_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_frame : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_frame(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_frame obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_frame() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_frame(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public switch_codec codec {
+    set {
+      freeswitchPINVOKE.switch_frame_codec_set(swigCPtr, switch_codec.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_frame_codec_get(swigCPtr);
+      switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string source {
+    set {
+      freeswitchPINVOKE.switch_frame_source_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_frame_source_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void packet {
+    set {
+      freeswitchPINVOKE.switch_frame_packet_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_frame_packet_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint packetlen {
+    set {
+      freeswitchPINVOKE.switch_frame_packetlen_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_frame_packetlen_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void data {
+    set {
+      freeswitchPINVOKE.switch_frame_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_frame_data_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint datalen {
+    set {
+      freeswitchPINVOKE.switch_frame_datalen_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_frame_datalen_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint buflen {
+    set {
+      freeswitchPINVOKE.switch_frame_buflen_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_frame_buflen_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint samples {
+    set {
+      freeswitchPINVOKE.switch_frame_samples_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_frame_samples_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint rate {
+    set {
+      freeswitchPINVOKE.switch_frame_rate_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_frame_rate_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public byte payload {
+    set {
+      freeswitchPINVOKE.switch_frame_payload_set(swigCPtr, value);
+    } 
+    get {
+      byte ret = freeswitchPINVOKE.switch_frame_payload_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t timestamp {
+    set {
+      freeswitchPINVOKE.switch_frame_timestamp_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_frame_timestamp_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public ushort seq {
+    set {
+      freeswitchPINVOKE.switch_frame_seq_set(swigCPtr, value);
+    } 
+    get {
+      ushort ret = freeswitchPINVOKE.switch_frame_seq_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint ssrc {
+    set {
+      freeswitchPINVOKE.switch_frame_ssrc_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_frame_ssrc_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_bool_t m {
+    set {
+      freeswitchPINVOKE.switch_frame_m_set(swigCPtr, (int)value);
+    } 
+    get {
+      switch_bool_t ret = (switch_bool_t)freeswitchPINVOKE.switch_frame_m_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint flags {
+    set {
+      freeswitchPINVOKE.switch_frame_flags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_frame_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_frame() : this(freeswitchPINVOKE.new_switch_frame(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_frame_flag_enum_t {
+  SFF_NONE = 0,
+  SFF_CNG = (1 << 0),
+  SFF_RAW_RTP = (1 << 1),
+  SFF_RTP_HEADER = (1 << 2),
+  SFF_PLC = (1 << 3),
+  SFF_RFC2833 = (1 << 4),
+  SFF_PROXY_PACKET = (1 << 5)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_input_args_t : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_input_args_t(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_input_args_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_input_args_t() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_input_args_t(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t input_callback {
+    set {
+      freeswitchPINVOKE.switch_input_args_t_input_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_input_callback_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_void_enum_switch_input_type_t_p_void_unsigned_int__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void buf {
+    set {
+      freeswitchPINVOKE.switch_input_args_t_buf_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_buf_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint buflen {
+    set {
+      freeswitchPINVOKE.switch_input_args_t_buflen_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_input_args_t_buflen_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t read_frame_callback {
+    set {
+      freeswitchPINVOKE.switch_input_args_t_read_frame_callback_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_read_frame_callback_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_p_void__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void user_data {
+    set {
+      freeswitchPINVOKE.switch_input_args_t_user_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_input_args_t_user_data_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_input_args_t() : this(freeswitchPINVOKE.new_switch_input_args_t(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_input_type_t {
+  SWITCH_INPUT_TYPE_DTMF,
+  SWITCH_INPUT_TYPE_EVENT
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_kill_channel : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_kill_channel(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_kill_channel obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_kill_channel() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hook_kill_channel(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_kill_channel_kill_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_kill_channel_kill_channel_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_kill_channel next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_kill_channel_next_set(swigCPtr, switch_io_event_hook_kill_channel.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_kill_channel_next_get(swigCPtr);
+      switch_io_event_hook_kill_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_kill_channel(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_kill_channel() : this(freeswitchPINVOKE.new_switch_io_event_hook_kill_channel(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_outgoing_channel : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_outgoing_channel(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_outgoing_channel obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_outgoing_channel() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hook_outgoing_channel(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t outgoing_channel {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_outgoing_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_outgoing_channel_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_switch_core_session_unsigned_long__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_outgoing_channel next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_next_set(swigCPtr, switch_io_event_hook_outgoing_channel.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_outgoing_channel_next_get(swigCPtr);
+      switch_io_event_hook_outgoing_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_outgoing_channel(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_outgoing_channel() : this(freeswitchPINVOKE.new_switch_io_event_hook_outgoing_channel(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_read_frame : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_read_frame(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_read_frame obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_read_frame() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hook_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 read_frame {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_read_frame_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_read_frame_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_read_frame next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_read_frame_next_set(swigCPtr, switch_io_event_hook_read_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_read_frame_next_get(swigCPtr);
+      switch_io_event_hook_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_read_frame(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_read_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_read_frame(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_receive_event : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_receive_event(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_receive_event obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_receive_event() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hook_receive_event(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_receive_event_receive_event_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_event_receive_event_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_receive_event next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_receive_event_next_set(swigCPtr, switch_io_event_hook_receive_event.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_event_next_get(swigCPtr);
+      switch_io_event_hook_receive_event ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_event(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_receive_event() : this(freeswitchPINVOKE.new_switch_io_event_hook_receive_event(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_receive_message : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_receive_message(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_receive_message obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_receive_message() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hook_receive_message(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_receive_message_receive_message_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_message_receive_message_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_receive_message next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_receive_message_next_set(swigCPtr, switch_io_event_hook_receive_message.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_receive_message_next_get(swigCPtr);
+      switch_io_event_hook_receive_message ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_message(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_receive_message() : this(freeswitchPINVOKE.new_switch_io_event_hook_receive_message(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_recv_dtmf : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_recv_dtmf(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_recv_dtmf obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_recv_dtmf() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hook_recv_dtmf(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t recv_dtmf {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_recv_dtmf_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_recv_dtmf next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_recv_dtmf_next_get(swigCPtr);
+      switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_recv_dtmf() : this(freeswitchPINVOKE.new_switch_io_event_hook_recv_dtmf(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_resurrect_session : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_resurrect_session(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_resurrect_session obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_resurrect_session() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hook_resurrect_session(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_resurrect_session_get(swigCPtr);
+      SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_resurrect_session next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_resurrect_session_next_get(swigCPtr);
+      switch_io_event_hook_resurrect_session ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_resurrect_session(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_resurrect_session() : this(freeswitchPINVOKE.new_switch_io_event_hook_resurrect_session(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hooks : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hooks(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hooks obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hooks() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hooks(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public switch_io_event_hook_outgoing_channel outgoing_channel {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_set(swigCPtr, switch_io_event_hook_outgoing_channel.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_outgoing_channel_get(swigCPtr);
+      switch_io_event_hook_outgoing_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_outgoing_channel(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_receive_message receive_message {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_receive_message_set(swigCPtr, switch_io_event_hook_receive_message.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_message_get(swigCPtr);
+      switch_io_event_hook_receive_message ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_message(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_receive_event receive_event {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_receive_event_set(swigCPtr, switch_io_event_hook_receive_event.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_receive_event_get(swigCPtr);
+      switch_io_event_hook_receive_event ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_receive_event(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_read_frame read_frame {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_read_frame_set(swigCPtr, switch_io_event_hook_read_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_read_frame_get(swigCPtr);
+      switch_io_event_hook_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_read_frame(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_video_read_frame video_read_frame {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_set(swigCPtr, switch_io_event_hook_video_read_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_read_frame_get(swigCPtr);
+      switch_io_event_hook_video_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_read_frame(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_write_frame write_frame {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_write_frame_set(swigCPtr, switch_io_event_hook_write_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_write_frame_get(swigCPtr);
+      switch_io_event_hook_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_write_frame(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_video_write_frame video_write_frame {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_set(swigCPtr, switch_io_event_hook_video_write_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_video_write_frame_get(swigCPtr);
+      switch_io_event_hook_video_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_write_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));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_kill_channel_get(swigCPtr);
+      switch_io_event_hook_kill_channel ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_kill_channel(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_send_dtmf send_dtmf {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_set(swigCPtr, switch_io_event_hook_send_dtmf.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_send_dtmf_get(swigCPtr);
+      switch_io_event_hook_send_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_send_dtmf(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_recv_dtmf recv_dtmf {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_set(swigCPtr, switch_io_event_hook_recv_dtmf.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_recv_dtmf_get(swigCPtr);
+      switch_io_event_hook_recv_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_recv_dtmf(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_state_change state_change {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_state_change_set(swigCPtr, switch_io_event_hook_state_change.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_state_change_get(swigCPtr);
+      switch_io_event_hook_state_change ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_change(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_resurrect_session resurrect_session {
+    set {
+      freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_set(swigCPtr, switch_io_event_hook_resurrect_session.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hooks_resurrect_session_get(swigCPtr);
+      switch_io_event_hook_resurrect_session ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_resurrect_session(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hooks() : this(freeswitchPINVOKE.new_switch_io_event_hooks(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_send_dtmf : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_send_dtmf(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_send_dtmf obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_send_dtmf() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hook_send_dtmf(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t send_dtmf {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_send_dtmf_send_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_send_dtmf_send_dtmf_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t_enum_switch_dtmf_direction_t__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_send_dtmf next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_send_dtmf_next_set(swigCPtr, switch_io_event_hook_send_dtmf.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_send_dtmf_next_get(swigCPtr);
+      switch_io_event_hook_send_dtmf ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_send_dtmf(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_send_dtmf() : this(freeswitchPINVOKE.new_switch_io_event_hook_send_dtmf(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_state_change : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_state_change(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_state_change obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_state_change() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hook_state_change(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_state_change_state_change_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_state_change_state_change_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_state_change next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_state_change_next_set(swigCPtr, switch_io_event_hook_state_change.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_state_change_next_get(swigCPtr);
+      switch_io_event_hook_state_change ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_state_change(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_state_change() : this(freeswitchPINVOKE.new_switch_io_event_hook_state_change(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_video_read_frame : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_video_read_frame(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_video_read_frame obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_video_read_frame() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hook_video_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 video_read_frame {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_video_read_frame_video_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_video_read_frame_video_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_video_read_frame next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_video_read_frame_next_set(swigCPtr, switch_io_event_hook_video_read_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_read_frame_next_get(swigCPtr);
+      switch_io_event_hook_video_read_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_read_frame(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_video_read_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_video_read_frame(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_video_write_frame : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_video_write_frame(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_video_write_frame obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_video_write_frame() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hook_video_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 video_write_frame {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_video_write_frame_video_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_video_write_frame_video_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_video_write_frame next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_video_write_frame_next_set(swigCPtr, switch_io_event_hook_video_write_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_video_write_frame_next_get(swigCPtr);
+      switch_io_event_hook_video_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_video_write_frame(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_video_write_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_video_write_frame(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_event_hook_write_frame : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_event_hook_write_frame(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_event_hook_write_frame obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_event_hook_write_frame() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_event_hook_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 write_frame {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_write_frame_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_write_frame_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_write_frame next {
+    set {
+      freeswitchPINVOKE.switch_io_event_hook_write_frame_next_set(swigCPtr, switch_io_event_hook_write_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_event_hook_write_frame_next_get(swigCPtr);
+      switch_io_event_hook_write_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_io_event_hook_write_frame(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_event_hook_write_frame() : this(freeswitchPINVOKE.new_switch_io_event_hook_write_frame(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_io_flag_enum_t {
+  SWITCH_IO_FLAG_NONE = 0,
+  SWITCH_IO_FLAG_NOBLOCK = (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_io_routine_name_t {
+  SWITCH_IO_OUTGOING_CHANNEL,
+  SWITCH_IO_READ_FRAME,
+  SWITCH_IO_WRITE_FRAME,
+  SWITCH_IO_KILL_CHANNEL,
+  SWITCH_IO_SEND_DTMF,
+  SWITCH_IO_RECEIVE_MESSAGE,
+  SWITCH_IO_RECEIVE_EVENT,
+  SWITCH_IO_STATE_CHANGE,
+  SWITCH_IO_READ_VIDEO_FRAME,
+  SWITCH_IO_WRITE_VIDEO_FRAME,
+  SWITCH_IO_RESURRECT_SESSION
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_io_routines : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_io_routines(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_io_routines obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_io_routines() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_io_routines(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t outgoing_channel {
+    set {
+      freeswitchPINVOKE.switch_io_routines_outgoing_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_outgoing_channel_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event_p_switch_caller_profile_p_p_switch_core_session_p_p_apr_pool_t_unsigned_long__switch_call_cause_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_frame {
+    set {
+      freeswitchPINVOKE.switch_io_routines_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_routines_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 SWIGTYPE_p_f_p_switch_core_session_p_switch_frame_unsigned_long_int__switch_status_t write_frame {
+    set {
+      freeswitchPINVOKE.switch_io_routines_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_routines_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 SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t kill_channel {
+    set {
+      freeswitchPINVOKE.switch_io_routines_kill_channel_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_kill_channel_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_int__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t send_dtmf {
+    set {
+      freeswitchPINVOKE.switch_io_routines_send_dtmf_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_send_dtmf_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_q_const__switch_dtmf_t__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t receive_message {
+    set {
+      freeswitchPINVOKE.switch_io_routines_receive_message_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_receive_message_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_core_session_message__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t receive_event {
+    set {
+      freeswitchPINVOKE.switch_io_routines_receive_event_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_receive_event_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_switch_event__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t state_change {
+    set {
+      freeswitchPINVOKE.switch_io_routines_state_change_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_state_change_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_p_switch_frame_unsigned_long_int__switch_status_t read_video_frame {
+    set {
+      freeswitchPINVOKE.switch_io_routines_read_video_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_video_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_video_frame {
+    set {
+      freeswitchPINVOKE.switch_io_routines_write_video_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_video_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_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t resurrect_session {
+    set {
+      freeswitchPINVOKE.switch_io_routines_resurrect_session_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_resurrect_session_get(swigCPtr);
+      SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_core_session_p_p_apr_pool_t_p_void__switch_call_cause_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_void padding {
+    set {
+      freeswitchPINVOKE.switch_io_routines_padding_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_io_routines_padding_get(swigCPtr);
+      SWIGTYPE_p_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_io_routines() : this(freeswitchPINVOKE.new_switch_io_routines(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_ivr_action_t {
+  SWITCH_IVR_ACTION_DIE,
+  SWITCH_IVR_ACTION_EXECMENU,
+  SWITCH_IVR_ACTION_EXECAPP,
+  SWITCH_IVR_ACTION_PLAYSOUND,
+  SWITCH_IVR_ACTION_BACK,
+  SWITCH_IVR_ACTION_TOMAIN,
+  SWITCH_IVR_ACTION_NOOP
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_ivr_menu_flags {
+  SWITCH_IVR_MENU_FLAG_FALLTOMAIN = (1 << 0),
+  SWITCH_IVR_MENU_FLAG_FREEPOOL = (1 << 1),
+  SWITCH_IVR_MENU_FLAG_STACK = (1 << 2)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_ivr_option_enum_t {
+  SWITCH_IVR_OPTION_NONE = 0,
+  SWITCH_IVR_OPTION_ASYNC = (1 << 0),
+  SWITCH_IVR_OPTION_FILE = (1 << 1)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_loadable_module_function_table_t : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_loadable_module_function_table_t(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_loadable_module_function_table_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_loadable_module_function_table_t() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_loadable_module_function_table_t(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public int switch_api_version {
+    set {
+      freeswitchPINVOKE.switch_loadable_module_function_table_t_switch_api_version_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_loadable_module_function_table_t_switch_api_version_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t load {
+    set {
+      freeswitchPINVOKE.switch_loadable_module_function_table_t_load_set(swigCPtr, SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_load_get(swigCPtr);
+      SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_p_switch_loadable_module_interface_p_apr_pool_t__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_void__switch_status_t shutdown {
+    set {
+      freeswitchPINVOKE.switch_loadable_module_function_table_t_shutdown_set(swigCPtr, SWIGTYPE_p_f_void__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_shutdown_get(swigCPtr);
+      SWIGTYPE_p_f_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_void__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_void__switch_status_t runtime {
+    set {
+      freeswitchPINVOKE.switch_loadable_module_function_table_t_runtime_set(swigCPtr, SWIGTYPE_p_f_void__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_loadable_module_function_table_t_runtime_get(swigCPtr);
+      SWIGTYPE_p_f_void__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_void__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_loadable_module_function_table_t() : this(freeswitchPINVOKE.new_switch_loadable_module_function_table_t(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_log_level_t {
+  SWITCH_LOG_DEBUG = 7,
+  SWITCH_LOG_INFO = 6,
+  SWITCH_LOG_NOTICE = 5,
+  SWITCH_LOG_WARNING = 4,
+  SWITCH_LOG_ERROR = 3,
+  SWITCH_LOG_CRIT = 2,
+  SWITCH_LOG_ALERT = 1,
+  SWITCH_LOG_CONSOLE = 0,
+  SWITCH_LOG_INVALID = 64
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_log_node_t : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_log_node_t(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_log_node_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_log_node_t() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_log_node_t(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string data {
+    set {
+      freeswitchPINVOKE.switch_log_node_t_data_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_log_node_t_data_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string file {
+    set {
+      freeswitchPINVOKE.switch_log_node_t_file_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_log_node_t_file_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint line {
+    set {
+      freeswitchPINVOKE.switch_log_node_t_line_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_log_node_t_line_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string func {
+    set {
+      freeswitchPINVOKE.switch_log_node_t_func_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_log_node_t_func_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_log_level_t level {
+    set {
+      freeswitchPINVOKE.switch_log_node_t_level_set(swigCPtr, (int)value);
+    } 
+    get {
+      switch_log_level_t ret = (switch_log_level_t)freeswitchPINVOKE.switch_log_node_t_level_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_time_t timestamp {
+    set {
+      freeswitchPINVOKE.switch_log_node_t_timestamp_set(swigCPtr, SWIGTYPE_p_switch_time_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_time_t ret = new SWIGTYPE_p_switch_time_t(freeswitchPINVOKE.switch_log_node_t_timestamp_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public string content {
+    set {
+      freeswitchPINVOKE.switch_log_node_t_content_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_log_node_t_content_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string userdata {
+    set {
+      freeswitchPINVOKE.switch_log_node_t_userdata_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_log_node_t_userdata_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_log_node_t() : this(freeswitchPINVOKE.new_switch_log_node_t(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_management_action_t {
+  SMA_NONE,
+  SMA_GET,
+  SMA_SET
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_management_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_management_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_management_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_management_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_management_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string relative_oid {
+    set {
+      freeswitchPINVOKE.switch_management_interface_relative_oid_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_management_interface_relative_oid_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t management_function {
+    set {
+      freeswitchPINVOKE.switch_management_interface_management_function_set(swigCPtr, SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_management_function_get(swigCPtr);
+      SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_char_enum_switch_management_action_t_p_char_switch_size_t__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_management_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_management_interface next {
+    set {
+      freeswitchPINVOKE.switch_management_interface_next_set(swigCPtr, switch_management_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_management_interface_next_get(swigCPtr);
+      switch_management_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_management_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_management_interface() : this(freeswitchPINVOKE.new_switch_management_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_media_bug_flag_enum_t {
+  SMBF_BOTH = 0,
+  SMBF_READ_STREAM = (1 << 0),
+  SMBF_WRITE_STREAM = (1 << 1),
+  SMBF_WRITE_REPLACE = (1 << 2),
+  SMBF_READ_REPLACE = (1 << 3),
+  SMBF_READ_PING = (1 << 4),
+  SMBF_STEREO = (1 << 5),
+  SMBF_RECORD_ANSWER_REQ = (1 << 6),
+  SMBF_THREAD_LOCK = (1 << 7)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_media_flag_enum_t {
+  SMF_NONE = 0,
+  SMF_REBRIDGE = (1 << 0),
+  SMF_ECHO_ALEG = (1 << 1),
+  SMF_ECHO_BLEG = (1 << 2),
+  SMF_FORCE = (1 << 3),
+  SMF_LOOP = (1 << 4),
+  SMF_HOLD_BLEG = (1 << 5),
+  SMF_IMMEDIATE = (1 << 6)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_module_interface_name_t {
+  SWITCH_ENDPOINT_INTERFACE,
+  SWITCH_TIMER_INTERFACE,
+  SWITCH_DIALPLAN_INTERFACE,
+  SWITCH_CODEC_INTERFACE,
+  SWITCH_APPLICATION_INTERFACE,
+  SWITCH_API_INTERFACE,
+  SWITCH_FILE_INTERFACE,
+  SWITCH_SPEECH_INTERFACE,
+  SWITCH_DIRECTORY_INTERFACE,
+  SWITCH_CHAT_INTERFACE,
+  SWITCH_SAY_INTERFACE,
+  SWITCH_ASR_INTERFACE,
+  SWITCH_MANAGEMENT_INTERFACE
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_originate_flag_enum_t {
+  SOF_NONE = 0,
+  SOF_NOBLOCK = (1 << 0),
+  SOF_FORKED_DIAL = (1 << 1),
+  SOF_NO_EFFECTIVE_CID_NUM = (1 << 2),
+  SOF_NO_EFFECTIVE_CID_NAME = (1 << 3)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_port_flag_enum_t {
+  SPF_NONE = 0,
+  SPF_ODD = (1 << 0),
+  SPF_EVEN = (1 << 1)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_priority_t {
+  SWITCH_PRIORITY_NORMAL,
+  SWITCH_PRIORITY_LOW,
+  SWITCH_PRIORITY_HIGH
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_rtp_crypto_direction_t {
+  SWITCH_RTP_CRYPTO_SEND,
+  SWITCH_RTP_CRYPTO_RECV,
+  SWITCH_RTP_CRYPTO_MAX
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_rtp_crypto_key : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_rtp_crypto_key(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_rtp_crypto_key obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_rtp_crypto_key() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_rtp_crypto_key(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public uint index {
+    set {
+      freeswitchPINVOKE.switch_rtp_crypto_key_index_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtp_crypto_key_index_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_rtp_crypto_key_type_t type {
+    set {
+      freeswitchPINVOKE.switch_rtp_crypto_key_type_set(swigCPtr, (int)value);
+    } 
+    get {
+      switch_rtp_crypto_key_type_t ret = (switch_rtp_crypto_key_type_t)freeswitchPINVOKE.switch_rtp_crypto_key_type_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_unsigned_char key {
+    set {
+      freeswitchPINVOKE.switch_rtp_crypto_key_key_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_rtp_crypto_key_key_get(swigCPtr);
+      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t keylen {
+    set {
+      freeswitchPINVOKE.switch_rtp_crypto_key_keylen_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_rtp_crypto_key_keylen_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public switch_rtp_crypto_key next {
+    set {
+      freeswitchPINVOKE.switch_rtp_crypto_key_next_set(swigCPtr, switch_rtp_crypto_key.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_rtp_crypto_key_next_get(swigCPtr);
+      switch_rtp_crypto_key ret = (cPtr == IntPtr.Zero) ? null : new switch_rtp_crypto_key(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_rtp_crypto_key() : this(freeswitchPINVOKE.new_switch_rtp_crypto_key(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_rtp_crypto_key_type_t {
+  NO_CRYPTO,
+  AES_CM_128_HMAC_SHA1_80,
+  AES_CM_128_HMAC_SHA1_32,
+  AES_CM_128_NULL_AUTH
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_rtp_flag_enum_t {
+  SWITCH_RTP_FLAG_NOBLOCK = (1 << 0),
+  SWITCH_RTP_FLAG_IO = (1 << 1),
+  SWITCH_RTP_FLAG_USE_TIMER = (1 << 2),
+  SWITCH_RTP_FLAG_TIMER_RECLOCK = (1 << 3),
+  SWITCH_RTP_FLAG_SECURE_SEND = (1 << 4),
+  SWITCH_RTP_FLAG_SECURE_RECV = (1 << 5),
+  SWITCH_RTP_FLAG_AUTOADJ = (1 << 6),
+  SWITCH_RTP_FLAG_RAW_WRITE = (1 << 7),
+  SWITCH_RTP_FLAG_GOOGLEHACK = (1 << 8),
+  SWITCH_RTP_FLAG_VAD = (1 << 9),
+  SWITCH_RTP_FLAG_BREAK = (1 << 10),
+  SWITCH_RTP_FLAG_MINI = (1 << 11),
+  SWITCH_RTP_FLAG_DATAWAIT = (1 << 12),
+  SWITCH_RTP_FLAG_BUGGY_2833 = (1 << 13),
+  SWITCH_RTP_FLAG_PASS_RFC2833 = (1 << 14),
+  SWITCH_RTP_FLAG_AUTO_CNG = (1 << 15),
+  SWITCH_RTP_FLAG_SECURE_SEND_RESET = (1 << 16),
+  SWITCH_RTP_FLAG_SECURE_RECV_RESET = (1 << 17),
+  SWITCH_RTP_FLAG_PROXY_MEDIA = (1 << 18),
+  SWITCH_RTP_FLAG_SHUTDOWN = (1 << 19)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_rtp_hdr_t : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_rtp_hdr_t(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_rtp_hdr_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_rtp_hdr_t() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_rtp_hdr_t(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public uint version {
+    set {
+      freeswitchPINVOKE.switch_rtp_hdr_t_version_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_version_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint p {
+    set {
+      freeswitchPINVOKE.switch_rtp_hdr_t_p_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_p_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint x {
+    set {
+      freeswitchPINVOKE.switch_rtp_hdr_t_x_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_x_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint cc {
+    set {
+      freeswitchPINVOKE.switch_rtp_hdr_t_cc_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_cc_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint m {
+    set {
+      freeswitchPINVOKE.switch_rtp_hdr_t_m_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_m_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint pt {
+    set {
+      freeswitchPINVOKE.switch_rtp_hdr_t_pt_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_pt_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint seq {
+    set {
+      freeswitchPINVOKE.switch_rtp_hdr_t_seq_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_seq_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint ts {
+    set {
+      freeswitchPINVOKE.switch_rtp_hdr_t_ts_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_ts_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint ssrc {
+    set {
+      freeswitchPINVOKE.switch_rtp_hdr_t_ssrc_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtp_hdr_t_ssrc_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_rtp_hdr_t() : this(freeswitchPINVOKE.new_switch_rtp_hdr_t(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_say_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_say_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_say_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_say_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_say_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string interface_name {
+    set {
+      freeswitchPINVOKE.switch_say_interface_interface_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_say_interface_interface_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t say_function {
+    set {
+      freeswitchPINVOKE.switch_say_interface_say_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_say_function_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session_p_char_enum_switch_say_type_t_enum_switch_say_method_t_p_switch_input_args_t__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_say_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_say_interface next {
+    set {
+      freeswitchPINVOKE.switch_say_interface_next_set(swigCPtr, switch_say_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_say_interface_next_get(swigCPtr);
+      switch_say_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_say_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_say_interface() : this(freeswitchPINVOKE.new_switch_say_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_say_method_t {
+  SSM_NA,
+  SSM_PRONOUNCED,
+  SSM_ITERATED,
+  SSM_COUNTED
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_say_type_t {
+  SST_NUMBER,
+  SST_ITEMS,
+  SST_PERSONS,
+  SST_MESSAGES,
+  SST_CURRENCY,
+  SST_TIME_MEASUREMENT,
+  SST_CURRENT_DATE,
+  SST_CURRENT_TIME,
+  SST_CURRENT_DATE_TIME,
+  SST_TELEPHONE_NUMBER,
+  SST_TELEPHONE_EXTENSION,
+  SST_URL,
+  SST_IP_ADDRESS,
+  SST_EMAIL_ADDRESS,
+  SST_POSTAL_ADDRESS,
+  SST_ACCOUNT_NUMBER,
+  SST_NAME_SPELLED,
+  SST_NAME_PHONETIC
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_scheduler_flag_enum_t {
+  SSHF_NONE = 0,
+  SSHF_OWN_THREAD = (1 << 0),
+  SSHF_FREE_ARG = (1 << 1),
+  SSHF_NO_DEL = (1 << 2)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_scheduler_task : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_scheduler_task(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_scheduler_task obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_scheduler_task() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_scheduler_task(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public long created {
+    set {
+      freeswitchPINVOKE.switch_scheduler_task_created_set(swigCPtr, value);
+    } 
+    get {
+      long ret = freeswitchPINVOKE.switch_scheduler_task_created_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public long runtime {
+    set {
+      freeswitchPINVOKE.switch_scheduler_task_runtime_set(swigCPtr, value);
+    } 
+    get {
+      long ret = freeswitchPINVOKE.switch_scheduler_task_runtime_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint cmd_id {
+    set {
+      freeswitchPINVOKE.switch_scheduler_task_cmd_id_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_scheduler_task_cmd_id_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string group {
+    set {
+      freeswitchPINVOKE.switch_scheduler_task_group_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_scheduler_task_group_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void cmd_arg {
+    set {
+      freeswitchPINVOKE.switch_scheduler_task_cmd_arg_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_scheduler_task_cmd_arg_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint task_id {
+    set {
+      freeswitchPINVOKE.switch_scheduler_task_task_id_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_scheduler_task_task_id_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_scheduler_task() : this(freeswitchPINVOKE.new_switch_scheduler_task(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_session_ctl_t {
+  SCSC_PAUSE_INBOUND,
+  SCSC_HUPALL,
+  SCSC_SHUTDOWN,
+  SCSC_CHECK_RUNNING,
+  SCSC_LOGLEVEL,
+  SCSC_SPS,
+  SCSC_LAST_SPS,
+  SCSC_RECLAIM,
+  SCSC_MAX_SESSIONS,
+  SCSC_SYNC_CLOCK,
+  SCSC_MAX_DTMF_DURATION,
+  SCSC_DEFAULT_DTMF_DURATION,
+  SCSC_SHUTDOWN_ELEGANT,
+  SCSC_CANCEL_SHUTDOWN
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_signal_t {
+  SWITCH_SIG_NONE,
+  SWITCH_SIG_KILL,
+  SWITCH_SIG_XFER,
+  SWITCH_SIG_BREAK
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_speech_flag_enum_t {
+  SWITCH_SPEECH_FLAG_NONE = 0,
+  SWITCH_SPEECH_FLAG_HASTEXT = (1 << 0),
+  SWITCH_SPEECH_FLAG_PEEK = (1 << 1),
+  SWITCH_SPEECH_FLAG_FREE_POOL = (1 << 2),
+  SWITCH_SPEECH_FLAG_BLOCKING = (1 << 3),
+  SWITCH_SPEECH_FLAG_PAUSE = (1 << 4)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_speech_handle : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_speech_handle(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_speech_handle obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_speech_handle() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_speech_handle(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public switch_speech_interface speech_interface {
+    set {
+      freeswitchPINVOKE.switch_speech_handle_speech_interface_set(swigCPtr, switch_speech_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_speech_interface_get(swigCPtr);
+      switch_speech_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_speech_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint flags {
+    set {
+      freeswitchPINVOKE.switch_speech_handle_flags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_speech_handle_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string name {
+    set {
+      freeswitchPINVOKE.switch_speech_handle_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_speech_handle_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint rate {
+    set {
+      freeswitchPINVOKE.switch_speech_handle_rate_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_speech_handle_rate_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint speed {
+    set {
+      freeswitchPINVOKE.switch_speech_handle_speed_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_speech_handle_speed_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint samples {
+    set {
+      freeswitchPINVOKE.switch_speech_handle_samples_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_speech_handle_samples_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string voice {
+    set {
+      freeswitchPINVOKE.switch_speech_handle_voice_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_speech_handle_voice_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string engine {
+    set {
+      freeswitchPINVOKE.switch_speech_handle_engine_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_speech_handle_engine_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string param {
+    set {
+      freeswitchPINVOKE.switch_speech_handle_param_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_speech_handle_param_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_apr_pool_t memory_pool {
+    set {
+      freeswitchPINVOKE.switch_speech_handle_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_memory_pool_get(swigCPtr);
+      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void private_info {
+    set {
+      freeswitchPINVOKE.switch_speech_handle_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_handle_private_info_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_speech_handle() : this(freeswitchPINVOKE.new_switch_speech_handle(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_speech_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_speech_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_speech_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_speech_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_speech_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string interface_name {
+    set {
+      freeswitchPINVOKE.switch_speech_interface_interface_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_speech_interface_interface_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t speech_open {
+    set {
+      freeswitchPINVOKE.switch_speech_interface_speech_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_open_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t speech_close {
+    set {
+      freeswitchPINVOKE.switch_speech_interface_speech_close_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_close_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_unsigned_long__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t speech_feed_tts {
+    set {
+      freeswitchPINVOKE.switch_speech_interface_speech_feed_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_feed_tts_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_unsigned_long__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t speech_read_tts {
+    set {
+      freeswitchPINVOKE.switch_speech_interface_speech_read_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_read_tts_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_void_p_switch_size_t_p_unsigned_long_p_unsigned_long__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_speech_handle__void speech_flush_tts {
+    set {
+      freeswitchPINVOKE.switch_speech_interface_speech_flush_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle__void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_flush_tts_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_speech_handle__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle__void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void speech_text_param_tts {
+    set {
+      freeswitchPINVOKE.switch_speech_interface_speech_text_param_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_text_param_tts_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_p_q_const__char__void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void speech_numeric_param_tts {
+    set {
+      freeswitchPINVOKE.switch_speech_interface_speech_numeric_param_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_numeric_param_tts_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_int__void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void speech_float_param_tts {
+    set {
+      freeswitchPINVOKE.switch_speech_interface_speech_float_param_tts_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_float_param_tts_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_char_double__void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_speech_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_speech_interface next {
+    set {
+      freeswitchPINVOKE.switch_speech_interface_next_set(swigCPtr, switch_speech_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_next_get(swigCPtr);
+      switch_speech_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_speech_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_speech_interface() : this(freeswitchPINVOKE.new_switch_speech_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_stack_t {
+  SWITCH_STACK_BOTTOM,
+  SWITCH_STACK_TOP
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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,
+  SWITCH_SHN_ON_EXECUTE,
+  SWITCH_SHN_ON_HANGUP,
+  SWITCH_SHN_ON_EXCHANGE_MEDIA,
+  SWITCH_SHN_ON_SOFT_EXECUTE,
+  SWITCH_SHN_ON_CONSUME_MEDIA,
+  SWITCH_SHN_ON_HIBERNATE,
+  SWITCH_SHN_ON_RESET,
+  SWITCH_SHN_ON_PARK
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_state_handler_table : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_state_handler_table(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_state_handler_table obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_state_handler_table() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_state_handler_table(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_init {
+    set {
+      freeswitchPINVOKE.switch_state_handler_table_on_init_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_init_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_routing {
+    set {
+      freeswitchPINVOKE.switch_state_handler_table_on_routing_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_routing_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_execute {
+    set {
+      freeswitchPINVOKE.switch_state_handler_table_on_execute_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_execute_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_hangup {
+    set {
+      freeswitchPINVOKE.switch_state_handler_table_on_hangup_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_hangup_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_exchange_media {
+    set {
+      freeswitchPINVOKE.switch_state_handler_table_on_exchange_media_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_exchange_media_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_soft_execute {
+    set {
+      freeswitchPINVOKE.switch_state_handler_table_on_soft_execute_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_soft_execute_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_consume_media {
+    set {
+      freeswitchPINVOKE.switch_state_handler_table_on_consume_media_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_consume_media_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_hibernate {
+    set {
+      freeswitchPINVOKE.switch_state_handler_table_on_hibernate_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_hibernate_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_reset {
+    set {
+      freeswitchPINVOKE.switch_state_handler_table_on_reset_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_reset_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_core_session__switch_status_t on_park {
+    set {
+      freeswitchPINVOKE.switch_state_handler_table_on_park_set(swigCPtr, SWIGTYPE_p_f_p_switch_core_session__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_on_park_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_core_session__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_core_session__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_p_void padding {
+    set {
+      freeswitchPINVOKE.switch_state_handler_table_padding_set(swigCPtr, SWIGTYPE_p_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_state_handler_table_padding_get(swigCPtr);
+      SWIGTYPE_p_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_state_handler_table() : this(freeswitchPINVOKE.new_switch_state_handler_table(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_status_t {
+  SWITCH_STATUS_SUCCESS,
+  SWITCH_STATUS_FALSE,
+  SWITCH_STATUS_TIMEOUT,
+  SWITCH_STATUS_RESTART,
+  SWITCH_STATUS_TERM,
+  SWITCH_STATUS_NOTIMPL,
+  SWITCH_STATUS_MEMERR,
+  SWITCH_STATUS_NOOP,
+  SWITCH_STATUS_RESAMPLE,
+  SWITCH_STATUS_GENERR,
+  SWITCH_STATUS_INUSE,
+  SWITCH_STATUS_BREAK,
+  SWITCH_STATUS_SOCKERR,
+  SWITCH_STATUS_MORE_DATA,
+  SWITCH_STATUS_NOTFOUND,
+  SWITCH_STATUS_UNLOAD,
+  SWITCH_STATUS_NOUNLOAD,
+  SWITCH_STATUS_IGNORE
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_stream_handle : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_stream_handle(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_stream_handle obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_stream_handle() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_stream_handle(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t write_function {
+    set {
+      freeswitchPINVOKE.switch_stream_handle_write_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_write_function_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_stream_handle_p_q_const__char_v_______switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t raw_write_function {
+    set {
+      freeswitchPINVOKE.switch_stream_handle_raw_write_function_set(swigCPtr, SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_raw_write_function_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_stream_handle_p_unsigned_char_switch_size_t__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void data {
+    set {
+      freeswitchPINVOKE.switch_stream_handle_data_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_data_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void end {
+    set {
+      freeswitchPINVOKE.switch_stream_handle_end_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_end_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t data_size {
+    set {
+      freeswitchPINVOKE.switch_stream_handle_data_size_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_data_size_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t data_len {
+    set {
+      freeswitchPINVOKE.switch_stream_handle_data_len_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_data_len_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t alloc_len {
+    set {
+      freeswitchPINVOKE.switch_stream_handle_alloc_len_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_alloc_len_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t alloc_chunk {
+    set {
+      freeswitchPINVOKE.switch_stream_handle_alloc_chunk_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_stream_handle_alloc_chunk_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public switch_event param_event {
+    set {
+      freeswitchPINVOKE.switch_stream_handle_param_event_set(swigCPtr, switch_event.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_stream_handle_param_event_get(swigCPtr);
+      switch_event ret = (cPtr == IntPtr.Zero) ? null : new switch_event(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_stream_handle() : this(freeswitchPINVOKE.new_switch_stream_handle(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_text_channel_t {
+  SWITCH_CHANNEL_ID_LOG,
+  SWITCH_CHANNEL_ID_LOG_CLEAN,
+  SWITCH_CHANNEL_ID_EVENT
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_timer : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_timer(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_timer obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_timer() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_timer(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public int interval {
+    set {
+      freeswitchPINVOKE.switch_timer_interval_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_timer_interval_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint flags {
+    set {
+      freeswitchPINVOKE.switch_timer_flags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_timer_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint samples {
+    set {
+      freeswitchPINVOKE.switch_timer_samples_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_timer_samples_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint samplecount {
+    set {
+      freeswitchPINVOKE.switch_timer_samplecount_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_timer_samplecount_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_timer_interface timer_interface {
+    set {
+      freeswitchPINVOKE.switch_timer_timer_interface_set(swigCPtr, switch_timer_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_timer_timer_interface_get(swigCPtr);
+      switch_timer_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_apr_pool_t memory_pool {
+    set {
+      freeswitchPINVOKE.switch_timer_memory_pool_set(swigCPtr, SWIGTYPE_p_apr_pool_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_timer_memory_pool_get(swigCPtr);
+      SWIGTYPE_p_apr_pool_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_apr_pool_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_void private_info {
+    set {
+      freeswitchPINVOKE.switch_timer_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_timer_private_info_get(swigCPtr);
+      SWIGTYPE_p_void ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_void(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t diff {
+    set {
+      freeswitchPINVOKE.switch_timer_diff_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_timer_diff_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t tick {
+    set {
+      freeswitchPINVOKE.switch_timer_tick_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_timer_tick_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public switch_timer() : this(freeswitchPINVOKE.new_switch_timer(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_timer_flag_enum_t {
+  SWITCH_TIMER_FLAG_FREE_POOL = (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_timer_func_name_t {
+  SWITCH_TIMER_FUNC_TIMER_INIT,
+  SWITCH_TIMER_FUNC_TIMER_NEXT,
+  SWITCH_TIMER_FUNC_TIMER_STEP,
+  SWITCH_TIMER_FUNC_TIMER_SYNC,
+  SWITCH_TIMER_FUNC_TIMER_CHECK,
+  SWITCH_TIMER_FUNC_TIMER_DESTROY
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_timer_interface : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_timer_interface(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_timer_interface obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_timer_interface() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_timer_interface(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string interface_name {
+    set {
+      freeswitchPINVOKE.switch_timer_interface_interface_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_timer_interface_interface_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_init {
+    set {
+      freeswitchPINVOKE.switch_timer_interface_timer_init_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_init_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_next {
+    set {
+      freeswitchPINVOKE.switch_timer_interface_timer_next_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_next_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_step {
+    set {
+      freeswitchPINVOKE.switch_timer_interface_timer_step_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_step_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_sync {
+    set {
+      freeswitchPINVOKE.switch_timer_interface_timer_sync_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_sync_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t timer_check {
+    set {
+      freeswitchPINVOKE.switch_timer_interface_timer_check_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_check_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer_enum_switch_bool_t__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_f_p_switch_timer__switch_status_t timer_destroy {
+    set {
+      freeswitchPINVOKE.switch_timer_interface_timer_destroy_set(swigCPtr, SWIGTYPE_p_f_p_switch_timer__switch_status_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_timer_destroy_get(swigCPtr);
+      SWIGTYPE_p_f_p_switch_timer__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_timer__switch_status_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_thread_rwlock_t rwlock {
+    set {
+      freeswitchPINVOKE.switch_timer_interface_rwlock_set(swigCPtr, SWIGTYPE_p_switch_thread_rwlock_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_rwlock_get(swigCPtr);
+      SWIGTYPE_p_switch_thread_rwlock_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_thread_rwlock_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_timer_interface next {
+    set {
+      freeswitchPINVOKE.switch_timer_interface_next_set(swigCPtr, switch_timer_interface.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_timer_interface_next_get(swigCPtr);
+      switch_timer_interface ret = (cPtr == IntPtr.Zero) ? null : new switch_timer_interface(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_timer_interface() : this(freeswitchPINVOKE.new_switch_timer_interface(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_unicast_conninfo : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_unicast_conninfo(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_unicast_conninfo obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_unicast_conninfo() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_unicast_conninfo(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public SWIGTYPE_p_switch_core_session session {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_session_set(swigCPtr, SWIGTYPE_p_switch_core_session.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_session_get(swigCPtr);
+      SWIGTYPE_p_switch_core_session ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_core_session(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_codec read_codec {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_read_codec_set(swigCPtr, switch_codec.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_read_codec_get(swigCPtr);
+      switch_codec ret = (cPtr == IntPtr.Zero) ? null : new switch_codec(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_frame write_frame {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_write_frame_set(swigCPtr, switch_frame.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_write_frame_get(swigCPtr);
+      switch_frame ret = (cPtr == IntPtr.Zero) ? null : new switch_frame(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_unsigned_char write_frame_data {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_write_frame_data_set(swigCPtr, SWIGTYPE_p_unsigned_char.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_write_frame_data_get(swigCPtr);
+      SWIGTYPE_p_unsigned_char ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_socket_t socket {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_socket_set(swigCPtr, SWIGTYPE_p_switch_socket_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_socket_get(swigCPtr);
+      SWIGTYPE_p_switch_socket_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_socket_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public string local_ip {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_local_ip_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_unicast_conninfo_local_ip_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public ushort local_port {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_local_port_set(swigCPtr, value);
+    } 
+    get {
+      ushort ret = freeswitchPINVOKE.switch_unicast_conninfo_local_port_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string remote_ip {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_remote_ip_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_unicast_conninfo_remote_ip_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public ushort remote_port {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_remote_port_set(swigCPtr, value);
+    } 
+    get {
+      ushort ret = freeswitchPINVOKE.switch_unicast_conninfo_remote_port_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_sockaddr_t local_addr {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_local_addr_set(swigCPtr, SWIGTYPE_p_switch_sockaddr_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_local_addr_get(swigCPtr);
+      SWIGTYPE_p_switch_sockaddr_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_sockaddr_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_sockaddr_t remote_addr {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_remote_addr_set(swigCPtr, SWIGTYPE_p_switch_sockaddr_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_remote_addr_get(swigCPtr);
+      SWIGTYPE_p_switch_sockaddr_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_sockaddr_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_mutex_t flag_mutex {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_flag_mutex_set(swigCPtr, SWIGTYPE_p_switch_mutex_t.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_unicast_conninfo_flag_mutex_get(swigCPtr);
+      SWIGTYPE_p_switch_mutex_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_switch_mutex_t(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public int flags {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_flags_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_unicast_conninfo_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int type {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_type_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_unicast_conninfo_type_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int transport {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_transport_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_unicast_conninfo_transport_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public int stream_id {
+    set {
+      freeswitchPINVOKE.switch_unicast_conninfo_stream_id_set(swigCPtr, value);
+    } 
+    get {
+      int ret = freeswitchPINVOKE.switch_unicast_conninfo_stream_id_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_unicast_conninfo() : this(freeswitchPINVOKE.new_switch_unicast_conninfo(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_unicast_flag_enum_t {
+  SUF_NONE = 0,
+  SUF_THREAD_RUNNING = (1 << 0),
+  SUF_READY = (1 << 1),
+  SUF_NATIVE = (1 << 2)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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_uri_flags {
+  SWITCH_URI_NUMERIC_HOST = 1,
+  SWITCH_URI_NUMERIC_PORT = 2,
+  SWITCH_URI_NO_SCOPE = 4
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_vad_flag_enum_t {
+  SWITCH_VAD_FLAG_TALKING = (1 << 0),
+  SWITCH_VAD_FLAG_EVENTS_TALK = (1 << 1),
+  SWITCH_VAD_FLAG_EVENTS_NOTALK = (1 << 2),
+  SWITCH_VAD_FLAG_CNG = (1 << 3)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+using System;
+using System.Runtime.InteropServices;
+
+public class switch_xml : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_xml(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_xml obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_xml() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero && swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_xml(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public string name {
+    set {
+      freeswitchPINVOKE.switch_xml_name_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_xml_name_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string attr {
+  set { freeswitchPINVOKE.switch_xml_attr_set(swigCPtr, ref value); }
+
+  get {
+    return freeswitchPINVOKE.switch_xml_attr_get(swigCPtr);
+  }
+
+  }
+
+  public string txt {
+    set {
+      freeswitchPINVOKE.switch_xml_txt_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_xml_txt_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public string free_path {
+    set {
+      freeswitchPINVOKE.switch_xml_free_path_set(swigCPtr, value);
+    } 
+    get {
+      string ret = freeswitchPINVOKE.switch_xml_free_path_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public SWIGTYPE_p_switch_size_t off {
+    set {
+      freeswitchPINVOKE.switch_xml_off_set(swigCPtr, SWIGTYPE_p_switch_size_t.getCPtr(value));
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+    } 
+    get {
+      SWIGTYPE_p_switch_size_t ret = new SWIGTYPE_p_switch_size_t(freeswitchPINVOKE.switch_xml_off_get(swigCPtr), true);
+      if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();
+      return ret;
+    } 
+  }
+
+  public switch_xml next {
+    set {
+      freeswitchPINVOKE.switch_xml_next_set(swigCPtr, switch_xml.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_xml_next_get(swigCPtr);
+      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_xml sibling {
+    set {
+      freeswitchPINVOKE.switch_xml_sibling_set(swigCPtr, switch_xml.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_xml_sibling_get(swigCPtr);
+      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_xml ordered {
+    set {
+      freeswitchPINVOKE.switch_xml_ordered_set(swigCPtr, switch_xml.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_xml_ordered_get(swigCPtr);
+      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_xml child {
+    set {
+      freeswitchPINVOKE.switch_xml_child_set(swigCPtr, switch_xml.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_xml_child_get(swigCPtr);
+      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public switch_xml parent {
+    set {
+      freeswitchPINVOKE.switch_xml_parent_set(swigCPtr, switch_xml.getCPtr(value));
+    } 
+    get {
+      IntPtr cPtr = freeswitchPINVOKE.switch_xml_parent_get(swigCPtr);
+      switch_xml ret = (cPtr == IntPtr.Zero) ? null : new switch_xml(cPtr, false);
+      return ret;
+    } 
+  }
+
+  public uint flags {
+    set {
+      freeswitchPINVOKE.switch_xml_flags_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_xml_flags_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_xml() : this(freeswitchPINVOKE.new_switch_xml(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_xml_flag_t {
+  SWITCH_XML_ROOT = (1 << 0),
+  SWITCH_XML_NAMEM = (1 << 1),
+  SWITCH_XML_TXTM = (1 << 2),
+  SWITCH_XML_DUP = (1 << 3)
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * 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 {
+
+[System.Flags] public enum switch_xml_section_enum_t {
+  SWITCH_XML_SECTION_RESULT = 0,
+  SWITCH_XML_SECTION_CONFIG = (1 << 0),
+  SWITCH_XML_SECTION_DIRECTORY = (1 << 1),
+  SWITCH_XML_SECTION_DIALPLAN = (1 << 2),
+  SWITCH_XML_SECTION_PHRASES = (1 << 3)
+}
+
+}



More information about the Freeswitch-svn mailing list