Consult Call Case Technical Solution
Pre-condition
Agent A initiated a consult call to Agent B.
Scenario
- Agent A initiates a consult call with Agent B.
- On incoming call notifications, Agent B sees Agent-A as Caller ID.
- Upon Agent B's acceptance, AgentDesk generates a CIM Message (intent: CALL_LEG_STARTED, reason: CONSULT).
- CCM: On receiving the CALL_LEG_STARTED with the reason CONSULT,
- create a channel session based on customerChannelIdentifier(Agent-A Extension)
- the CCM uses the associatedDialogUri to identify the customer channel session.
- CCM publishes a CALL_LEG_STARTED event on the conversation topic.
Problem
In the case of CCX and queue consult scenarios, we do not get the associatedDialogUri from CTI, due to which CCM is not able to identify the channel session. CCM cannot link this consult session with the original conversation.
Proposed Solution
- Agent-B (Agent Desk) should send the customer ANI instead of Agent's phone number as the customerChannelIdentifier.
- CCM identifies the channel session based on the customer's ANI.
- CCM publishes the CALL_LEG_STARTED (Consult) event on the conversation-topic in the same channel session (A separate channel session for consult call will not be created).
- RE creates a new task for Agent B and calls the Agent Manager's assign-task API.
- On call ending, Agent-B (Agent Desk) should send the CIM Message with intent CALL_LEG_ENDED and reason as CONSULT_ENDED to CCM.
Cases
- A dropped before B accepted it
- A dropped after B accepted it
- B never accepted it
- B dropped after accepting
- Browser-A disconnected
- Browser-A was restored, but B didn't join the call
- the consult call is still ringing on B
- the consult call has ended due to RONA-B
- On Browser-A restored, B is already on the call
- Browser-A was restored, but B didn't join the call
- Browser-B disconnected after receiving the alert
- Browser-B restored within x-seconds (RONA interval or similar)
- Browser-B didn't restore within x-seconds (RONA interval or similar)
- Browser-B was restored after the consult call dropped
Failover Scenarios | Agent Desk | CCM |
---|---|---|
After accepting the consult call, Agent B refreshes the browser and the call remains active. |
| - |
After accepting the consult call, Agent B refreshes the browser and the call is dropped |
| Publish the CALL_LEG_ENDED event. |
Browser-A disconnects and restores and the consult call is still ringing on B. |
| - |
Browser-A disconnects and after restoring, the consult call has ended due to RONA-B. |
| - |
Browser-A disconnects and is restored, and B is already on the call. | Agent A will rejoin the same conversation. | - |
Browser-B disconnected after receiving the alert, the call is still ringing. | The alerting will be restored on the agent B interface. | - |
Browser-B disconnected after receiving the alert, the call ended due to RONA B. | The alerting will be removed from the agent B interface in case of either RONA or the call is dropped by either Agent. | - |
Browser-A disconnects and after restoring,
|
| Publish CIM_LEG_ENDED event. |
Browser-A disconnects and after restoration,
|
|
|