/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.9
 * 
 * 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. 
 * ----------------------------------------------------------------------------- */

#define SWIGCSHARP
#define SWIG_DIRECTORS


#ifdef __cplusplus
/* SwigValueWrapper is described in swig.swg */
template<typename T> class SwigValueWrapper {
  struct SwigMovePointer {
    T *ptr;
    SwigMovePointer(T *p) : ptr(p) { }
    ~SwigMovePointer() { delete ptr; }
    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
  } pointer;
  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
public:
  SwigValueWrapper() : pointer(0) { }
  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
  operator T&() const { return *pointer.ptr; }
  T *operator&() { return pointer.ptr; }
};

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_tinyWRAP(
                                                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_tinyWRAP(
                                                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_tinyWRAP(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

/* -----------------------------------------------------------------------------
 * director.swg
 *
 * This file contains support for director classes so that C# proxy 
 * methods can be called from C++.
 * ----------------------------------------------------------------------------- */

#ifdef __cplusplus

#if defined(DEBUG_DIRECTOR_OWNED)
#include <iostream>
#endif
#include <string>

namespace Swig {
  /* Director base class - not currently used in C# directors */
  class Director {
  };

  /* Base class for director exceptions */
  class DirectorException {
  protected:
    std::string swig_msg;

  public:
    DirectorException(const char* msg) : swig_msg(msg) {
    }
    DirectorException(const std::string &msg) : swig_msg(msg) {
    }
    const std::string& what() const {
      return swig_msg;
    }
    virtual ~DirectorException() {
    }
  };

  /* Pure virtual method exception */
  class DirectorPureVirtualException : public Swig::DirectorException {
  public:
    DirectorPureVirtualException(const char* msg) : DirectorException(std::string("Attempt to invoke pure virtual method ") + msg) {
    }
  };
}

#endif /* __cplusplus */



#include <stdint.h>		// Use the C99 official header


#include "tinyWRAP_config.h"
#include "DDebug.h"
#include "AudioResampler.h"


#include "ActionConfig.h"
#include "MediaSessionMgr.h"
#include "MediaContent.h"
#include "SipUri.h"
#include "SipMessage.h"
#include "SipEvent.h"
#include "SipSession.h"

#include "ProxyPluginMgr.h"
#include "ProxyConsumer.h"
#include "ProxyProducer.h"

#include "SipCallback.h"
#include "SafeObject.h"
#include "SipStack.h"


#include "Xcap.h"


#include "SMSEncoder.h"


#include "Msrp.h"



/* ---------------------------------------------------
 * C++ director class methods
 * --------------------------------------------------- */

#include "tinyWRAP_wrap.h"

SwigDirector_DDebugCallback::SwigDirector_DDebugCallback() : DDebugCallback(), Swig::Director() {
  swig_init_callbacks();
}

SwigDirector_DDebugCallback::~SwigDirector_DDebugCallback() {
  
}


int SwigDirector_DDebugCallback::OnDebugInfo(char const *message) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  char * jmessage = 0 ;
  
  if (!swig_callbackOnDebugInfo) {
    return DDebugCallback::OnDebugInfo(message);
  } else {
    jmessage = SWIG_csharp_string_callback((const char *)message); 
    jresult = (int) swig_callbackOnDebugInfo(jmessage);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_DDebugCallback::OnDebugWarn(char const *message) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  char * jmessage = 0 ;
  
  if (!swig_callbackOnDebugWarn) {
    return DDebugCallback::OnDebugWarn(message);
  } else {
    jmessage = SWIG_csharp_string_callback((const char *)message); 
    jresult = (int) swig_callbackOnDebugWarn(jmessage);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_DDebugCallback::OnDebugError(char const *message) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  char * jmessage = 0 ;
  
  if (!swig_callbackOnDebugError) {
    return DDebugCallback::OnDebugError(message);
  } else {
    jmessage = SWIG_csharp_string_callback((const char *)message); 
    jresult = (int) swig_callbackOnDebugError(jmessage);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_DDebugCallback::OnDebugFatal(char const *message) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  char * jmessage = 0 ;
  
  if (!swig_callbackOnDebugFatal) {
    return DDebugCallback::OnDebugFatal(message);
  } else {
    jmessage = SWIG_csharp_string_callback((const char *)message); 
    jresult = (int) swig_callbackOnDebugFatal(jmessage);
    c_result = (int)jresult; 
  }
  return c_result;
}

void SwigDirector_DDebugCallback::swig_connect_director(SWIG_Callback0_t callbackOnDebugInfo, SWIG_Callback1_t callbackOnDebugWarn, SWIG_Callback2_t callbackOnDebugError, SWIG_Callback3_t callbackOnDebugFatal) {
  swig_callbackOnDebugInfo = callbackOnDebugInfo;
  swig_callbackOnDebugWarn = callbackOnDebugWarn;
  swig_callbackOnDebugError = callbackOnDebugError;
  swig_callbackOnDebugFatal = callbackOnDebugFatal;
}

void SwigDirector_DDebugCallback::swig_init_callbacks() {
  swig_callbackOnDebugInfo = 0;
  swig_callbackOnDebugWarn = 0;
  swig_callbackOnDebugError = 0;
  swig_callbackOnDebugFatal = 0;
}

SwigDirector_T140Callback::SwigDirector_T140Callback() : T140Callback(), Swig::Director() {
  swig_init_callbacks();
}

SwigDirector_T140Callback::~SwigDirector_T140Callback() {
  
}


int SwigDirector_T140Callback::ondata(T140CallbackData const *pData) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * jpData = 0 ;
  
  if (!swig_callbackondata) {
    return T140Callback::ondata(pData);
  } else {
    jpData = (void *) pData; 
    jresult = (int) swig_callbackondata(jpData);
    c_result = (int)jresult; 
  }
  return c_result;
}

void SwigDirector_T140Callback::swig_connect_director(SWIG_Callback0_t callbackondata) {
  swig_callbackondata = callbackondata;
}

void SwigDirector_T140Callback::swig_init_callbacks() {
  swig_callbackondata = 0;
}

SwigDirector_ProxyPluginMgrCallback::SwigDirector_ProxyPluginMgrCallback() : ProxyPluginMgrCallback(), Swig::Director() {
  swig_init_callbacks();
}

SwigDirector_ProxyPluginMgrCallback::~SwigDirector_ProxyPluginMgrCallback() {
  
}


int SwigDirector_ProxyPluginMgrCallback::OnPluginCreated(uint64_t id, enum twrap_proxy_plugin_type_e type) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  unsigned long long jid  ;
  int jtype  ;
  
  if (!swig_callbackOnPluginCreated) {
    return ProxyPluginMgrCallback::OnPluginCreated(id,type);
  } else {
    jid = id;
    jtype = type;
    jresult = (int) swig_callbackOnPluginCreated(jid, jtype);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyPluginMgrCallback::OnPluginDestroyed(uint64_t id, enum twrap_proxy_plugin_type_e type) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  unsigned long long jid  ;
  int jtype  ;
  
  if (!swig_callbackOnPluginDestroyed) {
    return ProxyPluginMgrCallback::OnPluginDestroyed(id,type);
  } else {
    jid = id;
    jtype = type;
    jresult = (int) swig_callbackOnPluginDestroyed(jid, jtype);
    c_result = (int)jresult; 
  }
  return c_result;
}

void SwigDirector_ProxyPluginMgrCallback::swig_connect_director(SWIG_Callback0_t callbackOnPluginCreated, SWIG_Callback1_t callbackOnPluginDestroyed) {
  swig_callbackOnPluginCreated = callbackOnPluginCreated;
  swig_callbackOnPluginDestroyed = callbackOnPluginDestroyed;
}

void SwigDirector_ProxyPluginMgrCallback::swig_init_callbacks() {
  swig_callbackOnPluginCreated = 0;
  swig_callbackOnPluginDestroyed = 0;
}

SwigDirector_ProxyAudioConsumerCallback::SwigDirector_ProxyAudioConsumerCallback() : ProxyAudioConsumerCallback(), Swig::Director() {
  swig_init_callbacks();
}

SwigDirector_ProxyAudioConsumerCallback::~SwigDirector_ProxyAudioConsumerCallback() {
  
}


int SwigDirector_ProxyAudioConsumerCallback::prepare(int ptime, int rate, int channels) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  int jptime  ;
  int jrate  ;
  int jchannels  ;
  
  if (!swig_callbackprepare) {
    return ProxyAudioConsumerCallback::prepare(ptime,rate,channels);
  } else {
    jptime = ptime;
    jrate = rate;
    jchannels = channels;
    jresult = (int) swig_callbackprepare(jptime, jrate, jchannels);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyAudioConsumerCallback::start() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackstart) {
    return ProxyAudioConsumerCallback::start();
  } else {
    jresult = (int) swig_callbackstart();
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyAudioConsumerCallback::pause() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackpause) {
    return ProxyAudioConsumerCallback::pause();
  } else {
    jresult = (int) swig_callbackpause();
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyAudioConsumerCallback::stop() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackstop) {
    return ProxyAudioConsumerCallback::stop();
  } else {
    jresult = (int) swig_callbackstop();
    c_result = (int)jresult; 
  }
  return c_result;
}

void SwigDirector_ProxyAudioConsumerCallback::swig_connect_director(SWIG_Callback0_t callbackprepare, SWIG_Callback1_t callbackstart, SWIG_Callback2_t callbackpause, SWIG_Callback3_t callbackstop) {
  swig_callbackprepare = callbackprepare;
  swig_callbackstart = callbackstart;
  swig_callbackpause = callbackpause;
  swig_callbackstop = callbackstop;
}

void SwigDirector_ProxyAudioConsumerCallback::swig_init_callbacks() {
  swig_callbackprepare = 0;
  swig_callbackstart = 0;
  swig_callbackpause = 0;
  swig_callbackstop = 0;
}

SwigDirector_ProxyVideoConsumerCallback::SwigDirector_ProxyVideoConsumerCallback() : ProxyVideoConsumerCallback(), Swig::Director() {
  swig_init_callbacks();
}

SwigDirector_ProxyVideoConsumerCallback::~SwigDirector_ProxyVideoConsumerCallback() {
  
}


int SwigDirector_ProxyVideoConsumerCallback::prepare(int nWidth, int nHeight, int nFps) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  int jnWidth  ;
  int jnHeight  ;
  int jnFps  ;
  
  if (!swig_callbackprepare) {
    return ProxyVideoConsumerCallback::prepare(nWidth,nHeight,nFps);
  } else {
    jnWidth = nWidth;
    jnHeight = nHeight;
    jnFps = nFps;
    jresult = (int) swig_callbackprepare(jnWidth, jnHeight, jnFps);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyVideoConsumerCallback::consume(ProxyVideoFrame const *frame) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * jframe = 0 ;
  
  if (!swig_callbackconsume) {
    return ProxyVideoConsumerCallback::consume(frame);
  } else {
    jframe = (void *) frame; 
    jresult = (int) swig_callbackconsume(jframe);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyVideoConsumerCallback::bufferCopied(unsigned int nCopiedSize, unsigned int nAvailableSize) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  unsigned int jnCopiedSize  ;
  unsigned int jnAvailableSize  ;
  
  if (!swig_callbackbufferCopied) {
    return ProxyVideoConsumerCallback::bufferCopied(nCopiedSize,nAvailableSize);
  } else {
    jnCopiedSize = nCopiedSize;
    jnAvailableSize = nAvailableSize;
    jresult = (int) swig_callbackbufferCopied(jnCopiedSize, jnAvailableSize);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyVideoConsumerCallback::start() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackstart) {
    return ProxyVideoConsumerCallback::start();
  } else {
    jresult = (int) swig_callbackstart();
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyVideoConsumerCallback::pause() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackpause) {
    return ProxyVideoConsumerCallback::pause();
  } else {
    jresult = (int) swig_callbackpause();
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyVideoConsumerCallback::stop() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackstop) {
    return ProxyVideoConsumerCallback::stop();
  } else {
    jresult = (int) swig_callbackstop();
    c_result = (int)jresult; 
  }
  return c_result;
}

void SwigDirector_ProxyVideoConsumerCallback::swig_connect_director(SWIG_Callback0_t callbackprepare, SWIG_Callback1_t callbackconsume, SWIG_Callback2_t callbackbufferCopied, SWIG_Callback3_t callbackstart, SWIG_Callback4_t callbackpause, SWIG_Callback5_t callbackstop) {
  swig_callbackprepare = callbackprepare;
  swig_callbackconsume = callbackconsume;
  swig_callbackbufferCopied = callbackbufferCopied;
  swig_callbackstart = callbackstart;
  swig_callbackpause = callbackpause;
  swig_callbackstop = callbackstop;
}

void SwigDirector_ProxyVideoConsumerCallback::swig_init_callbacks() {
  swig_callbackprepare = 0;
  swig_callbackconsume = 0;
  swig_callbackbufferCopied = 0;
  swig_callbackstart = 0;
  swig_callbackpause = 0;
  swig_callbackstop = 0;
}

SwigDirector_ProxyAudioProducerCallback::SwigDirector_ProxyAudioProducerCallback() : ProxyAudioProducerCallback(), Swig::Director() {
  swig_init_callbacks();
}

SwigDirector_ProxyAudioProducerCallback::~SwigDirector_ProxyAudioProducerCallback() {
  
}


int SwigDirector_ProxyAudioProducerCallback::prepare(int ptime, int rate, int channels) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  int jptime  ;
  int jrate  ;
  int jchannels  ;
  
  if (!swig_callbackprepare) {
    return ProxyAudioProducerCallback::prepare(ptime,rate,channels);
  } else {
    jptime = ptime;
    jrate = rate;
    jchannels = channels;
    jresult = (int) swig_callbackprepare(jptime, jrate, jchannels);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyAudioProducerCallback::start() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackstart) {
    return ProxyAudioProducerCallback::start();
  } else {
    jresult = (int) swig_callbackstart();
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyAudioProducerCallback::pause() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackpause) {
    return ProxyAudioProducerCallback::pause();
  } else {
    jresult = (int) swig_callbackpause();
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyAudioProducerCallback::stop() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackstop) {
    return ProxyAudioProducerCallback::stop();
  } else {
    jresult = (int) swig_callbackstop();
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyAudioProducerCallback::fillPushBuffer() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackfillPushBuffer) {
    return ProxyAudioProducerCallback::fillPushBuffer();
  } else {
    jresult = (int) swig_callbackfillPushBuffer();
    c_result = (int)jresult; 
  }
  return c_result;
}

void SwigDirector_ProxyAudioProducerCallback::swig_connect_director(SWIG_Callback0_t callbackprepare, SWIG_Callback1_t callbackstart, SWIG_Callback2_t callbackpause, SWIG_Callback3_t callbackstop, SWIG_Callback4_t callbackfillPushBuffer) {
  swig_callbackprepare = callbackprepare;
  swig_callbackstart = callbackstart;
  swig_callbackpause = callbackpause;
  swig_callbackstop = callbackstop;
  swig_callbackfillPushBuffer = callbackfillPushBuffer;
}

void SwigDirector_ProxyAudioProducerCallback::swig_init_callbacks() {
  swig_callbackprepare = 0;
  swig_callbackstart = 0;
  swig_callbackpause = 0;
  swig_callbackstop = 0;
  swig_callbackfillPushBuffer = 0;
}

SwigDirector_ProxyVideoProducerCallback::SwigDirector_ProxyVideoProducerCallback() : ProxyVideoProducerCallback(), Swig::Director() {
  swig_init_callbacks();
}

SwigDirector_ProxyVideoProducerCallback::~SwigDirector_ProxyVideoProducerCallback() {
  
}


int SwigDirector_ProxyVideoProducerCallback::prepare(int width, int height, int fps) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  int jwidth  ;
  int jheight  ;
  int jfps  ;
  
  if (!swig_callbackprepare) {
    return ProxyVideoProducerCallback::prepare(width,height,fps);
  } else {
    jwidth = width;
    jheight = height;
    jfps = fps;
    jresult = (int) swig_callbackprepare(jwidth, jheight, jfps);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyVideoProducerCallback::start() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackstart) {
    return ProxyVideoProducerCallback::start();
  } else {
    jresult = (int) swig_callbackstart();
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyVideoProducerCallback::pause() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackpause) {
    return ProxyVideoProducerCallback::pause();
  } else {
    jresult = (int) swig_callbackpause();
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_ProxyVideoProducerCallback::stop() {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  
  if (!swig_callbackstop) {
    return ProxyVideoProducerCallback::stop();
  } else {
    jresult = (int) swig_callbackstop();
    c_result = (int)jresult; 
  }
  return c_result;
}

void SwigDirector_ProxyVideoProducerCallback::swig_connect_director(SWIG_Callback0_t callbackprepare, SWIG_Callback1_t callbackstart, SWIG_Callback2_t callbackpause, SWIG_Callback3_t callbackstop) {
  swig_callbackprepare = callbackprepare;
  swig_callbackstart = callbackstart;
  swig_callbackpause = callbackpause;
  swig_callbackstop = callbackstop;
}

void SwigDirector_ProxyVideoProducerCallback::swig_init_callbacks() {
  swig_callbackprepare = 0;
  swig_callbackstart = 0;
  swig_callbackpause = 0;
  swig_callbackstop = 0;
}

SwigDirector_SipCallback::SwigDirector_SipCallback() : SipCallback(), Swig::Director() {
  swig_init_callbacks();
}

SwigDirector_SipCallback::~SwigDirector_SipCallback() {
  
}


int SwigDirector_SipCallback::OnDialogEvent(DialogEvent const *e) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * je = 0 ;
  
  if (!swig_callbackOnDialogEvent) {
    return SipCallback::OnDialogEvent(e);
  } else {
    je = (void *) e; 
    jresult = (int) swig_callbackOnDialogEvent(je);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_SipCallback::OnStackEvent(StackEvent const *e) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * je = 0 ;
  
  if (!swig_callbackOnStackEvent) {
    return SipCallback::OnStackEvent(e);
  } else {
    je = (void *) e; 
    jresult = (int) swig_callbackOnStackEvent(je);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_SipCallback::OnInviteEvent(InviteEvent const *e) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * je = 0 ;
  
  if (!swig_callbackOnInviteEvent) {
    return SipCallback::OnInviteEvent(e);
  } else {
    je = (void *) e; 
    jresult = (int) swig_callbackOnInviteEvent(je);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_SipCallback::OnMessagingEvent(MessagingEvent const *e) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * je = 0 ;
  
  if (!swig_callbackOnMessagingEvent) {
    return SipCallback::OnMessagingEvent(e);
  } else {
    je = (void *) e; 
    jresult = (int) swig_callbackOnMessagingEvent(je);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_SipCallback::OnInfoEvent(InfoEvent const *e) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * je = 0 ;
  
  if (!swig_callbackOnInfoEvent) {
    return SipCallback::OnInfoEvent(e);
  } else {
    je = (void *) e; 
    jresult = (int) swig_callbackOnInfoEvent(je);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_SipCallback::OnOptionsEvent(OptionsEvent const *e) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * je = 0 ;
  
  if (!swig_callbackOnOptionsEvent) {
    return SipCallback::OnOptionsEvent(e);
  } else {
    je = (void *) e; 
    jresult = (int) swig_callbackOnOptionsEvent(je);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_SipCallback::OnPublicationEvent(PublicationEvent const *e) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * je = 0 ;
  
  if (!swig_callbackOnPublicationEvent) {
    return SipCallback::OnPublicationEvent(e);
  } else {
    je = (void *) e; 
    jresult = (int) swig_callbackOnPublicationEvent(je);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_SipCallback::OnRegistrationEvent(RegistrationEvent const *e) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * je = 0 ;
  
  if (!swig_callbackOnRegistrationEvent) {
    return SipCallback::OnRegistrationEvent(e);
  } else {
    je = (void *) e; 
    jresult = (int) swig_callbackOnRegistrationEvent(je);
    c_result = (int)jresult; 
  }
  return c_result;
}

int SwigDirector_SipCallback::OnSubscriptionEvent(SubscriptionEvent const *e) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * je = 0 ;
  
  if (!swig_callbackOnSubscriptionEvent) {
    return SipCallback::OnSubscriptionEvent(e);
  } else {
    je = (void *) e; 
    jresult = (int) swig_callbackOnSubscriptionEvent(je);
    c_result = (int)jresult; 
  }
  return c_result;
}

void SwigDirector_SipCallback::swig_connect_director(SWIG_Callback0_t callbackOnDialogEvent, SWIG_Callback1_t callbackOnStackEvent, SWIG_Callback2_t callbackOnInviteEvent, SWIG_Callback3_t callbackOnMessagingEvent, SWIG_Callback4_t callbackOnInfoEvent, SWIG_Callback5_t callbackOnOptionsEvent, SWIG_Callback6_t callbackOnPublicationEvent, SWIG_Callback7_t callbackOnRegistrationEvent, SWIG_Callback8_t callbackOnSubscriptionEvent) {
  swig_callbackOnDialogEvent = callbackOnDialogEvent;
  swig_callbackOnStackEvent = callbackOnStackEvent;
  swig_callbackOnInviteEvent = callbackOnInviteEvent;
  swig_callbackOnMessagingEvent = callbackOnMessagingEvent;
  swig_callbackOnInfoEvent = callbackOnInfoEvent;
  swig_callbackOnOptionsEvent = callbackOnOptionsEvent;
  swig_callbackOnPublicationEvent = callbackOnPublicationEvent;
  swig_callbackOnRegistrationEvent = callbackOnRegistrationEvent;
  swig_callbackOnSubscriptionEvent = callbackOnSubscriptionEvent;
}

void SwigDirector_SipCallback::swig_init_callbacks() {
  swig_callbackOnDialogEvent = 0;
  swig_callbackOnStackEvent = 0;
  swig_callbackOnInviteEvent = 0;
  swig_callbackOnMessagingEvent = 0;
  swig_callbackOnInfoEvent = 0;
  swig_callbackOnOptionsEvent = 0;
  swig_callbackOnPublicationEvent = 0;
  swig_callbackOnRegistrationEvent = 0;
  swig_callbackOnSubscriptionEvent = 0;
}

SwigDirector_XcapCallback::SwigDirector_XcapCallback() : XcapCallback(), Swig::Director() {
  swig_init_callbacks();
}

SwigDirector_XcapCallback::~SwigDirector_XcapCallback() {
  
}


int SwigDirector_XcapCallback::onEvent(XcapEvent const *e) const {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * je = 0 ;
  
  if (!swig_callbackonEvent) {
    return XcapCallback::onEvent(e);
  } else {
    je = (void *) e; 
    jresult = (int) swig_callbackonEvent(je);
    c_result = (int)jresult; 
  }
  return c_result;
}

void SwigDirector_XcapCallback::swig_connect_director(SWIG_Callback0_t callbackonEvent) {
  swig_callbackonEvent = callbackonEvent;
}

void SwigDirector_XcapCallback::swig_init_callbacks() {
  swig_callbackonEvent = 0;
}

SwigDirector_MsrpCallback::SwigDirector_MsrpCallback() : MsrpCallback(), Swig::Director() {
  swig_init_callbacks();
}

SwigDirector_MsrpCallback::~SwigDirector_MsrpCallback() {
  
}


int SwigDirector_MsrpCallback::OnEvent(MsrpEvent const *e) {
  int c_result = SwigValueInit< int >() ;
  int jresult = 0 ;
  void * je = 0 ;
  
  if (!swig_callbackOnEvent) {
    return MsrpCallback::OnEvent(e);
  } else {
    je = (void *) e; 
    jresult = (int) swig_callbackOnEvent(je);
    c_result = (int)jresult; 
  }
  return c_result;
}

void SwigDirector_MsrpCallback::swig_connect_director(SWIG_Callback0_t callbackOnEvent) {
  swig_callbackOnEvent = callbackOnEvent;
}

void SwigDirector_MsrpCallback::swig_init_callbacks() {
  swig_callbackOnEvent = 0;
}


#ifdef __cplusplus
extern "C" {
#endif

SWIGEXPORT void * SWIGSTDCALL CSharp_new_DDebugCallback() {
  void * jresult ;
  DDebugCallback *result = 0 ;
  
  result = (DDebugCallback *)new SwigDirector_DDebugCallback();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_DDebugCallback(void * jarg1) {
  DDebugCallback *arg1 = (DDebugCallback *) 0 ;
  
  arg1 = (DDebugCallback *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_DDebugCallback_OnDebugInfo(void * jarg1, char * jarg2) {
  int jresult ;
  DDebugCallback *arg1 = (DDebugCallback *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (DDebugCallback *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)(arg1)->OnDebugInfo((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_DDebugCallback_OnDebugInfoSwigExplicitDDebugCallback(void * jarg1, char * jarg2) {
  int jresult ;
  DDebugCallback *arg1 = (DDebugCallback *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (DDebugCallback *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)(arg1)->DDebugCallback::OnDebugInfo((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_DDebugCallback_OnDebugWarn(void * jarg1, char * jarg2) {
  int jresult ;
  DDebugCallback *arg1 = (DDebugCallback *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (DDebugCallback *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)(arg1)->OnDebugWarn((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_DDebugCallback_OnDebugWarnSwigExplicitDDebugCallback(void * jarg1, char * jarg2) {
  int jresult ;
  DDebugCallback *arg1 = (DDebugCallback *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (DDebugCallback *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)(arg1)->DDebugCallback::OnDebugWarn((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_DDebugCallback_OnDebugError(void * jarg1, char * jarg2) {
  int jresult ;
  DDebugCallback *arg1 = (DDebugCallback *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (DDebugCallback *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)(arg1)->OnDebugError((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_DDebugCallback_OnDebugErrorSwigExplicitDDebugCallback(void * jarg1, char * jarg2) {
  int jresult ;
  DDebugCallback *arg1 = (DDebugCallback *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (DDebugCallback *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)(arg1)->DDebugCallback::OnDebugError((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_DDebugCallback_OnDebugFatal(void * jarg1, char * jarg2) {
  int jresult ;
  DDebugCallback *arg1 = (DDebugCallback *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (DDebugCallback *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)(arg1)->OnDebugFatal((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_DDebugCallback_OnDebugFatalSwigExplicitDDebugCallback(void * jarg1, char * jarg2) {
  int jresult ;
  DDebugCallback *arg1 = (DDebugCallback *) 0 ;
  char *arg2 = (char *) 0 ;
  int result;
  
  arg1 = (DDebugCallback *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (int)(arg1)->DDebugCallback::OnDebugFatal((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_DDebugCallback_director_connect(void *objarg, SwigDirector_DDebugCallback::SWIG_Callback0_t callback0, SwigDirector_DDebugCallback::SWIG_Callback1_t callback1, SwigDirector_DDebugCallback::SWIG_Callback2_t callback2, SwigDirector_DDebugCallback::SWIG_Callback3_t callback3) {
  DDebugCallback *obj = (DDebugCallback *)objarg;
  SwigDirector_DDebugCallback *director = dynamic_cast<SwigDirector_DDebugCallback *>(obj);
  if (director) {
    director->swig_connect_director(callback0, callback1, callback2, callback3);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_AudioResampler(unsigned int jarg1, unsigned int jarg2, unsigned int jarg3, unsigned int jarg4, unsigned int jarg5) {
  void * jresult ;
  uint32_t arg1 ;
  uint32_t arg2 ;
  uint32_t arg3 ;
  uint32_t arg4 ;
  uint32_t arg5 ;
  AudioResampler *result = 0 ;
  
  arg1 = (uint32_t)jarg1; 
  arg2 = (uint32_t)jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = (uint32_t)jarg4; 
  arg5 = (uint32_t)jarg5; 
  result = (AudioResampler *)new AudioResampler(arg1,arg2,arg3,arg4,arg5);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_AudioResampler(void * jarg1) {
  AudioResampler *arg1 = (AudioResampler *) 0 ;
  
  arg1 = (AudioResampler *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_AudioResampler_isValid(void * jarg1) {
  unsigned int jresult ;
  AudioResampler *arg1 = (AudioResampler *) 0 ;
  bool result;
  
  arg1 = (AudioResampler *)jarg1; 
  result = (bool)(arg1)->isValid();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_AudioResampler_getOutputRequiredSizeInShort(void * jarg1) {
  unsigned int jresult ;
  AudioResampler *arg1 = (AudioResampler *) 0 ;
  uint32_t result;
  
  arg1 = (AudioResampler *)jarg1; 
  result = (uint32_t)(arg1)->getOutputRequiredSizeInShort();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_AudioResampler_getInputRequiredSizeInShort(void * jarg1) {
  unsigned int jresult ;
  AudioResampler *arg1 = (AudioResampler *) 0 ;
  uint32_t result;
  
  arg1 = (AudioResampler *)jarg1; 
  result = (uint32_t)(arg1)->getInputRequiredSizeInShort();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_AudioResampler_process(void * jarg1, void * jarg2, unsigned int jarg3, void * jarg4, unsigned int jarg5) {
  unsigned int jresult ;
  AudioResampler *arg1 = (AudioResampler *) 0 ;
  void *arg2 = (void *) 0 ;
  uint32_t arg3 ;
  void *arg4 = (void *) 0 ;
  uint32_t arg5 ;
  uint32_t result;
  
  arg1 = (AudioResampler *)jarg1; 
  arg2 = jarg2; 
  arg3 = (uint32_t)jarg3; 
  arg4 = jarg4; 
  arg5 = (uint32_t)jarg5; 
  result = (uint32_t)(arg1)->process((void const *)arg2,arg3,arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_ActionConfig() {
  void * jresult ;
  ActionConfig *result = 0 ;
  
  result = (ActionConfig *)new ActionConfig();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ActionConfig(void * jarg1) {
  ActionConfig *arg1 = (ActionConfig *) 0 ;
  
  arg1 = (ActionConfig *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ActionConfig_addHeader(void * jarg1, char * jarg2, char * jarg3) {
  unsigned int jresult ;
  ActionConfig *arg1 = (ActionConfig *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  arg1 = (ActionConfig *)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_ActionConfig_addPayload(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  ActionConfig *arg1 = (ActionConfig *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  bool result;
  
  arg1 = (ActionConfig *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (bool)(arg1)->addPayload((void const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ActionConfig_setActiveMedia(void * jarg1, int jarg2) {
  unsigned int jresult ;
  ActionConfig *arg1 = (ActionConfig *) 0 ;
  twrap_media_type_t arg2 ;
  bool result;
  
  arg1 = (ActionConfig *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  result = (bool)(arg1)->setActiveMedia(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_ActionConfig_setResponseLine(void * jarg1, short jarg2, char * jarg3) {
  void * jresult ;
  ActionConfig *arg1 = (ActionConfig *) 0 ;
  short arg2 ;
  char *arg3 = (char *) 0 ;
  ActionConfig *result = 0 ;
  
  arg1 = (ActionConfig *)jarg1; 
  arg2 = (short)jarg2; 
  arg3 = (char *)jarg3; 
  result = (ActionConfig *)(arg1)->setResponseLine(arg2,(char const *)arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_ActionConfig_setMediaString(void * jarg1, int jarg2, char * jarg3, char * jarg4) {
  void * jresult ;
  ActionConfig *arg1 = (ActionConfig *) 0 ;
  twrap_media_type_t arg2 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  ActionConfig *result = 0 ;
  
  arg1 = (ActionConfig *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (ActionConfig *)(arg1)->setMediaString(arg2,(char const *)arg3,(char const *)arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_ActionConfig_setMediaInt(void * jarg1, int jarg2, char * jarg3, int jarg4) {
  void * jresult ;
  ActionConfig *arg1 = (ActionConfig *) 0 ;
  twrap_media_type_t arg2 ;
  char *arg3 = (char *) 0 ;
  int arg4 ;
  ActionConfig *result = 0 ;
  
  arg1 = (ActionConfig *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int)jarg4; 
  result = (ActionConfig *)(arg1)->setMediaInt(arg2,(char const *)arg3,arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_Codec(void * jarg1) {
  Codec *arg1 = (Codec *) 0 ;
  
  arg1 = (Codec *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_Codec_getMediaType(void * jarg1) {
  int jresult ;
  Codec *arg1 = (Codec *) 0 ;
  twrap_media_type_t result;
  
  arg1 = (Codec *)jarg1; 
  result = (twrap_media_type_t)(arg1)->getMediaType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_Codec_getName(void * jarg1) {
  char * jresult ;
  Codec *arg1 = (Codec *) 0 ;
  char *result = 0 ;
  
  arg1 = (Codec *)jarg1; 
  result = (char *)(arg1)->getName();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_Codec_getDescription(void * jarg1) {
  char * jresult ;
  Codec *arg1 = (Codec *) 0 ;
  char *result = 0 ;
  
  arg1 = (Codec *)jarg1; 
  result = (char *)(arg1)->getDescription();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_Codec_getNegFormat(void * jarg1) {
  char * jresult ;
  Codec *arg1 = (Codec *) 0 ;
  char *result = 0 ;
  
  arg1 = (Codec *)jarg1; 
  result = (char *)(arg1)->getNegFormat();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_Codec_getAudioSamplingRate(void * jarg1) {
  int jresult ;
  Codec *arg1 = (Codec *) 0 ;
  int result;
  
  arg1 = (Codec *)jarg1; 
  result = (int)(arg1)->getAudioSamplingRate();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_Codec_getAudioChannels(void * jarg1) {
  int jresult ;
  Codec *arg1 = (Codec *) 0 ;
  int result;
  
  arg1 = (Codec *)jarg1; 
  result = (int)(arg1)->getAudioChannels();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_Codec_getAudioPTime(void * jarg1) {
  int jresult ;
  Codec *arg1 = (Codec *) 0 ;
  int result;
  
  arg1 = (Codec *)jarg1; 
  result = (int)(arg1)->getAudioPTime();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_MediaSessionMgr(void * jarg1) {
  MediaSessionMgr *arg1 = (MediaSessionMgr *) 0 ;
  
  arg1 = (MediaSessionMgr *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_sessionSetInt32(void * jarg1, int jarg2, char * jarg3, int jarg4) {
  unsigned int jresult ;
  MediaSessionMgr *arg1 = (MediaSessionMgr *) 0 ;
  twrap_media_type_t arg2 ;
  char *arg3 = (char *) 0 ;
  int32_t arg4 ;
  bool result;
  
  arg1 = (MediaSessionMgr *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int32_t)jarg4; 
  result = (bool)(arg1)->sessionSetInt32(arg2,(char const *)arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_MediaSessionMgr_sessionGetInt32(void * jarg1, int jarg2, char * jarg3) {
  int jresult ;
  MediaSessionMgr *arg1 = (MediaSessionMgr *) 0 ;
  twrap_media_type_t arg2 ;
  char *arg3 = (char *) 0 ;
  int32_t result;
  
  arg1 = (MediaSessionMgr *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  arg3 = (char *)jarg3; 
  result = (int32_t)(arg1)->sessionGetInt32(arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_consumerSetInt32(void * jarg1, int jarg2, char * jarg3, int jarg4) {
  unsigned int jresult ;
  MediaSessionMgr *arg1 = (MediaSessionMgr *) 0 ;
  twrap_media_type_t arg2 ;
  char *arg3 = (char *) 0 ;
  int32_t arg4 ;
  bool result;
  
  arg1 = (MediaSessionMgr *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int32_t)jarg4; 
  result = (bool)(arg1)->consumerSetInt32(arg2,(char const *)arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_consumerSetInt64(void * jarg1, int jarg2, char * jarg3, long long jarg4) {
  unsigned int jresult ;
  MediaSessionMgr *arg1 = (MediaSessionMgr *) 0 ;
  twrap_media_type_t arg2 ;
  char *arg3 = (char *) 0 ;
  int64_t arg4 ;
  bool result;
  
  arg1 = (MediaSessionMgr *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int64_t)jarg4; 
  result = (bool)(arg1)->consumerSetInt64(arg2,(char const *)arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_producerSetInt32(void * jarg1, int jarg2, char * jarg3, int jarg4) {
  unsigned int jresult ;
  MediaSessionMgr *arg1 = (MediaSessionMgr *) 0 ;
  twrap_media_type_t arg2 ;
  char *arg3 = (char *) 0 ;
  int32_t arg4 ;
  bool result;
  
  arg1 = (MediaSessionMgr *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int32_t)jarg4; 
  result = (bool)(arg1)->producerSetInt32(arg2,(char const *)arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_producerSetInt64(void * jarg1, int jarg2, char * jarg3, long long jarg4) {
  unsigned int jresult ;
  MediaSessionMgr *arg1 = (MediaSessionMgr *) 0 ;
  twrap_media_type_t arg2 ;
  char *arg3 = (char *) 0 ;
  int64_t arg4 ;
  bool result;
  
  arg1 = (MediaSessionMgr *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (int64_t)jarg4; 
  result = (bool)(arg1)->producerSetInt64(arg2,(char const *)arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_MediaSessionMgr_producerGetCodec(void * jarg1, int jarg2) {
  void * jresult ;
  MediaSessionMgr *arg1 = (MediaSessionMgr *) 0 ;
  twrap_media_type_t arg2 ;
  Codec *result = 0 ;
  
  arg1 = (MediaSessionMgr *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  result = (Codec *)(arg1)->producerGetCodec(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_MediaSessionMgr_findProxyPluginConsumer(void * jarg1, int jarg2) {
  void * jresult ;
  MediaSessionMgr *arg1 = (MediaSessionMgr *) 0 ;
  twrap_media_type_t arg2 ;
  ProxyPlugin *result = 0 ;
  
  arg1 = (MediaSessionMgr *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  result = (ProxyPlugin *)((MediaSessionMgr const *)arg1)->findProxyPluginConsumer(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_MediaSessionMgr_findProxyPluginProducer(void * jarg1, int jarg2) {
  void * jresult ;
  MediaSessionMgr *arg1 = (MediaSessionMgr *) 0 ;
  twrap_media_type_t arg2 ;
  ProxyPlugin *result = 0 ;
  
  arg1 = (MediaSessionMgr *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  result = (ProxyPlugin *)((MediaSessionMgr const *)arg1)->findProxyPluginProducer(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_registerAudioPluginFromFile(char * jarg1) {
  unsigned int jresult ;
  char *arg1 = (char *) 0 ;
  unsigned int result;
  
  arg1 = (char *)jarg1; 
  result = (unsigned int)MediaSessionMgr::registerAudioPluginFromFile((char const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_MediaSessionMgr_getSessionId(void * jarg1, int jarg2) {
  unsigned long long jresult ;
  MediaSessionMgr *arg1 = (MediaSessionMgr *) 0 ;
  twrap_media_type_t arg2 ;
  uint64_t result;
  
  arg1 = (MediaSessionMgr *)jarg1; 
  arg2 = (twrap_media_type_t)jarg2; 
  result = (uint64_t)((MediaSessionMgr const *)arg1)->getSessionId(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetProfile(int jarg1) {
  unsigned int jresult ;
  tmedia_profile_t arg1 ;
  bool result;
  
  arg1 = (tmedia_profile_t)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetProfile(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetProfile() {
  int jresult ;
  tmedia_profile_t result;
  
  result = (tmedia_profile_t)MediaSessionMgr::defaultsGetProfile();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetBandwidthLevel(int jarg1) {
  unsigned int jresult ;
  tmedia_bandwidth_level_t arg1 ;
  bool result;
  
  arg1 = (tmedia_bandwidth_level_t)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetBandwidthLevel(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetBandwidthLevel() {
  int jresult ;
  tmedia_bandwidth_level_t result;
  
  result = (tmedia_bandwidth_level_t)MediaSessionMgr::defaultsGetBandwidthLevel();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetPrefVideoSize(int jarg1) {
  unsigned int jresult ;
  tmedia_pref_video_size_t arg1 ;
  bool result;
  
  arg1 = (tmedia_pref_video_size_t)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetPrefVideoSize(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetJbMargin(unsigned int jarg1) {
  unsigned int jresult ;
  uint32_t arg1 ;
  bool result;
  
  arg1 = (uint32_t)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetJbMargin(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetJbMaxLateRate(unsigned int jarg1) {
  unsigned int jresult ;
  uint32_t arg1 ;
  bool result;
  
  arg1 = (uint32_t)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetJbMaxLateRate(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetEchoTail(unsigned int jarg1) {
  unsigned int jresult ;
  uint32_t arg1 ;
  bool result;
  
  arg1 = (uint32_t)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetEchoTail(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetEchoTail() {
  unsigned int jresult ;
  uint32_t result;
  
  result = (uint32_t)MediaSessionMgr::defaultsGetEchoTail();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetEchoSkew(unsigned int jarg1) {
  unsigned int jresult ;
  uint32_t arg1 ;
  bool result;
  
  arg1 = (uint32_t)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetEchoSkew(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetEchoSuppEnabled(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSetEchoSuppEnabled(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetEchoSuppEnabled() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)MediaSessionMgr::defaultsGetEchoSuppEnabled();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetAgcEnabled(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSetAgcEnabled(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetAgcEnabled() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)MediaSessionMgr::defaultsGetAgcEnabled();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetAgcLevel(float jarg1) {
  unsigned int jresult ;
  float arg1 ;
  bool result;
  
  arg1 = (float)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetAgcLevel(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT float SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetAgcLevel() {
  float jresult ;
  float result;
  
  result = (float)MediaSessionMgr::defaultsGetAgcLevel();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetVadEnabled(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSetVadEnabled(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetGetVadEnabled() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)MediaSessionMgr::defaultsGetGetVadEnabled();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetNoiseSuppEnabled(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSetNoiseSuppEnabled(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetNoiseSuppEnabled() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)MediaSessionMgr::defaultsGetNoiseSuppEnabled();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetNoiseSuppLevel(int jarg1) {
  unsigned int jresult ;
  int32_t arg1 ;
  bool result;
  
  arg1 = (int32_t)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetNoiseSuppLevel(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetNoiseSuppLevel() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)MediaSessionMgr::defaultsGetNoiseSuppLevel();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSet100relEnabled(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSet100relEnabled(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGet100relEnabled() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)MediaSessionMgr::defaultsGet100relEnabled();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetScreenSize(int jarg1, int jarg2) {
  unsigned int jresult ;
  int32_t arg1 ;
  int32_t arg2 ;
  bool result;
  
  arg1 = (int32_t)jarg1; 
  arg2 = (int32_t)jarg2; 
  result = (bool)MediaSessionMgr::defaultsSetScreenSize(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetAudioGain(int jarg1, int jarg2) {
  unsigned int jresult ;
  int32_t arg1 ;
  int32_t arg2 ;
  bool result;
  
  arg1 = (int32_t)jarg1; 
  arg2 = (int32_t)jarg2; 
  result = (bool)MediaSessionMgr::defaultsSetAudioGain(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetRtpPortRange(unsigned short jarg1, unsigned short jarg2) {
  unsigned int jresult ;
  uint16_t arg1 ;
  uint16_t arg2 ;
  bool result;
  
  arg1 = (uint16_t)jarg1; 
  arg2 = (uint16_t)jarg2; 
  result = (bool)MediaSessionMgr::defaultsSetRtpPortRange(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetRtpSymetricEnabled(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSetRtpSymetricEnabled(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetMediaType(int jarg1) {
  unsigned int jresult ;
  twrap_media_type_t arg1 ;
  bool result;
  
  arg1 = (twrap_media_type_t)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetMediaType(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetVolume(int jarg1) {
  unsigned int jresult ;
  int32_t arg1 ;
  bool result;
  
  arg1 = (int32_t)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetVolume(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetVolume() {
  int jresult ;
  int32_t result;
  
  result = (int32_t)MediaSessionMgr::defaultsGetVolume();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetInviteSessionTimers(int jarg1, char * jarg2) {
  unsigned int jresult ;
  int32_t arg1 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (int32_t)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)MediaSessionMgr::defaultsSetInviteSessionTimers(arg1,(char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetSRtpMode(int jarg1) {
  unsigned int jresult ;
  tmedia_srtp_mode_t arg1 ;
  bool result;
  
  arg1 = (tmedia_srtp_mode_t)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetSRtpMode(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetSRtpMode() {
  int jresult ;
  tmedia_srtp_mode_t result;
  
  result = (tmedia_srtp_mode_t)MediaSessionMgr::defaultsGetSRtpMode();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetSRtpType(int jarg1) {
  unsigned int jresult ;
  tmedia_srtp_type_t arg1 ;
  bool result;
  
  arg1 = (tmedia_srtp_type_t)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetSRtpType(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetSRtpType() {
  int jresult ;
  tmedia_srtp_type_t result;
  
  result = (tmedia_srtp_type_t)MediaSessionMgr::defaultsGetSRtpType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetRtcpEnabled(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSetRtcpEnabled(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetRtcpEnabled() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)MediaSessionMgr::defaultsGetRtcpEnabled();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetRtcpMuxEnabled(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSetRtcpMuxEnabled(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetRtcpMuxEnabled() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)MediaSessionMgr::defaultsGetRtcpMuxEnabled();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetIceEnabled(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSetIceEnabled(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetByPassEncoding(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSetByPassEncoding(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetByPassEncoding() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)MediaSessionMgr::defaultsGetByPassEncoding();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetByPassDecoding(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSetByPassDecoding(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetByPassDecoding() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)MediaSessionMgr::defaultsGetByPassDecoding();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetVideoJbEnabled(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSetVideoJbEnabled(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetVideoJbEnabled() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)MediaSessionMgr::defaultsGetVideoJbEnabled();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetVideoZeroArtifactsEnabled(unsigned int jarg1) {
  unsigned int jresult ;
  bool arg1 ;
  bool result;
  
  arg1 = jarg1 ? true : false; 
  result = (bool)MediaSessionMgr::defaultsSetVideoZeroArtifactsEnabled(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetVideoZeroArtifactsEnabled() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)MediaSessionMgr::defaultsGetVideoZeroArtifactsEnabled();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetRtpBuffSize(unsigned int jarg1) {
  unsigned int jresult ;
  unsigned int arg1 ;
  bool result;
  
  arg1 = (unsigned int)jarg1; 
  result = (bool)MediaSessionMgr::defaultsSetRtpBuffSize(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsGetRtpBuffSize() {
  unsigned int jresult ;
  unsigned int result;
  
  result = (unsigned int)MediaSessionMgr::defaultsGetRtpBuffSize();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaSessionMgr_defaultsSetAvpfTail(unsigned int jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  unsigned int arg1 ;
  unsigned int arg2 ;
  bool result;
  
  arg1 = (unsigned int)jarg1; 
  arg2 = (unsigned int)jarg2; 
  result = (bool)MediaSessionMgr::defaultsSetAvpfTail(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_MediaContent(void * jarg1) {
  MediaContent *arg1 = (MediaContent *) 0 ;
  
  arg1 = (MediaContent *)jarg1; 
  delete arg1;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_MediaContent_getType(void * jarg1) {
  char * jresult ;
  MediaContent *arg1 = (MediaContent *) 0 ;
  char *result = 0 ;
  
  arg1 = (MediaContent *)jarg1; 
  result = (char *)(arg1)->getType();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaContent_getDataLength(void * jarg1) {
  unsigned int jresult ;
  MediaContent *arg1 = (MediaContent *) 0 ;
  unsigned int result;
  
  arg1 = (MediaContent *)jarg1; 
  result = (unsigned int)(arg1)->getDataLength();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaContent_getData(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  MediaContent *arg1 = (MediaContent *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  unsigned int result;
  
  arg1 = (MediaContent *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (unsigned int)(arg1)->getData(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_MediaContent_parse__SWIG_0(void * jarg1, unsigned int jarg2, char * jarg3) {
  void * jresult ;
  void *arg1 = (void *) 0 ;
  unsigned int arg2 ;
  char *arg3 = (char *) 0 ;
  MediaContent *result = 0 ;
  
  arg1 = jarg1; 
  arg2 = (unsigned int)jarg2; 
  arg3 = (char *)jarg3; 
  result = (MediaContent *)MediaContent::parse((void const *)arg1,arg2,(char const *)arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_MediaContent_parse__SWIG_1(void * jarg1, unsigned int jarg2) {
  void * jresult ;
  void *arg1 = (void *) 0 ;
  unsigned int arg2 ;
  MediaContentCPIM *result = 0 ;
  
  arg1 = jarg1; 
  arg2 = (unsigned int)jarg2; 
  result = (MediaContentCPIM *)MediaContent::parse((void const *)arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaContent_getPayloadLength(void * jarg1) {
  unsigned int jresult ;
  MediaContent *arg1 = (MediaContent *) 0 ;
  unsigned int result;
  
  arg1 = (MediaContent *)jarg1; 
  result = (unsigned int)(arg1)->getPayloadLength();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaContent_getPayload(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  MediaContent *arg1 = (MediaContent *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  unsigned int result;
  
  arg1 = (MediaContent *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (unsigned int)(arg1)->getPayload(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_MediaContentCPIM(void * jarg1) {
  MediaContentCPIM *arg1 = (MediaContentCPIM *) 0 ;
  
  arg1 = (MediaContentCPIM *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaContentCPIM_getPayloadLength(void * jarg1) {
  unsigned int jresult ;
  MediaContentCPIM *arg1 = (MediaContentCPIM *) 0 ;
  unsigned int result;
  
  arg1 = (MediaContentCPIM *)jarg1; 
  result = (unsigned int)(arg1)->getPayloadLength();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MediaContentCPIM_getPayload(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  MediaContentCPIM *arg1 = (MediaContentCPIM *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  unsigned int result;
  
  arg1 = (MediaContentCPIM *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (unsigned int)(arg1)->getPayload(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_MediaContentCPIM_getHeaderValue(void * jarg1, char * jarg2) {
  char * jresult ;
  MediaContentCPIM *arg1 = (MediaContentCPIM *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (MediaContentCPIM *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)(arg1)->getHeaderValue((char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_SipUri__SWIG_0(char * jarg1, char * jarg2) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ;
  SipUri *result = 0 ;
  
  arg1 = (char *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (SipUri *)new SipUri((char const *)arg1,(char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_SipUri__SWIG_1(char * jarg1) {
  void * jresult ;
  char *arg1 = (char *) 0 ;
  SipUri *result = 0 ;
  
  arg1 = (char *)jarg1; 
  result = (SipUri *)new SipUri((char const *)arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_SipUri(void * jarg1) {
  SipUri *arg1 = (SipUri *) 0 ;
  
  arg1 = (SipUri *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipUri_isValid__SWIG_0(char * jarg1) {
  unsigned int jresult ;
  char *arg1 = (char *) 0 ;
  bool result;
  
  arg1 = (char *)jarg1; 
  result = (bool)SipUri::isValid((char const *)arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipUri_isValid__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  SipUri *arg1 = (SipUri *) 0 ;
  bool result;
  
  arg1 = (SipUri *)jarg1; 
  result = (bool)(arg1)->isValid();
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipUri_getScheme(void * jarg1) {
  char * jresult ;
  SipUri *arg1 = (SipUri *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipUri *)jarg1; 
  result = (char *)(arg1)->getScheme();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipUri_getHost(void * jarg1) {
  char * jresult ;
  SipUri *arg1 = (SipUri *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipUri *)jarg1; 
  result = (char *)(arg1)->getHost();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT unsigned short SWIGSTDCALL CSharp_SipUri_getPort(void * jarg1) {
  unsigned short jresult ;
  SipUri *arg1 = (SipUri *) 0 ;
  unsigned short result;
  
  arg1 = (SipUri *)jarg1; 
  result = (unsigned short)(arg1)->getPort();
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipUri_getUserName(void * jarg1) {
  char * jresult ;
  SipUri *arg1 = (SipUri *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipUri *)jarg1; 
  result = (char *)(arg1)->getUserName();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipUri_getPassword(void * jarg1) {
  char * jresult ;
  SipUri *arg1 = (SipUri *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipUri *)jarg1; 
  result = (char *)(arg1)->getPassword();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipUri_getDisplayName(void * jarg1) {
  char * jresult ;
  SipUri *arg1 = (SipUri *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipUri *)jarg1; 
  result = (char *)(arg1)->getDisplayName();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipUri_getParamValue(void * jarg1, char * jarg2) {
  char * jresult ;
  SipUri *arg1 = (SipUri *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipUri *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)(arg1)->getParamValue((char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_SipUri_setDisplayName(void * jarg1, char * jarg2) {
  SipUri *arg1 = (SipUri *) 0 ;
  char *arg2 = (char *) 0 ;
  
  arg1 = (SipUri *)jarg1; 
  arg2 = (char *)jarg2; 
  (arg1)->setDisplayName((char const *)arg2);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_SdpMessage() {
  void * jresult ;
  SdpMessage *result = 0 ;
  
  result = (SdpMessage *)new SdpMessage();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_SdpMessage(void * jarg1) {
  SdpMessage *arg1 = (SdpMessage *) 0 ;
  
  arg1 = (SdpMessage *)jarg1; 
  delete arg1;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SdpMessage_getSdpHeaderValue__SWIG_0(void * jarg1, char * jarg2, char jarg3, unsigned int jarg4) {
  char * jresult ;
  SdpMessage *arg1 = (SdpMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char arg3 ;
  unsigned int arg4 ;
  char *result = 0 ;
  
  arg1 = (SdpMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char)jarg3; 
  arg4 = (unsigned int)jarg4; 
  result = (char *)(arg1)->getSdpHeaderValue((char const *)arg2,arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SdpMessage_getSdpHeaderValue__SWIG_1(void * jarg1, char * jarg2, char jarg3) {
  char * jresult ;
  SdpMessage *arg1 = (SdpMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char arg3 ;
  char *result = 0 ;
  
  arg1 = (SdpMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char)jarg3; 
  result = (char *)(arg1)->getSdpHeaderValue((char const *)arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SdpMessage_getSdpHeaderAValue(void * jarg1, char * jarg2, char * jarg3) {
  char * jresult ;
  SdpMessage *arg1 = (SdpMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (SdpMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (char *)(arg1)->getSdpHeaderAValue((char const *)arg2,(char const *)arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_SipMessage() {
  void * jresult ;
  SipMessage *result = 0 ;
  
  result = (SipMessage *)new SipMessage();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_SipMessage(void * jarg1) {
  SipMessage *arg1 = (SipMessage *) 0 ;
  
  arg1 = (SipMessage *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipMessage_isResponse(void * jarg1) {
  unsigned int jresult ;
  SipMessage *arg1 = (SipMessage *) 0 ;
  bool result;
  
  arg1 = (SipMessage *)jarg1; 
  result = (bool)(arg1)->isResponse();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipMessage_getRequestType(void * jarg1) {
  int jresult ;
  SipMessage *arg1 = (SipMessage *) 0 ;
  tsip_request_type_t result;
  
  arg1 = (SipMessage *)jarg1; 
  result = (tsip_request_type_t)(arg1)->getRequestType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT short SWIGSTDCALL CSharp_SipMessage_getResponseCode(void * jarg1) {
  short jresult ;
  SipMessage *arg1 = (SipMessage *) 0 ;
  short result;
  
  arg1 = (SipMessage *)jarg1; 
  result = (short)(arg1)->getResponseCode();
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipMessage_getResponsePhrase(void * jarg1) {
  char * jresult ;
  SipMessage *arg1 = (SipMessage *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipMessage *)jarg1; 
  result = (char *)(arg1)->getResponsePhrase();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipMessage_getSipHeaderValue__SWIG_0(void * jarg1, char * jarg2, unsigned int jarg3) {
  char * jresult ;
  SipMessage *arg1 = (SipMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  unsigned int arg3 ;
  char *result = 0 ;
  
  arg1 = (SipMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (char *)(arg1)->getSipHeaderValue((char const *)arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipMessage_getSipHeaderValue__SWIG_1(void * jarg1, char * jarg2) {
  char * jresult ;
  SipMessage *arg1 = (SipMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)(arg1)->getSipHeaderValue((char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipMessage_getSipHeaderParamValue__SWIG_0(void * jarg1, char * jarg2, char * jarg3, unsigned int jarg4) {
  char * jresult ;
  SipMessage *arg1 = (SipMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  unsigned int arg4 ;
  char *result = 0 ;
  
  arg1 = (SipMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (unsigned int)jarg4; 
  result = (char *)(arg1)->getSipHeaderParamValue((char const *)arg2,(char const *)arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipMessage_getSipHeaderParamValue__SWIG_1(void * jarg1, char * jarg2, char * jarg3) {
  char * jresult ;
  SipMessage *arg1 = (SipMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (char *)(arg1)->getSipHeaderParamValue((char const *)arg2,(char const *)arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipMessage_getSipContentLength(void * jarg1) {
  unsigned int jresult ;
  SipMessage *arg1 = (SipMessage *) 0 ;
  unsigned int result;
  
  arg1 = (SipMessage *)jarg1; 
  result = (unsigned int)(arg1)->getSipContentLength();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipMessage_getSipContent(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  SipMessage *arg1 = (SipMessage *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  unsigned int result;
  
  arg1 = (SipMessage *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (unsigned int)(arg1)->getSipContent(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_SipMessage_getSdpMessage(void * jarg1) {
  void * jresult ;
  SipMessage *arg1 = (SipMessage *) 0 ;
  SdpMessage *result = 0 ;
  
  arg1 = (SipMessage *)jarg1; 
  result = (SdpMessage *)(arg1)->getSdpMessage();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_SipEvent(void * jarg1) {
  SipEvent *arg1 = (SipEvent *) 0 ;
  
  arg1 = (SipEvent *)jarg1; 
  delete arg1;
}


SWIGEXPORT short SWIGSTDCALL CSharp_SipEvent_getCode(void * jarg1) {
  short jresult ;
  SipEvent *arg1 = (SipEvent *) 0 ;
  short result;
  
  arg1 = (SipEvent *)jarg1; 
  result = (short)((SipEvent const *)arg1)->getCode();
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipEvent_getPhrase(void * jarg1) {
  char * jresult ;
  SipEvent *arg1 = (SipEvent *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipEvent *)jarg1; 
  result = (char *)((SipEvent const *)arg1)->getPhrase();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_SipEvent_getBaseSession(void * jarg1) {
  void * jresult ;
  SipEvent *arg1 = (SipEvent *) 0 ;
  SipSession *result = 0 ;
  
  arg1 = (SipEvent *)jarg1; 
  result = (SipSession *)((SipEvent const *)arg1)->getBaseSession();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_SipEvent_getSipMessage(void * jarg1) {
  void * jresult ;
  SipEvent *arg1 = (SipEvent *) 0 ;
  SipMessage *result = 0 ;
  
  arg1 = (SipEvent *)jarg1; 
  result = (SipMessage *)((SipEvent const *)arg1)->getSipMessage();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_DialogEvent(void * jarg1) {
  DialogEvent *arg1 = (DialogEvent *) 0 ;
  
  arg1 = (DialogEvent *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_StackEvent(void * jarg1) {
  StackEvent *arg1 = (StackEvent *) 0 ;
  
  arg1 = (StackEvent *)jarg1; 
  delete arg1;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_InviteEvent(void * jarg1) {
  InviteEvent *arg1 = (InviteEvent *) 0 ;
  
  arg1 = (InviteEvent *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_InviteEvent_getType(void * jarg1) {
  int jresult ;
  InviteEvent *arg1 = (InviteEvent *) 0 ;
  tsip_invite_event_type_t result;
  
  arg1 = (InviteEvent *)jarg1; 
  result = (tsip_invite_event_type_t)((InviteEvent const *)arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_InviteEvent_getMediaType(void * jarg1) {
  int jresult ;
  InviteEvent *arg1 = (InviteEvent *) 0 ;
  twrap_media_type_t result;
  
  arg1 = (InviteEvent *)jarg1; 
  result = (twrap_media_type_t)((InviteEvent const *)arg1)->getMediaType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_InviteEvent_getSession(void * jarg1) {
  void * jresult ;
  InviteEvent *arg1 = (InviteEvent *) 0 ;
  InviteSession *result = 0 ;
  
  arg1 = (InviteEvent *)jarg1; 
  result = (InviteSession *)((InviteEvent const *)arg1)->getSession();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_InviteEvent_takeCallSessionOwnership(void * jarg1) {
  void * jresult ;
  InviteEvent *arg1 = (InviteEvent *) 0 ;
  CallSession *result = 0 ;
  
  arg1 = (InviteEvent *)jarg1; 
  result = (CallSession *)((InviteEvent const *)arg1)->takeCallSessionOwnership();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_InviteEvent_takeMsrpSessionOwnership(void * jarg1) {
  void * jresult ;
  InviteEvent *arg1 = (InviteEvent *) 0 ;
  MsrpSession *result = 0 ;
  
  arg1 = (InviteEvent *)jarg1; 
  result = (MsrpSession *)((InviteEvent const *)arg1)->takeMsrpSessionOwnership();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_MessagingEvent(void * jarg1) {
  MessagingEvent *arg1 = (MessagingEvent *) 0 ;
  
  arg1 = (MessagingEvent *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_MessagingEvent_getType(void * jarg1) {
  int jresult ;
  MessagingEvent *arg1 = (MessagingEvent *) 0 ;
  tsip_message_event_type_t result;
  
  arg1 = (MessagingEvent *)jarg1; 
  result = (tsip_message_event_type_t)((MessagingEvent const *)arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_MessagingEvent_getSession(void * jarg1) {
  void * jresult ;
  MessagingEvent *arg1 = (MessagingEvent *) 0 ;
  MessagingSession *result = 0 ;
  
  arg1 = (MessagingEvent *)jarg1; 
  result = (MessagingSession *)((MessagingEvent const *)arg1)->getSession();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_MessagingEvent_takeSessionOwnership(void * jarg1) {
  void * jresult ;
  MessagingEvent *arg1 = (MessagingEvent *) 0 ;
  MessagingSession *result = 0 ;
  
  arg1 = (MessagingEvent *)jarg1; 
  result = (MessagingSession *)((MessagingEvent const *)arg1)->takeSessionOwnership();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_InfoEvent(void * jarg1) {
  InfoEvent *arg1 = (InfoEvent *) 0 ;
  
  arg1 = (InfoEvent *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_InfoEvent_getType(void * jarg1) {
  int jresult ;
  InfoEvent *arg1 = (InfoEvent *) 0 ;
  tsip_info_event_type_t result;
  
  arg1 = (InfoEvent *)jarg1; 
  result = (tsip_info_event_type_t)((InfoEvent const *)arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_InfoEvent_getSession(void * jarg1) {
  void * jresult ;
  InfoEvent *arg1 = (InfoEvent *) 0 ;
  InfoSession *result = 0 ;
  
  arg1 = (InfoEvent *)jarg1; 
  result = (InfoSession *)((InfoEvent const *)arg1)->getSession();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_InfoEvent_takeSessionOwnership(void * jarg1) {
  void * jresult ;
  InfoEvent *arg1 = (InfoEvent *) 0 ;
  InfoSession *result = 0 ;
  
  arg1 = (InfoEvent *)jarg1; 
  result = (InfoSession *)((InfoEvent const *)arg1)->takeSessionOwnership();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_OptionsEvent(void * jarg1) {
  OptionsEvent *arg1 = (OptionsEvent *) 0 ;
  
  arg1 = (OptionsEvent *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_OptionsEvent_getType(void * jarg1) {
  int jresult ;
  OptionsEvent *arg1 = (OptionsEvent *) 0 ;
  tsip_options_event_type_t result;
  
  arg1 = (OptionsEvent *)jarg1; 
  result = (tsip_options_event_type_t)((OptionsEvent const *)arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_OptionsEvent_getSession(void * jarg1) {
  void * jresult ;
  OptionsEvent *arg1 = (OptionsEvent *) 0 ;
  OptionsSession *result = 0 ;
  
  arg1 = (OptionsEvent *)jarg1; 
  result = (OptionsSession *)((OptionsEvent const *)arg1)->getSession();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_OptionsEvent_takeSessionOwnership(void * jarg1) {
  void * jresult ;
  OptionsEvent *arg1 = (OptionsEvent *) 0 ;
  OptionsSession *result = 0 ;
  
  arg1 = (OptionsEvent *)jarg1; 
  result = (OptionsSession *)((OptionsEvent const *)arg1)->takeSessionOwnership();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_PublicationEvent(void * jarg1) {
  PublicationEvent *arg1 = (PublicationEvent *) 0 ;
  
  arg1 = (PublicationEvent *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_PublicationEvent_getType(void * jarg1) {
  int jresult ;
  PublicationEvent *arg1 = (PublicationEvent *) 0 ;
  tsip_publish_event_type_t result;
  
  arg1 = (PublicationEvent *)jarg1; 
  result = (tsip_publish_event_type_t)((PublicationEvent const *)arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_PublicationEvent_getSession(void * jarg1) {
  void * jresult ;
  PublicationEvent *arg1 = (PublicationEvent *) 0 ;
  PublicationSession *result = 0 ;
  
  arg1 = (PublicationEvent *)jarg1; 
  result = (PublicationSession *)((PublicationEvent const *)arg1)->getSession();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_PublicationEvent_takeSessionOwnership(void * jarg1) {
  void * jresult ;
  PublicationEvent *arg1 = (PublicationEvent *) 0 ;
  PublicationSession *result = 0 ;
  
  arg1 = (PublicationEvent *)jarg1; 
  result = (PublicationSession *)((PublicationEvent const *)arg1)->takeSessionOwnership();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_RegistrationEvent(void * jarg1) {
  RegistrationEvent *arg1 = (RegistrationEvent *) 0 ;
  
  arg1 = (RegistrationEvent *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_RegistrationEvent_getType(void * jarg1) {
  int jresult ;
  RegistrationEvent *arg1 = (RegistrationEvent *) 0 ;
  tsip_register_event_type_t result;
  
  arg1 = (RegistrationEvent *)jarg1; 
  result = (tsip_register_event_type_t)((RegistrationEvent const *)arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_RegistrationEvent_getSession(void * jarg1) {
  void * jresult ;
  RegistrationEvent *arg1 = (RegistrationEvent *) 0 ;
  RegistrationSession *result = 0 ;
  
  arg1 = (RegistrationEvent *)jarg1; 
  result = (RegistrationSession *)((RegistrationEvent const *)arg1)->getSession();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_RegistrationEvent_takeSessionOwnership(void * jarg1) {
  void * jresult ;
  RegistrationEvent *arg1 = (RegistrationEvent *) 0 ;
  RegistrationSession *result = 0 ;
  
  arg1 = (RegistrationEvent *)jarg1; 
  result = (RegistrationSession *)((RegistrationEvent const *)arg1)->takeSessionOwnership();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_SubscriptionEvent(void * jarg1) {
  SubscriptionEvent *arg1 = (SubscriptionEvent *) 0 ;
  
  arg1 = (SubscriptionEvent *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SubscriptionEvent_getType(void * jarg1) {
  int jresult ;
  SubscriptionEvent *arg1 = (SubscriptionEvent *) 0 ;
  tsip_subscribe_event_type_t result;
  
  arg1 = (SubscriptionEvent *)jarg1; 
  result = (tsip_subscribe_event_type_t)((SubscriptionEvent const *)arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_SubscriptionEvent_getSession(void * jarg1) {
  void * jresult ;
  SubscriptionEvent *arg1 = (SubscriptionEvent *) 0 ;
  SubscriptionSession *result = 0 ;
  
  arg1 = (SubscriptionEvent *)jarg1; 
  result = (SubscriptionSession *)((SubscriptionEvent const *)arg1)->getSession();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_SubscriptionEvent_takeSessionOwnership(void * jarg1) {
  void * jresult ;
  SubscriptionEvent *arg1 = (SubscriptionEvent *) 0 ;
  SubscriptionSession *result = 0 ;
  
  arg1 = (SubscriptionEvent *)jarg1; 
  result = (SubscriptionSession *)((SubscriptionEvent const *)arg1)->takeSessionOwnership();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_T140CallbackData(void * jarg1) {
  T140CallbackData *arg1 = (T140CallbackData *) 0 ;
  
  arg1 = (T140CallbackData *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_T140CallbackData_getType(void * jarg1) {
  int jresult ;
  T140CallbackData *arg1 = (T140CallbackData *) 0 ;
  enum tmedia_t140_data_type_e result;
  
  arg1 = (T140CallbackData *)jarg1; 
  result = (enum tmedia_t140_data_type_e)((T140CallbackData const *)arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_T140CallbackData_getSize(void * jarg1) {
  unsigned int jresult ;
  T140CallbackData *arg1 = (T140CallbackData *) 0 ;
  unsigned int result;
  
  arg1 = (T140CallbackData *)jarg1; 
  result = (unsigned int)((T140CallbackData const *)arg1)->getSize();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_T140CallbackData_getData(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  T140CallbackData *arg1 = (T140CallbackData *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  unsigned int result;
  
  arg1 = (T140CallbackData *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (unsigned int)((T140CallbackData const *)arg1)->getData(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_T140Callback() {
  void * jresult ;
  T140Callback *result = 0 ;
  
  result = (T140Callback *)new SwigDirector_T140Callback();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_T140Callback(void * jarg1) {
  T140Callback *arg1 = (T140Callback *) 0 ;
  
  arg1 = (T140Callback *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_T140Callback_ondata(void * jarg1, void * jarg2) {
  int jresult ;
  T140Callback *arg1 = (T140Callback *) 0 ;
  T140CallbackData *arg2 = (T140CallbackData *) 0 ;
  int result;
  
  arg1 = (T140Callback *)jarg1; 
  arg2 = (T140CallbackData *)jarg2; 
  result = (int)(arg1)->ondata((T140CallbackData const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_T140Callback_ondataSwigExplicitT140Callback(void * jarg1, void * jarg2) {
  int jresult ;
  T140Callback *arg1 = (T140Callback *) 0 ;
  T140CallbackData *arg2 = (T140CallbackData *) 0 ;
  int result;
  
  arg1 = (T140Callback *)jarg1; 
  arg2 = (T140CallbackData *)jarg2; 
  result = (int)(arg1)->T140Callback::ondata((T140CallbackData const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_T140Callback_director_connect(void *objarg, SwigDirector_T140Callback::SWIG_Callback0_t callback0) {
  T140Callback *obj = (T140Callback *)objarg;
  SwigDirector_T140Callback *director = dynamic_cast<SwigDirector_T140Callback *>(obj);
  if (director) {
    director->swig_connect_director(callback0);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_SipSession(void * jarg1) {
  void * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  SipSession *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  result = (SipSession *)new SipSession(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_SipSession(void * jarg1) {
  SipSession *arg1 = (SipSession *) 0 ;
  
  arg1 = (SipSession *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_haveOwnership(void * jarg1) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  result = (bool)(arg1)->haveOwnership();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_addHeader(void * jarg1, char * jarg2, char * jarg3) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  arg1 = (SipSession *)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_SipSession_removeHeader(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->removeHeader((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_addCaps__SWIG_0(void * jarg1, char * jarg2, char * jarg3) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (bool)(arg1)->addCaps((char const *)arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_addCaps__SWIG_1(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->addCaps((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_removeCaps(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->removeCaps((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_setExpires(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  unsigned int arg2 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  result = (bool)(arg1)->setExpires(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_setFromUri__SWIG_0(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->setFromUri((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_setFromUri__SWIG_1(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  SipUri *arg2 = (SipUri *) 0 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  arg2 = (SipUri *)jarg2; 
  result = (bool)(arg1)->setFromUri((SipUri const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_setToUri__SWIG_0(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->setToUri((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_setToUri__SWIG_1(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  SipUri *arg2 = (SipUri *) 0 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  arg2 = (SipUri *)jarg2; 
  result = (bool)(arg1)->setToUri((SipUri const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_setSilentHangup(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  bool arg2 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (bool)(arg1)->setSilentHangup(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_addSigCompCompartment(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->addSigCompCompartment((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_removeSigCompCompartment(void * jarg1) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  bool result;
  
  arg1 = (SipSession *)jarg1; 
  result = (bool)(arg1)->removeSigCompCompartment();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipSession_getId(void * jarg1) {
  unsigned int jresult ;
  SipSession *arg1 = (SipSession *) 0 ;
  unsigned int result;
  
  arg1 = (SipSession *)jarg1; 
  result = (unsigned int)((SipSession const *)arg1)->getId();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_InviteSession(void * jarg1) {
  void * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  InviteSession *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  result = (InviteSession *)new InviteSession(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_InviteSession(void * jarg1) {
  InviteSession *arg1 = (InviteSession *) 0 ;
  
  arg1 = (InviteSession *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InviteSession_accept__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  InviteSession *arg1 = (InviteSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (InviteSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->accept(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InviteSession_accept__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  InviteSession *arg1 = (InviteSession *) 0 ;
  bool result;
  
  arg1 = (InviteSession *)jarg1; 
  result = (bool)(arg1)->accept();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InviteSession_hangup__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  InviteSession *arg1 = (InviteSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (InviteSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->hangup(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InviteSession_hangup__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  InviteSession *arg1 = (InviteSession *) 0 ;
  bool result;
  
  arg1 = (InviteSession *)jarg1; 
  result = (bool)(arg1)->hangup();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InviteSession_reject__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  InviteSession *arg1 = (InviteSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (InviteSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->reject(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InviteSession_reject__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  InviteSession *arg1 = (InviteSession *) 0 ;
  bool result;
  
  arg1 = (InviteSession *)jarg1; 
  result = (bool)(arg1)->reject();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InviteSession_sendInfo__SWIG_0(void * jarg1, void * jarg2, unsigned int jarg3, void * jarg4) {
  unsigned int jresult ;
  InviteSession *arg1 = (InviteSession *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  ActionConfig *arg4 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (InviteSession *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  arg4 = (ActionConfig *)jarg4; 
  result = (bool)(arg1)->sendInfo((void const *)arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InviteSession_sendInfo__SWIG_1(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  InviteSession *arg1 = (InviteSession *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  bool result;
  
  arg1 = (InviteSession *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (bool)(arg1)->sendInfo((void const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_InviteSession_getMediaMgr(void * jarg1) {
  void * jresult ;
  InviteSession *arg1 = (InviteSession *) 0 ;
  MediaSessionMgr *result = 0 ;
  
  arg1 = (InviteSession *)jarg1; 
  result = (MediaSessionMgr *)(arg1)->getMediaMgr();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_CallSession(void * jarg1) {
  void * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  CallSession *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  result = (CallSession *)new CallSession(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_CallSession(void * jarg1) {
  CallSession *arg1 = (CallSession *) 0 ;
  
  arg1 = (CallSession *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_callAudio__SWIG_0(void * jarg1, char * jarg2, void * jarg3) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  char *arg2 = (char *) 0 ;
  ActionConfig *arg3 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (ActionConfig *)jarg3; 
  result = (bool)(arg1)->callAudio((char const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_callAudio__SWIG_1(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->callAudio((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_callAudio__SWIG_2(void * jarg1, void * jarg2, void * jarg3) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  SipUri *arg2 = (SipUri *) 0 ;
  ActionConfig *arg3 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (SipUri *)jarg2; 
  arg3 = (ActionConfig *)jarg3; 
  result = (bool)(arg1)->callAudio((SipUri const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_callAudio__SWIG_3(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  SipUri *arg2 = (SipUri *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (SipUri *)jarg2; 
  result = (bool)(arg1)->callAudio((SipUri const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_callAudioVideo__SWIG_0(void * jarg1, char * jarg2, void * jarg3) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  char *arg2 = (char *) 0 ;
  ActionConfig *arg3 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (ActionConfig *)jarg3; 
  result = (bool)(arg1)->callAudioVideo((char const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_callAudioVideo__SWIG_1(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->callAudioVideo((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_callAudioVideo__SWIG_2(void * jarg1, void * jarg2, void * jarg3) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  SipUri *arg2 = (SipUri *) 0 ;
  ActionConfig *arg3 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (SipUri *)jarg2; 
  arg3 = (ActionConfig *)jarg3; 
  result = (bool)(arg1)->callAudioVideo((SipUri const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_callAudioVideo__SWIG_3(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  SipUri *arg2 = (SipUri *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (SipUri *)jarg2; 
  result = (bool)(arg1)->callAudioVideo((SipUri const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_callVideo__SWIG_0(void * jarg1, char * jarg2, void * jarg3) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  char *arg2 = (char *) 0 ;
  ActionConfig *arg3 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (ActionConfig *)jarg3; 
  result = (bool)(arg1)->callVideo((char const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_callVideo__SWIG_1(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->callVideo((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_callVideo__SWIG_2(void * jarg1, void * jarg2, void * jarg3) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  SipUri *arg2 = (SipUri *) 0 ;
  ActionConfig *arg3 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (SipUri *)jarg2; 
  arg3 = (ActionConfig *)jarg3; 
  result = (bool)(arg1)->callVideo((SipUri const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_callVideo__SWIG_3(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  SipUri *arg2 = (SipUri *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (SipUri *)jarg2; 
  result = (bool)(arg1)->callVideo((SipUri const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_call__SWIG_0(void * jarg1, char * jarg2, int jarg3, void * jarg4) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  char *arg2 = (char *) 0 ;
  twrap_media_type_t arg3 ;
  ActionConfig *arg4 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (twrap_media_type_t)jarg3; 
  arg4 = (ActionConfig *)jarg4; 
  result = (bool)(arg1)->call((char const *)arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_call__SWIG_1(void * jarg1, char * jarg2, int jarg3) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  char *arg2 = (char *) 0 ;
  twrap_media_type_t arg3 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (twrap_media_type_t)jarg3; 
  result = (bool)(arg1)->call((char const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_call__SWIG_2(void * jarg1, void * jarg2, int jarg3, void * jarg4) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  SipUri *arg2 = (SipUri *) 0 ;
  twrap_media_type_t arg3 ;
  ActionConfig *arg4 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (SipUri *)jarg2; 
  arg3 = (twrap_media_type_t)jarg3; 
  arg4 = (ActionConfig *)jarg4; 
  result = (bool)(arg1)->call((SipUri const *)arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_call__SWIG_3(void * jarg1, void * jarg2, int jarg3) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  SipUri *arg2 = (SipUri *) 0 ;
  twrap_media_type_t arg3 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (SipUri *)jarg2; 
  arg3 = (twrap_media_type_t)jarg3; 
  result = (bool)(arg1)->call((SipUri const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_setSessionTimer(void * jarg1, unsigned int jarg2, char * jarg3) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  unsigned int arg2 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  arg3 = (char *)jarg3; 
  result = (bool)(arg1)->setSessionTimer(arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_set100rel(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  bool arg2 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (bool)(arg1)->set100rel(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_setRtcp(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  bool arg2 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (bool)(arg1)->setRtcp(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_setRtcpMux(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  bool arg2 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (bool)(arg1)->setRtcpMux(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_setICE(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  bool arg2 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (bool)(arg1)->setICE(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_setQoS(void * jarg1, int jarg2, int jarg3) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  tmedia_qos_stype_t arg2 ;
  tmedia_qos_strength_t arg3 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (tmedia_qos_stype_t)jarg2; 
  arg3 = (tmedia_qos_strength_t)jarg3; 
  result = (bool)(arg1)->setQoS(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_hold__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->hold(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_hold__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  result = (bool)(arg1)->hold();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_resume__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->resume(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_resume__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  result = (bool)(arg1)->resume();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_transfer__SWIG_0(void * jarg1, char * jarg2, void * jarg3) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  char *arg2 = (char *) 0 ;
  ActionConfig *arg3 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (ActionConfig *)jarg3; 
  result = (bool)(arg1)->transfer((char const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_transfer__SWIG_1(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->transfer((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_acceptTransfer__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->acceptTransfer(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_acceptTransfer__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  result = (bool)(arg1)->acceptTransfer();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_rejectTransfer__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->rejectTransfer(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_rejectTransfer__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  result = (bool)(arg1)->rejectTransfer();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_sendDTMF(void * jarg1, int jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  int arg2 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (int)jarg2; 
  result = (bool)(arg1)->sendDTMF(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_getSessionTransferId(void * jarg1) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  unsigned int result;
  
  arg1 = (CallSession *)jarg1; 
  result = (unsigned int)(arg1)->getSessionTransferId();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_sendT140Data__SWIG_0(void * jarg1, int jarg2, void * jarg3, unsigned int jarg4) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  enum tmedia_t140_data_type_e arg2 ;
  void *arg3 = (void *) 0 ;
  unsigned int arg4 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (enum tmedia_t140_data_type_e)jarg2; 
  arg3 = jarg3; 
  arg4 = (unsigned int)jarg4; 
  result = (bool)(arg1)->sendT140Data(arg2,(void const *)arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_sendT140Data__SWIG_1(void * jarg1, int jarg2, void * jarg3) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  enum tmedia_t140_data_type_e arg2 ;
  void *arg3 = (void *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (enum tmedia_t140_data_type_e)jarg2; 
  arg3 = jarg3; 
  result = (bool)(arg1)->sendT140Data(arg2,(void const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_sendT140Data__SWIG_2(void * jarg1, int jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  enum tmedia_t140_data_type_e arg2 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (enum tmedia_t140_data_type_e)jarg2; 
  result = (bool)(arg1)->sendT140Data(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_CallSession_setT140Callback(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  CallSession *arg1 = (CallSession *) 0 ;
  T140Callback *arg2 = (T140Callback *) 0 ;
  bool result;
  
  arg1 = (CallSession *)jarg1; 
  arg2 = (T140Callback *)jarg2; 
  result = (bool)(arg1)->setT140Callback((T140Callback const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_MsrpSession(void * jarg1, void * jarg2) {
  void * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  MsrpCallback *arg2 = (MsrpCallback *) 0 ;
  MsrpSession *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (MsrpCallback *)jarg2; 
  result = (MsrpSession *)new MsrpSession(arg1,arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_MsrpSession(void * jarg1) {
  MsrpSession *arg1 = (MsrpSession *) 0 ;
  
  arg1 = (MsrpSession *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpSession_setCallback(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  MsrpSession *arg1 = (MsrpSession *) 0 ;
  MsrpCallback *arg2 = (MsrpCallback *) 0 ;
  bool result;
  
  arg1 = (MsrpSession *)jarg1; 
  arg2 = (MsrpCallback *)jarg2; 
  result = (bool)(arg1)->setCallback(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpSession_callMsrp__SWIG_0(void * jarg1, char * jarg2, void * jarg3) {
  unsigned int jresult ;
  MsrpSession *arg1 = (MsrpSession *) 0 ;
  char *arg2 = (char *) 0 ;
  ActionConfig *arg3 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (MsrpSession *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (ActionConfig *)jarg3; 
  result = (bool)(arg1)->callMsrp((char const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpSession_callMsrp__SWIG_1(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  MsrpSession *arg1 = (MsrpSession *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (MsrpSession *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->callMsrp((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpSession_callMsrp__SWIG_2(void * jarg1, void * jarg2, void * jarg3) {
  unsigned int jresult ;
  MsrpSession *arg1 = (MsrpSession *) 0 ;
  SipUri *arg2 = (SipUri *) 0 ;
  ActionConfig *arg3 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (MsrpSession *)jarg1; 
  arg2 = (SipUri *)jarg2; 
  arg3 = (ActionConfig *)jarg3; 
  result = (bool)(arg1)->callMsrp((SipUri const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpSession_callMsrp__SWIG_3(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  MsrpSession *arg1 = (MsrpSession *) 0 ;
  SipUri *arg2 = (SipUri *) 0 ;
  bool result;
  
  arg1 = (MsrpSession *)jarg1; 
  arg2 = (SipUri *)jarg2; 
  result = (bool)(arg1)->callMsrp((SipUri const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpSession_sendMessage__SWIG_0(void * jarg1, void * jarg2, unsigned int jarg3, void * jarg4) {
  unsigned int jresult ;
  MsrpSession *arg1 = (MsrpSession *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  ActionConfig *arg4 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (MsrpSession *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  arg4 = (ActionConfig *)jarg4; 
  result = (bool)(arg1)->sendMessage((void const *)arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpSession_sendMessage__SWIG_1(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  MsrpSession *arg1 = (MsrpSession *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  bool result;
  
  arg1 = (MsrpSession *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (bool)(arg1)->sendMessage((void const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpSession_sendFile__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  MsrpSession *arg1 = (MsrpSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (MsrpSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->sendFile(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpSession_sendFile__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  MsrpSession *arg1 = (MsrpSession *) 0 ;
  bool result;
  
  arg1 = (MsrpSession *)jarg1; 
  result = (bool)(arg1)->sendFile();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_MessagingSession(void * jarg1) {
  void * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  MessagingSession *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  result = (MessagingSession *)new MessagingSession(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_MessagingSession(void * jarg1) {
  MessagingSession *arg1 = (MessagingSession *) 0 ;
  
  arg1 = (MessagingSession *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MessagingSession_send__SWIG_0(void * jarg1, void * jarg2, unsigned int jarg3, void * jarg4) {
  unsigned int jresult ;
  MessagingSession *arg1 = (MessagingSession *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  ActionConfig *arg4 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (MessagingSession *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  arg4 = (ActionConfig *)jarg4; 
  result = (bool)(arg1)->send((void const *)arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MessagingSession_send__SWIG_1(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  MessagingSession *arg1 = (MessagingSession *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  bool result;
  
  arg1 = (MessagingSession *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (bool)(arg1)->send((void const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MessagingSession_accept__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  MessagingSession *arg1 = (MessagingSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (MessagingSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->accept(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MessagingSession_accept__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  MessagingSession *arg1 = (MessagingSession *) 0 ;
  bool result;
  
  arg1 = (MessagingSession *)jarg1; 
  result = (bool)(arg1)->accept();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MessagingSession_reject__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  MessagingSession *arg1 = (MessagingSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (MessagingSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->reject(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MessagingSession_reject__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  MessagingSession *arg1 = (MessagingSession *) 0 ;
  bool result;
  
  arg1 = (MessagingSession *)jarg1; 
  result = (bool)(arg1)->reject();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_InfoSession(void * jarg1) {
  void * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  InfoSession *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  result = (InfoSession *)new InfoSession(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_InfoSession(void * jarg1) {
  InfoSession *arg1 = (InfoSession *) 0 ;
  
  arg1 = (InfoSession *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InfoSession_send__SWIG_0(void * jarg1, void * jarg2, unsigned int jarg3, void * jarg4) {
  unsigned int jresult ;
  InfoSession *arg1 = (InfoSession *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  ActionConfig *arg4 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (InfoSession *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  arg4 = (ActionConfig *)jarg4; 
  result = (bool)(arg1)->send((void const *)arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InfoSession_send__SWIG_1(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  InfoSession *arg1 = (InfoSession *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  bool result;
  
  arg1 = (InfoSession *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (bool)(arg1)->send((void const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InfoSession_accept__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  InfoSession *arg1 = (InfoSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (InfoSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->accept(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InfoSession_accept__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  InfoSession *arg1 = (InfoSession *) 0 ;
  bool result;
  
  arg1 = (InfoSession *)jarg1; 
  result = (bool)(arg1)->accept();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InfoSession_reject__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  InfoSession *arg1 = (InfoSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (InfoSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->reject(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_InfoSession_reject__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  InfoSession *arg1 = (InfoSession *) 0 ;
  bool result;
  
  arg1 = (InfoSession *)jarg1; 
  result = (bool)(arg1)->reject();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_OptionsSession(void * jarg1) {
  void * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  OptionsSession *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  result = (OptionsSession *)new OptionsSession(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_OptionsSession(void * jarg1) {
  OptionsSession *arg1 = (OptionsSession *) 0 ;
  
  arg1 = (OptionsSession *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_OptionsSession_send__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  OptionsSession *arg1 = (OptionsSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (OptionsSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->send(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_OptionsSession_send__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  OptionsSession *arg1 = (OptionsSession *) 0 ;
  bool result;
  
  arg1 = (OptionsSession *)jarg1; 
  result = (bool)(arg1)->send();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_OptionsSession_accept__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  OptionsSession *arg1 = (OptionsSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (OptionsSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->accept(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_OptionsSession_accept__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  OptionsSession *arg1 = (OptionsSession *) 0 ;
  bool result;
  
  arg1 = (OptionsSession *)jarg1; 
  result = (bool)(arg1)->accept();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_OptionsSession_reject__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  OptionsSession *arg1 = (OptionsSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (OptionsSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->reject(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_OptionsSession_reject__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  OptionsSession *arg1 = (OptionsSession *) 0 ;
  bool result;
  
  arg1 = (OptionsSession *)jarg1; 
  result = (bool)(arg1)->reject();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_PublicationSession(void * jarg1) {
  void * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  PublicationSession *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  result = (PublicationSession *)new PublicationSession(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_PublicationSession(void * jarg1) {
  PublicationSession *arg1 = (PublicationSession *) 0 ;
  
  arg1 = (PublicationSession *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_PublicationSession_publish__SWIG_0(void * jarg1, void * jarg2, unsigned int jarg3, void * jarg4) {
  unsigned int jresult ;
  PublicationSession *arg1 = (PublicationSession *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  ActionConfig *arg4 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (PublicationSession *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  arg4 = (ActionConfig *)jarg4; 
  result = (bool)(arg1)->publish((void const *)arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_PublicationSession_publish__SWIG_1(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  PublicationSession *arg1 = (PublicationSession *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  bool result;
  
  arg1 = (PublicationSession *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (bool)(arg1)->publish((void const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_PublicationSession_unPublish__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  PublicationSession *arg1 = (PublicationSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (PublicationSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->unPublish(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_PublicationSession_unPublish__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  PublicationSession *arg1 = (PublicationSession *) 0 ;
  bool result;
  
  arg1 = (PublicationSession *)jarg1; 
  result = (bool)(arg1)->unPublish();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_RegistrationSession(void * jarg1) {
  void * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  RegistrationSession *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  result = (RegistrationSession *)new RegistrationSession(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_RegistrationSession(void * jarg1) {
  RegistrationSession *arg1 = (RegistrationSession *) 0 ;
  
  arg1 = (RegistrationSession *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_RegistrationSession_register___SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  RegistrationSession *arg1 = (RegistrationSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (RegistrationSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->register_(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_RegistrationSession_register___SWIG_1(void * jarg1) {
  unsigned int jresult ;
  RegistrationSession *arg1 = (RegistrationSession *) 0 ;
  bool result;
  
  arg1 = (RegistrationSession *)jarg1; 
  result = (bool)(arg1)->register_();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_RegistrationSession_unRegister__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  RegistrationSession *arg1 = (RegistrationSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (RegistrationSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->unRegister(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_RegistrationSession_unRegister__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  RegistrationSession *arg1 = (RegistrationSession *) 0 ;
  bool result;
  
  arg1 = (RegistrationSession *)jarg1; 
  result = (bool)(arg1)->unRegister();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_RegistrationSession_accept__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  RegistrationSession *arg1 = (RegistrationSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (RegistrationSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->accept(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_RegistrationSession_accept__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  RegistrationSession *arg1 = (RegistrationSession *) 0 ;
  bool result;
  
  arg1 = (RegistrationSession *)jarg1; 
  result = (bool)(arg1)->accept();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_RegistrationSession_reject__SWIG_0(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  RegistrationSession *arg1 = (RegistrationSession *) 0 ;
  ActionConfig *arg2 = (ActionConfig *) 0 ;
  bool result;
  
  arg1 = (RegistrationSession *)jarg1; 
  arg2 = (ActionConfig *)jarg2; 
  result = (bool)(arg1)->reject(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_RegistrationSession_reject__SWIG_1(void * jarg1) {
  unsigned int jresult ;
  RegistrationSession *arg1 = (RegistrationSession *) 0 ;
  bool result;
  
  arg1 = (RegistrationSession *)jarg1; 
  result = (bool)(arg1)->reject();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_SubscriptionSession(void * jarg1) {
  void * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  SubscriptionSession *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  result = (SubscriptionSession *)new SubscriptionSession(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_SubscriptionSession(void * jarg1) {
  SubscriptionSession *arg1 = (SubscriptionSession *) 0 ;
  
  arg1 = (SubscriptionSession *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SubscriptionSession_subscribe(void * jarg1) {
  unsigned int jresult ;
  SubscriptionSession *arg1 = (SubscriptionSession *) 0 ;
  bool result;
  
  arg1 = (SubscriptionSession *)jarg1; 
  result = (bool)(arg1)->subscribe();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SubscriptionSession_unSubscribe(void * jarg1) {
  unsigned int jresult ;
  SubscriptionSession *arg1 = (SubscriptionSession *) 0 ;
  bool result;
  
  arg1 = (SubscriptionSession *)jarg1; 
  result = (bool)(arg1)->unSubscribe();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ProxyPluginMgr(void * jarg1) {
  ProxyPluginMgr *arg1 = (ProxyPluginMgr *) 0 ;
  
  arg1 = (ProxyPluginMgr *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_ProxyPluginMgr_createInstance(void * jarg1) {
  void * jresult ;
  ProxyPluginMgrCallback *arg1 = (ProxyPluginMgrCallback *) 0 ;
  ProxyPluginMgr *result = 0 ;
  
  arg1 = (ProxyPluginMgrCallback *)jarg1; 
  result = (ProxyPluginMgr *)ProxyPluginMgr::createInstance(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_ProxyPluginMgr_getInstance() {
  void * jresult ;
  ProxyPluginMgr *result = 0 ;
  
  result = (ProxyPluginMgr *)ProxyPluginMgr::getInstance();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_ProxyPluginMgr_findPlugin(void * jarg1, unsigned long long jarg2) {
  void * jresult ;
  ProxyPluginMgr *arg1 = (ProxyPluginMgr *) 0 ;
  uint64_t arg2 ;
  ProxyPlugin *result = 0 ;
  
  arg1 = (ProxyPluginMgr *)jarg1; 
  arg2 = (uint64_t)jarg2; 
  result = (ProxyPlugin *)(arg1)->findPlugin(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_ProxyPluginMgr_findAudioConsumer(void * jarg1, unsigned long long jarg2) {
  void * jresult ;
  ProxyPluginMgr *arg1 = (ProxyPluginMgr *) 0 ;
  uint64_t arg2 ;
  ProxyAudioConsumer *result = 0 ;
  
  arg1 = (ProxyPluginMgr *)jarg1; 
  arg2 = (uint64_t)jarg2; 
  result = (ProxyAudioConsumer *)(arg1)->findAudioConsumer(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_ProxyPluginMgr_findVideoConsumer(void * jarg1, unsigned long long jarg2) {
  void * jresult ;
  ProxyPluginMgr *arg1 = (ProxyPluginMgr *) 0 ;
  uint64_t arg2 ;
  ProxyVideoConsumer *result = 0 ;
  
  arg1 = (ProxyPluginMgr *)jarg1; 
  arg2 = (uint64_t)jarg2; 
  result = (ProxyVideoConsumer *)(arg1)->findVideoConsumer(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_ProxyPluginMgr_findAudioProducer(void * jarg1, unsigned long long jarg2) {
  void * jresult ;
  ProxyPluginMgr *arg1 = (ProxyPluginMgr *) 0 ;
  uint64_t arg2 ;
  ProxyAudioProducer *result = 0 ;
  
  arg1 = (ProxyPluginMgr *)jarg1; 
  arg2 = (uint64_t)jarg2; 
  result = (ProxyAudioProducer *)(arg1)->findAudioProducer(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_ProxyPluginMgr_findVideoProducer(void * jarg1, unsigned long long jarg2) {
  void * jresult ;
  ProxyPluginMgr *arg1 = (ProxyPluginMgr *) 0 ;
  uint64_t arg2 ;
  ProxyVideoProducer *result = 0 ;
  
  arg1 = (ProxyPluginMgr *)jarg1; 
  arg2 = (uint64_t)jarg2; 
  result = (ProxyVideoProducer *)(arg1)->findVideoProducer(arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_ProxyPluginMgrCallback() {
  void * jresult ;
  ProxyPluginMgrCallback *result = 0 ;
  
  result = (ProxyPluginMgrCallback *)new SwigDirector_ProxyPluginMgrCallback();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ProxyPluginMgrCallback(void * jarg1) {
  ProxyPluginMgrCallback *arg1 = (ProxyPluginMgrCallback *) 0 ;
  
  arg1 = (ProxyPluginMgrCallback *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyPluginMgrCallback_OnPluginCreated(void * jarg1, unsigned long long jarg2, int jarg3) {
  int jresult ;
  ProxyPluginMgrCallback *arg1 = (ProxyPluginMgrCallback *) 0 ;
  uint64_t arg2 ;
  enum twrap_proxy_plugin_type_e arg3 ;
  int result;
  
  arg1 = (ProxyPluginMgrCallback *)jarg1; 
  arg2 = (uint64_t)jarg2; 
  arg3 = (enum twrap_proxy_plugin_type_e)jarg3; 
  result = (int)(arg1)->OnPluginCreated(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyPluginMgrCallback_OnPluginCreatedSwigExplicitProxyPluginMgrCallback(void * jarg1, unsigned long long jarg2, int jarg3) {
  int jresult ;
  ProxyPluginMgrCallback *arg1 = (ProxyPluginMgrCallback *) 0 ;
  uint64_t arg2 ;
  enum twrap_proxy_plugin_type_e arg3 ;
  int result;
  
  arg1 = (ProxyPluginMgrCallback *)jarg1; 
  arg2 = (uint64_t)jarg2; 
  arg3 = (enum twrap_proxy_plugin_type_e)jarg3; 
  result = (int)(arg1)->ProxyPluginMgrCallback::OnPluginCreated(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyPluginMgrCallback_OnPluginDestroyed(void * jarg1, unsigned long long jarg2, int jarg3) {
  int jresult ;
  ProxyPluginMgrCallback *arg1 = (ProxyPluginMgrCallback *) 0 ;
  uint64_t arg2 ;
  enum twrap_proxy_plugin_type_e arg3 ;
  int result;
  
  arg1 = (ProxyPluginMgrCallback *)jarg1; 
  arg2 = (uint64_t)jarg2; 
  arg3 = (enum twrap_proxy_plugin_type_e)jarg3; 
  result = (int)(arg1)->OnPluginDestroyed(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyPluginMgrCallback_OnPluginDestroyedSwigExplicitProxyPluginMgrCallback(void * jarg1, unsigned long long jarg2, int jarg3) {
  int jresult ;
  ProxyPluginMgrCallback *arg1 = (ProxyPluginMgrCallback *) 0 ;
  uint64_t arg2 ;
  enum twrap_proxy_plugin_type_e arg3 ;
  int result;
  
  arg1 = (ProxyPluginMgrCallback *)jarg1; 
  arg2 = (uint64_t)jarg2; 
  arg3 = (enum twrap_proxy_plugin_type_e)jarg3; 
  result = (int)(arg1)->ProxyPluginMgrCallback::OnPluginDestroyed(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_ProxyPluginMgrCallback_director_connect(void *objarg, SwigDirector_ProxyPluginMgrCallback::SWIG_Callback0_t callback0, SwigDirector_ProxyPluginMgrCallback::SWIG_Callback1_t callback1) {
  ProxyPluginMgrCallback *obj = (ProxyPluginMgrCallback *)objarg;
  SwigDirector_ProxyPluginMgrCallback *director = dynamic_cast<SwigDirector_ProxyPluginMgrCallback *>(obj);
  if (director) {
    director->swig_connect_director(callback0, callback1);
  }
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ProxyPlugin(void * jarg1) {
  ProxyPlugin *arg1 = (ProxyPlugin *) 0 ;
  
  arg1 = (ProxyPlugin *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyPlugin_getType(void * jarg1) {
  int jresult ;
  ProxyPlugin *arg1 = (ProxyPlugin *) 0 ;
  twrap_proxy_plugin_type_t result;
  
  arg1 = (ProxyPlugin *)jarg1; 
  result = (twrap_proxy_plugin_type_t)((ProxyPlugin const *)arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_ProxyPlugin_getId(void * jarg1) {
  unsigned long long jresult ;
  ProxyPlugin *arg1 = (ProxyPlugin *) 0 ;
  uint64_t result;
  
  arg1 = (ProxyPlugin *)jarg1; 
  result = (uint64_t)((ProxyPlugin const *)arg1)->getId();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_ProxyAudioConsumerCallback() {
  void * jresult ;
  ProxyAudioConsumerCallback *result = 0 ;
  
  result = (ProxyAudioConsumerCallback *)new SwigDirector_ProxyAudioConsumerCallback();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ProxyAudioConsumerCallback(void * jarg1) {
  ProxyAudioConsumerCallback *arg1 = (ProxyAudioConsumerCallback *) 0 ;
  
  arg1 = (ProxyAudioConsumerCallback *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioConsumerCallback_prepare(void * jarg1, int jarg2, int jarg3, int jarg4) {
  int jresult ;
  ProxyAudioConsumerCallback *arg1 = (ProxyAudioConsumerCallback *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  int result;
  
  arg1 = (ProxyAudioConsumerCallback *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  result = (int)(arg1)->prepare(arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioConsumerCallback_prepareSwigExplicitProxyAudioConsumerCallback(void * jarg1, int jarg2, int jarg3, int jarg4) {
  int jresult ;
  ProxyAudioConsumerCallback *arg1 = (ProxyAudioConsumerCallback *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  int result;
  
  arg1 = (ProxyAudioConsumerCallback *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  result = (int)(arg1)->ProxyAudioConsumerCallback::prepare(arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioConsumerCallback_start(void * jarg1) {
  int jresult ;
  ProxyAudioConsumerCallback *arg1 = (ProxyAudioConsumerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioConsumerCallback *)jarg1; 
  result = (int)(arg1)->start();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioConsumerCallback_startSwigExplicitProxyAudioConsumerCallback(void * jarg1) {
  int jresult ;
  ProxyAudioConsumerCallback *arg1 = (ProxyAudioConsumerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioConsumerCallback *)jarg1; 
  result = (int)(arg1)->ProxyAudioConsumerCallback::start();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioConsumerCallback_pause(void * jarg1) {
  int jresult ;
  ProxyAudioConsumerCallback *arg1 = (ProxyAudioConsumerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioConsumerCallback *)jarg1; 
  result = (int)(arg1)->pause();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioConsumerCallback_pauseSwigExplicitProxyAudioConsumerCallback(void * jarg1) {
  int jresult ;
  ProxyAudioConsumerCallback *arg1 = (ProxyAudioConsumerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioConsumerCallback *)jarg1; 
  result = (int)(arg1)->ProxyAudioConsumerCallback::pause();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioConsumerCallback_stop(void * jarg1) {
  int jresult ;
  ProxyAudioConsumerCallback *arg1 = (ProxyAudioConsumerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioConsumerCallback *)jarg1; 
  result = (int)(arg1)->stop();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioConsumerCallback_stopSwigExplicitProxyAudioConsumerCallback(void * jarg1) {
  int jresult ;
  ProxyAudioConsumerCallback *arg1 = (ProxyAudioConsumerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioConsumerCallback *)jarg1; 
  result = (int)(arg1)->ProxyAudioConsumerCallback::stop();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_ProxyAudioConsumerCallback_director_connect(void *objarg, SwigDirector_ProxyAudioConsumerCallback::SWIG_Callback0_t callback0, SwigDirector_ProxyAudioConsumerCallback::SWIG_Callback1_t callback1, SwigDirector_ProxyAudioConsumerCallback::SWIG_Callback2_t callback2, SwigDirector_ProxyAudioConsumerCallback::SWIG_Callback3_t callback3) {
  ProxyAudioConsumerCallback *obj = (ProxyAudioConsumerCallback *)objarg;
  SwigDirector_ProxyAudioConsumerCallback *director = dynamic_cast<SwigDirector_ProxyAudioConsumerCallback *>(obj);
  if (director) {
    director->swig_connect_director(callback0, callback1, callback2, callback3);
  }
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ProxyAudioConsumer(void * jarg1) {
  ProxyAudioConsumer *arg1 = (ProxyAudioConsumer *) 0 ;
  
  arg1 = (ProxyAudioConsumer *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioConsumer_queryForResampler(void * jarg1, unsigned short jarg2, unsigned short jarg3, unsigned short jarg4, unsigned short jarg5, unsigned short jarg6) {
  unsigned int jresult ;
  ProxyAudioConsumer *arg1 = (ProxyAudioConsumer *) 0 ;
  uint16_t arg2 ;
  uint16_t arg3 ;
  uint16_t arg4 ;
  uint16_t arg5 ;
  uint16_t arg6 ;
  bool result;
  
  arg1 = (ProxyAudioConsumer *)jarg1; 
  arg2 = (uint16_t)jarg2; 
  arg3 = (uint16_t)jarg3; 
  arg4 = (uint16_t)jarg4; 
  arg5 = (uint16_t)jarg5; 
  arg6 = (uint16_t)jarg6; 
  result = (bool)(arg1)->queryForResampler(arg2,arg3,arg4,arg5,arg6);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioConsumer_setPullBuffer(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  ProxyAudioConsumer *arg1 = (ProxyAudioConsumer *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  bool result;
  
  arg1 = (ProxyAudioConsumer *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (bool)(arg1)->setPullBuffer((void const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioConsumer_pull__SWIG_0(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  ProxyAudioConsumer *arg1 = (ProxyAudioConsumer *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  unsigned int result;
  
  arg1 = (ProxyAudioConsumer *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (unsigned int)(arg1)->pull(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioConsumer_pull__SWIG_1(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  ProxyAudioConsumer *arg1 = (ProxyAudioConsumer *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int result;
  
  arg1 = (ProxyAudioConsumer *)jarg1; 
  arg2 = jarg2; 
  result = (unsigned int)(arg1)->pull(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioConsumer_pull__SWIG_2(void * jarg1) {
  unsigned int jresult ;
  ProxyAudioConsumer *arg1 = (ProxyAudioConsumer *) 0 ;
  unsigned int result;
  
  arg1 = (ProxyAudioConsumer *)jarg1; 
  result = (unsigned int)(arg1)->pull();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioConsumer_setGain(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  ProxyAudioConsumer *arg1 = (ProxyAudioConsumer *) 0 ;
  unsigned int arg2 ;
  bool result;
  
  arg1 = (ProxyAudioConsumer *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  result = (bool)(arg1)->setGain(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioConsumer_getGain(void * jarg1) {
  unsigned int jresult ;
  ProxyAudioConsumer *arg1 = (ProxyAudioConsumer *) 0 ;
  unsigned int result;
  
  arg1 = (ProxyAudioConsumer *)jarg1; 
  result = (unsigned int)(arg1)->getGain();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioConsumer_reset(void * jarg1) {
  unsigned int jresult ;
  ProxyAudioConsumer *arg1 = (ProxyAudioConsumer *) 0 ;
  bool result;
  
  arg1 = (ProxyAudioConsumer *)jarg1; 
  result = (bool)(arg1)->reset();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_ProxyAudioConsumer_setCallback(void * jarg1, void * jarg2) {
  ProxyAudioConsumer *arg1 = (ProxyAudioConsumer *) 0 ;
  ProxyAudioConsumerCallback *arg2 = (ProxyAudioConsumerCallback *) 0 ;
  
  arg1 = (ProxyAudioConsumer *)jarg1; 
  arg2 = (ProxyAudioConsumerCallback *)jarg2; 
  (arg1)->setCallback(arg2);
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_ProxyAudioConsumer_getMediaSessionId(void * jarg1) {
  unsigned long long jresult ;
  ProxyAudioConsumer *arg1 = (ProxyAudioConsumer *) 0 ;
  uint64_t result;
  
  arg1 = (ProxyAudioConsumer *)jarg1; 
  result = (uint64_t)(arg1)->getMediaSessionId();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioConsumer_registerPlugin() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)ProxyAudioConsumer::registerPlugin();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_ProxyVideoConsumerCallback() {
  void * jresult ;
  ProxyVideoConsumerCallback *result = 0 ;
  
  result = (ProxyVideoConsumerCallback *)new SwigDirector_ProxyVideoConsumerCallback();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ProxyVideoConsumerCallback(void * jarg1) {
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_prepare(void * jarg1, int jarg2, int jarg3, int jarg4) {
  int jresult ;
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  int result;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  result = (int)(arg1)->prepare(arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_prepareSwigExplicitProxyVideoConsumerCallback(void * jarg1, int jarg2, int jarg3, int jarg4) {
  int jresult ;
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  int result;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  result = (int)(arg1)->ProxyVideoConsumerCallback::prepare(arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_consume(void * jarg1, void * jarg2) {
  int jresult ;
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  ProxyVideoFrame *arg2 = (ProxyVideoFrame *) 0 ;
  int result;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  arg2 = (ProxyVideoFrame *)jarg2; 
  result = (int)(arg1)->consume((ProxyVideoFrame const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_consumeSwigExplicitProxyVideoConsumerCallback(void * jarg1, void * jarg2) {
  int jresult ;
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  ProxyVideoFrame *arg2 = (ProxyVideoFrame *) 0 ;
  int result;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  arg2 = (ProxyVideoFrame *)jarg2; 
  result = (int)(arg1)->ProxyVideoConsumerCallback::consume((ProxyVideoFrame const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_bufferCopied(void * jarg1, unsigned int jarg2, unsigned int jarg3) {
  int jresult ;
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  unsigned int arg2 ;
  unsigned int arg3 ;
  int result;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (int)(arg1)->bufferCopied(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_bufferCopiedSwigExplicitProxyVideoConsumerCallback(void * jarg1, unsigned int jarg2, unsigned int jarg3) {
  int jresult ;
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  unsigned int arg2 ;
  unsigned int arg3 ;
  int result;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (int)(arg1)->ProxyVideoConsumerCallback::bufferCopied(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_start(void * jarg1) {
  int jresult ;
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  result = (int)(arg1)->start();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_startSwigExplicitProxyVideoConsumerCallback(void * jarg1) {
  int jresult ;
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  result = (int)(arg1)->ProxyVideoConsumerCallback::start();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_pause(void * jarg1) {
  int jresult ;
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  result = (int)(arg1)->pause();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_pauseSwigExplicitProxyVideoConsumerCallback(void * jarg1) {
  int jresult ;
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  result = (int)(arg1)->ProxyVideoConsumerCallback::pause();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_stop(void * jarg1) {
  int jresult ;
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  result = (int)(arg1)->stop();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_stopSwigExplicitProxyVideoConsumerCallback(void * jarg1) {
  int jresult ;
  ProxyVideoConsumerCallback *arg1 = (ProxyVideoConsumerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyVideoConsumerCallback *)jarg1; 
  result = (int)(arg1)->ProxyVideoConsumerCallback::stop();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_ProxyVideoConsumerCallback_director_connect(void *objarg, SwigDirector_ProxyVideoConsumerCallback::SWIG_Callback0_t callback0, SwigDirector_ProxyVideoConsumerCallback::SWIG_Callback1_t callback1, SwigDirector_ProxyVideoConsumerCallback::SWIG_Callback2_t callback2, SwigDirector_ProxyVideoConsumerCallback::SWIG_Callback3_t callback3, SwigDirector_ProxyVideoConsumerCallback::SWIG_Callback4_t callback4, SwigDirector_ProxyVideoConsumerCallback::SWIG_Callback5_t callback5) {
  ProxyVideoConsumerCallback *obj = (ProxyVideoConsumerCallback *)objarg;
  SwigDirector_ProxyVideoConsumerCallback *director = dynamic_cast<SwigDirector_ProxyVideoConsumerCallback *>(obj);
  if (director) {
    director->swig_connect_director(callback0, callback1, callback2, callback3, callback4, callback5);
  }
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ProxyVideoConsumer(void * jarg1) {
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoConsumer_setDisplaySize(void * jarg1, unsigned int jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  unsigned int arg2 ;
  unsigned int arg3 ;
  bool result;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (bool)(arg1)->setDisplaySize(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoConsumer_getDisplayWidth(void * jarg1) {
  unsigned int jresult ;
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  unsigned int result;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  result = (unsigned int)(arg1)->getDisplayWidth();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoConsumer_getDisplayHeight(void * jarg1) {
  unsigned int jresult ;
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  unsigned int result;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  result = (unsigned int)(arg1)->getDisplayHeight();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoConsumer_getDecodedWidth(void * jarg1) {
  unsigned int jresult ;
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  unsigned int result;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  result = (unsigned int)(arg1)->getDecodedWidth();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoConsumer_getDecodedHeight(void * jarg1) {
  unsigned int jresult ;
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  unsigned int result;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  result = (unsigned int)(arg1)->getDecodedHeight();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_ProxyVideoConsumer_setCallback(void * jarg1, void * jarg2) {
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  ProxyVideoConsumerCallback *arg2 = (ProxyVideoConsumerCallback *) 0 ;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  arg2 = (ProxyVideoConsumerCallback *)jarg2; 
  (arg1)->setCallback(arg2);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoConsumer_setAutoResizeDisplay(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  bool arg2 ;
  bool result;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (bool)(arg1)->setAutoResizeDisplay(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoConsumer_getAutoResizeDisplay(void * jarg1) {
  unsigned int jresult ;
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  bool result;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  result = (bool)((ProxyVideoConsumer const *)arg1)->getAutoResizeDisplay();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoConsumer_setConsumeBuffer(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  bool result;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (bool)(arg1)->setConsumeBuffer((void const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoConsumer_pull(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  unsigned int result;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (unsigned int)(arg1)->pull(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoConsumer_reset(void * jarg1) {
  unsigned int jresult ;
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  bool result;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  result = (bool)(arg1)->reset();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_ProxyVideoConsumer_getMediaSessionId(void * jarg1) {
  unsigned long long jresult ;
  ProxyVideoConsumer *arg1 = (ProxyVideoConsumer *) 0 ;
  uint64_t result;
  
  arg1 = (ProxyVideoConsumer *)jarg1; 
  result = (uint64_t)(arg1)->getMediaSessionId();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoConsumer_registerPlugin() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)ProxyVideoConsumer::registerPlugin();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_ProxyVideoConsumer_setDefaultChroma(int jarg1) {
  tmedia_chroma_t arg1 ;
  
  arg1 = (tmedia_chroma_t)jarg1; 
  ProxyVideoConsumer::setDefaultChroma(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_ProxyVideoConsumer_setDefaultAutoResizeDisplay(unsigned int jarg1) {
  bool arg1 ;
  
  arg1 = jarg1 ? true : false; 
  ProxyVideoConsumer::setDefaultAutoResizeDisplay(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ProxyVideoFrame(void * jarg1) {
  ProxyVideoFrame *arg1 = (ProxyVideoFrame *) 0 ;
  
  arg1 = (ProxyVideoFrame *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoFrame_getSize(void * jarg1) {
  unsigned int jresult ;
  ProxyVideoFrame *arg1 = (ProxyVideoFrame *) 0 ;
  unsigned int result;
  
  arg1 = (ProxyVideoFrame *)jarg1; 
  result = (unsigned int)(arg1)->getSize();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoFrame_getContent(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  ProxyVideoFrame *arg1 = (ProxyVideoFrame *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  unsigned int result;
  
  arg1 = (ProxyVideoFrame *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (unsigned int)(arg1)->getContent(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoFrame_getFrameWidth(void * jarg1) {
  unsigned int jresult ;
  ProxyVideoFrame *arg1 = (ProxyVideoFrame *) 0 ;
  unsigned int result;
  
  arg1 = (ProxyVideoFrame *)jarg1; 
  result = (unsigned int)((ProxyVideoFrame const *)arg1)->getFrameWidth();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoFrame_getFrameHeight(void * jarg1) {
  unsigned int jresult ;
  ProxyVideoFrame *arg1 = (ProxyVideoFrame *) 0 ;
  unsigned int result;
  
  arg1 = (ProxyVideoFrame *)jarg1; 
  result = (unsigned int)((ProxyVideoFrame const *)arg1)->getFrameHeight();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_ProxyAudioProducerCallback() {
  void * jresult ;
  ProxyAudioProducerCallback *result = 0 ;
  
  result = (ProxyAudioProducerCallback *)new SwigDirector_ProxyAudioProducerCallback();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ProxyAudioProducerCallback(void * jarg1) {
  ProxyAudioProducerCallback *arg1 = (ProxyAudioProducerCallback *) 0 ;
  
  arg1 = (ProxyAudioProducerCallback *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducerCallback_prepare(void * jarg1, int jarg2, int jarg3, int jarg4) {
  int jresult ;
  ProxyAudioProducerCallback *arg1 = (ProxyAudioProducerCallback *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  int result;
  
  arg1 = (ProxyAudioProducerCallback *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  result = (int)(arg1)->prepare(arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducerCallback_prepareSwigExplicitProxyAudioProducerCallback(void * jarg1, int jarg2, int jarg3, int jarg4) {
  int jresult ;
  ProxyAudioProducerCallback *arg1 = (ProxyAudioProducerCallback *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  int result;
  
  arg1 = (ProxyAudioProducerCallback *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  result = (int)(arg1)->ProxyAudioProducerCallback::prepare(arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducerCallback_start(void * jarg1) {
  int jresult ;
  ProxyAudioProducerCallback *arg1 = (ProxyAudioProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioProducerCallback *)jarg1; 
  result = (int)(arg1)->start();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducerCallback_startSwigExplicitProxyAudioProducerCallback(void * jarg1) {
  int jresult ;
  ProxyAudioProducerCallback *arg1 = (ProxyAudioProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioProducerCallback *)jarg1; 
  result = (int)(arg1)->ProxyAudioProducerCallback::start();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducerCallback_pause(void * jarg1) {
  int jresult ;
  ProxyAudioProducerCallback *arg1 = (ProxyAudioProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioProducerCallback *)jarg1; 
  result = (int)(arg1)->pause();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducerCallback_pauseSwigExplicitProxyAudioProducerCallback(void * jarg1) {
  int jresult ;
  ProxyAudioProducerCallback *arg1 = (ProxyAudioProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioProducerCallback *)jarg1; 
  result = (int)(arg1)->ProxyAudioProducerCallback::pause();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducerCallback_stop(void * jarg1) {
  int jresult ;
  ProxyAudioProducerCallback *arg1 = (ProxyAudioProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioProducerCallback *)jarg1; 
  result = (int)(arg1)->stop();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducerCallback_stopSwigExplicitProxyAudioProducerCallback(void * jarg1) {
  int jresult ;
  ProxyAudioProducerCallback *arg1 = (ProxyAudioProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioProducerCallback *)jarg1; 
  result = (int)(arg1)->ProxyAudioProducerCallback::stop();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducerCallback_fillPushBuffer(void * jarg1) {
  int jresult ;
  ProxyAudioProducerCallback *arg1 = (ProxyAudioProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioProducerCallback *)jarg1; 
  result = (int)(arg1)->fillPushBuffer();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducerCallback_fillPushBufferSwigExplicitProxyAudioProducerCallback(void * jarg1) {
  int jresult ;
  ProxyAudioProducerCallback *arg1 = (ProxyAudioProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyAudioProducerCallback *)jarg1; 
  result = (int)(arg1)->ProxyAudioProducerCallback::fillPushBuffer();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_ProxyAudioProducerCallback_director_connect(void *objarg, SwigDirector_ProxyAudioProducerCallback::SWIG_Callback0_t callback0, SwigDirector_ProxyAudioProducerCallback::SWIG_Callback1_t callback1, SwigDirector_ProxyAudioProducerCallback::SWIG_Callback2_t callback2, SwigDirector_ProxyAudioProducerCallback::SWIG_Callback3_t callback3, SwigDirector_ProxyAudioProducerCallback::SWIG_Callback4_t callback4) {
  ProxyAudioProducerCallback *obj = (ProxyAudioProducerCallback *)objarg;
  SwigDirector_ProxyAudioProducerCallback *director = dynamic_cast<SwigDirector_ProxyAudioProducerCallback *>(obj);
  if (director) {
    director->swig_connect_director(callback0, callback1, callback2, callback3, callback4);
  }
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ProxyAudioProducer(void * jarg1) {
  ProxyAudioProducer *arg1 = (ProxyAudioProducer *) 0 ;
  
  arg1 = (ProxyAudioProducer *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioProducer_setPushBuffer__SWIG_0(void * jarg1, void * jarg2, unsigned int jarg3, unsigned int jarg4) {
  unsigned int jresult ;
  ProxyAudioProducer *arg1 = (ProxyAudioProducer *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  bool arg4 ;
  bool result;
  
  arg1 = (ProxyAudioProducer *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  arg4 = jarg4 ? true : false; 
  result = (bool)(arg1)->setPushBuffer((void const *)arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioProducer_setPushBuffer__SWIG_1(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  ProxyAudioProducer *arg1 = (ProxyAudioProducer *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  bool result;
  
  arg1 = (ProxyAudioProducer *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (bool)(arg1)->setPushBuffer((void const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducer_push__SWIG_0(void * jarg1, void * jarg2, unsigned int jarg3) {
  int jresult ;
  ProxyAudioProducer *arg1 = (ProxyAudioProducer *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  int result;
  
  arg1 = (ProxyAudioProducer *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (int)(arg1)->push((void const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducer_push__SWIG_1(void * jarg1, void * jarg2) {
  int jresult ;
  ProxyAudioProducer *arg1 = (ProxyAudioProducer *) 0 ;
  void *arg2 = (void *) 0 ;
  int result;
  
  arg1 = (ProxyAudioProducer *)jarg1; 
  arg2 = jarg2; 
  result = (int)(arg1)->push((void const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyAudioProducer_push__SWIG_2(void * jarg1) {
  int jresult ;
  ProxyAudioProducer *arg1 = (ProxyAudioProducer *) 0 ;
  int result;
  
  arg1 = (ProxyAudioProducer *)jarg1; 
  result = (int)(arg1)->push();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioProducer_setGain(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  ProxyAudioProducer *arg1 = (ProxyAudioProducer *) 0 ;
  unsigned int arg2 ;
  bool result;
  
  arg1 = (ProxyAudioProducer *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  result = (bool)(arg1)->setGain(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioProducer_getGain(void * jarg1) {
  unsigned int jresult ;
  ProxyAudioProducer *arg1 = (ProxyAudioProducer *) 0 ;
  unsigned int result;
  
  arg1 = (ProxyAudioProducer *)jarg1; 
  result = (unsigned int)(arg1)->getGain();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_ProxyAudioProducer_setCallback(void * jarg1, void * jarg2) {
  ProxyAudioProducer *arg1 = (ProxyAudioProducer *) 0 ;
  ProxyAudioProducerCallback *arg2 = (ProxyAudioProducerCallback *) 0 ;
  
  arg1 = (ProxyAudioProducer *)jarg1; 
  arg2 = (ProxyAudioProducerCallback *)jarg2; 
  (arg1)->setCallback(arg2);
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_ProxyAudioProducer_getMediaSessionId(void * jarg1) {
  unsigned long long jresult ;
  ProxyAudioProducer *arg1 = (ProxyAudioProducer *) 0 ;
  uint64_t result;
  
  arg1 = (ProxyAudioProducer *)jarg1; 
  result = (uint64_t)(arg1)->getMediaSessionId();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyAudioProducer_registerPlugin() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)ProxyAudioProducer::registerPlugin();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_ProxyVideoProducerCallback() {
  void * jresult ;
  ProxyVideoProducerCallback *result = 0 ;
  
  result = (ProxyVideoProducerCallback *)new SwigDirector_ProxyVideoProducerCallback();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ProxyVideoProducerCallback(void * jarg1) {
  ProxyVideoProducerCallback *arg1 = (ProxyVideoProducerCallback *) 0 ;
  
  arg1 = (ProxyVideoProducerCallback *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoProducerCallback_prepare(void * jarg1, int jarg2, int jarg3, int jarg4) {
  int jresult ;
  ProxyVideoProducerCallback *arg1 = (ProxyVideoProducerCallback *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  int result;
  
  arg1 = (ProxyVideoProducerCallback *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  result = (int)(arg1)->prepare(arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoProducerCallback_prepareSwigExplicitProxyVideoProducerCallback(void * jarg1, int jarg2, int jarg3, int jarg4) {
  int jresult ;
  ProxyVideoProducerCallback *arg1 = (ProxyVideoProducerCallback *) 0 ;
  int arg2 ;
  int arg3 ;
  int arg4 ;
  int result;
  
  arg1 = (ProxyVideoProducerCallback *)jarg1; 
  arg2 = (int)jarg2; 
  arg3 = (int)jarg3; 
  arg4 = (int)jarg4; 
  result = (int)(arg1)->ProxyVideoProducerCallback::prepare(arg2,arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoProducerCallback_start(void * jarg1) {
  int jresult ;
  ProxyVideoProducerCallback *arg1 = (ProxyVideoProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyVideoProducerCallback *)jarg1; 
  result = (int)(arg1)->start();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoProducerCallback_startSwigExplicitProxyVideoProducerCallback(void * jarg1) {
  int jresult ;
  ProxyVideoProducerCallback *arg1 = (ProxyVideoProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyVideoProducerCallback *)jarg1; 
  result = (int)(arg1)->ProxyVideoProducerCallback::start();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoProducerCallback_pause(void * jarg1) {
  int jresult ;
  ProxyVideoProducerCallback *arg1 = (ProxyVideoProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyVideoProducerCallback *)jarg1; 
  result = (int)(arg1)->pause();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoProducerCallback_pauseSwigExplicitProxyVideoProducerCallback(void * jarg1) {
  int jresult ;
  ProxyVideoProducerCallback *arg1 = (ProxyVideoProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyVideoProducerCallback *)jarg1; 
  result = (int)(arg1)->ProxyVideoProducerCallback::pause();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoProducerCallback_stop(void * jarg1) {
  int jresult ;
  ProxyVideoProducerCallback *arg1 = (ProxyVideoProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyVideoProducerCallback *)jarg1; 
  result = (int)(arg1)->stop();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoProducerCallback_stopSwigExplicitProxyVideoProducerCallback(void * jarg1) {
  int jresult ;
  ProxyVideoProducerCallback *arg1 = (ProxyVideoProducerCallback *) 0 ;
  int result;
  
  arg1 = (ProxyVideoProducerCallback *)jarg1; 
  result = (int)(arg1)->ProxyVideoProducerCallback::stop();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_ProxyVideoProducerCallback_director_connect(void *objarg, SwigDirector_ProxyVideoProducerCallback::SWIG_Callback0_t callback0, SwigDirector_ProxyVideoProducerCallback::SWIG_Callback1_t callback1, SwigDirector_ProxyVideoProducerCallback::SWIG_Callback2_t callback2, SwigDirector_ProxyVideoProducerCallback::SWIG_Callback3_t callback3) {
  ProxyVideoProducerCallback *obj = (ProxyVideoProducerCallback *)objarg;
  SwigDirector_ProxyVideoProducerCallback *director = dynamic_cast<SwigDirector_ProxyVideoProducerCallback *>(obj);
  if (director) {
    director->swig_connect_director(callback0, callback1, callback2, callback3);
  }
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_ProxyVideoProducer(void * jarg1) {
  ProxyVideoProducer *arg1 = (ProxyVideoProducer *) 0 ;
  
  arg1 = (ProxyVideoProducer *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoProducer_getRotation(void * jarg1) {
  int jresult ;
  ProxyVideoProducer *arg1 = (ProxyVideoProducer *) 0 ;
  int result;
  
  arg1 = (ProxyVideoProducer *)jarg1; 
  result = (int)((ProxyVideoProducer const *)arg1)->getRotation();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoProducer_setRotation(void * jarg1, int jarg2) {
  unsigned int jresult ;
  ProxyVideoProducer *arg1 = (ProxyVideoProducer *) 0 ;
  int arg2 ;
  bool result;
  
  arg1 = (ProxyVideoProducer *)jarg1; 
  arg2 = (int)jarg2; 
  result = (bool)(arg1)->setRotation(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoProducer_setActualCameraOutputSize(void * jarg1, unsigned int jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  ProxyVideoProducer *arg1 = (ProxyVideoProducer *) 0 ;
  unsigned int arg2 ;
  unsigned int arg3 ;
  bool result;
  
  arg1 = (ProxyVideoProducer *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (bool)(arg1)->setActualCameraOutputSize(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_ProxyVideoProducer_push(void * jarg1, void * jarg2, unsigned int jarg3) {
  int jresult ;
  ProxyVideoProducer *arg1 = (ProxyVideoProducer *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  int result;
  
  arg1 = (ProxyVideoProducer *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (int)(arg1)->push((void const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_ProxyVideoProducer_setCallback(void * jarg1, void * jarg2) {
  ProxyVideoProducer *arg1 = (ProxyVideoProducer *) 0 ;
  ProxyVideoProducerCallback *arg2 = (ProxyVideoProducerCallback *) 0 ;
  
  arg1 = (ProxyVideoProducer *)jarg1; 
  arg2 = (ProxyVideoProducerCallback *)jarg2; 
  (arg1)->setCallback(arg2);
}


SWIGEXPORT unsigned long long SWIGSTDCALL CSharp_ProxyVideoProducer_getMediaSessionId(void * jarg1) {
  unsigned long long jresult ;
  ProxyVideoProducer *arg1 = (ProxyVideoProducer *) 0 ;
  uint64_t result;
  
  arg1 = (ProxyVideoProducer *)jarg1; 
  result = (uint64_t)(arg1)->getMediaSessionId();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ProxyVideoProducer_registerPlugin() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)ProxyVideoProducer::registerPlugin();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_ProxyVideoProducer_setDefaultChroma(int jarg1) {
  tmedia_chroma_t arg1 ;
  
  arg1 = (tmedia_chroma_t)jarg1; 
  ProxyVideoProducer::setDefaultChroma(arg1);
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_SipCallback() {
  void * jresult ;
  SipCallback *result = 0 ;
  
  result = (SipCallback *)new SwigDirector_SipCallback();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_SipCallback(void * jarg1) {
  SipCallback *arg1 = (SipCallback *) 0 ;
  
  arg1 = (SipCallback *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnDialogEvent(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  DialogEvent *arg2 = (DialogEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (DialogEvent *)jarg2; 
  result = (int)(arg1)->OnDialogEvent((DialogEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnDialogEventSwigExplicitSipCallback(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  DialogEvent *arg2 = (DialogEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (DialogEvent *)jarg2; 
  result = (int)(arg1)->SipCallback::OnDialogEvent((DialogEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnStackEvent(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  StackEvent *arg2 = (StackEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (StackEvent *)jarg2; 
  result = (int)(arg1)->OnStackEvent((StackEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnStackEventSwigExplicitSipCallback(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  StackEvent *arg2 = (StackEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (StackEvent *)jarg2; 
  result = (int)(arg1)->SipCallback::OnStackEvent((StackEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnInviteEvent(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  InviteEvent *arg2 = (InviteEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (InviteEvent *)jarg2; 
  result = (int)(arg1)->OnInviteEvent((InviteEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnInviteEventSwigExplicitSipCallback(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  InviteEvent *arg2 = (InviteEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (InviteEvent *)jarg2; 
  result = (int)(arg1)->SipCallback::OnInviteEvent((InviteEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnMessagingEvent(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  MessagingEvent *arg2 = (MessagingEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (MessagingEvent *)jarg2; 
  result = (int)(arg1)->OnMessagingEvent((MessagingEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnMessagingEventSwigExplicitSipCallback(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  MessagingEvent *arg2 = (MessagingEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (MessagingEvent *)jarg2; 
  result = (int)(arg1)->SipCallback::OnMessagingEvent((MessagingEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnInfoEvent(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  InfoEvent *arg2 = (InfoEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (InfoEvent *)jarg2; 
  result = (int)(arg1)->OnInfoEvent((InfoEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnInfoEventSwigExplicitSipCallback(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  InfoEvent *arg2 = (InfoEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (InfoEvent *)jarg2; 
  result = (int)(arg1)->SipCallback::OnInfoEvent((InfoEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnOptionsEvent(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  OptionsEvent *arg2 = (OptionsEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (OptionsEvent *)jarg2; 
  result = (int)(arg1)->OnOptionsEvent((OptionsEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnOptionsEventSwigExplicitSipCallback(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  OptionsEvent *arg2 = (OptionsEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (OptionsEvent *)jarg2; 
  result = (int)(arg1)->SipCallback::OnOptionsEvent((OptionsEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnPublicationEvent(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  PublicationEvent *arg2 = (PublicationEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (PublicationEvent *)jarg2; 
  result = (int)(arg1)->OnPublicationEvent((PublicationEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnPublicationEventSwigExplicitSipCallback(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  PublicationEvent *arg2 = (PublicationEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (PublicationEvent *)jarg2; 
  result = (int)(arg1)->SipCallback::OnPublicationEvent((PublicationEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnRegistrationEvent(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  RegistrationEvent *arg2 = (RegistrationEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (RegistrationEvent *)jarg2; 
  result = (int)(arg1)->OnRegistrationEvent((RegistrationEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnRegistrationEventSwigExplicitSipCallback(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  RegistrationEvent *arg2 = (RegistrationEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (RegistrationEvent *)jarg2; 
  result = (int)(arg1)->SipCallback::OnRegistrationEvent((RegistrationEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnSubscriptionEvent(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  SubscriptionEvent *arg2 = (SubscriptionEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (SubscriptionEvent *)jarg2; 
  result = (int)(arg1)->OnSubscriptionEvent((SubscriptionEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SipCallback_OnSubscriptionEventSwigExplicitSipCallback(void * jarg1, void * jarg2) {
  int jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  SubscriptionEvent *arg2 = (SubscriptionEvent *) 0 ;
  int result;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (SubscriptionEvent *)jarg2; 
  result = (int)(arg1)->SipCallback::OnSubscriptionEvent((SubscriptionEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_SipCallback_director_connect(void *objarg, SwigDirector_SipCallback::SWIG_Callback0_t callback0, SwigDirector_SipCallback::SWIG_Callback1_t callback1, SwigDirector_SipCallback::SWIG_Callback2_t callback2, SwigDirector_SipCallback::SWIG_Callback3_t callback3, SwigDirector_SipCallback::SWIG_Callback4_t callback4, SwigDirector_SipCallback::SWIG_Callback5_t callback5, SwigDirector_SipCallback::SWIG_Callback6_t callback6, SwigDirector_SipCallback::SWIG_Callback7_t callback7, SwigDirector_SipCallback::SWIG_Callback8_t callback8) {
  SipCallback *obj = (SipCallback *)objarg;
  SwigDirector_SipCallback *director = dynamic_cast<SwigDirector_SipCallback *>(obj);
  if (director) {
    director->swig_connect_director(callback0, callback1, callback2, callback3, callback4, callback5, callback6, callback7, callback8);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_SafeObject() {
  void * jresult ;
  SafeObject *result = 0 ;
  
  result = (SafeObject *)new SafeObject();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_SafeObject(void * jarg1) {
  SafeObject *arg1 = (SafeObject *) 0 ;
  
  arg1 = (SafeObject *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SafeObject_Lock(void * jarg1) {
  int jresult ;
  SafeObject *arg1 = (SafeObject *) 0 ;
  int result;
  
  arg1 = (SafeObject *)jarg1; 
  result = (int)((SafeObject const *)arg1)->Lock();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SafeObject_UnLock(void * jarg1) {
  int jresult ;
  SafeObject *arg1 = (SafeObject *) 0 ;
  int result;
  
  arg1 = (SafeObject *)jarg1; 
  result = (int)((SafeObject const *)arg1)->UnLock();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_SipStack(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  void * jresult ;
  SipCallback *arg1 = (SipCallback *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  SipStack *result = 0 ;
  
  arg1 = (SipCallback *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (SipStack *)new SipStack(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_SipStack(void * jarg1) {
  SipStack *arg1 = (SipStack *) 0 ;
  
  arg1 = (SipStack *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_start(void * jarg1) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  result = (bool)(arg1)->start();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setDebugCallback(void * jarg1, void * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  DDebugCallback *arg2 = (DDebugCallback *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (DDebugCallback *)jarg2; 
  result = (bool)(arg1)->setDebugCallback(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setDisplayName(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->setDisplayName((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setRealm(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->setRealm((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setIMPI(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->setIMPI((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setIMPU(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->setIMPU((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setPassword(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->setPassword((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setAMF(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->setAMF((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setOperatorId(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->setOperatorId((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setProxyCSCF(void * jarg1, char * jarg2, unsigned short jarg3, char * jarg4, char * jarg5) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  unsigned short arg3 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (unsigned short)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  result = (bool)(arg1)->setProxyCSCF((char const *)arg2,arg3,(char const *)arg4,(char const *)arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setLocalIP__SWIG_0(void * jarg1, char * jarg2, char * jarg3) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (bool)(arg1)->setLocalIP((char const *)arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setLocalIP__SWIG_1(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->setLocalIP((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setLocalPort__SWIG_0(void * jarg1, unsigned short jarg2, char * jarg3) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  unsigned short arg2 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (unsigned short)jarg2; 
  arg3 = (char *)jarg3; 
  result = (bool)(arg1)->setLocalPort(arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setLocalPort__SWIG_1(void * jarg1, unsigned short jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  unsigned short arg2 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (unsigned short)jarg2; 
  result = (bool)(arg1)->setLocalPort(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setEarlyIMS(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  bool arg2 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (bool)(arg1)->setEarlyIMS(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_addHeader(void * jarg1, char * jarg2, char * jarg3) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)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_SipStack_removeHeader(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->removeHeader((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_addDnsServer(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->addDnsServer((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setDnsDiscovery(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  bool arg2 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (bool)(arg1)->setDnsDiscovery(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setAoR(void * jarg1, char * jarg2, int jarg3) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  int arg3 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (int)jarg3; 
  result = (bool)(arg1)->setAoR((char const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setSigCompParams(void * jarg1, unsigned int jarg2, unsigned int jarg3, unsigned int jarg4, unsigned int jarg5) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  unsigned int arg2 ;
  unsigned int arg3 ;
  unsigned int arg4 ;
  bool arg5 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  arg3 = (unsigned int)jarg3; 
  arg4 = (unsigned int)jarg4; 
  arg5 = jarg5 ? true : false; 
  result = (bool)(arg1)->setSigCompParams(arg2,arg3,arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_addSigCompCompartment(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->addSigCompCompartment((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_removeSigCompCompartment(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->removeSigCompCompartment((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setSTUNServer(void * jarg1, char * jarg2, unsigned short jarg3) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  unsigned short arg3 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (unsigned short)jarg3; 
  result = (bool)(arg1)->setSTUNServer((char const *)arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setSTUNCred(void * jarg1, char * jarg2, char * jarg3) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (bool)(arg1)->setSTUNCred((char const *)arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setTLSSecAgree(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  bool arg2 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (bool)(arg1)->setTLSSecAgree(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setSSLCertificates__SWIG_0(void * jarg1, char * jarg2, char * jarg3, char * jarg4, unsigned int jarg5) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  bool arg5 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = jarg5 ? true : false; 
  result = (bool)(arg1)->setSSLCertificates((char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setSSLCertificates__SWIG_1(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (bool)(arg1)->setSSLCertificates((char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setSSLCretificates__SWIG_0(void * jarg1, char * jarg2, char * jarg3, char * jarg4, unsigned int jarg5) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  bool arg5 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = jarg5 ? true : false; 
  result = (bool)(arg1)->setSSLCretificates((char const *)arg2,(char const *)arg3,(char const *)arg4,arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setSSLCretificates__SWIG_1(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (bool)(arg1)->setSSLCretificates((char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setIPSecSecAgree(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  bool arg2 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = jarg2 ? true : false; 
  result = (bool)(arg1)->setIPSecSecAgree(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setIPSecParameters(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  result = (bool)(arg1)->setIPSecParameters((char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipStack_dnsENUM(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  char * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (char *)(arg1)->dnsENUM((char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipStack_dnsNaptrSrv(void * jarg1, char * jarg2, char * jarg3, unsigned short * jarg4) {
  char * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  unsigned short *arg4 = (unsigned short *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (unsigned short *)jarg4; 
  result = (char *)(arg1)->dnsNaptrSrv((char const *)arg2,(char const *)arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipStack_dnsSrv(void * jarg1, char * jarg2, unsigned short * jarg3) {
  char * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  unsigned short *arg3 = (unsigned short *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (unsigned short *)jarg3; 
  result = (char *)(arg1)->dnsSrv((char const *)arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipStack_getLocalIPnPort(void * jarg1, char * jarg2, unsigned short * jarg3) {
  char * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *arg2 = (char *) 0 ;
  unsigned short *arg3 = (unsigned short *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (unsigned short *)jarg3; 
  result = (char *)(arg1)->getLocalIPnPort((char const *)arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SipStack_getPreferredIdentity(void * jarg1) {
  char * jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  char *result = 0 ;
  
  arg1 = (SipStack *)jarg1; 
  result = (char *)(arg1)->getPreferredIdentity();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_isValid(void * jarg1) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  result = (bool)(arg1)->isValid();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_stop(void * jarg1) {
  unsigned int jresult ;
  SipStack *arg1 = (SipStack *) 0 ;
  bool result;
  
  arg1 = (SipStack *)jarg1; 
  result = (bool)(arg1)->stop();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_initialize() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)SipStack::initialize();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_deInitialize() {
  unsigned int jresult ;
  bool result;
  
  result = (bool)SipStack::deInitialize();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_SipStack_setCodecs(int jarg1) {
  tdav_codec_id_t arg1 ;
  
  arg1 = (tdav_codec_id_t)jarg1; 
  SipStack::setCodecs(arg1);
}


SWIGEXPORT void SWIGSTDCALL CSharp_SipStack_setCodecs_2(long long jarg1) {
  int64_t arg1 ;
  
  arg1 = (int64_t)jarg1; 
  SipStack::setCodecs_2(arg1);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setCodecPriority(int jarg1, int jarg2) {
  unsigned int jresult ;
  tdav_codec_id_t arg1 ;
  int arg2 ;
  bool result;
  
  arg1 = (tdav_codec_id_t)jarg1; 
  arg2 = (int)jarg2; 
  result = (bool)SipStack::setCodecPriority(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_setCodecPriority_2(int jarg1, int jarg2) {
  unsigned int jresult ;
  int arg1 ;
  int arg2 ;
  bool result;
  
  arg1 = (int)jarg1; 
  arg2 = (int)jarg2; 
  result = (bool)SipStack::setCodecPriority_2(arg1,arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SipStack_isCodecSupported(int jarg1) {
  unsigned int jresult ;
  tdav_codec_id_t arg1 ;
  bool result;
  
  arg1 = (tdav_codec_id_t)jarg1; 
  result = (bool)SipStack::isCodecSupported(arg1);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_dialog_transport_error_get() {
  int jresult ;
  int result;
  
  result = (int)(702);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_dialog_global_error_get() {
  int jresult ;
  int result;
  
  result = (int)(703);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_dialog_message_error_get() {
  int jresult ;
  int result;
  
  result = (int)(704);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_dialog_request_incoming_get() {
  int jresult ;
  int result;
  
  result = (int)(800);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_dialog_request_outgoing_get() {
  int jresult ;
  int result;
  
  result = (int)(802);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_dialog_request_cancelled_get() {
  int jresult ;
  int result;
  
  result = (int)(803);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_dialog_request_sent_get() {
  int jresult ;
  int result;
  
  result = (int)(804);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_dialog_connecting_get() {
  int jresult ;
  int result;
  
  result = (int)(900);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_dialog_connected_get() {
  int jresult ;
  int result;
  
  result = (int)(901);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_dialog_terminating_get() {
  int jresult ;
  int result;
  
  result = (int)(902);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_dialog_terminated_get() {
  int jresult ;
  int result;
  
  result = (int)(903);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_stack_starting_get() {
  int jresult ;
  int result;
  
  result = (int)(950);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_stack_started_get() {
  int jresult ;
  int result;
  
  result = (int)(951);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_stack_stopping_get() {
  int jresult ;
  int result;
  
  result = (int)(952);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_stack_stopped_get() {
  int jresult ;
  int result;
  
  result = (int)(953);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_stack_failed_to_start_get() {
  int jresult ;
  int result;
  
  result = (int)(954);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_stack_failed_to_stop_get() {
  int jresult ;
  int result;
  
  result = (int)(955);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_tsip_event_code_stack_disconnected_get() {
  int jresult ;
  int result;
  
  result = (int)(956);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_XcapSelector(void * jarg1) {
  void * jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  XcapSelector *result = 0 ;
  
  arg1 = (XcapStack *)jarg1; 
  result = (XcapSelector *)new XcapSelector(arg1);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_XcapSelector(void * jarg1) {
  XcapSelector *arg1 = (XcapSelector *) 0 ;
  
  arg1 = (XcapSelector *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_XcapSelector_setAUID(void * jarg1, char * jarg2) {
  void * jresult ;
  XcapSelector *arg1 = (XcapSelector *) 0 ;
  char *arg2 = (char *) 0 ;
  XcapSelector *result = 0 ;
  
  arg1 = (XcapSelector *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (XcapSelector *)(arg1)->setAUID((char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_XcapSelector_setName(void * jarg1, char * jarg2) {
  void * jresult ;
  XcapSelector *arg1 = (XcapSelector *) 0 ;
  char *arg2 = (char *) 0 ;
  XcapSelector *result = 0 ;
  
  arg1 = (XcapSelector *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (XcapSelector *)(arg1)->setName((char const *)arg2);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_XcapSelector_setAttribute(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  void * jresult ;
  XcapSelector *arg1 = (XcapSelector *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  XcapSelector *result = 0 ;
  
  arg1 = (XcapSelector *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (XcapSelector *)(arg1)->setAttribute((char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_XcapSelector_setPos(void * jarg1, char * jarg2, unsigned int jarg3) {
  void * jresult ;
  XcapSelector *arg1 = (XcapSelector *) 0 ;
  char *arg2 = (char *) 0 ;
  unsigned int arg3 ;
  XcapSelector *result = 0 ;
  
  arg1 = (XcapSelector *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (XcapSelector *)(arg1)->setPos((char const *)arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_XcapSelector_setPosAttribute(void * jarg1, char * jarg2, unsigned int jarg3, char * jarg4, char * jarg5) {
  void * jresult ;
  XcapSelector *arg1 = (XcapSelector *) 0 ;
  char *arg2 = (char *) 0 ;
  unsigned int arg3 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  XcapSelector *result = 0 ;
  
  arg1 = (XcapSelector *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (unsigned int)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  result = (XcapSelector *)(arg1)->setPosAttribute((char const *)arg2,arg3,(char const *)arg4,(char const *)arg5);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_XcapSelector_setNamespace(void * jarg1, char * jarg2, char * jarg3) {
  void * jresult ;
  XcapSelector *arg1 = (XcapSelector *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  XcapSelector *result = 0 ;
  
  arg1 = (XcapSelector *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (XcapSelector *)(arg1)->setNamespace((char const *)arg2,(char const *)arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_XcapSelector_getString(void * jarg1) {
  char * jresult ;
  XcapSelector *arg1 = (XcapSelector *) 0 ;
  char *result = 0 ;
  
  arg1 = (XcapSelector *)jarg1; 
  result = (char *)(arg1)->getString();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_XcapSelector_reset(void * jarg1) {
  XcapSelector *arg1 = (XcapSelector *) 0 ;
  
  arg1 = (XcapSelector *)jarg1; 
  (arg1)->reset();
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_XcapMessage() {
  void * jresult ;
  XcapMessage *result = 0 ;
  
  result = (XcapMessage *)new XcapMessage();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_XcapMessage(void * jarg1) {
  XcapMessage *arg1 = (XcapMessage *) 0 ;
  
  arg1 = (XcapMessage *)jarg1; 
  delete arg1;
}


SWIGEXPORT short SWIGSTDCALL CSharp_XcapMessage_getCode(void * jarg1) {
  short jresult ;
  XcapMessage *arg1 = (XcapMessage *) 0 ;
  short result;
  
  arg1 = (XcapMessage *)jarg1; 
  result = (short)((XcapMessage const *)arg1)->getCode();
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_XcapMessage_getPhrase(void * jarg1) {
  char * jresult ;
  XcapMessage *arg1 = (XcapMessage *) 0 ;
  char *result = 0 ;
  
  arg1 = (XcapMessage *)jarg1; 
  result = (char *)((XcapMessage const *)arg1)->getPhrase();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_XcapMessage_getXcapHeaderValue__SWIG_0(void * jarg1, char * jarg2, unsigned int jarg3) {
  char * jresult ;
  XcapMessage *arg1 = (XcapMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  unsigned int arg3 ;
  char *result = 0 ;
  
  arg1 = (XcapMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (char *)(arg1)->getXcapHeaderValue((char const *)arg2,arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_XcapMessage_getXcapHeaderValue__SWIG_1(void * jarg1, char * jarg2) {
  char * jresult ;
  XcapMessage *arg1 = (XcapMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (XcapMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)(arg1)->getXcapHeaderValue((char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_XcapMessage_getXcapHeaderParamValue__SWIG_0(void * jarg1, char * jarg2, char * jarg3, unsigned int jarg4) {
  char * jresult ;
  XcapMessage *arg1 = (XcapMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  unsigned int arg4 ;
  char *result = 0 ;
  
  arg1 = (XcapMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (unsigned int)jarg4; 
  result = (char *)(arg1)->getXcapHeaderParamValue((char const *)arg2,(char const *)arg3,arg4);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_XcapMessage_getXcapHeaderParamValue__SWIG_1(void * jarg1, char * jarg2, char * jarg3) {
  char * jresult ;
  XcapMessage *arg1 = (XcapMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (XcapMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (char *)(arg1)->getXcapHeaderParamValue((char const *)arg2,(char const *)arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapMessage_getXcapContentLength(void * jarg1) {
  unsigned int jresult ;
  XcapMessage *arg1 = (XcapMessage *) 0 ;
  unsigned int result;
  
  arg1 = (XcapMessage *)jarg1; 
  result = (unsigned int)(arg1)->getXcapContentLength();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapMessage_getXcapContent(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  XcapMessage *arg1 = (XcapMessage *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  unsigned int result;
  
  arg1 = (XcapMessage *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (unsigned int)(arg1)->getXcapContent(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_XcapEvent(void * jarg1) {
  XcapEvent *arg1 = (XcapEvent *) 0 ;
  
  arg1 = (XcapEvent *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_XcapEvent_getType(void * jarg1) {
  int jresult ;
  XcapEvent *arg1 = (XcapEvent *) 0 ;
  thttp_event_type_t result;
  
  arg1 = (XcapEvent *)jarg1; 
  result = (thttp_event_type_t)(arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_XcapEvent_getXcapMessage(void * jarg1) {
  void * jresult ;
  XcapEvent *arg1 = (XcapEvent *) 0 ;
  XcapMessage *result = 0 ;
  
  arg1 = (XcapEvent *)jarg1; 
  result = (XcapMessage *)((XcapEvent const *)arg1)->getXcapMessage();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_XcapCallback() {
  void * jresult ;
  XcapCallback *result = 0 ;
  
  result = (XcapCallback *)new SwigDirector_XcapCallback();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_XcapCallback(void * jarg1) {
  XcapCallback *arg1 = (XcapCallback *) 0 ;
  
  arg1 = (XcapCallback *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_XcapCallback_onEvent(void * jarg1, void * jarg2) {
  int jresult ;
  XcapCallback *arg1 = (XcapCallback *) 0 ;
  XcapEvent *arg2 = (XcapEvent *) 0 ;
  int result;
  
  arg1 = (XcapCallback *)jarg1; 
  arg2 = (XcapEvent *)jarg2; 
  result = (int)((XcapCallback const *)arg1)->onEvent((XcapEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_XcapCallback_onEventSwigExplicitXcapCallback(void * jarg1, void * jarg2) {
  int jresult ;
  XcapCallback *arg1 = (XcapCallback *) 0 ;
  XcapEvent *arg2 = (XcapEvent *) 0 ;
  int result;
  
  arg1 = (XcapCallback *)jarg1; 
  arg2 = (XcapEvent *)jarg2; 
  result = (int)((XcapCallback const *)arg1)->XcapCallback::onEvent((XcapEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_XcapCallback_director_connect(void *objarg, SwigDirector_XcapCallback::SWIG_Callback0_t callback0) {
  XcapCallback *obj = (XcapCallback *)objarg;
  SwigDirector_XcapCallback *director = dynamic_cast<SwigDirector_XcapCallback *>(obj);
  if (director) {
    director->swig_connect_director(callback0);
  }
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_XcapStack(void * jarg1, char * jarg2, char * jarg3, char * jarg4) {
  void * jresult ;
  XcapCallback *arg1 = (XcapCallback *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  XcapStack *result = 0 ;
  
  arg1 = (XcapCallback *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (XcapStack *)new XcapStack(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_XcapStack(void * jarg1) {
  XcapStack *arg1 = (XcapStack *) 0 ;
  
  arg1 = (XcapStack *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_registerAUID(void * jarg1, char * jarg2, char * jarg3, char * jarg4, char * jarg5, unsigned int jarg6) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  char *arg5 = (char *) 0 ;
  bool arg6 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  arg5 = (char *)jarg5; 
  arg6 = jarg6 ? true : false; 
  result = (bool)(arg1)->registerAUID((char const *)arg2,(char const *)arg3,(char const *)arg4,(char const *)arg5,arg6);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_start(void * jarg1) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  result = (bool)(arg1)->start();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_setCredentials(void * jarg1, char * jarg2, char * jarg3) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (bool)(arg1)->setCredentials((char const *)arg2,(char const *)arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_setXcapRoot(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->setXcapRoot((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_setLocalIP(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->setLocalIP((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_setLocalPort(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  unsigned int arg2 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  result = (bool)(arg1)->setLocalPort(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_addHeader(void * jarg1, char * jarg2, char * jarg3) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)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_XcapStack_removeHeader(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->removeHeader((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_setTimeout(void * jarg1, unsigned int jarg2) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  unsigned int arg2 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (unsigned int)jarg2; 
  result = (bool)(arg1)->setTimeout(arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_getDocument(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->getDocument((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_getElement(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->getElement((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_getAttribute(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->getAttribute((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_deleteDocument(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->deleteDocument((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_deleteElement(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->deleteElement((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_deleteAttribute(void * jarg1, char * jarg2) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (bool)(arg1)->deleteAttribute((char const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_putDocument(void * jarg1, char * jarg2, void * jarg3, unsigned int jarg4, char * jarg5) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  unsigned int arg4 ;
  char *arg5 = (char *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = jarg3; 
  arg4 = (unsigned int)jarg4; 
  arg5 = (char *)jarg5; 
  result = (bool)(arg1)->putDocument((char const *)arg2,(void const *)arg3,arg4,(char const *)arg5);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_putElement(void * jarg1, char * jarg2, void * jarg3, unsigned int jarg4) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  unsigned int arg4 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = jarg3; 
  arg4 = (unsigned int)jarg4; 
  result = (bool)(arg1)->putElement((char const *)arg2,(void const *)arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_putAttribute(void * jarg1, char * jarg2, void * jarg3, unsigned int jarg4) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  char *arg2 = (char *) 0 ;
  void *arg3 = (void *) 0 ;
  unsigned int arg4 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = jarg3; 
  arg4 = (unsigned int)jarg4; 
  result = (bool)(arg1)->putAttribute((char const *)arg2,(void const *)arg3,arg4);
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_XcapStack_stop(void * jarg1) {
  unsigned int jresult ;
  XcapStack *arg1 = (XcapStack *) 0 ;
  bool result;
  
  arg1 = (XcapStack *)jarg1; 
  result = (bool)(arg1)->stop();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_RPMessage() {
  void * jresult ;
  RPMessage *result = 0 ;
  
  result = (RPMessage *)new RPMessage();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_RPMessage(void * jarg1) {
  RPMessage *arg1 = (RPMessage *) 0 ;
  
  arg1 = (RPMessage *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_RPMessage_getType(void * jarg1) {
  int jresult ;
  RPMessage *arg1 = (RPMessage *) 0 ;
  twrap_rpmessage_type_t result;
  
  arg1 = (RPMessage *)jarg1; 
  result = (twrap_rpmessage_type_t)(arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_RPMessage_getPayloadLength(void * jarg1) {
  unsigned int jresult ;
  RPMessage *arg1 = (RPMessage *) 0 ;
  unsigned int result;
  
  arg1 = (RPMessage *)jarg1; 
  result = (unsigned int)(arg1)->getPayloadLength();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_RPMessage_getPayload(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  RPMessage *arg1 = (RPMessage *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  unsigned int result;
  
  arg1 = (RPMessage *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (unsigned int)(arg1)->getPayload(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_SMSData() {
  void * jresult ;
  SMSData *result = 0 ;
  
  result = (SMSData *)new SMSData();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_SMSData(void * jarg1) {
  SMSData *arg1 = (SMSData *) 0 ;
  
  arg1 = (SMSData *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SMSData_getType(void * jarg1) {
  int jresult ;
  SMSData *arg1 = (SMSData *) 0 ;
  twrap_sms_type_t result;
  
  arg1 = (SMSData *)jarg1; 
  result = (twrap_sms_type_t)(arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_SMSData_getMR(void * jarg1) {
  int jresult ;
  SMSData *arg1 = (SMSData *) 0 ;
  int result;
  
  arg1 = (SMSData *)jarg1; 
  result = (int)(arg1)->getMR();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SMSData_getPayloadLength(void * jarg1) {
  unsigned int jresult ;
  SMSData *arg1 = (SMSData *) 0 ;
  unsigned int result;
  
  arg1 = (SMSData *)jarg1; 
  result = (unsigned int)(arg1)->getPayloadLength();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_SMSData_getPayload(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  SMSData *arg1 = (SMSData *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  unsigned int result;
  
  arg1 = (SMSData *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (unsigned int)(arg1)->getPayload(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SMSData_getOA(void * jarg1) {
  char * jresult ;
  SMSData *arg1 = (SMSData *) 0 ;
  char *result = 0 ;
  
  arg1 = (SMSData *)jarg1; 
  result = (char *)(arg1)->getOA();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_SMSData_getDA(void * jarg1) {
  char * jresult ;
  SMSData *arg1 = (SMSData *) 0 ;
  char *result = 0 ;
  
  arg1 = (SMSData *)jarg1; 
  result = (char *)(arg1)->getDA();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_SMSEncoder_encodeSubmit(int jarg1, char * jarg2, char * jarg3, char * jarg4) {
  void * jresult ;
  int arg1 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  RPMessage *result = 0 ;
  
  arg1 = (int)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (RPMessage *)SMSEncoder::encodeSubmit(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_SMSEncoder_encodeDeliver(int jarg1, char * jarg2, char * jarg3, char * jarg4) {
  void * jresult ;
  int arg1 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ;
  RPMessage *result = 0 ;
  
  arg1 = (int)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = (char *)jarg4; 
  result = (RPMessage *)SMSEncoder::encodeDeliver(arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_SMSEncoder_encodeACK(int jarg1, char * jarg2, char * jarg3, unsigned int jarg4) {
  void * jresult ;
  int arg1 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool arg4 ;
  RPMessage *result = 0 ;
  
  arg1 = (int)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = jarg4 ? true : false; 
  result = (RPMessage *)SMSEncoder::encodeACK(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_SMSEncoder_encodeError(int jarg1, char * jarg2, char * jarg3, unsigned int jarg4) {
  void * jresult ;
  int arg1 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  bool arg4 ;
  RPMessage *result = 0 ;
  
  arg1 = (int)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  arg4 = jarg4 ? true : false; 
  result = (RPMessage *)SMSEncoder::encodeError(arg1,(char const *)arg2,(char const *)arg3,arg4);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_SMSEncoder_decode(void * jarg1, unsigned int jarg2, unsigned int jarg3) {
  void * jresult ;
  void *arg1 = (void *) 0 ;
  unsigned int arg2 ;
  bool arg3 ;
  SMSData *result = 0 ;
  
  arg1 = jarg1; 
  arg2 = (unsigned int)jarg2; 
  arg3 = jarg3 ? true : false; 
  result = (SMSData *)SMSEncoder::decode((void const *)arg1,arg2,arg3);
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_SMSEncoder(void * jarg1) {
  SMSEncoder *arg1 = (SMSEncoder *) 0 ;
  
  arg1 = (SMSEncoder *)jarg1; 
  delete arg1;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_MsrpMessage() {
  void * jresult ;
  MsrpMessage *result = 0 ;
  
  result = (MsrpMessage *)new MsrpMessage();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_MsrpMessage(void * jarg1) {
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  
  arg1 = (MsrpMessage *)jarg1; 
  delete arg1;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpMessage_isRequest(void * jarg1) {
  unsigned int jresult ;
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  bool result;
  
  arg1 = (MsrpMessage *)jarg1; 
  result = (bool)(arg1)->isRequest();
  jresult = result; 
  return jresult;
}


SWIGEXPORT short SWIGSTDCALL CSharp_MsrpMessage_getCode(void * jarg1) {
  short jresult ;
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  short result;
  
  arg1 = (MsrpMessage *)jarg1; 
  result = (short)(arg1)->getCode();
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_MsrpMessage_getPhrase(void * jarg1) {
  char * jresult ;
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  char *result = 0 ;
  
  arg1 = (MsrpMessage *)jarg1; 
  result = (char *)(arg1)->getPhrase();
  jresult = SWIG_csharp_string_callback((const char *)result); 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_MsrpMessage_getRequestType(void * jarg1) {
  int jresult ;
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  tmsrp_request_type_t result;
  
  arg1 = (MsrpMessage *)jarg1; 
  result = (tmsrp_request_type_t)(arg1)->getRequestType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_MsrpMessage_getByteRange(void * jarg1, long long * jarg2, long long * jarg3, long long * jarg4) {
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  int64_t *arg2 = (int64_t *) 0 ;
  int64_t *arg3 = (int64_t *) 0 ;
  int64_t *arg4 = (int64_t *) 0 ;
  
  arg1 = (MsrpMessage *)jarg1; 
  arg2 = (int64_t *)jarg2; 
  arg3 = (int64_t *)jarg3; 
  arg4 = (int64_t *)jarg4; 
  (arg1)->getByteRange(arg2,arg3,arg4);
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpMessage_isLastChunck(void * jarg1) {
  unsigned int jresult ;
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  bool result;
  
  arg1 = (MsrpMessage *)jarg1; 
  result = (bool)(arg1)->isLastChunck();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpMessage_isFirstChunck(void * jarg1) {
  unsigned int jresult ;
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  bool result;
  
  arg1 = (MsrpMessage *)jarg1; 
  result = (bool)(arg1)->isFirstChunck();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpMessage_isSuccessReport(void * jarg1) {
  unsigned int jresult ;
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  bool result;
  
  arg1 = (MsrpMessage *)jarg1; 
  result = (bool)(arg1)->isSuccessReport();
  jresult = result; 
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_MsrpMessage_getMsrpHeaderValue(void * jarg1, char * jarg2) {
  char * jresult ;
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (MsrpMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  result = (char *)(arg1)->getMsrpHeaderValue((char const *)arg2);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT char * SWIGSTDCALL CSharp_MsrpMessage_getMsrpHeaderParamValue(void * jarg1, char * jarg2, char * jarg3) {
  char * jresult ;
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ;
  char *result = 0 ;
  
  arg1 = (MsrpMessage *)jarg1; 
  arg2 = (char *)jarg2; 
  arg3 = (char *)jarg3; 
  result = (char *)(arg1)->getMsrpHeaderParamValue((char const *)arg2,(char const *)arg3);
  jresult = SWIG_csharp_string_callback((const char *)result); 
  delete [] result;
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpMessage_getMsrpContentLength(void * jarg1) {
  unsigned int jresult ;
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  unsigned int result;
  
  arg1 = (MsrpMessage *)jarg1; 
  result = (unsigned int)(arg1)->getMsrpContentLength();
  jresult = result; 
  return jresult;
}


SWIGEXPORT unsigned int SWIGSTDCALL CSharp_MsrpMessage_getMsrpContent(void * jarg1, void * jarg2, unsigned int jarg3) {
  unsigned int jresult ;
  MsrpMessage *arg1 = (MsrpMessage *) 0 ;
  void *arg2 = (void *) 0 ;
  unsigned int arg3 ;
  unsigned int result;
  
  arg1 = (MsrpMessage *)jarg1; 
  arg2 = jarg2; 
  arg3 = (unsigned int)jarg3; 
  result = (unsigned int)(arg1)->getMsrpContent(arg2,arg3);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_MsrpEvent(void * jarg1) {
  MsrpEvent *arg1 = (MsrpEvent *) 0 ;
  
  arg1 = (MsrpEvent *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_MsrpEvent_getType(void * jarg1) {
  int jresult ;
  MsrpEvent *arg1 = (MsrpEvent *) 0 ;
  tmsrp_event_type_t result;
  
  arg1 = (MsrpEvent *)jarg1; 
  result = (tmsrp_event_type_t)(arg1)->getType();
  jresult = result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_MsrpEvent_getSipSession(void * jarg1) {
  void * jresult ;
  MsrpEvent *arg1 = (MsrpEvent *) 0 ;
  MsrpSession *result = 0 ;
  
  arg1 = (MsrpEvent *)jarg1; 
  result = (MsrpSession *)(arg1)->getSipSession();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_MsrpEvent_getMessage(void * jarg1) {
  void * jresult ;
  MsrpEvent *arg1 = (MsrpEvent *) 0 ;
  MsrpMessage *result = 0 ;
  
  arg1 = (MsrpEvent *)jarg1; 
  result = (MsrpMessage *)((MsrpEvent const *)arg1)->getMessage();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void * SWIGSTDCALL CSharp_new_MsrpCallback() {
  void * jresult ;
  MsrpCallback *result = 0 ;
  
  result = (MsrpCallback *)new SwigDirector_MsrpCallback();
  jresult = (void *)result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_delete_MsrpCallback(void * jarg1) {
  MsrpCallback *arg1 = (MsrpCallback *) 0 ;
  
  arg1 = (MsrpCallback *)jarg1; 
  delete arg1;
}


SWIGEXPORT int SWIGSTDCALL CSharp_MsrpCallback_OnEvent(void * jarg1, void * jarg2) {
  int jresult ;
  MsrpCallback *arg1 = (MsrpCallback *) 0 ;
  MsrpEvent *arg2 = (MsrpEvent *) 0 ;
  int result;
  
  arg1 = (MsrpCallback *)jarg1; 
  arg2 = (MsrpEvent *)jarg2; 
  result = (int)(arg1)->OnEvent((MsrpEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT int SWIGSTDCALL CSharp_MsrpCallback_OnEventSwigExplicitMsrpCallback(void * jarg1, void * jarg2) {
  int jresult ;
  MsrpCallback *arg1 = (MsrpCallback *) 0 ;
  MsrpEvent *arg2 = (MsrpEvent *) 0 ;
  int result;
  
  arg1 = (MsrpCallback *)jarg1; 
  arg2 = (MsrpEvent *)jarg2; 
  result = (int)(arg1)->MsrpCallback::OnEvent((MsrpEvent const *)arg2);
  jresult = result; 
  return jresult;
}


SWIGEXPORT void SWIGSTDCALL CSharp_MsrpCallback_director_connect(void *objarg, SwigDirector_MsrpCallback::SWIG_Callback0_t callback0) {
  MsrpCallback *obj = (MsrpCallback *)objarg;
  SwigDirector_MsrpCallback *director = dynamic_cast<SwigDirector_MsrpCallback *>(obj);
  if (director) {
    director->swig_connect_director(callback0);
  }
}


SWIGEXPORT MediaContent * SWIGSTDCALL CSharp_MediaContentCPIM_SWIGUpcast(MediaContentCPIM *jarg1) {
    return (MediaContent *)jarg1;
}

SWIGEXPORT SipEvent * SWIGSTDCALL CSharp_DialogEvent_SWIGUpcast(DialogEvent *jarg1) {
    return (SipEvent *)jarg1;
}

SWIGEXPORT SipEvent * SWIGSTDCALL CSharp_StackEvent_SWIGUpcast(StackEvent *jarg1) {
    return (SipEvent *)jarg1;
}

SWIGEXPORT SipEvent * SWIGSTDCALL CSharp_InviteEvent_SWIGUpcast(InviteEvent *jarg1) {
    return (SipEvent *)jarg1;
}

SWIGEXPORT SipEvent * SWIGSTDCALL CSharp_MessagingEvent_SWIGUpcast(MessagingEvent *jarg1) {
    return (SipEvent *)jarg1;
}

SWIGEXPORT SipEvent * SWIGSTDCALL CSharp_InfoEvent_SWIGUpcast(InfoEvent *jarg1) {
    return (SipEvent *)jarg1;
}

SWIGEXPORT SipEvent * SWIGSTDCALL CSharp_OptionsEvent_SWIGUpcast(OptionsEvent *jarg1) {
    return (SipEvent *)jarg1;
}

SWIGEXPORT SipEvent * SWIGSTDCALL CSharp_PublicationEvent_SWIGUpcast(PublicationEvent *jarg1) {
    return (SipEvent *)jarg1;
}

SWIGEXPORT SipEvent * SWIGSTDCALL CSharp_RegistrationEvent_SWIGUpcast(RegistrationEvent *jarg1) {
    return (SipEvent *)jarg1;
}

SWIGEXPORT SipEvent * SWIGSTDCALL CSharp_SubscriptionEvent_SWIGUpcast(SubscriptionEvent *jarg1) {
    return (SipEvent *)jarg1;
}

SWIGEXPORT SipSession * SWIGSTDCALL CSharp_InviteSession_SWIGUpcast(InviteSession *jarg1) {
    return (SipSession *)jarg1;
}

SWIGEXPORT InviteSession * SWIGSTDCALL CSharp_CallSession_SWIGUpcast(CallSession *jarg1) {
    return (InviteSession *)jarg1;
}

SWIGEXPORT InviteSession * SWIGSTDCALL CSharp_MsrpSession_SWIGUpcast(MsrpSession *jarg1) {
    return (InviteSession *)jarg1;
}

SWIGEXPORT SipSession * SWIGSTDCALL CSharp_MessagingSession_SWIGUpcast(MessagingSession *jarg1) {
    return (SipSession *)jarg1;
}

SWIGEXPORT SipSession * SWIGSTDCALL CSharp_InfoSession_SWIGUpcast(InfoSession *jarg1) {
    return (SipSession *)jarg1;
}

SWIGEXPORT SipSession * SWIGSTDCALL CSharp_OptionsSession_SWIGUpcast(OptionsSession *jarg1) {
    return (SipSession *)jarg1;
}

SWIGEXPORT SipSession * SWIGSTDCALL CSharp_PublicationSession_SWIGUpcast(PublicationSession *jarg1) {
    return (SipSession *)jarg1;
}

SWIGEXPORT SipSession * SWIGSTDCALL CSharp_RegistrationSession_SWIGUpcast(RegistrationSession *jarg1) {
    return (SipSession *)jarg1;
}

SWIGEXPORT SipSession * SWIGSTDCALL CSharp_SubscriptionSession_SWIGUpcast(SubscriptionSession *jarg1) {
    return (SipSession *)jarg1;
}

SWIGEXPORT ProxyPlugin * SWIGSTDCALL CSharp_ProxyAudioConsumer_SWIGUpcast(ProxyAudioConsumer *jarg1) {
    return (ProxyPlugin *)jarg1;
}

SWIGEXPORT ProxyPlugin * SWIGSTDCALL CSharp_ProxyVideoConsumer_SWIGUpcast(ProxyVideoConsumer *jarg1) {
    return (ProxyPlugin *)jarg1;
}

SWIGEXPORT ProxyPlugin * SWIGSTDCALL CSharp_ProxyAudioProducer_SWIGUpcast(ProxyAudioProducer *jarg1) {
    return (ProxyPlugin *)jarg1;
}

SWIGEXPORT ProxyPlugin * SWIGSTDCALL CSharp_ProxyVideoProducer_SWIGUpcast(ProxyVideoProducer *jarg1) {
    return (ProxyPlugin *)jarg1;
}

SWIGEXPORT SafeObject * SWIGSTDCALL CSharp_SipStack_SWIGUpcast(SipStack *jarg1) {
    return (SafeObject *)jarg1;
}

#ifdef __cplusplus
}
#endif

