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
Hello,
On 12/1/09 4:01 AM, tony@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@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users