<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.30.3">
</HEAD>
<BODY>
Hi all,<BR>
I have an issue with a Kamailio and rtpProxy, when Asymmetric RTP is used.  <BR>
<BR>
I have the system running, lines registered in Kamailio are able to call to several destinations, but I have a problem with one provider that use Asymmetric RTP (others providers use Symmetric RTP and I dont have any issues).<BR>
<BR>
A -----> Kamailio & RTPProxy ----------> Trunk -------> Provider (Asymmetric RTP) -------> B<BR>
<BR>
A is calling B.<BR>
The problem is that line in kamailio A can listen to B, but B can not listen what A says. <BR>
<BR>
I have captured the sip dialog and rtp traffic and I can see that:<BR>
<BR>
Kamailio tells to provider that is using the port 52388 (media port in SDP).<BR>
Providers tells Kamailio that is using the port 5394 (media port in SDP).<BR>
RTP traffic from Providers to kamailio goes from port 5392 to 52388. <BR>
RTP traffic from Kamailio to Provider goes from port 52388 to 5392.<BR>
<BR>
<BR>
I have not found an RFC regarding Asymmetric RTP. The question are,<BR>
 why RTP is sent from Kamailio (rtpproxy) to Provider to destination port 5392? <BR>
It should use 5394 as SDP indicate? <BR>
or, port 5392 is learned when RTP traffic was received from 5392 to 52388?<BR>
<BR>
<BR>
<I><FONT SIZE="2"># kamailio -V</FONT></I><BR>
<I><FONT SIZE="2">version: kamailio </FONT></I><I><B><FONT SIZE="2">3.3.0 (i386/linux)</FONT></B></I><BR>
<I><FONT SIZE="2">flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, F_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES</FONT></I><BR>
<I><FONT SIZE="2">ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 4MB</FONT></I><BR>
<I><FONT SIZE="2">poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.</FONT></I><BR>
<I><FONT SIZE="2">id: unknown</FONT></I><BR>
<I><FONT SIZE="2">compiled on 22:17:07 Jun 18 2012 with gcc 4.4.5</FONT></I><BR>
<BR>
<I><FONT SIZE="2"># rtpproxy -v</FONT></I><BR>
<B><I><FONT SIZE="2">Basic version: 20040107</FONT></I></B><BR>
<I><FONT SIZE="2">Extension 20050322: Support for multiple RTP streams and MOH</FONT></I><BR>
<I><FONT SIZE="2">Extension 20060704: Support for extra parameter in the V command</FONT></I><BR>
<I><FONT SIZE="2">Extension 20071116: Support for RTP re-packetization</FONT></I><BR>
<I><FONT SIZE="2">Extension 20071218: Support for forking (copying) RTP stream</FONT></I><BR>
<I><FONT SIZE="2">Extension 20080403: Support for RTP statistics querying</FONT></I><BR>
<I><FONT SIZE="2">Extension 20081102: Support for setting codecs in the update/lookup command</FONT></I><BR>
<I><FONT SIZE="2">Extension 20081224: Support for session timeout notifications</FONT></I><BR>
<BR>
<BR>
I hope to be clear with this explanation.<BR>
<BR>
Regards,<BR>
<BR>
Lucas Girard<BR>
<BR>
<BR>
<BR>
<BR>
</BODY>
</HTML>