Discussion:
[SR-Users] One sided or no voice issue with websockets
Kamrul Khan
2014-10-21 23:44:51 UTC
Permalink
Hi,

We have a setup with sipml5 to kamailio. It works perfectly within local network. In public network the signaling establishes perfectly, but most of the time we hear no voice, sometimes we hear one sided voice and in rare cases we hear voice from both sides. To fix this issue we configured our nathandler like the below: But, still no luck. Any idea how to fix this? Please HELP!!!

modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
modparam("nathelper", "nortpproxy_str", "a=sdpmangled:yes\r\n")
.
.
.
route {
.
.
if (nat_uac_test("115")) {
if(nat_uac_test("64"))
force_rport();
}
if (method=="REGISTER") {
fix_nated_register();
add_rcv_param();
} else {
fix_nated_contact();
if(nat_uac_test("64")){
if (!add_contact_alias()) {
xlog("L_ERR", "Error aliasing contact <$ct>\n");
sl_send_reply("400", "Bad Request");
exit;
}
} else {
add_rcv_param();
}
}
}
.
.

onreply_route {
if (nat_uac_test(64)) {
add_contact_alias();
}
.
.
}
dodul
2014-10-22 14:18:37 UTC
Permalink
Hi

I didn't get any responses from anyone regarding my issue. Can someone please give me some clue what I can do? Or if more information is needed please let know so that I can provide.


Sent from my Samsung Galaxy smartphone.


-------- Original message --------
From: Kamrul Khan <dodul-***@public.gmane.org>
Date:10-21-2014 17:45 (GMT-06:00)
To: sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
Cc:
Subject: [SR-Users] One sided or no voice issue with websockets

Hi,

We have a setup with sipml5 to kamailio. It works perfectly within local network. In public network the signaling establishes perfectly, but most of the time we hear no voice, sometimes we hear one sided voice and in rare cases we hear voice from both sides. To fix this issue we configured our nathandler like the below: But, still no luck. Any idea how to fix this? Please HELP!!!

modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
modparam("nathelper", "nortpproxy_str", "a=sdpmangled:yes\r\n")
.
.
.
route {
.
.
if (nat_uac_test("115")) {
if(nat_uac_test("64"))
force_rport();
}
if (method=="REGISTER") {
fix_nated_register();
add_rcv_param();
} else {
fix_nated_contact();
if(nat_uac_test("64")){
if (!add_contact_alias()) {
xlog("L_ERR", "Error aliasing contact <$ct>\n");
sl_send_reply("400", "Bad Request");
exit;
}
} else {
add_rcv_param();
}
}
}
.
.

onreply_route {
if (nat_uac_test(64)) {
add_contact_alias();
}
.
.
}
Amit Patkar
2014-10-22 16:12:45 UTC
Permalink
Please check ICE server settings. Your browser may be publishing local IP. One way voice or no voice is typical case when client is behind firewall.

Regards,
Amit Patkar

dodul <***@live.com> wrote:

>Hi
>
>I didn't get any responses from anyone regarding my issue. Can someone please give me some clue what I can do? Or if more information is needed please let know so that I can provide.
>
>
>Sent from my Samsung Galaxy smartphone.
>
>
>-------- Original message --------
>From: Kamrul Khan <***@live.com>
>Date:10-21-2014 17:45 (GMT-06:00)
>To: sr-***@lists.sip-router.org
>Cc:
>Subject: [SR-Users] One sided or no voice issue with websockets
>
>Hi,
>
>We have a setup with sipml5 to kamailio. It works perfectly within local network. In public network the signaling establishes perfectly, but most of the time we hear no voice, sometimes we hear one sided voice and in rare cases we hear voice from both sides. To fix this issue we configured our nathandler like the below: But, still no luck. Any idea how to fix this? Please HELP!!!
>
>modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
>modparam("nathelper", "nortpproxy_str", "a=sdpmangled:yes\r\n")
>.
>.
>.
>route {
>.
>.
> if (nat_uac_test("115")) {
> if(nat_uac_test("64"))
> force_rport();
> }
> if (method=="REGISTER") {
> fix_nated_register();
> add_rcv_param();
> } else {
> fix_nated_contact();
> if(nat_uac_test("64")){
> if (!add_contact_alias()) {
> xlog("L_ERR", "Error aliasing contact <$ct>\n");
> sl_send_reply("400", "Bad Request");
> exit;
> }
> } else {
> add_rcv_param();
> }
> }
> }
>.
>.
>
>onreply_route {
> if (nat_uac_test(64)) {
> add_contact_alias();
> }
>.
>.
>}
>
>
>
>
>_______________________________________________
>SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>sr-***@lists.sip-router.org
>http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>_______________________________________________
>SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>sr-***@lists.sip-router.org
>http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Gonzalo Gasca
2014-10-22 16:53:58 UTC
Permalink
Hi Kamrul,

