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

Kamrul Khan dodul at live.com
Fri Oct 24 01:13:19 CEST 2014


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:doubango at 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 at live.com
To: gascagonzalo at gmail.com; sr-users at lists.sip-router.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 at gmail.com
To: sr-users at lists.sip-router.org
CC: dodul at live.com

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 at avhan.com> 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 at 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 <dodul at live.com> 

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

To: sr-users at 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-users at 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-users at lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20141024/172716be/attachment.html>


More information about the sr-users mailing list