Password Recovery

Incoming calls are not working

Introduction:

Issues related to incoming calls are a common problem with voice over IP.

This article aims to outline the most common problems for the different operating systems as well as possible solutions and best practices for the most reliable incoming calls.

 

Most computers and phones do not use a fixed IP or are behind a NAT network.

VOIP servers use REGISTRATIONS to keep track of the current location of a user, this also servers as way to keep NAT bindings open on your home or office router.

iOS, Android and Windows Phone:

Make sure that Zoiper is allowed to run in the in the background

Android:

Open Zoiper -> go to settings -> Connectivity

Enable Keep Alive WiFi (unless you want to switch to 3g/4g when the wireless turns off).

Stay awake is on

Run in background is on

 

Then go to Android Settings -> Apps -> Zoiper -> Data Usage

Enable background data

Enable Unrestricted data usage

 

On Android 6.0 and above, please make sure Zoiper is on the whitelist for battery optimization. Zoiper should popup to allow it to add itself to the whitelist, but this will not work on some devices  (Huawei, Xaomi,..) that come with their own battery optimization settings. Please manually add Zoiper to the battery optimization whitelist on such devices.

 

For Huawei devices, please see here.

iOS:

First make sure that Zoiper is allowed to use the cellular network.

To do so, to to the ios settings -> Cellular

Scroll down to the "Use Cellular Data For" and make sure the option is enabled for Zoiper.


Then try to use TCP or TLS for your SIP account. (This does not work for IAX)

Note, when using TCP if the server sends too much wake-up packets (more than 15 for 300 seconds), iOS will kill the application.

(When "Qualify" is enabled in Asterisk servers, the default timeout will be 2 seconds)

 

You can do so in Zoiper -> Settings -> Accounts -> (Your account) -> Network Settings

Change the transport to be TCP or TLS.Try if you can still register. If you cannot, your provider does not support TCP or TLS and this setting will not work.

 

Keep in mind that due to iOS limitations, it is possible for incoming calls not to work when your internet connectivity stops (out of reach for WiFi and cellular at the same time) and this continues for over 30 seconds.

(This will cause the TCP voip socket to get closed and iOS will force Zoiper to hibernate).

Zoiper will keep retrying approximately every 10 minutes and if there is network it will re-register.

 

The default registration expiry values are:

 - UDP: 60s;

- TCP/TLS: 600s.

  

If you cannot use TCP or TLS because your provider or PBX does not support it, you can still try use UDP although it often causes side effects such as increased battery usage and sometimes problems with audio on other applications.

 

 

To enable it, go to Zoiper -> Settings -> Incoming calls

Enable Wi-Fi Keep alive

Enable Force background

Windows Phone:

As Microsoft does not allow applications to run in background, Zoiper will not be able to run in background, only under the lock screen.
This means if you started any application after opening zoiper, then the incoming calls will no longer work.
The only thing to be done is to implement Push on your/VoIP provider's server.

http://www.zoiper.com/en/support/answer/for/windows-phone/105/Push_notifications

 

The NAT network is causing issues

 You can verifiy if this is the case if Zoiper receives incoming calls immediately after a registration to the server, but after a few minutes incoming calls stop working.

The most likely culprit here is the short NAT port mapping on your home or office router.

 

When using UDP, most routers will drop the port mapping after a few minutes. This means zoiper would have to re-register every minute to keep the mapping alive.

When using TCP most routers will keep the connection for many hours (unless they run out of memory and start recycling port mappings).

 

Try switching to TCP or TLS instead of UDP (if your provider or PBX supports it).

If your voip provider or PBX does not support TCP, try lowering the re-registration time in zoiper to 30 or 1 minute. (Keep in mind that this will have a significant impact on battery life when using cellular 3g/4g, the impact on WiFi is not as signficant).

Keep in mind that an excessive reason of re-registrations might lead to temporary blocking by your voip provider, in this case you can try using the sip keep alive option in Zoiper instead.

Windows:

go to settings -> accounts -> your account -> advanced -> Network related.

Change transport to TCP or TLS.

If that does not work and you can only use UDP, please ensure sip keep alive is enabled and is set to 30s.

Mac:

on mac: go to settings -> accounts -> your account -> advanced -> Network related.

Change transport to TCP or TLS.

If that does not work and you can only use UDP, please ensure sip keep alive is enabled and is set to 30s.

Linux:

go to settings -> accounts -> your SIP account -> advanced -> Network related.

Change transport to TCP or TLS.

If that does not work and you can only use UDP, please ensure sip keep alive is enabled and is set to 30s.

Android:

go to settings -> accounts -> your SIP account -> network -> Network

Change transport to TCP or TLS.

If that does not work and you can only use UDP, please ensure sip keep alive is enabled and is set to 30s.

iOS:

go to settings -> accounts -> your SIP account -> advanced -> Network related.

Change transport to TCP or TLS.

If that does not work and you can only use UDP, please ensure sip keep alive is enabled and is set to 30s.

 

Please note that if your public ip address changes but you are using an internal ip address behind a NAT, then zoiper will not be notified about a network change and will not re-register automatically. This situation will correct itself when the re-registration time is due. If you are experiencing this, please reduce the re-registration time (registration expiry) to a lower value to minimize the time you could be without incoming calls when such an event happens.

 

Incoming calls never work

 

SIP ALG

STUN

rPORT for signalling 

 

 

Zoiper will send a register to the server to let the server know w

 

 

  • A firewall is blocking the incoming connections

 

 

-> faster re-registration

 

 

Make sure you do not use keep alive on the server or zoiper could get killed. Other than that it should work reliably. It could fail for maximum 10 minutes if there was no network for a while.

 

In such case, zoiper would lose the TCP connection, have limited time to try to reconnect before being forced to sleep by ios and since there is no active TCP socket, not be notified about a new network change.

 

Your ip address on the router changed but the pc still has the same ip.

 add here the stuff from the error 408 about the data in the background and on cellular for ios and android.