Skip to content

Architecture & Environments

graph LR
    subgraph Citizen
        BCSC[BCSC Mobile App]
    end

    subgraph Maximus Azure
        API[MaxConf API<br/>Azure Functions]
        MGMT[Pexip Management Node<br/>Azure VM]
        CONF[Pexip Conference Node<br/>Azure VM]
        SWA_AGENT[Agent App<br/>Static Web App]
        SWA_CUST[Customer App<br/>Static Web App]
    end

    subgraph Genesys Cloud
        QUEUE[Call Queue<br/>SBC_VBV]
        AGENT_DESK[Agent Desktop]
    end

    BCSC -->|1. POST /room/create| API
    API -->|2. Provision VMR| MGMT
    MGMT --> CONF
    BCSC -->|3. WebRTC join| CONF
    CONF -->|4. SIP autodial| QUEUE
    QUEUE -->|5. Route to agent| AGENT_DESK
    AGENT_DESK -->|6. Video-only WebRTC| CONF
    SWA_AGENT --> AGENT_DESK

The solution maintains two isolated environments. Each has its own Azure resources, Pexip nodes, Genesys queues, and API credentials.

LayerTestProduction
MaxConf APIapi.test.vc.maxconf.caapi.vc.maxconf.ca
MaxConf API (edge slot)api.test.vc.maxconf.ca/edgeN/A
Pexip Conference Nodeconference.test.vc.maxconf.caconference.vc.maxconf.ca
Genesys QueueSBC_VBV_TESTSBC_VBV_PROD
Genesys Orgmaximuscanadamaximuscanada
Azure SubscriptionShared (resource-group isolated)Shared (resource-group isolated)

The Test environment includes an edge deployment slot on the Function App. Developers push to the edge branch to deploy new API code here before promoting to the main Test slot. This provides a pre-test integration surface without affecting the stable Test environment that IDIM connects to.

edge → Test → Staging (swap) → Production

Production deploys use the Azure Functions slot-swap model: code deploys to a staging slot, is validated, then swapped into the production slot. The previous production code remains on the staging slot for instant rollback.

Each MaxConf API environment connects to specific downstream systems:

MaxConf APIPexip InfinityConnected IAS EnvironmentsBCSC Mobile App
Test/EdgeTestDEVNone
TestTestDEV2, SIT, QA, PREPROD, TestBCSC DEV, BCSC QA, BCSC Test
ProductionProductionProductionBCSC Production

Maximus maintains two Genesys Cloud organizations, both deployed within Canadian AWS data centres (cac1 region):

  • maximuscanada - Production and test queues; IDIM staff may be assigned for testing
  • maximuscanada-dev - Internal development only (Maximus staff)

The Genesys web interface is accessed at https://apps.cac1.pure.cloud/.