[Kamailio-Users] Random looped back audio issues with RTPPROXY

tony at everestbn.com tony at everestbn.com
Tue Dec 1 04:01:08 CET 2009




Hello,

I'm having random audio issues (<10% of the
time) with blind call
transfers on a Polycom phone.  According
to RTPPROXY's logs, it seems it is substituting the same IP and port for
the caller's and callee's address causing one end to hear their own voice
while the other end hears nothing.

INFO:rxmit_packets: caller's
address filled in: a.b.c.199:17856 (RTP) INFO:rxmit_packets: guessing RTCP
port for caller to be 17857
INFO:rxmit_packets: callee's address
filled in: a.b.c.199:17856 (RTP) INFO:rxmit_packets: guessing RTCP port
for callee to be 17857

The SDP in the SIP messages has all the
correct IPs and ports and it appears from a SIP overview everything should
work fine.

Here is some background information:
I am using
Kamailio 1.5.3 with RTPPROXY 1.2.1.

SIP PATH is as follows:
PSTN Gateway---Kamailio--SIP Proxy Server--Polycom Phone

RTP
PATH:
PSTN Gateway---Kamailio----Polycom Phone

*There are
nor firewalls or filters.

Call Flow:
I place a call from
the gateway to the ip phone.  Call is answered.  When I do a
blind transfer from the Polycom, the SIP Proxy sends an invite with no
SDP, the gateway responds with a 200 with SDP and the SIP Proxy then sends
an ACK with SDP.  As I mentioned, this works most of the time and the
SIP messages look identical for when the transfer works and when it
doesn't. When it doesn't work the gateway end hears their own voice while
the recipient Polycom transfer (usually another phone on the same proxy)
hears nothing. 

Here is a portion of my configuration file:
.....
if (is_method("INVITE")) {
 
if((search("^Content-Type:[ ]*application/sdp")) ||
(search("^Content-Type:application/sdp"))){
     rtpproxy_offer("fcr");
          
setflag(12);
     }
    }
    
    if
(is_method("ACK")) {
    
  
if((search("^Content-Type:[ ]*application/sdp")) ||
(search("^Content-Type:application/sdp"))) {
         
     rtpproxy_answer("fcr");
          
      }
    }
        
   
t_on_reply("1");
....
}

onreply_route[1]
{
  if (status=~"(180)|(183)|(2[0-9][0-9])"){
   if((search("^Content-Type:[ ]*application/sdp"))
||
(search("^Content-Type:application/sdp"))) {
      if (isflagset(12)) {
       
rtpproxy_answer("fcr");
        } else {
      rtpproxy_offer("fcrl");
         }
      }
 }
}

Any help
would be greatly appreciated!

Thanks,

Tony







More information about the Users mailing list