Thank you for bringing this challenging and detailed scenario to the community. The clear separation between the telephony infrastructure (Sites) and access control and business policies (Divisions and Permissions) that you have proposed is fundamentally correct and aligned with Genesys Cloud best practices. Below, I address your questions based on documentation and best practices.
1. Proposed Architecture: Sites for Telephony, Divisions for Business
Yes, this is the recommended architecture and is considered a best practice. It logically and efficiently separates the two main concerns of your project:
Sites for Telephony and Routing: Creating one site per data center (Dubai, Ajman, Abu Dhabi) is the standard approach for managing the edge infrastructure (Edges) and keeping voice traffic as local as possible, optimizing call quality. Furthermore, to ensure high availability across data centers, your phones (or softphones) can be configured to register with Edges from different sites, as detailed in the next topic.
Divisions for Business Isolation: Creating more than 20 divisions, one for each business unit, is the correct way to separate users, queues, permissions, and administration. Divisions act as containers for configuration objects (such as queues, flows, and campaigns) and enable granular access control. An administrator of the "Telemarketing" division, for example, will only be able to manage objects within that division, without interfering with others.
This separation of responsibilities is a fundamental pillar for complex environments like yours.
2. High Availability Across Data Centers with Multiple Sites
To achieve the high availability you desire (automatic failover between data centers), the correct configuration at the Site level is crucial. The Genesys Cloud documentation describes how to do this through the "Phone Edge Assignments" configuration.
Cross-Site Redundancy: When configuring a site, you can specify a primary site and a secondary site for phone registration. Genesys Cloud will randomly designate one Edge from the primary site as primary and one Edge from the secondary site as secondary for each phone, distributing the load and ensuring redundancy.
Automatic Failover: If an Edge or an entire data center fails, the phones that had that Edge as primary will automatically switch to their secondary Edge at the other site, almost immediately.
Capacity Recommendation: It is essential that all Edges within the same site have similar call capacity for load balancing to work correctly. For example, large Edges (GHS Standard or CHS Large) should not be combined with small Edges (GHS Mini) in the same site for redundancy purposes.
The proposed configuration (3 sites, each with 4 Edges) is excellent, as it allows you to define, for example, Dubai as primary and Abu Dhabi as secondary for one group of agents, and Abu Dhabi as primary and Ajman as secondary for another, distributing the load and ensuring the resilience you seek.
3. Implementing Specific Telephony Policies per Business Unit
This is the most delicate point and requires a combination of different Genesys Cloud mechanisms. Divisions alone do not restrict calling features, such as the ability to make or not make a manual call. Implementation is achieved through a combination of Permissions and Roles.
The best approach is a combination of the following items:
Permissions to Restrict Specific Actions (Roles):
- To restrict manual or on-behalf-of-queue calls, control is done via permissions. Removing the `Conversation > Call > Add` permission from an agent profile, for example, disables the ability to make manual calls.
- To control transfers and conferences, the `Conversation > Communication > Target` permission is key. Granting this permission to a profile limits the agent's ability to search for, transfer, or add to conference only users and queues that are within the same division(s) they belong to.
Solution: Create multiple roles (e.g., `Agent_Telemarketing`, `Agent_Support`, `Agent_International`, `Supervisor_Finance`). Assign granular permissions to each role. For example:
- `Agent_Telemarketing`: *Without* `Conversation > Call > Add` permission (only predictive campaign calls) and with `Conversation > Communication > Target` to limit transfers to their division.
- `Agent_International`: With `Conversation > Call > Add` permission, but applying dialing restrictions (see next point).
- `Supervisor_Finance`: May have `Conversation > Communication > Target` to transfer to other supervisors, while regular agents would not.
Dialing Restrictions for International Calls and More (Dial Plans)
- Dialing restrictions (international, specific numbers, etc.) are implemented at the Site level through Dial Plans or Trunks.
- Each of your three sites can have different dial plans.
- To ensure an agent from the "Finance" division can only call national numbers, you can associate that agent (or their queue) with a specific site that has a restricted dial plan. The agent's physical location influences this. Agents in Turkey might be routed to a site with a plan that restricts out-of-country calls, while agents in the UAE might have a more permissive plan.
Organization with Divisions:
- Use divisions to group **all objects** of a business unit: users, queues, outbound campaigns, contact lists, call flows, etc. This ensures that an administrator from business unit A cannot access or accidentally change the configurations of unit B.
Practical Example:
Telemarketing Unit: Create a `Telemarketing` division. Assign to it an `Agent_Telemarketing` role that does not have the `Conversation > Call > Add` permission. Assign the agents and the telemarketing queue to this division. The predictive campaign calls will work, but the agent will not be able to make a manual call.
Support Unit: Create a `Support` division. Assign the `Agent_Support` role that has `Conversation > Call > Add`, but does **not** have `Conversation > Communication > Target`. Thus, they can make calls, but cannot transfer or conference with agents from other divisions.
Finance Unit: Create a `Finance` division. Assign the `Agent_Finance` role that has both `Conversation > Call > Add` and `Conversation > Communication > Target`. A supervisor in this division can be assigned to a site that allows international calls, while an agent can be on a site that blocks them.
Lessons Learned and Final Considerations
Planning is Crucial: Map out all combinations of policies, permissions, and divisions in a matrix before configuring. Complexity increases rapidly with 20 business units.
The "Default Site": In a multi-site configuration, remember that one must be defined as the "Default Site." This site is used for incoming calls and transfers initiated by the IVR when it's unclear which site to use.
Testing: Create a sandbox environment (if available) or a small pilot to validate all permission and restriction combinations. Removing the `Conversation > Call > Add` permission, for example, may also hide the call icon for the agent, which could affect their ability to select audio devices. Testing is essential.
Data Consistency: Remember that interactions are "stamped" with the division at the moment they are created. Moving objects between divisions later will not affect historical data.
In summary, your proposed architecture with Sites for the physical part and Divisions for the logical part is correct. The secret to the business policies will lie in the fine engineering of Permissions for each Role, combined with specific Dial Plans for each Site.
I hope these guidelines help your team move forward with the deployment.
Sincerely.
------------------------------
Camila Meneghini
------------------------------