Skip to content

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.

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))

All inbound video verification calls enter through the SBC_CafeX_Entry call type. This is the top-level routing decision.

  1. Holiday check - Is today a configured holiday?
    • Yes → Play holiday message → release call
  2. Open hours check - Is the service currently open?
    • No → Play after-hours message → release call
  3. Agents logged on? - Are any agents signed into the queue?
    • No → Play “technical difficulties” message → release call
  4. Queue entry - Play privacy/recording messages, then enter the queue
  5. Queue loop - Hold music plays while checking for available agents
    • Agent available → Route to agent
    • Queue rechecks: agents logged on? Service still open?
ConditionMessage playedOutcome
HolidaySBC_VCQ_STAT_HOLIDAYCall released
After hoursSBC_VCQ_OC_NVMCall released
No agents logged inSHD_TECH_DIFFCall released
Agent available-Call routed to agent

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.

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.