Reference12r2:Concept myPBX for iOS
Version 12r1 introduces myPBX for iOS, an iOS app for iPhone and iPad that provides similar features than the desktop phones IP222 and IP232 in the WLAN via H.323.
- myPBX license matching the PBX version (enabled at the user object)
- Uses Port-Lic since does an active registration on the PBX like an IP Phone.
- An iPhone or iPad running iOS 8.0 or higher for best user experience but interoperability with earlier iOS versions beginning with 6.0 is supported.
For a feature overview refer to myPBX derivates and features.
Install the app from the App Store. Search for "innovaphone" and "myPBX" to locate it. Start the myPBX for iOS app and enter the credentials for registration on your PBX in the setup screen.
Configuration via WEB browser
For configuration via WEB browser determine the IP address that has been assigned to the iPhone in the WLAN. It's shown on the setup screen of the app and in the WLAN settings. Access http on port 10006 or https on port 10007 from the browser of an iMac or PC. Make sure that myPBX for iOS is started and running in the foreground on the iPhone:
To log in to the configuration enter
User name: admin Password: mypbx
Configuration via e-mail
Since 12r1 sr 8 and 12r2 beta 4 configuration commands can be passed to the app via an URI. The URI might be sent to the iPhone by e-mail or made available as link in a web page. The URI must start with
I.e. URI scheme "com.innovaphone.commands". It might be followed by any sequence of configuration commands to set module parameters or variables. Please refer to the update script documentation. Commands must be separated by newline which needs to be replaced by "%0d%0a". Spaces might be replaced by '+'. E.g.
ser config change PHONE SIG /h323 user /prot SH323 /gk-addr thepbx.company.com /gk-id company.com vars create PHONE/USER-PWD/00000 pc 1234567890abcdef config change MEDIA /stun thestun.company.com /turn theturn.company.com /turn-user turnuser vars create MEDIA/TURN-PWD pc 8cb5df61335a13ea6a9f540db8224d99cecfe54ec663f29ea94df478ccc1c285 config change UP1 /url http://updateserver.company.com/init /poll 1 config change MAIN /deny-uri-commands 1 config activate config write reset
Results in the following prepared link
com.innovaphone.commands://ser%0d%0a config+change+PHONE+SIG+/h323+user+/prot+SH323+/gk-addr+thepbx.company.com+/gk-id+company.com%0d%0a vars+create+PHONE/USER-PWD/00000+pc+1234567890abcdef%0d%0a config+change+MEDIA+/stun+thestun.company.com+/turn+theturn.company.com+/turn-user+turnuser%0d%0a vars+create+MEDIA/TURN-PWD+pc+8cb5df61335a13ea6a9f540db8224d99cecfe54ec663f29ea94df478ccc1c285%0d%0a config+change+UP1+/url+http://updateserver.company.com/init+/poll+1%0d%0a config+change+MAIN+/deny-uri-commands+1%0d%0a config+activate%0d%0a config+write%0d%0a reset%0d%0a
It might be placed as hypertext link into a mail and sent to the iPhone for first provisioning. Once the user clicks the link, the app starts and carries out the commands.
Note that the command
config change MAIN /deny-uri-commands 1
prevents further provisioning commands via this mechanism.
Considerations for vars create
The vars create command needs its value URL encoded. Spaces must be denoted as %2520 to leave %20 after the first step of URL decoding or as %2b to leave + which means space. A plus seen as %2b in the command must we re-written as %252b. E.g. the configuration command
vars create PHONE/USER-REG/00001 p %3creg+gk-addr=%27172.16.1.1%27+e164=%27123%27+h323=%27user%2btest%27+/%3e
needs to be embedded in the mail as one of these
Issue with some older myPBX iOS Versions
Some older myPBX iOS versions garble the first command. It is therefore recommended that you insert a first, useless command (e.g.
ser) as first command in to your command sequence.
Most of the configuration of myPBX for iOS in the config screen is identical to the one of the desktop telephone IP222. Instead of the device settings you will find the app settings, which are specific to iOS.
This setting controls when myPBX for iOS should be active in background. Note that incoming calls are only indicated if the app is started and either visible or put in background via short press of the home button. If it has been stopped via the "Off" button at the headline of the settings screen or kicked away in the task manager, incoming calls are not indicated.
- "If connected to WiFi": The app stays active in background if connectivity is through WiFi. It quits background activity if connectivity changes to other than WiFi to make sure that it doesn't generate charges due to mobile data traffic. This is the default.
- "If mobile data/WiFi available": It stays active in background if connectivity is through WiFi or mobile data. Note that this may generate charges due to mobile data traffic.
- "Always": It always stays active in background.
- "Never": It never stays active in background. If telephone functions are needed myPBX for iOS must be started manually by click on its app icon.
These are the options in which situation a call initiated in myPBX for iOS is deferred to the GSM dialer of the iPhone. The options are
- "Never": myPBX for iOS dials all calls itself and presents "no channel available" if the registration is not up. This is the default.
- "If registering isn't possible": Calls are deferred to GSM if the registration is not up, i.e. if no WiFi or mobile data connectivity exists.
- "Always for external calls": External calls are deferred to GSM.
- "For all calls": All calls are deferred to the GSM dialer.
- "If not connected to WiFi": myPBX for iOS dials all calls itself only if connectivity is through WiFi. Without WiFi all calls are deferred to the GSM dialer.
The last three options are useful if the WiFi or mobile data performance is not good enough for VoIP or if there is a quota on the mobile data traffic. Then the directory and presence information is still available and the calls use the GSM network.
Hang up with docking station
If the iPhone is used with a docking or charging station this option enables automatic call acceptance if the iPhone is lift from the dock and call disconnection if it is put back to the dock. Keep this setting off if the iPhone might be plugged for re-charging during a call as plugging would disconnect the call. The default of this setting if "off".
Keep this setting on if you want myPBX to automatically react to orientation changes.
Display brightness in docking station
This setting is useful in conjunction with a docking or charging station on the desk. It lets the iPhone keep its screen on while it is put in the station.
- "Display off": The iPhone doesn't keep its screen on when it is in the docking station. This is the default.
- "Dimmed": The iPhone keeps its screen on with lower brightness while it is in the docking station.
- "Bright": The iPhone keeps its screen bright while it is in the docking station.
For iOS versions prior to 7.0 this setting chooses the font size used in the app. Large ("L") is the default.
- "XS": Very small
- "S": Small
- "M": Medium
- "L": Large
- "XL": Extra large
- "XXL": Extra, extra large
- "XXXL": Largest possible
WLAN MAC Address
The iOS operating system doesn't disclose the real WLAN MAC address to an application. It pretends on all devices that it's 020000000000. In this case myPBX for iOS assumes a random value based on the timestamp at installation of the app. This might be overwritten e.g. with the real value that is still shown in the iOS settings app.
Starts and stops saving a debug trace on the iPhone. To get the trace files connect the iPhone via USB to the iMac or PC, start iTunes and locate "Apps", "Shared Files", "myPBX". The file names are trace.txt, trace0.txt, trace1.txt, trace2.txt, trace3.txt.
Send logs via e-mail
Prepares an e-mail that contains all log files ready to send after a support ticket has been opened at innovaphone. Please insert the ticket number in the e-mail subject line prior to sending it.
App updates of myPBX for iOS are distributed regularly via iTunes.
Update scripts may be used with myPBX for iOS in the same manner as with the desktop phones. The default name of the script is
App updates via update script are not possible. These script lines are ignored.
As of V12r2sr20 push notifications are supported. For details please refer to Reference12r2:Concept_Push_Notifications_for_myPBX_on_iOS
innovaphone always works on improving myPBX for iOS and making it as stable as possible on every iPhone and iPad model. If there is a problem please try to capture a trace by turning trace logging on (Settings/App settings/Save log). Re-do the steps to reproduce the problem. Stop logging and get the trace files via USB connection to iMac or PC or send them by e-mail (Settings/App settings/Send logs via e-mail).
Mobile Data (3G/4G) pcap traces
If there are iOS problems in 3G / 4G which do not occur in the WLAN, you can still create with our trace options pcaps. 1. myPBX app under "Settings" -> "Web Configuration". In our webGUI (For my Android 6.0.1 only with chrome usable not with the Android browser (easy chrome open and 127.0.0.1 if no default) and the necessary trace options.
2. myPBX app -> app settings -> "save log"
3. Make calls and in the app settings "Send logs via mail" or even via USB.
4. Important! Deactivate the trace options in the webgui or deactivate logging again! Otherwise, the phone_logcat gradually becomes too large ... even without calls.
Adding ring tones
To add a ring tone create a MP3 file with a few seconds of audio and place it into the Ringtones subdirectory of myPBX for iOS. This directory is accessible via the browser of an iMAC or PC via
myPBX for iOS must be running in the foreground for this and must be terminated and started again to make the new file selectable as ring tone.
H.323/UDP not supported
H.323/UDP is not supported on myPBX for iOS. The signalling link to the PBX must be TCP or TLS.
SIP protocol not supported as User-1
If we set the protocol SIP the application will not obtain the mypbx license from the PBX and for that reason will not work, H.323/TCP or H323/TLS must be used.
No synchronisation with GSM call list
It is not possible to synchronize myPBX for iOS and GSM call list.
Edit: this is not true anymore since integration with CallKit.
Button on Bluetooth headsets not functional
The button of Bluetooth headsets doesn't provide for accepting or disconnecting calls. The button on wired earphones does.
Edit: this is not true anymore since integration with CallKit.
H.323/TLS Connection not Trusted by Default
Please check the H.323/TLS Known Issues article.
Delayed re-registration if mobile data use not permitted
The option "Start automatically" set to "If connected to WiFi" means that the use of mobile data traffic is not permitted. In this case it can take up to 10 minutes to re-gain registration if WiFi is available again after connectivity had been through mobile data.
Some WebUI operations are not possible on the iPhone itself
The button "Web Configuration" of the app shows the Web UI which allows extended configuration but has some limitations due to the browser window. E.g. it is not possible to download a certificate. These operations might be carried out via a Web browser on a remote computer. Note that myPBX iOS needs to be running in foreground to be accessible.
Configuration via e-mail not working with all mail clients
Configuration via e-mail doesn't work with all e-mail clients. It does however work with the native mail client of iOS.
Incoming GSM calls
- An incoming GSM call, puts the VoIP app in background and the remote IP-peer hears nothing until you switch back to the VoIP app.
- Since iOS 14 the iOS CallKit presents incoming calls as a banner leaving the original green answer button of myPBX visible. Use only the blue button of the banner to accept the call or change iPhone Settings, App "Phone", "Incoming Calls" to "Full Screen" to hide the myPBX user interface again during call answering.
Media connection problems in conjunction with an eSIM
- If an eSIM is used, media connection may fail. To work around please configure TURN only mode, i.e. that media always goes through the TURN server. Put the smartphone in WLAN and scroll down the configuration screen of myPBX for iOS to look up the IP address it got. Then assert these commands from a browser at the same network:
http://xx.xx.xx.xx:10006/!config add PHONE SIG /turn-only http://xx.xx.xx.xx:10006/!config write http://xx.xx.xx.xx:10006/!config activate
- Quit myPBX by click on the button on the top of the confugration screen and start it again.