Call Architecture
When a SIP call arrives from Pexip, Genesys Cloud processes it through a series of call flow steps before routing to an agent.
Inbound call flow
Section titled “Inbound call flow”graph TD
subgraph queueArea ["Queue: SBC_SK_VIDEO_CHAT_IDIM"]
music[Message: Music]
music --> orderHold[Message: SBC/SHD_Q_ANS_IN_ORDER_HOLD] --> agentsLoggedOnQueue{Agents Logged On?}
agentsLoggedOnQueue -->|No| openQueue{Open?}
agentsLoggedOnQueue -->|Yes| agentAvailable{Agent Available?}
agentAvailable -->|No| music
end
start(Start) --> callEntry[Call Type: SBC_CafeX_Entry]
callEntry --> holiday{Holiday?}
holiday -->|Yes| holidayPath[Call Type: SBC_CafeX_Holiday] --> holidayMsg[Message: SBC/SBC_VCQ_STAT_HOLIDAY] --> goodbyeHoliday[SBC/SHD_GOODBYE] --> releaseHoliday((Release call))
holiday -->|No| open{Open?}
open -->|No| afterHours[Call Type: SBC_CafeX_AfterHours] --> afterHoursMsg[Message: SBC/SBC_VCQ_OC_NVM] --> goodbyeAfterHours[SBC/SHD_GOODBYE] --> releaseAfterHours((Release call))
open -->|Yes| agentsLoggedOn{Agents Logged On?}
agentsLoggedOn -->|No| noAgents[Call Type: SBC_CafeX_SK_Helpdesk_NoAgents] --> noAgentsMsg[Message: SBC/SHD_TECH_DIFF] --> goodbyeNoAgents[SBC/SHD_GOODBYE] --> releaseNoAgents((Release call))
agentsLoggedOn -->|Yes| collectPI[Message: SBC/BH_VIDEO_CALL_COLLECT_PI] --> recordMsg[Message: SBC/BH_VIDEO_CALL_RECORD] --> queueCallType[Call Type: SBC_CafeX_QUE_Q] --> music
agentAvailable -->|Yes| resolution([SBC_SK_VIDEO_CHAT_IDIM])
openQueue -->|Yes| noAgentsQueue[Call Type: SBC_CafeX_SK_Helpdesk_NoAgents] --> noAgentsMsgQueue[Message: SBC/SHD_TECH_DIFF] --> goodbyeNoAgentsQueue[SBC/SHD_GOODBYE] --> releaseNoAgentsQueue((Release call))
openQueue -->|No| afterHoursQueue[Call Type: SBC_CafeX_AfterHours] --> afterHoursMsgQueue[Message: SBC/SBC_VCQ_OC_NVM] --> goodbyeAfterHoursQueue[SBC/SHD_GOODBYE] --> releaseAfterHoursQueue((Release call))
Flow logic explained
Section titled “Flow logic explained”Entry point
Section titled “Entry point”All inbound video verification calls enter through the SBC_CafeX_Entry call type. This is the top-level routing decision.
Decision sequence
Section titled “Decision sequence”- Holiday check - Is today a configured holiday?
- Yes → Play holiday message → release call
- Open hours check - Is the service currently open?
- No → Play after-hours message → release call
- Agents logged on? - Are any agents signed into the queue?
- No → Play “technical difficulties” message → release call
- Queue entry - Play privacy/recording messages, then enter the queue
- Queue loop - Hold music plays while checking for available agents
- Agent available → Route to agent
- Queue rechecks: agents logged on? Service still open?
Failure modes
Section titled “Failure modes”| Condition | Message played | Outcome |
|---|---|---|
| Holiday | SBC_VCQ_STAT_HOLIDAY | Call released |
| After hours | SBC_VCQ_OC_NVM | Call released |
| No agents logged in | SHD_TECH_DIFF | Call released |
| Agent available | - | Call routed to agent |
Impact on the video session
Section titled “Impact on the video session”When a call is released by Genesys (holiday, after hours, no agents), the SIP leg disconnects. From Pexip’s perspective, the “automatic participant” has hung up. The citizen remains connected to the conference room but no agent joins.
The BCSC mobile app and IAS handle user-facing messaging for these scenarios - the citizen is informed the service is unavailable before or during the wait.
Customization
Section titled “Customization”Call flow logic is configured in Genesys Cloud Architect (the visual IVR builder). Changes to:
- Holiday schedules
- Service hours
- Queue messages
- Routing priority
…are made through the Genesys Cloud admin interface, not through code in this repository.