Reference13r3:Concept App myPhoneKeys: Difference between revisions

From innovaphone wiki
Jump to navigation Jump to search
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{FIXME|reason=This article is still work in progress}}
<!-- Keywords: myPhoneKeys App lcd_dump.bmp phonekeys -->
<!-- Keywords: myPhoneKeys App lcd_dump.bmp phonekeys -->


Line 8: Line 7:
== Applies To ==
== Applies To ==
* innovaphone PBX version 13r3 and up
* innovaphone PBX version 13r3 and up
* innovaphone desk-phones with at least a V13 firmware (mini 13r1)


== Overview ==
== Overview ==
The goal of the app is that administrators are able to view and control innovaphone V13-desk phones remotely via an app.
The goal of the app is that administrators are able to view and control innovaphone desk-phones with a V13 firmware remotely via an app. Basically it is a "virtualization" of the physical phone layout.  


Supported phones:
Supported phones:
* IP10x (IP101 and IP102)   
* IP10x (IP101 and IP102)   
* IP11x (IP111 and IP112)
* IP11x (IP111, IP112 and the modernized versions IP111A,IP112A)
* IP1x0 (IP150 and IP160)
* IP1x0 (IP150'''A''' and IP160)
* IP2x2 (IP222 and IP232)
* IP2x2 (IP222, IP222A and IP232)
 
Not implemented phone (yet):
* IP110A
* IP240A
* IP241
 
Not supported phones:
* IP150 ''(no V13 firmware available)''
* IP110 ''(no V13 firmware available)''
* IP200A ''(no V13 firmware available)''
* IP230 ''(no V13 firmware available)''
* IP240 ''(no V13 firmware available)''
* Wireless phones : IP61, IP62, IP63, IP64, IP65, IP72, IP73, d81


== Features ==
== Features ==
* Device list filter by domain, on- and/or offline devices
* Device list filter by domain, on- and/or offline devices
* Device list search by name, device-type, IP- or MAC-address and firmware (case-insensitive)
* Device list search by name, device-type, IP- or MAC-address and firmware (case-insensitive)
* Auto-refresh of the phone-screen
* Auto-refresh of the phone-screen (depending of your bandwidth speed)
* Function keys depending on the device-type
* Function keys depending on the device-type
* Registrations keys with state-indication (registered, not configured, disabled, registration failed) and information.
* Registrations keys with state-indication (green: registered, dark grey: not configured, orange: disabled, red: registration failed) and information.
* Keypad and keys depending on the device-type (look and feel of real device)
* Keypad and keys depending on the device-type (look and feel of real device)
* Changeable keyboard (Qwerty, Qwertz, Azerty)
* Changeable keyboard (Qwerty, Qwertz, Azerty)
* Pre-defined actions and input-field
* Pre-defined actions and input-field to send command
* Shortcut to access the Admin UI of the phone ( button on the top right)


== Licensing ==
== Licensing ==
Per user configured to use the myPhoneKeys-App an 'App(innovaphone-myphonekeys)'-license is needed.
Per user configured to use the myPhoneKeys-App an 'App(innovaphone-myphonekeys)'-license is needed <br />
license info : myPhoneKeys App(innovaphone-myphonekeys) order number : 02-00050-011. Can be bought or rented


== Requirements ==
== Requirements ==
Line 44: Line 59:
* Assign the myPhoneKeys to authorized users using a Config Template (could be done in previous step too) or directly on the User Object
* Assign the myPhoneKeys to authorized users using a Config Template (could be done in previous step too) or directly on the User Object
* Assign 'innovaphone-myphonekeys'-licenses to the authorized users.
* Assign 'innovaphone-myphonekeys'-licenses to the authorized users.
* Assign the 'devices-api' to the myPhoneKeys App Object via the PBX Advanced UI ('Apps'-tab)
* Assign the 'devices-api' to the myPhoneKeys App Object via the PBX Advanced UI ('Apps'-tab from the 'myPhoneKeys'-object (PBX/Objects))
* Open the myPhoneKeys App
* Open the myPhoneKeys App


== Technical Overview ==
== Technical Overview ==
[[File:MyphonekeyConceptscheme.jpg|500px|thumb|left|Concept Scheme]]
The App Service receives incoming WebSocket Connections (''''WebSocket''''-checkbox ticket) from each myPhoneKeys App-Object in the PBX. <br>
The App Service receives incoming WebSocket Connections (''''WebSocket''''-checkbox ticket) from each myPhoneKeys App-Object in the PBX. <br>
Over the granted ''''Services'-API''' all further granted '''devices-apis''' (Apps-tab) are being connected to and read out (domains and phones/devices). The App service will so maintain a local, up-to-date list of domains and devices in-memory.
Over the granted ''''Services'-API''' all further granted '''devices-apis''' (Apps-tab) are being connected to and read out (domains and phones/devices). The App service will so maintain a local, up-to-date list of domains and devices in-memory.
Each licensed myPhoneKeys-App will requests this list of domains and devices on start-up and will be notified of updates (device/domain added/changed/deleted). <br>
After selecting a phone to be monitored, the myPhoneKeys-app will request some useful information over the sysclient-connection from the phones; the same sysclient-connection is used to instruct the phone (touchscreen, function keys, dial-pad, ...) and show the screen of the phone.


Each licensed myPhoneKeys-App will requests this list of domains and devices on start-up and will be notified of updates (device/domain added/changed/deleted). <br>
After selecting a phone to be monitored, the myPhoneKeys-app will request some useful information over the sysclient-connection from the phones; the same sysclient-connection is used to instruct the phone (touchscreen, function keys, dialpad, ...) and show the screen of the phone.


== Apps ==
== Apps ==
=== myPhoneKeys (innovaphone-myphonekeys) ===
Only one PBX app object is used and needed.
The only installed and configured App in the PBX.


Parameters:
Parameters of the PBX App object:
URL: <pre>http://<ap.domain.tld>/<domain.tld>/<instance-name>/innovaphone-myphonekeys</pre>
<pre>URL: https://<ap.domain.tld>/<domain.tld>/<instance-name>/innovaphone-myphonekeys</pre>
=== Under tab "App" ===
;WebSocket: to establish the connection with the Services
;WebSocket: to establish the connection with the Services
;Services: gives access to API provided by other App Services (devices-api from the Devices-App)
;Services: gives access to API provided by other App Services (devices-api from the Devices-App)
;Selected Apps: devices-api (this is the default-name given by the Install, but can be named differently)
=== Under tab "Apps" ===
;devices-api: myPhoneKeys need to access to device API service, that need to be ticked under the listed Apps. ''hint: devices-api is the default-name given by the installer, but can be named differently depending on your configuration
''


== Troubleshooting ==
== Troubleshooting ==
* If an issue can be reproduced:
'''If an issue can be reproduced'''
** Open the console output of your browser (F12) or right-click/Inspect in the native client version of the myPhoneKeys App.  
* Open the console output of your browser (F12) or right-click/Inspect in the native client version of the myPhoneKeys App.  
** Clear the console output and reproduce the issue.  
* Clear the console output and reproduce the issue.  
** Copy/Paste or save the output as a text file and send attached in the support ticket.
* Copy/Paste or save the output as a text file and send attached in the support ticket.
* If an issue is suspected on the App Service on the App Platform, please use the ''''App''''- and ''''App WebSocket''''-trace flags.
'''If an issue is suspected on the App Service on the App Platform'''
* Please use the '''App''' and '''App WebSocket''' trace flags.
* Upon request from our support, it can be asked to pull current "Connection logs".  To do so:
** Doublecheck that the App-Instance has the 'App'-trace flag ticked.
** Open on the burger menu of your myPhoneKeys App (top right corner) and click '''ONLY one time''' on "Log Service Connections".
** Go to your App Platform and get the logs of your myPhoneKeys instance App services.
 
== Known Issues ==
[[File:MyPhoneKeys-connectionLost.png]]
 
When the connection to the devices-api has been lost due to Devices-Instance has been restarted, myPhoneKeys cannot instruct/display any phone anymore.
 
Workaround:
* Re-activate the 'WebSocket'-flag or 'Services'-flag from the App-tab, or
* Restart the myPhoneKeys-instance
 
 
[[File:MyPhoneKeys-errorLoadingLcdDump.png]]
 
When the myPhoneKeys-app cannot load the LCD screen dump, this is probably due to an untrusted certificate on the App Platform.
 
Workaround 1 (advised):
* Upload a valid certificate to the Reverse Proxy and/or App Platform
 
Workaround 2:
* Click on the link in the error-message. A new page will open with a warning.
* Check if OK and (if so) overrule the warning, so the certificate is trusted by myApps
* Go back to the myPhoneKeys-app and re-select a Device

Latest revision as of 10:40, 29 November 2023


Applies To

  • innovaphone PBX version 13r3 and up
  • innovaphone desk-phones with at least a V13 firmware (mini 13r1)

Overview

The goal of the app is that administrators are able to view and control innovaphone desk-phones with a V13 firmware remotely via an app. Basically it is a "virtualization" of the physical phone layout.

Supported phones:

  • IP10x (IP101 and IP102)
  • IP11x (IP111, IP112 and the modernized versions IP111A,IP112A)
  • IP1x0 (IP150A and IP160)
  • IP2x2 (IP222, IP222A and IP232)

Not implemented phone (yet):

  • IP110A
  • IP240A
  • IP241

Not supported phones:

  • IP150 (no V13 firmware available)
  • IP110 (no V13 firmware available)
  • IP200A (no V13 firmware available)
  • IP230 (no V13 firmware available)
  • IP240 (no V13 firmware available)
  • Wireless phones : IP61, IP62, IP63, IP64, IP65, IP72, IP73, d81

Features

  • Device list filter by domain, on- and/or offline devices
  • Device list search by name, device-type, IP- or MAC-address and firmware (case-insensitive)
  • Auto-refresh of the phone-screen (depending of your bandwidth speed)
  • Function keys depending on the device-type
  • Registrations keys with state-indication (green: registered, dark grey: not configured, orange: disabled, red: registration failed) and information.
  • Keypad and keys depending on the device-type (look and feel of real device)
  • Changeable keyboard (Qwerty, Qwertz, Azerty)
  • Pre-defined actions and input-field to send command
  • Shortcut to access the Admin UI of the phone ( button on the top right)

Licensing

Per user configured to use the myPhoneKeys-App an 'App(innovaphone-myphonekeys)'-license is needed
license info : myPhoneKeys App(innovaphone-myphonekeys) order number : 02-00050-011. Can be bought or rented

Requirements

  • innovaphone AppPlatform
  • innovaphone myApps
  • innovaphone Devices Api (Part of Devices App)

Configuration

  • Download the myPhoneKeys App via the App Store
  • Install the myPhoneKeys App on the App Platform
  • Create an instance of the myPhoneKeys App on the App Platform
  • Make sure the Instance is running
  • Create a new myPhoneKeys App Object with the PBX Manager Plugin (optional: assign to the correct template(s))
  • Assign the myPhoneKeys to authorized users using a Config Template (could be done in previous step too) or directly on the User Object
  • Assign 'innovaphone-myphonekeys'-licenses to the authorized users.
  • Assign the 'devices-api' to the myPhoneKeys App Object via the PBX Advanced UI ('Apps'-tab from the 'myPhoneKeys'-object (PBX/Objects))
  • Open the myPhoneKeys App

Technical Overview

Concept Scheme


The App Service receives incoming WebSocket Connections ('WebSocket'-checkbox ticket) from each myPhoneKeys App-Object in the PBX.
Over the granted 'Services'-API all further granted devices-apis (Apps-tab) are being connected to and read out (domains and phones/devices). The App service will so maintain a local, up-to-date list of domains and devices in-memory. Each licensed myPhoneKeys-App will requests this list of domains and devices on start-up and will be notified of updates (device/domain added/changed/deleted).
After selecting a phone to be monitored, the myPhoneKeys-app will request some useful information over the sysclient-connection from the phones; the same sysclient-connection is used to instruct the phone (touchscreen, function keys, dial-pad, ...) and show the screen of the phone.






Apps

Only one PBX app object is used and needed.

Parameters of the PBX App object:

URL: https://<ap.domain.tld>/<domain.tld>/<instance-name>/innovaphone-myphonekeys

Under tab "App"

WebSocket
to establish the connection with the Services
Services
gives access to API provided by other App Services (devices-api from the Devices-App)

Under tab "Apps"

devices-api
myPhoneKeys need to access to device API service, that need to be ticked under the listed Apps. hint: devices-api is the default-name given by the installer, but can be named differently depending on your configuration

Troubleshooting

If an issue can be reproduced

  • Open the console output of your browser (F12) or right-click/Inspect in the native client version of the myPhoneKeys App.
  • Clear the console output and reproduce the issue.
  • Copy/Paste or save the output as a text file and send attached in the support ticket.

If an issue is suspected on the App Service on the App Platform

  • Please use the App and App WebSocket trace flags.
  • Upon request from our support, it can be asked to pull current "Connection logs". To do so:
    • Doublecheck that the App-Instance has the 'App'-trace flag ticked.
    • Open on the burger menu of your myPhoneKeys App (top right corner) and click ONLY one time on "Log Service Connections".
    • Go to your App Platform and get the logs of your myPhoneKeys instance App services.

Known Issues

MyPhoneKeys-connectionLost.png

When the connection to the devices-api has been lost due to Devices-Instance has been restarted, myPhoneKeys cannot instruct/display any phone anymore.

Workaround:

  • Re-activate the 'WebSocket'-flag or 'Services'-flag from the App-tab, or
  • Restart the myPhoneKeys-instance


MyPhoneKeys-errorLoadingLcdDump.png

When the myPhoneKeys-app cannot load the LCD screen dump, this is probably due to an untrusted certificate on the App Platform.

Workaround 1 (advised):

  • Upload a valid certificate to the Reverse Proxy and/or App Platform

Workaround 2:

  • Click on the link in the error-message. A new page will open with a warning.
  • Check if OK and (if so) overrule the warning, so the certificate is trusted by myApps
  • Go back to the myPhoneKeys-app and re-select a Device