+2 votes

Hello folks,

I have an issue with Zoiper on Android, connected to an Asterisk PBX.

Background: my phone company has switched to an architecture where RFC adresses are issued for GSM data connections (not even 100.... carrier grade NAT, just 10/8). This means users share public ip adresses. They are not doing any data snooping for SIP/RTP (understandable), so SIP/RTP can't work, which I unfortunately discovered last week. Registration and call setup are fine, media is always one way.

So I changed my phones to use iax2, which should solve the issues (and is easier on my own firewall as well).

Issue I can't get it to work permanently. Registration is initially fine, but after some time (can be minutes or hours) the registration vanishes:

gaia*CLI> iax2 show peers
Name/Username    Host            Mask             Port           Status      Description                     
s5                           10.1.10.42   (D)  (null)       45746       (E)            Unmonitored
s8                           (null)           (D)  (null)       (null)        (E)            Unmonitored
s10                         (null)           (D)  (null)       (null)        (E)            Unmonitored                                 
3 iax2 peers [0 online, 0 offline, 3 unmonitored]

"s5" is a phone I just forcefully re-registered (so it works)
"s8" and "s10" are phones that have been left for some time and have become unregistered

When the phones are in "unregistered" state, the Zoiper app itself still says "registered". Even more interesting, I have been monitoring the actual data from/to the Asterisk server and actually no data at all is received from the phones in "unregistered" state, while the phones still registered send REGREQ/REGAUTH/REGACK/ACK messages every minute.

I am aware of Android phones overly power saving using WLAN (which I use when I'm home) and in some states simply fail to receive (send?) data. So for the unregistered phones I started a continuous ping to keep the WLAN interface active. This does not appear to make a difference. That's why I think there is an issue with Zoiper and not Asterisk. At some point Zoiper just stops sending registration messages and for some reason assumes registration is ok, until forcefully re-registered (disable account -> enable acount).

Please note that this issue occurs either on WLAN or GSM data. When connecting from WLAN there is no firewall involved. From GSM data, there is a firewall, but there are no relevant drops or rejects.

Things I already tried (and did not help):

- install Zoiper-beta (as suggested here)
- set "keep alive wifi"
- set "run in background"
- set "background mode" to "alarm scheduler"
- set "background mode" to "constant wake lock"
- set "registration expiry time" to "60"

On Asterisk:

[general]
delayreject=yes
bandwidth=high
disallow=all
allow=ilbc
jitterbuffer=no
encryption=yes
forceencryption=yes
minregexpire = 10 ; tried various
maxregexpire = 3600 ; tried various
autokill=no
allowfwdownload=no
requirecalltoken=auto
shrinkcallerid=no

[s5]
type=friend
host=dynamic
secret=...
context=intern
;qualify=yes ; tried both no and yes
;qualifysmoothing=yes
requirecalltoken=no

[s8]
type=friend
host=dynamic
secret=...
context=intern
;qualify=yes ; tried both no and yes
;qualifysmoothing=yes
requirecalltoken=no

[s10]
type=friend
host=dynamic
secret=...
context=intern
;qualify=yes ; tried both no and yes
;qualifysmoothing=yes
requirecalltoken=no

Thanks for your interest!

in Android by (190 points)

I am seeing a similar issue with Zoiper losing registration info for connected sessions, but this is happening on PC's, not Android devices.

Has there been any suggested resolutions to this problem?

Please log in or register to answer this question.

Welcome!
Ask your questions and receive answers from other members of the Zoiper Community.

Did you check our Help Section?

You are a Zoiper Biz or Premium customer? If so, click HERE to get premium support.
2,438 questions
1,541 answers
2,314 comments
133,621 users