Voice channels
Application channels have settings and API endpoints that are specifically designed to facilitate voice calls in Front.
Settings
When configuring an application channel for voice calls, make sure to enable the following settings when creating your app:
- Add an application channel feature to your app.
- Use a Phone contact type for the channel
- Decide whether your channel should use private or shared credentials.
- Add a sidebar plugin feature to your app. This allows you to visualize the call and related assets.
- Use the Call via plugin setting to allow users to open the plugin through the Call button next to a contact's phone number. Information about the phone number the user clicked is passed in the EntryPoint property of the plugin's Context.
- Use the Run in background setting to display incoming call notifications to users, leveraging the displayNotification and dismissNotification Plugin SDK functions.
General implementation
Voice channels are implemented very similarly to other application channels. Refer to the Fundamentals of Application Channels topic to learn the basics of authentication, responding to messages, etc.
Call states
Voice channels support several states depending on the actions taken by participants of the call.
| State | Description | Valid transitions |
|---|---|---|
| (empty) | No call has been initiated | ringing, queued |
queued | A call was placed in the queue | connected, hangup, missed, abandoned |
ringing | A call is ringing a Front teammate | queued, connected, missed, abandoned, transferred |
connected | A phone call was connected to a Front teammate | hold, transferred, hangup |
hold | A phone call was placed on hold | resumed, transferred, hangup |
transferred | A phone call was transferred | The current call leg ends, but you start a new call with the external_parent_call_id set equal to the external_call_id of the first call leg. |
hangup | A phone call ended after the caller connected to a teammate | N/A |
missed | A phone call was missed by teammates but the caller did not abandon the call | N/A |
abandoned | A phone call was terminated by the caller before connecting to a teammate | N/A |
Call events
Refer to the Events topic to learn what call activities can be retrieved via our Events API endpoint.
API endpoints
The Channel API provides endpoints designed specifically for voice channels. Click the link below to access the reference topics.
Updated about 1 hour ago
