This guide walks you through adding Call Recording Pause/Resume permissions to an existing Keycloak (EF IAM) realm.
Use these steps when the tenant is already set up with agents, users, and groups such as agents_permission and senior_agents_permission, and you only need to add the call_recording_control group and its authorization configuration to the cim client.
Important: Do not import users or groups from a source realm export file. Do not use Authorization → Import on client cim — that action replaces all existing authorization configuration for the client.
What Gets Added
|
Object |
Name |
|---|---|
|
Group |
|
|
Resource |
|
|
Scopes |
|
|
Policies |
|
|
Permissions |
|
Agent Desk uses manage_call_recording_control to show Pause/Resume on live recorded calls. Users without this scope still see the REC indicator only.
1. Assign Users to the New Group
Reminder: Do not import users from the source realm file.
For each agent who should pause or resume call recording:
-
Go to Users and select the user.
-
Open the Groups tab, then click Join Groups.
-
Select
call_recording_control, then click Join. -
Ask the user to log out and log back in to Agent Desk.
|
User requirement |
Group assignment |
|---|---|
|
Pause or resume recording on live calls |
Join |
|
See REC indicator only (no Pause/Resume) |
Do not join |
Having agent or supervisor roles alone is not enough. The user must be in the call_recording_control group.
2. Verify Permissions in Keycloak
-
Go to Clients → cim → Authorization → Evaluate.
-
Set:
-
Client:
cim -
User: a test user in
call_recording_control -
Resource:
call_recording_control -
Scope:
manage_call_recording_control
-
-
Click Evaluate.
|
User in group? |
Expected result |
|---|---|
|
Yes |
PERMIT |
|
No |
DENY |
Repeat for scope view_call_recording_control if needed.
3. Verify Login Response
After the user logs in to Agent Desk, check the login API response. In keycloak_User.permittedResources.Resources, the entry for call_recording_control must include a scopes array:
{
"rsname": "call_recording_control",
"scopes": [
"view_call_recording_control",
"manage_call_recording_control"
]
}
If call_recording_control appears without a scopes array, Pause/Resume will not work. See Troubleshooting below.
4. Verify in Agent Desk
-
Log in as a user assigned to
call_recording_control. -
Place or accept a CX Voice call with recording enabled on the extension.
-
Confirm:
-
REC indicator appears when recording is active.
-
Pause/Resume controls appear for users with
manage_call_recording_control.
-
-
Log in as a user not in the group. REC may show, but Pause/Resume must not be available.
Recording must be enabled on the agent extension. If recording is disabled, Pause/Resume will not appear regardless of permissions.
Troubleshooting
Resource appears in login but scopes are empty
Symptom: Login response shows call_recording_control with rsname but no scopes array.
Fix:
-
Edit resource
call_recording_controland attach both scopes (section 2.4). -
Confirm both scope-based permissions exist, are Enabled, and have policies linked (section 2.6).
-
Confirm the user is in group
call_recording_control(section 3). -
Re-run Evaluate in Keycloak (section 4) — must show PERMIT.
-
User must log out and log back in.
Pause/Resume not visible in Agent Desk
|
Check |
Action |
|---|---|
|
User in |
Users → Groups tab |
|
User re-logged in after group assignment? |
Force logout and login again |
|
Login response has |
Check login API (section 5) |
|
Recording enabled on extension? |
Confirm with telephony admin |
|
Keycloak Evaluate shows PERMIT? |
Section 4 |