Account Prerequisites for Cloud Video
test_mate Webex Calling requires a Webex integration account, a Webex end-user account.
Call routing between the CUCM hosting the JTAPI remote and the webex calling MT organsiation must exist
Only the primary device for users can be tests if a use has phones - the XSI api that test_mate uses only allows testing of primary device
Web based webex client is not supported
To test Webex desktop client the user under test must only have the Desktop webex application enabled, Web Mobile and Tablet must not be checked
Webex Integration Account
Create a new Webex integration app at the Webex developer portal https://developer.webex.com/my-apps
Select No to Mobile SDK
Provide an integration name, logo
add the redirect URL from the test_mate Webex interface
Set the permissions to the following
Please note the Client secret, as it won't be shown again.
The scope spark-admin:xsi for administrator access to Xsi is required for test_mate webex calling MT. In order to request the appropriate scopes, an email is sent to webex_calling_xsi_access@cisco.com with the request for the scopes to be granted for each organisation, when sending the email include the orgId.
Permissions in test_mate Webex API v2.5.17 - Note that new scopes may be added by Cisco
Webex Permission enabled | Scope |
---|---|
☑ | meeting:schedules_read |
☑ | meeting:schedules_write |
☑ | meeting:recordings_read |
☑ | meeting:recordings_write |
meeting:preferences_read | |
meeting:preferences_write | |
☑ | meeting:controls_read |
☑ | meeting:controls_write |
☑ | meeting:participants_read |
☑ | meeting:participants_write |
☑ | meeting:admin_participants_read |
spark-admin:telephony_config_read | |
spark-admin:telephony_config_write | |
☑ | meeting:admin_schedule_read |
☑ | meeting:admin_schedule_write |
meeting:admin_recordings_read | |
meeting:admin_recordings_write | |
☑ | meeting:admin_transcripts_read |
meeting:admin_preferences_write | |
meeting:admin_preferences_read | |
spark-compliance:meetings_read | |
☑ | meeting:transcripts_read |
spark-compliance:meetings_write | |
☑ | spark-admin:workspace_locations_read |
spark-admin:workspace_locations_write | |
spark-admin:workspace_metrics_read | |
spark-admin:broadworks_billing_reports_read | |
spark-admin:broadworks_billing_reports_write | |
spark:allFull | |
☑ | spark:calls_read |
☑ | spark:devices_read |
spark:devices_write | |
spark:memberships_read | |
spark:memberships_write | |
spark:messages_read | |
spark:messages_write | |
☑ | spark:organizations_read |
☑ | spark:people_read |
spark:people_write | |
☑ | spark:places_read |
spark:places_write | |
☑ | spark:rooms_read |
spark:rooms_write | |
spark:team_memberships_read | |
spark:team_memberships_write | |
spark:teams_read | |
spark:teams_write | |
☑ | spark:xapi_statuses |
☑ | spark:xapi_commands |
☑ |
|
spark-admin:devices_read | |
spark-admin:devices_write | |
☑ | spark-admin:licenses_read |
☑ | spark-admin:organizations_read |
spark-admin:organizations_write | |
☑ | spark-admin:people_read |
spark-admin:people_write | |
☑ | spark-admin:places_read |
spark-admin:places_write | |
☑ | spark-admin:resource_group_memberships_read |
spark-admin:resource_group_memberships_write | |
☑ | spark-admin:resource_groups_read |
☑ | spark-admin:roles_read |
☑ | spark-admin:call_qualities_read |
☑ | spark-admin:workspaces_read |
spark-admin:workspaces_write | |
☑ | spark-admin:xsi |
☑ | spark-compliance:events_read |
☑ | spark-compliance:memberships_read |
spark-compliance:memberships_write | |
☑ | spark-compliance:messages_read |
spark-compliance:messages_write | |
☑ | spark-compliance:rooms_read |
spark-compliance:rooms_write | |
☑ | spark-compliance:team_memberships_read |
spark-compliance:team_memberships_write | |
☑ | spark-compliance:teams_read |
☑ | spark-admin:broadworks_enterprises_read |
☑ | identity:placeonetimepassword_create |
☑ | Identity:one_time_password |
spark-compliance:webhooks_write | |
☑ | spark-compliance:webhooks_read |
spark:calls_write | |
☑ | spark-admin:wholesale_billing_reports_read |
☑ | spark-admin:hybrid_clusters_read |
spark-admin:wholesale_billing_reports_write | |
☑ | spark-admin:hybrid_connectors_read |
☑ | spark-admin:broadworks_subscribers_read |
spark-admin:broadworks_subscribers_write | |
☑ | analytics:read_all |
☑ | audit:events_read |
spark-admin:wholesale_customers_write | |
spark-admin:wholesale_customers_read | |
spark-admin:wholesale_subscribers_write | |
spark-admin:wholesale_subscribers_read | |
identity:tokens_read | |
identity:tokens_write | |
spark-admin:broadworks_enterprises_write |
Webex interface setup
Log in to Yarnman, open Administration App-> Interfaces.
From the top right corner, click +Add interface, select Interface type Webex API (OAuth2 - Cloud)
Define Interface Name, Description, then click Submit.
Internet Proxy Configuration
A proxy may be required if test_mate doesn’t have direct access to the internet for API calls. test_mate supports the following authentication modes.
No Authentication
Basic Authentication
Digest Authentication
To configure the proxy, toggle the Enable Proxy to ON, and provide the HTTP Proxy details, which will be used for both HTTP/S.
Arm Bindings and Webex Credentials
Firefox is required to perform the OAuth part of the Webex credentials.
Select Node to bind the interface and click Bind to Arm
Note the Redirect URL; This will be needed in the credentials settings and the Webex integration portal.
Click Update / Set Credentials to enter the Webex details.
Enter in the Application name, Client ID and the Redirect URL from the Arm Binding page and click Submit
you will be presented with the Webex OAuth login flow; provide the Webex user details that will be used for test_mate
The test_mate Webex user will be used to schedule and admit participants into meetings and should be the same user as the Microsoft graph interface.
If prompted, accept the Webex permissions to be granted.
You will be redirected back to test_mate to re-authenticate.
Finally, add the Client Secret provided with the Webex app setup and click submit.
Test Webex connection
Click the Test Connection button. This will return the Webex user details that granted the Webex integration.
Webex Calling (WbC-MT) Test Plan
Test plan settings
Setting | Description |
---|---|
Name | Name of the test plan. |
Webex Account / Interface | name of the webex interface used for testing |
Webex Organization | organisation that is use including xsi url |
Endpoints | List of webex calling endpoints |
Webex Request Pause After Error (secs) | Time to wait after a backoff error during a Webex request (i.e. status, join or mute). |
Webex Request Retries After Error | How many times to retry before raising an error, related to the pause above. |
Test Runs Results
Troubleshooting
API errors
Problem: Blank page after submitting Webex credentials
Suggested course of action:
Check permissions for the integration account match in test_mate and Webex.
Try using an alternate browser such as Firefox.
Webex requires the request permission from test_mate to match the configured permissions in Webex. Else the integration will fail.
Problem: Expired credentials/tokens in Webex
Suggested course of action:
Click on Update / Set Credentials to reauthorise with the account that grated the Webex integration and/or check the correct details supplied.
Problem: Missing Redirect URL for Webex integration account
Suggested course of action :
Ensure the Redirect URL is the same as displayed within the test_mate interface.
Remove any spaces from the URL's beginning and/or end when using copy/paste to Webex.
Deleting and re-adding an interface will create a new unique redirect URL
Internet / Proxy Errors
Problem: Wrong Protocol
Suggested course of action:
Check the correct protocol has been specified, e.g. HTTP
Check the correct port number provided
Problem: Wrong User/Password
Suggested course of action:
Check correct username / password entered ( password could be case sensitive depending on the 3rd party proxy).
Check Proxy allows access to the domains required for API calls to the providers.