Installing the App
The Vodia iOS app can be found in the Apple App Store under the name "Vodia Phone". A link is available on the login screen for the PBX. The app required iOS 13 or higher to work properly. Currently only English, French and German is supported.
In order to install the App, the user needs a 2D barcode that contains the username, domain, address of the PBX and a token which is linked to the users password for the account. The barcode can be obtained in several ways:
In the domain view in the administrator web interface. Under the provisioning tab, there is a button called QR-Code which creates a pop-up with the code. If the user is in front of the screen, the camera a of the iOS device can take a photo of the screen for pairing.
The same is possible from the user portal. The code is available from the user menu, which will show up after clicking on the user icon on the top right corner of the interface.
The administrator can generate a page that contains the codes for multiple domains. In order to do that, switch into the domain administrator view and select "Download QR codes" in the list of extensions. This pages is intended for print out, so that the paper can be given to the user.
The PBX can also send an email with the code to the user. However this method must be enabled first in the system security settings (Settings → Security → General), the name of the setting is "Include 2D barcode in user welcome email". Then in the domain list of extensions select the item "send welcome email to selected accounts".
The link that the PBX uses depends on the address that use used in the browser. Typically, this is the DNS address of the domain or the server. Using the special name localhost will cause problems in many cases.
If the PBX runs on a publicly routable address ("public IP"), it will work with devices from any location that generally can reach servers in the internet.
If the PBX runs in a private network, the phones can access the PBX only if they are in the same network. This typically works when WLAN is used; however when the user leaves the office, the App cannot access the PBX any more. Because the Apple push service will wake up the app independently where the user is located, and incoming call will ring the user, but the user will not be able to connect the call.
The app can run theoretically on a HTTP or HTTPS address. However it is suggested to use the HTTPS address if the server is on a public IP address where it is easy to obtain a certificate. You can use the automatic certificate generation through the LetsEncrypt service or import your own certificate. If you use Safari on the phone, you must be able to get to the login page of the PBX without certificate warning. Also depending on the OS version, you might have to set the miniumum TLS version for the PBX to 1.2.
Uninstalling the App
To uninstall the app on the device, just uninstall it like any other app.
In order to remove the app from the PBX (for example when an employee leaves the company), the administrator needs to reset the password for the extension and delete the permanent registration for the app. This can also be done through the end item "unassigned the cell from selected accounts".
Using the App
Using the app is straightforward. Users can receive calls just like calls from other sources. For making calls, the user can use the dial button at the bottom right of the home tab inside the app. In order to dial a number starting with +, the user needs to hold the 0 button down for 2 seconds. Users can also use the iOS address book to dial a number; in that case the user has to select the Phone System service for outbound calls for that address book entry.
When a new call comes in, the user has the choice of replacing the current call, putting the current call on hold or rejecting the call. If the call comes in from the PBX, the suer can hear a beep sound I the current conversation. After putting calls on hold, the user can resume those calls from the hold screen using the resume button at the bottom of the screen.
In order to turn DND on or off, the user can click on the name at the top of the app. This will open the settings where do-not-disturb can be toggled. In the app is in the DND mode, it will change the background for the navigation bar to red.
Other settings include the following:
- Do not disturb Block calls except those that are explicitly allowed from the PBX.
- Call the app Route incoming calls to the app, if available.
- Call desktop phone Route incoming calls to desktop phones, if available.
- Call cell phone Route incoming calls to the cell phone number that was set in the PBX settings, if available.
- Scan QR code Scan the QR code. If there was already an account setup, the app will attempt to unregister with the previous PBX first.
- Sort by name Sort the extension list by name, not by number
- Version This shows the version number of the app
- Username The username on the PBX
- Domain The domain on the PBX
- Address The address where to find the PBX. This should be an address that can be loaded from the app (e.g. not localhost)
- Country Code The country code that is used for displaying numbers
- Area Code The area code for displaying numbers, if available
In the home tab, you can see the status of the other extensions in the domain. When pictures are loaded, the app will show them on the left side for each extension. There is a small circle below the image that shows if the extension is available (green), on do-not-disturb (red) or unavailable (grey). If the extension is in a call, there will be a red rectangle on the right side.
If you click on an extension, it will start a call to that extension. You need to confirm the call before the app starts to dial.
At the button there is a dial pad symbol that can be used to open the dialog for manually entering a phone number. If there are calls on hold, the home screen will show a resume button. Clicking on it will prompt for the call to resume.
The history shows the calls for the extension, sorted by date. Inbound calls use an arrow from the top right to the bottom left (away from the number shown), and outbound calls show an arrow in the other direction. If a call was missed, the arrow is in red. The user can swipe the entry away, which will delete it from the personal call history, but not from the domain call history. Clicking on an entry will trigger the dialing of the number. This must be confirmed by the user. If not confirmed, missed calls will be marked as read and will show up in regular color. The history list can be refreshed by pulling the list down; this should automatically happen after a call disconnects.
The voicemail tab shows the voicemail messages for the user. To play back an entry, the user needs to click on the playback button on the left side of the entry. Clicking again will stop the playback. By clicking on the entry the user can call the number back, which must be confirmed. Swiping the entry will delete the voicemail.
The user can still call the mailbox by dialing the own account number. This is useful for example to record greetings or to change the PIN code.
Address Book Tab
The address book tab will show the users address book and the domain address book. When clicking on an entry, the user can decide what to do with the entry:
The user can dial one of the number associated with the entry.
If the user has the right to edit the address book, all entries can be edited. Otherwise the user can only edit her own entries.
The user can delete the entry.
By clicking on the + button, the user can add another address book entry.
The app will search address book entries when the user enters a string into the search field.
When in a call, the user can use the following buttons in the call screen:
The speaker button can be used to change the audio device. Users can toggle between the phone (earpiece), speaker (sparker phone) or, if connected, a bluetooth headset.
The mute button is used to suspend and resume audio (e.g. in conference calls).
The dialed button opens a display that can be used to enter digits (0-9, * and #), for example to use a mailbox or auto attendant.
The hold button puts the current call on hold. In order to resume the call, the user needs to get back to the home screen, possibly by using the back button on the navigation bar.
The transfer button is used to transfer the current call. If there are other calls on hold, the user can transfer the current call to that call (attended transfer). Otherwise the transfer target needs to be entered (blind transfer).