Hello,
On 12/1/09 4:01 AM, tony(a)everestbn.com wrote:
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.
Is this real scenario? I mean, caller's and callee's IP and port for
media are the same? i haven't encounter such case to see if rtpproxy can
deal with... The idea is that rtpproxy learns the remote IP and port for
each side based on first rtp packet sent to local rtpproxy allocated ports.
Cheers,
Daniel
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
_______________________________________________
Kamailio (OpenSER) - Users mailing list
Users(a)lists.kamailio.org
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
--
Daniel-Constantin Mierla
*
http://www.asipto.com/