Differenze tra le versioni di "Kalliope CTI Mobile/en"

Da Kalliope Wiki.
Jump to navigation Jump to search
 
(21 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
<languages />
<languages />
<div class="noutonum" style="float: right">__TOC__</div>
<div class="noutonum" style="float: right">__TOC__</div>
==Introduction==
==Introduction==
<!--[[File:kcti_appstore.png|180x324px|right|thumb||KalliopeCTI on the App Store]]-->
<!--[[File:kcti_appstore.png|180x324px|right|thumb||KalliopeCTI on the App Store]]-->
Riga 12: Riga 13:
* '''''Click-to-call:''''' the call will be handled through the desk phone associated with your extension;
* '''''Click-to-call:''''' the call will be handled through the desk phone associated with your extension;
* '''''Call-back:''''' call from your smartphone using Kalliope lines;
* '''''Call-back:''''' call from your smartphone using Kalliope lines;
* '''''Softphone:''''' using an integrated SIP telephone engine, your smartphone will register to KalliopePBX like any other IP client (<u>currently available only on iOS</u>).
* '''''Softphone:''''' using an integrated SIP telephone engine, your smartphone will register to KalliopePBX like any other IP client.


KalliopeCTI mobile is available on [https://play.google.com/store/apps/details?id=it.netresults.kalliopeservice Google Play] and the [https://itunes.apple.com/it/app/kalliope-cti/id1108203678?mt=8 App Store].
KalliopeCTI mobile is available on [https://play.google.com/store/apps/details?id=it.netresults.kalliopeservice Google Play] and the [https://itunes.apple.com/it/app/kalliope-cti/id1108203678?mt=8 App Store].
View the policy on [https://www.kalliopepbx.com/images/NetResults_GDPR_-_Informativa_APP.21.03.pdf Processing of personal data of users ]


'''N.B.''': Each extension can only be linked to <u>one</u> KCTI account.
'''N.B.''': Each extension can only be linked to <u>one</u> KCTI account.
Riga 20: Riga 23:
[[File:Playstore.png|180x408px]] [[File:Kcti appstore.png|180px]]
[[File:Playstore.png|180x408px]] [[File:Kcti appstore.png|180px]]


== iOS specifications: ==
== Initial configuration: ==
* Requires iOS 10.3 or later. Compatible with iPhone, iPad, and iPod touch.
In order to use the KalliopeCTI mobile app you must first:
* Languages: Italian, English
* Enable "KCTI Mobile App" in the [[AdminGuide:BasicConcepts:Extensions_and_SIP_accounts/en|account]] settings (N.B.: only one account per extension may be enabled to use the mobile app)
* The product is only available in association with a KalliopePBX® V4 VoIP PBX
* Assign one of the following KalliopeCTI licenses to the user:
* Minimum KalliopePBX firmware version: 4.5.13
** KalliopeCTI Pro license -> enables the use of the KalliopeCTI mobile app only in callback mode (GSM™)
* Recommended KalliopePBX firmware version: 4.5.17+
** KalliopeCTI Phone license -> enables the use of the KalliopeCTI mobile app in both softphone and callback mode
* Integrates native iOS CallKit libraries in order to guarantee that the softphone is always reachable even when the terminal is on standby
* If you wish to externally access the company network with the mobile app, you will need to publish the following KalliopePBX ports ('''PLEASE NOTE: It is recommended to '''not expose the central unit's SIP service on the public in a direct way''' that can be reached from arbitrary IPs, but to use a Session Border Controller that can properly protect the central unit from intrusion attempts from outside):
* Requres a KalliopeCTI Pro license to use GSM™ mode and a KalliopeCTI Phone license to use both GSM™ and Softphone modes
** '''TCP 5039''' port for CTI services
 
** '''TCP 5222''' port for XMPP chat services
===== NOTE =====
** '''UDP for SIP service''' port as configured in the "SIP settings" page (only for softphone mode, default value is '5060')
'''Softphone mode, currently only available on iOS, is a <u>beta version</u> and currently has the following limitations, which will not be present in the final version:'''
** '''UDP 10000-20000 ports''' interval for RTP streams (only for softphone mode)  
* Cannot handle more than one SIP call at a time;
* Bluetooth support must be perfected;
* SIP/TLS is not yet enabled;
* The resolution of the calling number with the phonebook contacts is not yet active;
* Taking a call off hold may sometimes fail.
 
== Android specifications ==
* Requires Android 4.1 or later
* Laungages: Italian, English
* The product is only available in association with a KalliopePBX® V4 VoIP PBX
* Minimum KalliopePBX firmware version: 4.5.7
* Recommended KalliopePBX firmware version: 4.5.17+
* Requres a KalliopeCTI Pro license to use GSM™ mode. <u>Softphone mode is currently not available on Android.</u>
 
<div style="clear:both"></div>
 
==GUI==
Upon opening the app for the first time, you will need to set the configuration parameters to let the app connect to KalliopePBX.
 
 
Tapping the [[File:Ios menu button.png|40px]] icon on the top left lets you access the system menu containing the following items:
 
*'''Settings''': opens the app configuration panel
*'''Voicemail''': lets you access directly access the messages in the voicemail box
*'''Info''': provides information on the installed version
*'''Send report''': lets you send a report to the developers if there are problems with the app
*'''Tutorial''': starts the tutorial again (<u>only on Android</u>)
*'''Quit''': exits the app (<u>only on iOS</u>)
 
The main screen of the app is shown below (Android on the left, iOS on the right) and includes a top bar and, on iOS, a bottom bar.
 
[[File:4rubrica.png|300px]]  
[[File:Ios gui.png|330px]]
 
The top bar shows the name of the open tab (in this case, the address book), lets you search each tab, and shows the connection status of the app through the K symbol on the top right. The headers for Android (left) and iOS (right) are shown below.
 
[[File:Android header.png|300px|Header Android]] [[File:Ios header.png|290px|Header iOS]]
 
The connection status is indicated by the color of the K symbol in the top right:
* '''gray''' = not connected
* '''green''' = connected in ''call-back'' mode
* '''yellow (with phone written below)''' = connected in ''softphone'' mode (iOS only)
 
In the Android version, the header includes the navigation bar, while in the iOS version the navigation bar is located on the bottom of the screen.
 
[[File:Ios footer.png|290px|Barra di navigazione iOS]]
 
In both versions the navigation bar lets you access the main tabs of the app:
*Keypad: the numeric keypad used to dial numbers;
*Address book: extensions, Kalliope phonebook, and, if enabled, the personal contacts of the device;
*Call log: list of dialed, received, and missed calls, grouped by contact;
*Chat: conversations with other KalliopeCTI users, both mobile and desktop.
 
===Settings===
Initially, you will need to set certain parameters from the ''Settings'' menu:
*'''Server:''' IP address of KalliopePBX
*'''Port:''' 5039
*GUI/CTI '''user name'''
*GUI/CTI '''user password'''
*'''Ringtone:''' useful for telling calls to the mobile number from calls to the extension (<u>''Android only''</u>)
*'''Sync Kalliope contacts:''' if enabled, the app will sync with KalliopePBX contacts
*'''Choose phonebooks/View device contacts:''' lets you choose which phonebooks to display contacts from
*'''Softphone (Off/WiFi/On)''': lets you set the app mode (<u>''iOS only''</u>)
** '''''Off''''': the app will operate in forced call-back mode. If this option is set, you will only need a KalliopeCTI Pro license.
** '''''WiFi''''': the app will automatically switch to softphone mode when connected to a WiFi network. This is only possible if you have a KalliopeCTI Phon license.
** '''''On''''': the app will operate in forced softphone mode. You will need a KalliopeCTI Phone license.
 
[[File:Android settings.png|330px|Pannello settings Android]]
[[File:Ios_setting.png|330px|Pannello settings iOS]]
 
==Contacts==
[[File:4rubrica.png|250x428px|destra|miniatura||Contacts]]
The ''Contacts'' tab (second icon from the left) shows '''all KalliopePBX contacts''', both extensions and phonebooks, with '''favorite''' contacts at the top.
 
Extensions can be identified by the presence of a '''BLF''' field (colored dot) and the '''chat presence''' (icon and status).
 
Next to each contacts there is a symbol that indicates whether the contact comes from the extension list, Kalliope phonebook, device phonebook, Outlook, etc.
 
Tapping each contact will display a sub-menu with the following items:
 
*Contact '''info'''
*Call in '''[[#Click-to-call|Click-to-call]]''' mode
*Call in '''[[#Callback|Callback]]''' mode
*Call '''[[#Using the device SIM|using the device SIM]]'''
*Open '''[[#Instant Messaging|Instant Messaging]]'''
 
For more information on the various calling modes, see the [[#Call management|<i>call management</i>]] section of this guide.
 
By tapping the tab title you can filter the phonebook by:
*'''Contacts''': show all contacts
*'''Extensions''': only show Kalliope extensions
*'''Phonebook''': only show Kalliope and device contacts
 
===Details===
The '''details tab''' displays information on the selected contact, such as:
 
*first name
*last name
*organization
*phone numbers
*email addresses
 
For extensions, presence and BLF status will also be displayed.
 
The BLF status can be:
*Green: available
*Yellow: ringing
*Red: busy
*Gray: not registered
 
From this tab you can also add the contact to you '''favorites''' by tapping the  [[File:kcti_favourite_button.jpg|16px]] icon in the top right.
Favorite contacts will be displayed at the top of the ''Contacts'' list.
 
==Call history==
[[File:7recenti.png|250x415px|destra|miniatura||Call history]]
This tab displays the call history of the logged-in user.
 
The calls are divided in:
*Made calls
*Answered calls
*Missed calls
 
Calls are grouped based on the called or calling contact/number, and the total number of calls is shown in parentheses.
 
Tapping each row will display all calls to or from the selected contact, as shown in the figure.
 
A notification will be displayed if there are any [[#Voicemail|voicemail]] messages; tapping the notification will open the voicemail box, where you can listen to and manage messages.
 
 
The call detail by contact includes all calls to and from the contact in chronological order.
 
For each call, the following information is displayed:
*Type (made, answered, missed)
*Date
*Time
*Duration
 
You can also call the contact with the available modes based on type of contact (extension or external number).
 
==Voicemail==
You can access your voicemail from the system menu to quickly and easily access all messages saved on the PBX or a remote storage.
[[File:Voicemail.png|250x426px|destra|miniatura||Voicemail]]
For each voicemail message sender, date, time, and length are displayed.
 
The messages are not automatically saved to the device but can be '''downloaded''' by tapping the icon next to each message.
 
Once downloaded, you can play the message directly on the device.
 
The app also lets you mark messages as read, unread, or urgent as well as delete messages from local storage, remote storage, or both, by tapping the  [[File:cestino1.png | 16x19px]] icon.
 
To access the message management menu, simply tap and hold a message for a few seconds and the management options will appear.
[[File:Gestione messaggi voicemail.png|centro|Voicemail message management]]
'''''N.B.''''': messages forwarded via email and automatically deleted will not be shown on this page.
<div style="clear:both"></div>
 
==Instant Messaging==
[[File:Chat.png|250x426px|destra|miniatura||Chat]]
KalliopeCTI offers a handy chat and presence management service that lets you easily talk to to other Kalliope users. To open a new chat, you can simply tap on the desired contact, then on the chat icon.
 
Within the chat, KalliopeCTI displays the '''status''' of sent messages with the following icons:
* [[File:Not sent.png | 15x15px]] - Not sent
* [[File:Offline1.png| 15x15px]] - Sent
* [[File:Delivered.png | 15x15px]] - Delivered
 
'''''N.B.''''': chat messages that could not be sent because CTI is offline will be sent upon the next login.
 
 
On Android, the '''presence status''' can be changed from any tab by tapping the gear icon then the presence service icon (first from the top). On iOS, the status can be changed directly from the Chat tab.
 
You can also set a custom message to be displayed along with the presence.
 
The possible statuses are:
* [[File:Disponibile.png | 15x15px]] - Available
* [[File:Fuori.png | 15x15px]] - Away
* [[File:Occupato.png | 15x15px]] - Busy
* [[File:Non-disponibile.png | 15x15px]] - Not available
* [[File:Offline.png | 15x15px]] - Offline
 
==Call management==
===Inbound calls in call-back mode (Android and iOS)===
[[File:9chiamataingresso.png|250x426px|destra|miniatura||Inbound call notification]]
For inbound calls to the extension, will send a notification to the mobile app and the screen shown in the picture to the right will be displayed.
 
As they use the official notification engine of their operating systems, these notifications will be sent even when the app is closed.
 
This screen lets you select one of three options:
*'''Slide down:''' the call will be ignored, the notification on mobile will be silenced, and the extension will keep ringing.
*'''Transfer to mobile:''' the extension will stop ringing; the PBX will contextually establish a call to the mobile number linked to the user by the system admin from the [[AdminGuide:GUI:OperatingMenu:Extensions|extensions]] configuration page. The call will arrive to the mobile SIM dislpaying the geographic number of the line associated to KalliopePBX as the sender. By answering this call you will begin conversation with the caller. This call forward is completely transparent to the caller, who will hear the ringing tone for the entire duration.
*'''Refuse:''' the PBX will refuse the call and the extension will stop ringing.
 
===Inbound calls in Softphone mode (iOS only)===
[[File:Ios incomingCall.png|180px|destra|miniatura||Notifica chiamata in ingresso CallKit]]
For inbound calls to the extension, will send a push CallKit notification that will trigger the standard inbound call screen as shown in the picture.
 
These notifications will arrive even when the app is closed, so you can be on call even when the sartphone is on standby.
 
This screen lets you select one of two options:
*'''Refuse:''' the PBX will refuse the call and the extension will stop ringing.
*'''Accept:''' the KalliopeCTI app will wake up in softphone mode, the "''Active call''" screen will be displayed, and the SIP call will be established directly via the app. The smartphone will effectively become an extension of KalliopePBX.
 
[[File:App established call.png|200px|sinistra|Chiamata in corso in modalità softphone]]
The caller name and number are displayed on the top of the "''Active call''" screen, and on the bottom of the scrreen you can find the buttons to activate the available features:
* '''Pause''': the call is put on hold. You can take the call off hold with the same button.
* '''Call transfer''': performs a blind call transfer to another number (extension or external).
* '''Bluetooth''': enable/disable bluetooh earpiece.
* '''Speakerphone''': enable/disable speakerphone.
* '''Keypad''': displayed the numeric keypad (e.g. in order to navigate an [[AdminGuide:GUI:OperatingMenu:IVR/en|IVR menu]]).
* '''Mute''': enable/disable the microphone.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
===Outbound calls===
KalliopeCTI offers three options for setting up outbound calls in call-back mode.
[[File:Chiamatauscita.png|centro]]
=====Click-to-call=====
The first icon from the left lets you use the click-to-call service. The landline phone linked to the extension will receive a call from the PBX where the caller is c2c: called number. Answering this call will establish a new call to the desired number.
 
=====Callback=====
The callback service lets you call directly from your mobile phone using the PBX lines. When you tap the center button the PBX will call the mobile number linked to the extension. By pressing 1 when prompted by the audio guide you will begin communication with the desired number.
 
=====Using the device SIM=====
With this option, the call will be made directly from the SIM card of the mobile phone on which the KalliopeCTI app is installed.
 
===Outbound calls in Softphone mode (iOS only)===
Outbound calls in softphone mode will be sent directly from the app via SIP.
 
The  [[#Click-to-call|click-to-call]] and [[#Using the device SIM|using the device SIM]] call setup mode will remain available, but [[#Callback|callback]] mode is replaced by the direct call through SIP.
 
Dialing a number directly from the keypad will establish a call via SIP. Once the call is established, the "''Active call''" screen will automatically be displayed.
 
==Keypad==
Aside from searching the phonebook, you can also '''dial the number you wish to call''' with Kalliope directly on the KalliopeCTI mobile app keypad. While dialing, you will be shown '''autocomplete¹''' suggestions.
 
''In call-back mode:'' Tapping the call button lets you choose which mode to use among the ones listed above.
 
''In softphone mode:'' Tapping the call button will directly establish a SIP call.
 
'''''N.B.''''': The KalliopeCTI keypad does not automatically add the outbound prefix. You will need to dial the number as you would on a landline phone.
 
¹ <font style="font-size:12px">''Feature only available on Android.''</font>
 
==Services==
[[File:Servizicti.png|250x176px|destra|miniatura||Services]]
 
On Android, you can access the KalliopeCTI app services by tapping the gear icon in the lower right. On iOS, you can access them via the system menu.
 
Three services are currently available: presence (seen above), unconditional forward, and fork to mobile.
 
===Unconditional forward===
Unconditional forward lets you set an extension number to which to automatically forward all inbound calls (this feature only applies to calls made directly to the extension and not those originating from groups or queues).
 
This service is useful when you are not available but wish to redirect inbound calls so they can be dealt with.
 
To enable the unconditional forward service, simply tap the arrow icon, input the extension number to which you wish to forward calls, and save.
 
When this service is enabled, the icon will change color, and a notification will be shown containing the number calls are being redirected to.
 
To disable this service, simply tap on the arrow icon again.
 
===Fork to mobile===
With the fork to mobile service, a call to an extension is presented to the mobile number linked to it as well.
 
Answering the call on the mobile phone will cause the extension to stop ringing, and vice versa.


To enable the service, simply tap its icon. As with unconditional forward, the color of the icon indicates the status of the service.
Also, '''it is necessary that the KalliopePBX can send messages to the push notification servers of Apple and Google''', so the reachability by the KalliopePBX of the following addresses must be guaranteed:
* iOS: '''api.push.apple.com''' (HTTPS, port TCP/443)
* Android: '''fcm.googleapis.com''' (HTTPS, port TCP/443)


==Privacy Policy==
Since these hosts may resolve different IPs over time, it is recommended that no filters be applied to HTTPS traffic exiting KalliopePBX.


===Secure connection===
In addition, in order for mobile devices running the KalliopeCTI Mobile APP to receive notifications, they must be connected and reachable by the sending services. For more information about the flows that must be ensured, please refer to the official documentation of:
In order to offer its services (e.g. telephony, real-time notifications, chat), KalliopeCTI must be able to communicate with KalliopePBX. This communication is made through an encrypted connection, guaranteeing the security of transmitted personal data and messages.
* '''Google''': https://firebase.google.com/docs/cloud-messaging/concept-options#messaging-ports-and-your-firewall
* '''Apple''': https://support.apple.com/en-ph/HT203609


===Contacts===
NOTE: In order to avoid abnormal behavior in sending incoming/ending call notifications to clients, it is necessary that each user is logged in on a single device, because each SIP account (and therefore associated user) can be associated with a unique Firebase token (used to identify the recipient of the notifications).  
You can give KalliopeCTI permission to access the contacts on your device. The saved contact data will only be used within the app and will never be sent to KalliopePBX or exchanged with other users, except for the information required to make calls via the PBX.


===Phone number===
NOTE: In case the central unit SIP service is exposed on a different IP than the CTI connection IP, or on a different port than the standard one (5060), it is necessary to set on the KalliopePBX one or both of the following custom placeholders within the Provisioning panel: '''%%_KPHONE_SIP_REGISTRAR_IP%%''' and '''%%_KPHONE_SIP_REGISTRAR_PORT%%%'''. This configuration is normally necessary when the SIP service is exposed to the public through a Session Border Controller that uses a different IP from the one on which the PBX is reachable, while it is not necessary if the PBX and the SBC are natted on the same public IP, each one for the ports of its competence (TCP/5039 and TCP/5222 for the CTI and Chat components, towards Kalliope, and SIP + RTP for voice, towards the SBC).
In order to use the mobile features of KalliopeCTI, you must first insert your phone number in the KalliopePBX configuration page. This number will then be verified by KalliopeCTI and compared to the number of the SIM card in the device.


===Files===
More and specific informations regarding the configuration and use of the KalliopeCTI Mobile app in the two operating systems Android and IOS can be found on the following dedicated pages:<br>
KalliopeCTI will access the phone's memory in order to send diagnostic data to the KalliopePBX developers via email. This data will only be sent when the user selects the "Send report" item in the KalliopeCTI menu.
* [[Kalliope_CTI_Mobile_Android/en|KalliopeCTI Mobile Android app manual]]
* [[Kalliope_CTI_Mobile_IOS/en|KalliopeCTI Mobile app IOS Manual]]

Versione attuale delle 20:59, 25 set 2022

Altre lingue:

Introduction

For those who need to always be on call, Kalliope has designed the KalliopeCTI mobile app for Android and iOS.

The KalliopeCTI mobile app is an optional product that lets you access telephone and UC services even outside your office through your extension number, using the company lines.

To guarantee stability and improve conversation quality, KalliopeCTI mobile lets you choose how to handle your calls: based on data traffic availability, you can choose whether to use the GSM network or use the app in softphone mode.

KalliopeCTI mobile lets you call using three different modes:

  • Click-to-call: the call will be handled through the desk phone associated with your extension;
  • Call-back: call from your smartphone using Kalliope lines;
  • Softphone: using an integrated SIP telephone engine, your smartphone will register to KalliopePBX like any other IP client.

KalliopeCTI mobile is available on Google Play and the App Store.

View the policy on Processing of personal data of users

N.B.: Each extension can only be linked to one KCTI account.

Playstore.png Kcti appstore.png

Initial configuration:

In order to use the KalliopeCTI mobile app you must first:

  • Enable "KCTI Mobile App" in the account settings (N.B.: only one account per extension may be enabled to use the mobile app)
  • Assign one of the following KalliopeCTI licenses to the user:
    • KalliopeCTI Pro license -> enables the use of the KalliopeCTI mobile app only in callback mode (GSM™)
    • KalliopeCTI Phone license -> enables the use of the KalliopeCTI mobile app in both softphone and callback mode
  • If you wish to externally access the company network with the mobile app, you will need to publish the following KalliopePBX ports (PLEASE NOTE: It is recommended to not expose the central unit's SIP service on the public in a direct way that can be reached from arbitrary IPs, but to use a Session Border Controller that can properly protect the central unit from intrusion attempts from outside):
    • TCP 5039 port for CTI services
    • TCP 5222 port for XMPP chat services
    • UDP for SIP service port as configured in the "SIP settings" page (only for softphone mode, default value is '5060')
    • UDP 10000-20000 ports interval for RTP streams (only for softphone mode)

Also, it is necessary that the KalliopePBX can send messages to the push notification servers of Apple and Google, so the reachability by the KalliopePBX of the following addresses must be guaranteed:

  • iOS: api.push.apple.com (HTTPS, port TCP/443)
  • Android: fcm.googleapis.com (HTTPS, port TCP/443)

Since these hosts may resolve different IPs over time, it is recommended that no filters be applied to HTTPS traffic exiting KalliopePBX.

In addition, in order for mobile devices running the KalliopeCTI Mobile APP to receive notifications, they must be connected and reachable by the sending services. For more information about the flows that must be ensured, please refer to the official documentation of:

NOTE: In order to avoid abnormal behavior in sending incoming/ending call notifications to clients, it is necessary that each user is logged in on a single device, because each SIP account (and therefore associated user) can be associated with a unique Firebase token (used to identify the recipient of the notifications).

NOTE: In case the central unit SIP service is exposed on a different IP than the CTI connection IP, or on a different port than the standard one (5060), it is necessary to set on the KalliopePBX one or both of the following custom placeholders within the Provisioning panel: %%_KPHONE_SIP_REGISTRAR_IP%% and %%_KPHONE_SIP_REGISTRAR_PORT%%%. This configuration is normally necessary when the SIP service is exposed to the public through a Session Border Controller that uses a different IP from the one on which the PBX is reachable, while it is not necessary if the PBX and the SBC are natted on the same public IP, each one for the ports of its competence (TCP/5039 and TCP/5222 for the CTI and Chat components, towards Kalliope, and SIP + RTP for voice, towards the SBC).

More and specific informations regarding the configuration and use of the KalliopeCTI Mobile app in the two operating systems Android and IOS can be found on the following dedicated pages: