<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[Freeswitch-trunk][17378] </title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<div id="header">FreeSWITCH Subversion</div>
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://fisheye.freeswitch.org/changelog/FreeSWITCH?cs=17378">17378</a></dd>
<dt>Author</dt> <dd>brian</dd>
<dt>Date</dt> <dd>2010-04-23 10:22:54 -0500 (Fri, 23 Apr 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre> swigall</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#freeswitchtrunksrcmodlanguagesmod_managedfreeswitch_wrapcxx">freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx</a></li>
<li><a href="#freeswitchtrunksrcmodlanguagesmod_managedmanagedswigcs">freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="freeswitchtrunksrcmodlanguagesmod_managedfreeswitch_wrapcxx"></a>
<div class="modfile"><h4>Modified: freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx (17377 => 17378)</h4>
<pre class="diff"><span>
<span class="info">--- freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx        2010-04-23 14:37:06 UTC (rev 17377)
+++ freeswitch/trunk/src/mod/languages/mod_managed/freeswitch_wrap.cxx        2010-04-23 15:22:54 UTC (rev 17378)
</span><span class="lines">@@ -3244,6 +3244,140 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtcp_hdr_t_version_set(void * jarg1, unsigned int jarg2) {
+  switch_rtcp_hdr_t *arg1 = (switch_rtcp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtcp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)-&gt;version = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtcp_hdr_t_version_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtcp_hdr_t *arg1 = (switch_rtcp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtcp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)-&gt;version);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtcp_hdr_t_p_set(void * jarg1, unsigned int jarg2) {
+  switch_rtcp_hdr_t *arg1 = (switch_rtcp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtcp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)-&gt;p = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtcp_hdr_t_p_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtcp_hdr_t *arg1 = (switch_rtcp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtcp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)-&gt;p);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtcp_hdr_t_count_set(void * jarg1, unsigned int jarg2) {
+  switch_rtcp_hdr_t *arg1 = (switch_rtcp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtcp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)-&gt;count = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtcp_hdr_t_count_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtcp_hdr_t *arg1 = (switch_rtcp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtcp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)-&gt;count);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtcp_hdr_t_type_set(void * jarg1, unsigned int jarg2) {
+  switch_rtcp_hdr_t *arg1 = (switch_rtcp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtcp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)-&gt;type = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtcp_hdr_t_type_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtcp_hdr_t *arg1 = (switch_rtcp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtcp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)-&gt;type);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_rtcp_hdr_t_length_set(void * jarg1, unsigned int jarg2) {
+  switch_rtcp_hdr_t *arg1 = (switch_rtcp_hdr_t *) 0 ;
+  unsigned int arg2 ;
+  
+  arg1 = (switch_rtcp_hdr_t *)jarg1; 
+  arg2 = (unsigned int)jarg2; 
+  if (arg1) (arg1)-&gt;length = arg2;
+  
+}
+
+
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_switch_rtcp_hdr_t_length_get(void * jarg1) {
+  unsigned int jresult ;
+  switch_rtcp_hdr_t *arg1 = (switch_rtcp_hdr_t *) 0 ;
+  unsigned int result;
+  
+  arg1 = (switch_rtcp_hdr_t *)jarg1; 
+  result = (unsigned int) ((arg1)-&gt;length);
+  jresult = result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_rtcp_hdr_t() {
+  void * jresult ;
+  switch_rtcp_hdr_t *result = 0 ;
+  
+  result = (switch_rtcp_hdr_t *)new switch_rtcp_hdr_t();
+  jresult = (void *)result; 
+  return jresult;
+}
+
+
+SWIGEXPORT void SWIGSTDCALL CSharp_delete_switch_rtcp_hdr_t(void * jarg1) {
+  switch_rtcp_hdr_t *arg1 = (switch_rtcp_hdr_t *) 0 ;
+  
+  arg1 = (switch_rtcp_hdr_t *)jarg1; 
+  delete arg1;
+  
+}
+
+
</ins><span class="cx"> SWIGEXPORT void SWIGSTDCALL CSharp_switch_t38_options_t_T38MaxBitRate_set(void * jarg1, unsigned long jarg2) {
</span><span class="cx">   switch_t38_options_t *arg1 = (switch_t38_options_t *) 0 ;
</span><span class="cx">   uint32_t arg2 ;
</span><span class="lines">@@ -25900,6 +26034,17 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTCP_MAX_BUF_LEN_get() {
+  int jresult ;
+  int result;
+  
+  result = (int) 16384;
+  
+  jresult = result; 
+  return jresult;
+}
+
+
</ins><span class="cx"> SWIGEXPORT int SWIGSTDCALL CSharp_SWITCH_RTP_MAX_CRYPTO_LEN_get() {
</span><span class="cx">   int jresult ;
</span><span class="cx">   int result;
</span><span class="lines">@@ -26288,21 +26433,23 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_set_remote_address(void * jarg1, char * jarg2, unsigned short jarg3, int jarg4, void * jarg5) {
</del><ins>+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_set_remote_address(void * jarg1, char * jarg2, unsigned short jarg3, unsigned short jarg4, int jarg5, void * jarg6) {
</ins><span class="cx">   int jresult ;
</span><span class="cx">   switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
</span><span class="cx">   char *arg2 = (char *) 0 ;
</span><span class="cx">   switch_port_t arg3 ;
</span><del>-  switch_bool_t arg4 ;
-  char **arg5 = (char **) 0 ;
</del><ins>+  switch_port_t arg4 ;
+  switch_bool_t arg5 ;
+  char **arg6 = (char **) 0 ;
</ins><span class="cx">   switch_status_t result;
</span><span class="cx">   
</span><span class="cx">   arg1 = (switch_rtp_t *)jarg1; 
</span><span class="cx">   arg2 = (char *)jarg2; 
</span><span class="cx">   arg3 = (switch_port_t)jarg3; 
</span><del>-  arg4 = (switch_bool_t)jarg4; 
-  arg5 = (char **)jarg5; 
-  result = (switch_status_t)switch_rtp_set_remote_address(arg1,(char const *)arg2,arg3,arg4,(char const **)arg5);
</del><ins>+  arg4 = (switch_port_t)jarg4; 
+  arg5 = (switch_bool_t)jarg5; 
+  arg6 = (char **)jarg6; 
+  result = (switch_status_t)switch_rtp_set_remote_address(arg1,(char const *)arg2,arg3,arg4,arg5,(char const **)arg6);
</ins><span class="cx">   jresult = result; 
</span><span class="cx">   return jresult;
</span><span class="cx"> }
</span><span class="lines">@@ -26420,6 +26567,22 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_activate_rtcp(void * jarg1, int jarg2, unsigned short jarg3) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  int arg2 ;
+  switch_port_t arg3 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (int)jarg2; 
+  arg3 = (switch_port_t)jarg3; 
+  result = (switch_status_t)switch_rtp_activate_rtcp(arg1,arg2,arg3);
+  jresult = result; 
+  return jresult;
+}
+
+
</ins><span class="cx"> SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtp_activate_jitter_buffer(void * jarg1, unsigned long jarg2) {
</span><span class="cx">   int jresult ;
</span><span class="cx">   switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
</span><span class="lines">@@ -26638,6 +26801,20 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+SWIGEXPORT int SWIGSTDCALL CSharp_switch_rtcp_zerocopy_read_frame(void * jarg1, void * jarg2) {
+  int jresult ;
+  switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
+  switch_rtcp_frame_t *arg2 = (switch_rtcp_frame_t *) 0 ;
+  switch_status_t result;
+  
+  arg1 = (switch_rtp_t *)jarg1; 
+  arg2 = (switch_rtcp_frame_t *)jarg2; 
+  result = (switch_status_t)switch_rtcp_zerocopy_read_frame(arg1,arg2);
+  jresult = result; 
+  return jresult;
+}
+
+
</ins><span class="cx"> SWIGEXPORT void SWIGSTDCALL CSharp_rtp_flush_read_buffer(void * jarg1, int jarg2) {
</span><span class="cx">   switch_rtp_t *arg1 = (switch_rtp_t *) 0 ;
</span><span class="cx">   switch_rtp_flush_t arg2 ;
</span></span></pre></div>
<a id="freeswitchtrunksrcmodlanguagesmod_managedmanagedswigcs"></a>
<div class="modfile"><h4>Modified: freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs (17377 => 17378)</h4>
<pre class="diff"><span>
<span class="info">--- freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs        2010-04-23 14:37:06 UTC (rev 17377)
+++ freeswitch/trunk/src/mod/languages/mod_managed/managed/swig.cs        2010-04-23 15:22:54 UTC (rev 17378)
</span><span class="lines">@@ -4056,8 +4056,8 @@
</span><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><del>-  public static switch_status_t switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, switch_bool_t change_adv_addr, ref string err) {
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, (int)change_adv_addr, ref err);
</del><ins>+  public static switch_status_t switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp rtp_session, string host, ushort port, ushort remote_rtcp_port, switch_bool_t change_adv_addr, ref string err) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_set_remote_address(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), host, port, remote_rtcp_port, (int)change_adv_addr, ref err);
</ins><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><span class="lines">@@ -4106,6 +4106,11 @@
</span><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><ins>+  public static switch_status_t switch_rtp_activate_rtcp(SWIGTYPE_p_switch_rtp rtp_session, int send_rate, ushort remote_port) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_rtcp(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), send_rate, remote_port);
+    return ret;
+  }
+
</ins><span class="cx">   public static switch_status_t switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp rtp_session, uint queue_frames) {
</span><span class="cx">     switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtp_activate_jitter_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), queue_frames);
</span><span class="cx">     return ret;
</span><span class="lines">@@ -4183,6 +4188,11 @@
</span><span class="cx">     return ret;
</span><span class="cx">   }
</span><span class="cx"> 
</span><ins>+  public static switch_status_t switch_rtcp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp rtp_session, SWIGTYPE_p_switch_rtcp_frame frame) {
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_rtcp_zerocopy_read_frame(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), SWIGTYPE_p_switch_rtcp_frame.getCPtr(frame));
+    return ret;
+  }
+
</ins><span class="cx">   public static void rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp rtp_session, switch_rtp_flush_t flush) {
</span><span class="cx">     freeswitchPINVOKE.rtp_flush_read_buffer(SWIGTYPE_p_switch_rtp.getCPtr(rtp_session), (int)flush);
</span><span class="cx">   }
</span><span class="lines">@@ -4914,6 +4924,7 @@
</span><span class="cx">   public static readonly int SWITCH_SMIN = freeswitchPINVOKE.SWITCH_SMIN_get();
</span><span class="cx">   public static readonly int SWITCH_RESAMPLE_QUALITY = freeswitchPINVOKE.SWITCH_RESAMPLE_QUALITY_get();
</span><span class="cx">   public static readonly int SWITCH_RTP_MAX_BUF_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_BUF_LEN_get();
</span><ins>+  public static readonly int SWITCH_RTCP_MAX_BUF_LEN = freeswitchPINVOKE.SWITCH_RTCP_MAX_BUF_LEN_get();
</ins><span class="cx">   public static readonly int SWITCH_RTP_MAX_CRYPTO_LEN = freeswitchPINVOKE.SWITCH_RTP_MAX_CRYPTO_LEN_get();
</span><span class="cx">   public static readonly int SWITCH_RTP_KEY_LEN = freeswitchPINVOKE.SWITCH_RTP_KEY_LEN_get();
</span><span class="cx">   public static readonly string SWITCH_RTP_CRYPTO_KEY_32 = freeswitchPINVOKE.SWITCH_RTP_CRYPTO_KEY_32_get();
</span><span class="lines">@@ -5866,6 +5877,42 @@
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_delete_switch_rtp_hdr_t&quot;)]
</span><span class="cx">   public static extern void delete_switch_rtp_hdr_t(HandleRef jarg1);
</span><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtcp_hdr_t_version_set&quot;)]
+  public static extern void switch_rtcp_hdr_t_version_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtcp_hdr_t_version_get&quot;)]
+  public static extern uint switch_rtcp_hdr_t_version_get(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtcp_hdr_t_p_set&quot;)]
+  public static extern void switch_rtcp_hdr_t_p_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtcp_hdr_t_p_get&quot;)]
+  public static extern uint switch_rtcp_hdr_t_p_get(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtcp_hdr_t_count_set&quot;)]
+  public static extern void switch_rtcp_hdr_t_count_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtcp_hdr_t_count_get&quot;)]
+  public static extern uint switch_rtcp_hdr_t_count_get(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtcp_hdr_t_type_set&quot;)]
+  public static extern void switch_rtcp_hdr_t_type_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtcp_hdr_t_type_get&quot;)]
+  public static extern uint switch_rtcp_hdr_t_type_get(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtcp_hdr_t_length_set&quot;)]
+  public static extern void switch_rtcp_hdr_t_length_set(HandleRef jarg1, uint jarg2);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtcp_hdr_t_length_get&quot;)]
+  public static extern uint switch_rtcp_hdr_t_length_get(HandleRef jarg1);
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_new_switch_rtcp_hdr_t&quot;)]
+  public static extern IntPtr new_switch_rtcp_hdr_t();
+
+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_delete_switch_rtcp_hdr_t&quot;)]
+  public static extern void delete_switch_rtcp_hdr_t(HandleRef jarg1);
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_t38_options_t_T38MaxBitRate_set&quot;)]
</span><span class="cx">   public static extern void switch_t38_options_t_T38MaxBitRate_set(HandleRef jarg1, uint jarg2);
</span><span class="cx"> 
</span><span class="lines">@@ -11152,6 +11199,9 @@
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_SWITCH_RTP_MAX_BUF_LEN_get&quot;)]
</span><span class="cx">   public static extern int SWITCH_RTP_MAX_BUF_LEN_get();
</span><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_SWITCH_RTCP_MAX_BUF_LEN_get&quot;)]
+  public static extern int SWITCH_RTCP_MAX_BUF_LEN_get();
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_SWITCH_RTP_MAX_CRYPTO_LEN_get&quot;)]
</span><span class="cx">   public static extern int SWITCH_RTP_MAX_CRYPTO_LEN_get();
</span><span class="cx"> 
</span><span class="lines">@@ -11240,7 +11290,7 @@
</span><span class="cx">   public static extern IntPtr switch_rtp_new(string jarg1, ushort jarg2, string jarg3, ushort jarg4, byte jarg5, uint jarg6, uint jarg7, uint jarg8, string jarg9, ref string jarg10, HandleRef jarg11);
</span><span class="cx"> 
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtp_set_remote_address&quot;)]
</span><del>-  public static extern int switch_rtp_set_remote_address(HandleRef jarg1, string jarg2, ushort jarg3, int jarg4, ref string jarg5);
</del><ins>+  public static extern int switch_rtp_set_remote_address(HandleRef jarg1, string jarg2, ushort jarg3, ushort jarg4, int jarg5, ref string jarg6);
</ins><span class="cx"> 
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtp_get_remote_host&quot;)]
</span><span class="cx">   public static extern string switch_rtp_get_remote_host(HandleRef jarg1);
</span><span class="lines">@@ -11272,6 +11322,9 @@
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtp_activate_ice&quot;)]
</span><span class="cx">   public static extern int switch_rtp_activate_ice(HandleRef jarg1, string jarg2, string jarg3);
</span><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtp_activate_rtcp&quot;)]
+  public static extern int switch_rtp_activate_rtcp(HandleRef jarg1, int jarg2, ushort jarg3);
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtp_activate_jitter_buffer&quot;)]
</span><span class="cx">   public static extern int switch_rtp_activate_jitter_buffer(HandleRef jarg1, uint jarg2);
</span><span class="cx"> 
</span><span class="lines">@@ -11320,6 +11373,9 @@
</span><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtp_zerocopy_read_frame&quot;)]
</span><span class="cx">   public static extern int switch_rtp_zerocopy_read_frame(HandleRef jarg1, HandleRef jarg2, uint jarg3);
</span><span class="cx"> 
</span><ins>+  [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_switch_rtcp_zerocopy_read_frame&quot;)]
+  public static extern int switch_rtcp_zerocopy_read_frame(HandleRef jarg1, HandleRef jarg2);
+
</ins><span class="cx">   [DllImport(&quot;mod_managed&quot;, EntryPoint=&quot;CSharp_rtp_flush_read_buffer&quot;)]
</span><span class="cx">   public static extern void rtp_flush_read_buffer(HandleRef jarg1, int jarg2);
</span><span class="cx"> 
</span><span class="lines">@@ -16855,6 +16911,36 @@
</span><span class="cx"> using System;
</span><span class="cx"> using System.Runtime.InteropServices;
</span><span class="cx"> 
</span><ins>+public class SWIGTYPE_p_switch_rtcp_frame {
+  private HandleRef swigCPtr;
+
+  internal SWIGTYPE_p_switch_rtcp_frame(IntPtr cPtr, bool futureUse) {
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  protected SWIGTYPE_p_switch_rtcp_frame() {
+    swigCPtr = new HandleRef(null, IntPtr.Zero);
+  }
+
+  internal static HandleRef getCPtr(SWIGTYPE_p_switch_rtcp_frame obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.35
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+namespace FreeSWITCH.Native {
+
+using System;
+using System.Runtime.InteropServices;
+
</ins><span class="cx"> public class SWIGTYPE_p_switch_rtp {
</span><span class="cx">   private HandleRef swigCPtr;
</span><span class="cx"> 
</span><span class="lines">@@ -21473,6 +21559,7 @@
</span><span class="cx">   SWITCH_MESSAGE_INDICATE_PROXY_MEDIA,
</span><span class="cx">   SWITCH_MESSAGE_INDICATE_APPLICATION_EXEC,
</span><span class="cx">   SWITCH_MESSAGE_INDICATE_APPLICATION_EXEC_COMPLETE,
</span><ins>+  SWITCH_MESSAGE_INDICATE_PHONE_EVENT,
</ins><span class="cx">   SWITCH_MESSAGE_INVALID
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -22861,6 +22948,7 @@
</span><span class="cx">   SWITCH_EVENT_SERVER_DISCONNECTED,
</span><span class="cx">   SWITCH_EVENT_SEND_INFO,
</span><span class="cx">   SWITCH_EVENT_RECV_INFO,
</span><ins>+  SWITCH_EVENT_RECV_RTCP_MESSAGE,
</ins><span class="cx">   SWITCH_EVENT_CALL_SECURE,
</span><span class="cx">   SWITCH_EVENT_NAT,
</span><span class="cx">   SWITCH_EVENT_RECORD_START,
</span><span class="lines">@@ -25770,6 +25858,103 @@
</span><span class="cx"> 
</span><span class="cx"> namespace FreeSWITCH.Native {
</span><span class="cx"> 
</span><ins>+using System;
+using System.Runtime.InteropServices;
+
+public class switch_rtcp_hdr_t : IDisposable {
+  private HandleRef swigCPtr;
+  protected bool swigCMemOwn;
+
+  internal switch_rtcp_hdr_t(IntPtr cPtr, bool cMemoryOwn) {
+    swigCMemOwn = cMemoryOwn;
+    swigCPtr = new HandleRef(this, cPtr);
+  }
+
+  internal static HandleRef getCPtr(switch_rtcp_hdr_t obj) {
+    return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+  }
+
+  ~switch_rtcp_hdr_t() {
+    Dispose();
+  }
+
+  public virtual void Dispose() {
+    lock(this) {
+      if(swigCPtr.Handle != IntPtr.Zero &amp;&amp; swigCMemOwn) {
+        swigCMemOwn = false;
+        freeswitchPINVOKE.delete_switch_rtcp_hdr_t(swigCPtr);
+      }
+      swigCPtr = new HandleRef(null, IntPtr.Zero);
+      GC.SuppressFinalize(this);
+    }
+  }
+
+  public uint version {
+    set {
+      freeswitchPINVOKE.switch_rtcp_hdr_t_version_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtcp_hdr_t_version_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint p {
+    set {
+      freeswitchPINVOKE.switch_rtcp_hdr_t_p_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtcp_hdr_t_p_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint count {
+    set {
+      freeswitchPINVOKE.switch_rtcp_hdr_t_count_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtcp_hdr_t_count_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint type {
+    set {
+      freeswitchPINVOKE.switch_rtcp_hdr_t_type_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtcp_hdr_t_type_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public uint length {
+    set {
+      freeswitchPINVOKE.switch_rtcp_hdr_t_length_set(swigCPtr, value);
+    } 
+    get {
+      uint ret = freeswitchPINVOKE.switch_rtcp_hdr_t_length_get(swigCPtr);
+      return ret;
+    } 
+  }
+
+  public switch_rtcp_hdr_t() : this(freeswitchPINVOKE.new_switch_rtcp_hdr_t(), true) {
+  }
+
+}
+
+}
+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.35
+ *
+ * Do not make changes to this file unless you know what you are doing--modify
+ * the SWIG interface file instead.
+ * ----------------------------------------------------------------------------- */
+
+namespace FreeSWITCH.Native {
+
</ins><span class="cx"> public enum switch_rtp_bug_flag_t {
</span><span class="cx">   RTP_BUG_NONE = 0,
</span><span class="cx">   RTP_BUG_CISCO_SKIP_MARK_BIT_2833 = (1 &lt;&lt; 0),
</span><span class="lines">@@ -25953,7 +26138,9 @@
</span><span class="cx">   SWITCH_ZRTP_FLAG_SECURE_MITM_RECV = (1 &lt;&lt; 26),
</span><span class="cx">   SWITCH_RTP_FLAG_DEBUG_RTP_READ = (1 &lt;&lt; 27),
</span><span class="cx">   SWITCH_RTP_FLAG_DEBUG_RTP_WRITE = (1 &lt;&lt; 28),
</span><del>-  SWITCH_RTP_FLAG_VIDEO = (1 &lt;&lt; 29)
</del><ins>+  SWITCH_RTP_FLAG_VIDEO = (1 &lt;&lt; 29),
+  SWITCH_RTP_FLAG_ENABLE_RTCP = (1 &lt;&lt; 30),
+  SWITCH_RTP_FLAG_RTCP_PASSTHRU = (1 &lt;&lt; 31)
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre>
</div>
</div>
<div id="footer">See you at ClueCon</div>

</body>
</html>