[RTPproxy Users] Same IP\port for caller and callee

tony at everestbn.com tony at everestbn.com
Tue Dec 1 07:27:38 PST 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 of the
Polycom IP phone 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