Handling Missed Calls and Call Errors
To end a call, call.reason must be set to ended or error, and call.closeCallOnError must be set to true or false.
Calls usually end when a rep clicks the End Call button, invoking the vendor’s Connector API endCall() method. In such cases, configure the connector to raise a HANGUP event with call.reason set to ended to mark the voice call as completed.
However, calls can also end when a rep misses or declines the call, or when the call fails and is in an error state.
- Raise a HANGUP event type with call.reason set to error in the Connector API publishEvent() method.
- Set call.closeCallOnError to false to keep the conversation open and leave the voice call in a “new” state. Don’t set call.closeCallOnError to true unless you want to close the conversation and mark the voice call as completed.
- When a rep misses a call, set call.agentStatus to MissedCallAgent.
- When a rep declines a call, set call.agentStatus to DeclinedByAgent.
- When a call fails due to the rep, set call.agentStatus to FailedConnectAgent.
- When a call fails due to any reason that’s unrelated to the rep, set call.agentStatus to FailedConnectCustomer.
To set the rep’s status automatically when the call is declined, go to Setup | Presence Configuration Settings | Update Status on Decline, and choose a presence status for when the rep declines a work item.
To set the rep’s status automatically when the call is missed or if there’s any error that isn’t due to call declined, go to Setup | Presence Configuration Settings | Update Status on Push Time-Out and choose a presence status.