V16.0.910-PUSH not working on any phones running 3CX app

Status
Not open for further replies.

OpenedBy

SOHO User
Joined
Jul 13, 2019
Messages
40
Reaction score
2
I have a new installation of 3CX running externally on AWS EC2.
Since installing, last week, I have not managed to have PUSH working on any mobile phones, Android or iPhone for external calls.

I will choose two users as an example:
Device Info
-------------------------------------------------------
Phone Model: Samsung 9 Plus
Phone Model: iPhone X (10)

Issue Info
-------------------------------------------------------
Connection: WiFi & 4G
Server: External (AWS EC2)

When we make internal calls PUSH seems to work fine on both Android and iPhones - if the 3CX app is not active an internal call triggers the app and the user can answer.

However, it is not the case for external calls.
I have set up a ring group consisting of 3 mobile phones running the 3CX app and 2 IP phones. When an external call comes in the two IP phones ring but none of the mobiles running the 3CX app ring. But if a user has the 3CX app open and it has focus the user sees the call and can answer it.

Also, if we pick up the call on the IP phone then try and transfer it to a mobile phone running the 3CX app we have the same response - no PUSH and the user can't pick the call up unless they have the 3CX app open with focus. But if we transfer an internal call the PUSH does seem to work - the phone rings when the app is in the background.

I have set up a Google Firebase project and added the server key and sender ID and reprovisioned the 3CX apps on users' phones but there is no change in the behaviour.

I have spent 2 days trying to look into this and have not found a solution. I would really appreciate if someone might be able to point me in a direction to do more troubleshooting please.
 
Another device on which it is not working:
-------------------------------------------------------
Phone Model: Motorola G4 Plus
Firmware Version: Android 8.1

Issue Info
-------------------------------------------------------
Connection: WiFi & 4G
Server: External (AWS EC2)

App battery optimisation disabled
App notifications --> Calls --> Importance: changed from default [Medium - No sound] to [Urgent - Make sound and pop up on screen]

No external call notifications received when the app does not have focus. However, when an internal call is received it is PUSHed through when the app does not have focus.
 
I have no answer for you. It seems like you tested everything...

internal/external
well known push / personal push
ios/android
wifi/4g

I'm assuming you tested all variations? meaning an external call on iOS, on 4g? On Android on WiFi with default push creds? On Android on WiFi with custom push creds? On Android on 4G with default push creds? On Android on 4G with custom push creds? and so on....

Have you tried spinning up another system internally in a VM and attempting to replicate (cut out aws since that is the only constant here)?
 
Thanks for your response @SweetAction. Yes I have tried a number of variations.

I can try setting up a VM, I was hoping not to have to jump through that hoop but if need be then I will jump through it.
 
Hi,
if you haven't already tried can you QR phones once more to refresh config settings.

Once i got similar problem on S8 it was a credential wifi problem on S8, have you done try with wifi disabled on phones?
 
Hi @OpenedBy

The PUSH message is just a special type of notification that tells the device to wake up the 3CX app, register your extension, and receive the call

Technically speaking from the PBX perspective, an internal call and an external call are the same thing:

a) For internal calls it rings you directly, then delivers the audio to you from another extension

b) For external calls (RG or transf. from another EXT) it rings you directly, then delivers the audio to you from the trunk

The PBX is always the one calling you, and relaying the audio from either a trunk or another extension.

What you describe is a situation where in case b) only - the PBX does not even poll you and this does not make very much sense since this is not how the system works in the first place.

Run your tests on a free 3cx hosted session, and if you can still replicate this I would highly recommend to open a ticket via our Support so they can investigate the case.
 
Hi,
if you haven't already tried can you QR phones once more to refresh config settings.

Once i got similar problem on S8 it was a credential wifi problem on S8, have you done try with wifi disabled on phones?
Thanks for the suggestion @aws2p I saw your post and have re-scanned the barcode several times sadly no resolution yet. I have tried both with WiFi enabled and disabled :(
 
Hi @OpenedBy

The PUSH message is just a special type of notification that tells the device to wake up the 3CX app, register your extension, and receive the call
....

@JohnS_3CX thanks for your response. I agree and am struggling to make sense of it. I had a thought yesterday that perhaps when I have been testing internal calls I haven't allowed the phone to actually sleep and maybe that is why the internal calls have been coming through. I'll do some more testing - users are getting a little fed up with me testing so hopefully I'll nail it soon.
 
OK so I can confirm this: When I make a call from internal to my mobile running the 3CX app and the phone is asleep the PUSH works, the phone wakes up, registers, rings and I am given the option to Accept or Reject the call. This is with the phone connected to WiFi.
When an external call comes in my phone stays asleep, no notification that an external call has come in. Interestingly, I don't get a missed call notification on opening the 3CX app either, I was getting that at some stage in my testing.
If my phone is awake and unlocked when an external call comes in, my phone rings, I am given the opportunity to Accept or Reject the call. The app doesn't need to have focus, the phone just needs to be unlocked. I have enabled all the notification settings I can find for the phone and battery optimisation is disabled. The phone I am testing on is a Motorola Moto G4 Plus Android 8.1.0 but we are having the same issue with iPhone XS, iPhone X, Samsung S8 and a Samsun 9 Plus.

We have only one incoming SIP line. I have an inbound rule set to ring a ring group on an incoming external call. My extension is part of that ring group. I have not set the option on my extension to ring my mobile simultaneously (having only one SIP line excludes this as an option.)
 
Does the behavior change at all when you are over LTE vs WiFi? Just trying to see if we can isolate some common denominator since this is across various iOS and Android devices
 
@JohnS_3CX I will methodically test over LTE today. The first thing I notice on LTE is I am not getting presence information. I get it over WiFi but it is not coming in over LTE. The phone is connected, I can make internal calls to it but the display just perpetually shows Connecting...
11670
 
Firewall checker shows all green? You've actually opened all the ports needed?

push may not be the issue - a lack of connectivity may be to blame.
 
Ok so the presence information was just because I was limiting 443 traffic to our LAN, I have opened that up to the world and it now works fine on LTE.
Firewall check reveals all Green. I have been over and over the suggested port inbound/outbound rules and everything seems to be in order.
11671

11672

11673
 
Ok so does push work now? Normally it will pass via HTTPS so if that was blocked I guess it was never reaching Google
 
@JohnS_3CX no, push is still not working. The firewall change I made will only affect clients not connected via the LAN. But with the change push still does not work, neither with clients connected via WiFi on the LAN nor connected via LTE. Incidentally, I have never had anything but all greens in the firewall checker right from the beginning of installation of this 3CX instance.
 
  1. Put phone to sleep
  2. Call the Ring Group's internal extension from one of your internal phones

Does the mobile app ring now?
 
During pbx install, did you surely set 443 and not 5001 port?
 
@aws2p As far as I can tell I have set port 443 not 5001, where in the admin interface can I check that is tthe case?
 
It's 443 if you log in the management console by yourcompany.3cx.com instead of yourcompany.3cx.com:5001

  1. Put phone to sleep
  2. Call the Ring Group's internal extension from one of your internal phones
Does the mobile app ring now?

did you try the above suggestion by the way? :)
 
Status
Not open for further replies.

Forum statistics

Threads
112,149
Messages
590,969
Members
165,171
Latest member
Mahlon