1
votes

I have a SIP Server running OpenSIPs 1.11.3

  • configured with built-in STUN module (full mode with 2 IPs)
  • configured with MediaProxy 2.6.1 to relay RTP (using engage_media_proxy in routing script)

Using IMSDroid from doubango as the SIP client.

Calls between wifi-wifi is good, I do not need to turn on any STUN, ICE, TURN option in the client.

However, calls between 3g-wifi or 3g-3g isn't that good. 3G can make outgoing call but it cannot receive call. Which means 3g-3g call can NEVER happen. All I see in the OpenSIPs logs are repeated retransmissions of INVITE because it cannot reach the 3G side.

I read that TURN server can solve this kind of problem, so I enabled TURN in IMSDroid sip client, but still 3G side cannot receive any call.

The TURN server I am using:

url: 'turn:numb.viagenie.ca' credential: 'muazkh' username: '[email protected]'

Is there any solution / module I can use to solve this problem?

 

EDIT:

If I use TCP protocol, I am able to receive call! Although the call terminate due to transport error after 30 seconds, but at least the call went through. Any idea what happen here?? Mobile carrier blocking incoming call? But definitely not port blocking because I am able to register whether I use port 80 or 5060.

EDIT 2:

I tried using free SIP accounts to make calls (sip2sip.info and sip.antisip.com), and I have the same problem too! As I know, sip2sip.info is using OpenSIPS too but AntiSip.com is using something like AmSIP. So the problem is with my mobile carrier?

Thank you!

1

1 Answers

0
votes

If your UA can't receive calls, it means it is not reachable for signaling. In order for your UA to be reachable, it needs to register and keep the NAT mappings alive. To keep a NAT mapping alive, your UA must send keepalive to the server periodically. Another option is that the server sends keepalives to the UA but some NATs don't refresh mappings for incoming traffic.

When you solve this first issue, comes the media part where technologies like STUN, TURN and ICE will help.