Zoiper on Android not registered

Good Morning Colleagues
I hope you are doing good and safe .

Kindly find the below details regarding my issue:

  • I have a server with FreePBX 15.0.17.47 installed .
  • FreePBX system firewall is disabled.
  • FreePBX server located behind ADSL router but located in DMZ zone.
  • Zoiper installed on Android phone.
  • In Egypt , You can connect to the internet either through Landline provider or 4G provider.
  • When i am at remote office using internet through Landline , Zoiper register successfully.
  • When i am at remote office but using internet through 4G , Zoiper didn’t register.
  • I am coming from 3CX world so when using 3CX softphone on Android and need to register either using internet through landline or 4G , No issue at all and it can register in both case.

Any suggestion how to solve the issue with Zoiper through 4G ?

Thanks in advance.

Best Regards

Good Morning Colleagues
Any thoughts from your side ?

Best Regards

The cause won’t be 4G itself. Is the mobile network applying NAT? Which channel driver are you using? Please provide sip set debug on/pjsip set logger on output, from the full log, for a failed registration.

Good Morning David55
Thanks for your replay . Kindly find my below notes:

  • I have issued the below commands:
    asterisk -r
    core set verbose 5
    core set debug 5
    sip set debug on
    pjsip set logger on
  • Extension 881 has two endpoints . One of them is at the same local network of FreePBX server and has IP Address (192.168.1.58) . The other endpoint is Zoiper on my Android phone . This endpoint will have dynamic public ip address and will try to register to public ip address of FreePBX.
  • I am uploading the full log with this replay . Appreciate to remove “.tgz” . I just add it so i can upload the file.
  • If anything is not clear , KIndly let me know as i am new to FreePBX.
  • full.tgz (1.2 MB)

Thx in advance

Best Regards

Hi David55
I forget to share the below:

  • Both Landline provider & 4G provider apply NAT.
  • I am using PJSIP (If this is what you mean by channel driver).

Best Regards

It appears that registration is ok, but sometimes OPTIONS (qualify) packets get no response.

Please put this into /etc/asterisk/pjsip.aor_custom_post.conf (at the end if the file has other contents):
[881](+type=aor)
qualify_timeout=16.0
then restart Asterisk.

Also, confirm that you have Max Contacts for extension 881 set to at least 4.

If no luck, paste a new log at pastebin.freepbx.org, post the link here and also do a test with Qualify Frequency for extension 881 set to 0.

Good Afternoon Stewart
Kindly find below my activities:

  • I have added the below to /etc/asterisk/pjsip.aor_custom_post.conf which was empty.
    [881](+type=aor)
    qualify_timeout=16.0
  • Then i have issued the below commands:
    asterisk -r
    core set verbose 5
    core set debug 5
    sip set debug on
    pjsip set logger on
  • I tried then to connect to FreePBX from my Android Softphone through 4G network using Zoiper
  • Finally , below is the logs
    https://pastebin.freepbx.org/view/0a097cff
  • By the way , Could you further explain what do you mean by " test with Qualify Frequency for extension 881 set to 0." ?

Thanks in advance.

Best Regards

I’m puzzled. It appears that Zoiper was briefly registered correctly. Starting at line 5132, we see a valid reply to OPTIONS from the mobile and line 5158 shows 2 available contacts. However, Zoiper was somehow unable to renew its registration and on line 5243 we see the contact being deleted because of registration expiration (not because of qualify failing).

While the mobile carrier may have blocked re-registration, IMO it’s more likely that the app was paused in the background (to save battery) and as a result didn’t renew the registration. I know almost nothing about Zoiper but it probably has some logging options that would show what happened.

You might try setting the registration interval to e.g. 10 minutes (it’s now 1 minute) and see whether you can make and/or receive calls during that time.

Also, your phone likely has settings for each app regarding battery usage restrictions that you could adjust to work around the problem.

You could try Zoiper’s push notification feature, which eliminates the need for the device to maintain registration; see https://www.zoiper.com/en/support/home/article/205/Zoiper%20Push%20Proxy .

Finally, you might try a different softphone. I find Groundwire (with push notifications enabled) to be very reliable.

I find zoiper to lose registration on 4g as well. However gswave has worked reliably for me. I dont like the subscription model of zoiper, and would rather pay a one time fee.

Good Afternoon Trumee
Thx for your suggestion . I tried gswave but same issue still exist with 4G .

Best Regards

Good Afternoon Stewart
Thx for your great message . Kindly find my below notes:

  • I set Registration Expiry time to 10 minutes but issue still exist.
  • Unfortunately, Since i use Zoiper free version, “Enable PUSH proxy” not available.
  • I used another softphone which is gswave but issue still exist.

Best Regards

Did it initially show registered? Keeping it running in the foreground, were you able to call out? While still running in the foreground, what happened on an incoming call?

If my memory serves, 3CX does have a built in VPN/Tunnelling service which is why you probably don’t see that same issue.

Have you tried a different SIP port from the normal ones as some 4G carriers will block SIP traffic by default?

Good Morning Stewart1
It didn’t registered successfully at all through 4G and based on this , I am not able to make any calls through 4G.

Best Regards

Good Morning Richard
I did try to use different port for SIP (even TCP not UDP) but issue still exist and i can’t register through 4G.

Best Regards

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.