Can you provide more details about the call flow:
It is important to understand the following:
-Topology
-Web browser models and versions (Chrome vs FireFox)
-Kamailio version

When you say:
"It works perfectly within local network"
Please take a look at ICE negotiation.

I have sipml5 placing calls to Asterisk via Kamilio working without any
issues.

sipml5 ---> kamailio --> fs --> asterisk
------------------ media ------------>

Please provide logs:
sipml5 (java console)
kamailio logs
(If possible browser logs)

-Gonzalo


On Wed, Oct 22, 2014 at 9:12 AM, Amit Patkar <amit-***@public.gmane.org> wrote:

> Please check ICE server settings. Your browser may be publishing local IP.
> One way voice or no voice is typical case when client is behind firewall.
>
> Regards,
> Amit Patkar
>
>
> dodul <dodul-***@public.gmane.org> wrote:
>
> Hi
>
> I didn't get any responses from anyone regarding my issue. Can someone
> please give me some clue what I can do? Or if more information is needed
> please let know so that I can provide.
>
>
> Sent from my Samsung Galaxy smartphone.
>
>
> -------- Original message --------
> From: Kamrul Khan <dodul-***@public.gmane.org>
> Date:10-21-2014 17:45 (GMT-06:00)
> To: sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> Cc:
> Subject: [SR-Users] One sided or no voice issue with websockets
>
> Hi,
>
> We have a setup with sipml5 to kamailio. It works perfectly within local
> network. In public network the signaling establishes perfectly, but most of
> the time we hear no voice, sometimes we hear one sided voice and in rare
> cases we hear voice from both sides. To fix this issue we configured our
> nathandler like the below: But, still no luck. Any idea how to fix this?
> Please HELP!!!
>
> modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
> modparam("nathelper", "nortpproxy_str", "a=sdpmangled:yes\r\n")
> .
> .
> .
> route {
> .
> .
> if (nat_uac_test("115")) {
> if(nat_uac_test("64"))
> force_rport();
> }
> if (method=="REGISTER") {
> fix_nated_register();
> add_rcv_param();
> } else {
> fix_nated_contact();
> if(nat_uac_test("64")){
> if (!add_contact_alias()) {
> xlog("L_ERR", "Error aliasing contact
> <$ct>\n");
> sl_send_reply("400", "Bad Request");
> exit;
> }
> } else {
> add_rcv_param();
> }
> }
> }
> .
> .
>
> onreply_route {
> if (nat_uac_test(64)) {
> add_contact_alias();
> }
> .
> .
> }
>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>
>
Kamrul Khan
2014-10-23 19:05:24 UTC
Permalink
Hi Gonzalo,

Thanks a lot for your reply. I took a closer look at the issue and I guess we figured out the reason why this is happening. But, still couldnt get the solution unfortunately. Our topology is like this:

sipml5(behind NAT) -> (Public Interface)kamailio(Private Interface) <----> Freeswitch

So, when we are sending calls to to freeswitch via Kamailio; Freeswitch is updating the SDP with its private IP. Therefore the client tries to send RTPs to the private IP of freeswitch. We have rtpproxy installed in our Kamailio server. We tried bunch of stuffs to solve the issue like ICE handling with rtpengine but nothing worked out. Can you please give me some more advise that I may try ?

Thanks in advanced.



Date: Wed, 22 Oct 2014 09:53:58 -0700
Subject: Re: [SR-Users] One sided or no voice issue with websockets
From: gascagonzalo-***@public.gmane.org
To: sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
CC: dodul-***@public.gmane.org

Hi Kamrul,
Can you provide more details about the call flow:It is important to understand the following:-Topology-Web browser models and versions (Chrome vs FireFox)-Kamailio version
When you say:"It works perfectly within local network"
Please take a look at ICE negotiation.
I have sipml5 placing calls to Asterisk via Kamilio working without any issues.
sipml5 ---> kamailio --> fs --> asterisk ------------------ media ------------>
Please provide logs:sipml5 (java console)kamailio logs(If possible browser logs)
-Gonzalo

On Wed, Oct 22, 2014 at 9:12 AM, Amit Patkar <amit-***@public.gmane.org> wrote:
Please check ICE server settings. Your browser may be publishing local IP. One way voice or no voice is typical case when client is behind firewall.

Regards,
Amit Patkar

dodul <dodul-***@public.gmane.org> wrote:


Hi



I didn't get any responses from anyone regarding my issue. Can someone please give me some clue what I can do? Or if more information is needed please let know so that I can provide.







Sent from my Samsung Galaxy smartphone.






-------- Original message --------

From: Kamrul Khan <dodul-***@public.gmane.org>

Date:10-21-2014 17:45 (GMT-06:00)

To: sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org

Cc:

Subject: [SR-Users] One sided or no voice issue with websockets





Hi,



We have a setup with sipml5 to kamailio. It works perfectly within local network. In public network the signaling establishes perfectly, but most of the time we hear no voice, sometimes we hear one sided voice and in rare cases we hear voice from both sides.
To fix this issue we configured our nathandler like the below: But, still no luck. Any idea how to fix this? Please HELP!!!



modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")

modparam("nathelper", "nortpproxy_str", "a=sdpmangled:yes\r\n")

.

.

.

route {

.

.

if (nat_uac_test("115")) {

if(nat_uac_test("64"))

force_rport();

}

if (method=="REGISTER") {

fix_nated_register();

add_rcv_param();

} else {

fix_nated_contact();

if(nat_uac_test("64")){

if (!add_contact_alias()) {

xlog("L_ERR", "Error aliasing contact <$ct>\n");

sl_send_reply("400", "Bad Request");

exit;

}

} else {

add_rcv_param();

}

}

}

.

.



onreply_route {

if (nat_uac_test(64)) {

add_contact_alias();

}

.

.

}








_______________________________________________

SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list

sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org

http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Kamrul Khan
2014-10-23 23:13:19 UTC
Permalink
Hello,

As explained in my eirlier email. My topology is like below:

sipml5(behind NAT) -> (Public Interface)kamailio(Private Interface) <----> Freeswitch(172.16.0.150)

As Freeswitch is doing the ICE handling. My SIPml5 cliemt used to receive a SDP like the below:

v=0
o=FreeSWITCH 1414067668 1414067669 IN IP4 172.16.0.150
s=FreeSWITCH
c=IN IP4 172.16.0.150
t=0 0
a=msid-semantic: WMS cYoQYYjanLXOOfaNPt6yznk0jyS7oDzr
m=audio 31240 UDP/TLS/RTP/SAVPF 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=ptime:20
a=fingerprint:sha-256 C4:E4:BD:FD:9C:61:DC:BB:CF:7C:47:C5:24:54:67:03:B2:82:6C:98:CB:24:00:27:4A:FC:9B:60:0E:82:53:F1
a=rtcp-mux
a=rtcp:31240 IN IP4 172.16.0.150
a=ssrc:408503913 cname:sN7gBhhOS5swat9Q
a=ssrc:408503913 msid:cYoQYYjanLXOOfaNPt6yznk0jyS7oDzr a0
a=ssrc:408503913 mslabel:cYoQYYjanLXOOfaNPt6yznk0jyS7oDzr
a=ssrc:408503913 label:cYoQYYjanLXOOfaNPt6yznk0jyS7oDzra0
a=ice-ufrag:N6edjo4tNMq1gQiy
a=ice-pwd:tgFVnMA6HTsHdsoQpsUzHOSk
a=candidate:7591449709 1 udp 659136 172.16.0.150 31240 typ host generation 0

Due to this the SIPml5 client used to send all traffic to 172.16.0.150.

Then we configured rtpengine to update the SDP.

rtpengine_offer("replace-session-connection ICE=remove media-address=Kamailio.public.i.p");

This removes the ICE info from the SDP and updates the Connection IP (c=). But, after implementing this the SIPml5 client simply stops sending media.

We then tried making calls from www.sipml5.org/call.html and took call trace. The javascript consol log looks like the below:

v=0
o=doubango 1983 678901 IN IP4 188.165.231.30
s=-
c=IN IP4 188.165.231.30
t=0 0
a=fingerprint:sha-256 19:FB:A5:76:58:86:76:15:1A:40:81:A2:6F:28:32:00:B2:A0:6A:6E:6C:B8:7B:32:46:5E:3B:67:65:1B:3D:6D
a=setup:active
a=connection:new
m=audio 53240 UDP/TLS/RTP/SAVPF 8 101
c=IN IP4 188.165.231.30
a=ptime:20
a=minptime:1
a=maxptime:255
a=silenceSupp:off - - - -
a=rtpmap:8 PCMA/8000/1
a=rtpmap:101 telephone-event/8000/1
a=fmtp:101 0-16
a=sendrecv
a=rtcp-mux
a=ssrc:197049014 cname:ea7ff6f8011d57ea40a5c78ec2b6507e
a=ssrc:197049014 mslabel:6994f7d1-6ce9-4fbd-acfd-84e5131ca2e2
a=ssrc:197049014 label:***@audio
a=ice-ufrag:zAFzFk6NwUyJerc
a=ice-pwd:OKBzfv9agBMhAvB00kbRIn
a=candidate:5c9dCkKk3HAS127 1 udp 2130706431 188.165.231.30 53240 typ host

This is what we get from the packet trace:

172.16.1.190 188.165.231.30 STUN 106 Binding Success Response XOR-MAPPED-ADDRESS: 188.165.231.30:53240
188.165.231.30 172.16.1.190 DTLSv1.0 199 Client Hello
172.16.1.190 188.165.231.30 DTLSv1.0 930 Server Hello, Certificate, Server Key Exchange, Certificate Request, Server Hello Done
188.165.231.30 172.16.1.190 DTLSv1.0 822 Certificate (Fragment), Certificate (Fragment), Certificate (Fragment), Certificate......
172.16.1.190 188.165.231.30 DTLSv1.0 133 Change Cipher Spec, Encrypted Handshake Message

And then UDP (media starts to flow).

This is our overall situation. We are a bit stuck and not sure what to do next. Please help us...

Thanks in advanced.
From: dodul-***@public.gmane.org
To: gascagonzalo-***@public.gmane.org; sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
Date: Fri, 24 Oct 2014 01:05:24 +0600
Subject: Re: [SR-Users] One sided or no voice issue with websockets




Hi Gonzalo,

Thanks a lot for your reply. I took a closer look at the issue and I guess we figured out the reason why this is happening. But, still couldnt get the solution unfortunately. Our topology is like this:

sipml5(behind NAT) -> (Public Interface)kamailio(Private Interface) <----> Freeswitch

So, when we are sending calls to to freeswitch via Kamailio; Freeswitch is updating the SDP with its private IP. Therefore the client tries to send RTPs to the private IP of freeswitch. We have rtpproxy installed in our Kamailio server. We tried bunch of stuffs to solve the issue like ICE handling with rtpengine but nothing worked out. Can you please give me some more advise that I may try ?

Thanks in advanced.



Date: Wed, 22 Oct 2014 09:53:58 -0700
Subject: Re: [SR-Users] One sided or no voice issue with websockets
From: gascagonzalo-***@public.gmane.org
To: sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org
CC: dodul-***@public.gmane.org

Hi Kamrul,
Can you provide more details about the call flow:It is important to understand the following:-Topology-Web browser models and versions (Chrome vs FireFox)-Kamailio version
When you say:"It works perfectly within local network"
Please take a look at ICE negotiation.
I have sipml5 placing calls to Asterisk via Kamilio working without any issues.
sipml5 ---> kamailio --> fs --> asterisk ------------------ media ------------>
Please provide logs:sipml5 (java console)kamailio logs(If possible browser logs)
-Gonzalo

On Wed, Oct 22, 2014 at 9:12 AM, Amit Patkar <amit-***@public.gmane.org> wrote:
Please check ICE server settings. Your browser may be publishing local IP. One way voice or no voice is typical case when client is behind firewall.

Regards,
Amit Patkar

dodul <dodul-***@public.gmane.org> wrote:


Hi



I didn't get any responses from anyone regarding my issue. Can someone please give me some clue what I can do? Or if more information is needed please let know so that I can provide.







Sent from my Samsung Galaxy smartphone.






-------- Original message --------

From: Kamrul Khan <dodul-***@public.gmane.org>

Date:10-21-2014 17:45 (GMT-06:00)

To: sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org

Cc:

Subject: [SR-Users] One sided or no voice issue with websockets





Hi,



We have a setup with sipml5 to kamailio. It works perfectly within local network. In public network the signaling establishes perfectly, but most of the time we hear no voice, sometimes we hear one sided voice and in rare cases we hear voice from both sides.
To fix this issue we configured our nathandler like the below: But, still no luck. Any idea how to fix this? Please HELP!!!



modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")

modparam("nathelper", "nortpproxy_str", "a=sdpmangled:yes\r\n")

.

.

.

route {

.

.

if (nat_uac_test("115")) {

if(nat_uac_test("64"))

force_rport();

}

if (method=="REGISTER") {

fix_nated_register();

add_rcv_param();

} else {

fix_nated_contact();

if(nat_uac_test("64")){

if (!add_contact_alias()) {

xlog("L_ERR", "Error aliasing contact <$ct>\n");

sl_send_reply("400", "Bad Request");

exit;

}

} else {

add_rcv_param();

}

}

}

.

.



onreply_route {

if (nat_uac_test(64)) {

add_contact_alias();

}

.

.

}








_______________________________________________

SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list

sr-users-cR8azDVoa3IcDhw6gZKtMWD2FQJk+8+***@public.gmane.org

http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Loading...