Push notifications for Calls/Chats are arriving to my Mobile Device with a delay

If on your 3CX installation, your Android Mobile users are experiencing delays in Push notifications for incoming calls / chats, this may be due to the way 3CX communicates with the Google FCM (Firebase Cloud Messaging) service.

A common reason that causes a delay, is when your 3CX PBX communicates with Google services over IPv6.
To fix this, all you need to do is disable IPv6 on your 3CX Server and reboot it.

Windows
1. In the Windows Start Menu search for "Settings" and open it
2. Go to "Network & Internet"
3. Click on "Change adapter options"
4. Right-click on your Network Interface and click "Properties"
5. Uncheck option "Internet Protocol Version 6 (TCP/IPv6)" and press OK
6. Reboot your 3CX Server
7. After your 3CX Server boots back up, open a Command Line and run the command "ipconfig" and make sure that an IPv6 IP is no longer present.

Linux
1. Log in via SSH to you Linux machine and switch to 'root' user
2. Edit the following file: nano /etc/sysctl.conf
3. At the end of the file,add the following line:
net.ipv6.conf.all.disable_ipv6 = 1
4. To save the file press Ctrl + X and then 'Y', followed by Enter to save the file
5. Run command: sysctl -p
6. Reboot your 3CX Server
7. After your 3CX Server boots back up, log back in and run command: ip a
8. Make sure that your Network Interface does not have an IPv6 IP

But why is this happening?
It is unclear to us why Google Services don't work well when being contacted over IPv6, but it is something that we have verified on multiple occasions with various installations.