You've downloaded the Voys app, your app is set up in the dial plan, and you've followed our instructions exactly, but it still doesn't work. The phone either doesn't ring at all or it does ring, but nothing happens when you answer. Most likely, your account is not yet registered.
I wish I could say that we're working on a solution, but unfortunately, there's nothing we can do. In this case, iOS is causing the delay.
A VoIP device, such as a Yealink t41s, maintains an open connection (via REGISTER requests) with a VoIP platform. When a call comes in, they can immediately find each other. Mobile apps cannot maintain an open connection with our VoIP platform; they communicate via push notifications. You can think of this as an intermediate step between the VoIP platform and our app.
A phone device registers with us so we know how and where we can reach it. This includes IP address and port, the type of communication (UDP/TCP/WS/TLS), and whether it's encrypted or not. When a call comes in for that device, we can route the call to it.
For a mobile device, keeping this connection continuously open doesn't work because the phone's battery would drain quickly. By using push notifications, we can wake up the app only when there's an incoming call, so the app only uses energy when necessary.
All calls are established in the following way:
Call from the caller —> VoIP Platform (Voys) —> Apple/Google Push Notification service —> Device —> Voys App.
Since iOS13, Apple has made a significant change to their Apple Push Notification service. Because VoIP push notifications were being misused for non-VoIP purposes, Apple completely overhauled the system. This forces us to do things that aren't logical.
- With a push notification, we need to make the app ring and notify the user of an incoming call, even if we don't know whether there's a good internet connection for the call. Only then do we register the app on our platform so we can send a call to the app. This is completely backward—ideally, you'd only want to play a ringtone after the device has successfully registered. But this is what Apple requires.
- When you press the answer button, we need to start a timer indicating that the call has been answered, but it's possible that a colleague has already answered it or that your internet connection has a problem, preventing this message from reaching us. In that case, no call can be established. So again, we have to pretend there's a call even though it hasn't been set up yet. This can give the impression that the app isn't working properly, but it's because we have to follow Apple's rules, which aren't well thought out.
Although we now have a better app with version 7, it may seem like this version is worse than the previous one, but version 7 was released right around the introduction of iOS 13, which makes the app appear to be no improvement.
This has resulted in communication that's no longer seamless.
- User alerts now happen immediately for every notification that comes in. The phone no longer receives VoIP notifications. So if our system knows that the call has already been picked up by a colleague or that the caller has already hung up, your iPhone will still ring.
- Checks cannot be performed before a call is routed to your app. For example, checking if the network connection is strong enough. The user must always be disturbed.
- Finally, a push notification is not a call. An actual SIP call still needs to be established. Apple only requires that the user interface be created immediately.
In all these scenarios, your iPhone will ring once, even though no connection can be established.
We've managed to implement some solutions to make the app work as well as possible, but after months of work, we now have a worse app than before iOS 13. The app can still ring even though you're not receiving a call anymore, or sometimes answering doesn't work because there's no longer a call.
Keep trying. We recommend the following:
- Make sure your iPhone has the latest version.
- Reinstall the app.
- Try making a call again. Didn't work?
- Log out of the app, then log back in.
- Try making a call again.
- Have a colleague call you. Does it work now?
- Turn your iPhone off and on again.
- Try making a call or have someone call you.
- Still not working? Go through these steps again later. It's even possible that the app will suddenly start working at a later time.
You might be unlucky that besides having registration problems, you're also encountering another issue. Click here to view our other help pages.