Knowlege base

Synchronize Users against Cisco Webex Control Hub

Article ID: 902
Last updated: 09 Apr, 2024

Imagicle UCX Cloud Suite can import users from Webex Control Hub, thanks to available Cisco Webex (XSI) APIs for this purpose.

Provided Webex APIs allow to import users from multiple Webex Organizations, if required.

Before configuring such import connector, please mind below-listed requirements:

  • Imagicle UC Cloud Suite must be in place, with a valid license subscription.
  • Imagicle UC Cloud Suite must be authenticated against Imagicle Cloud Services, as described in this article.
  • A Full Admin user belonging to Webex customer organization 

OAuth2 token for UCX Suite integration with Webex Calling Users' Synch

Customer must authorize Imagicle Webex Cloud Integration application called Imagicle Users Synchronization Connector to access own Webex organization data. The following permissions are granted to the Imagicle Webex Calling Integration application:

  • spark-admin:people_read
  • spark-admin:organizations_read
  • spark-admin:locations_read
  • spark-admin:telephony_config_read
  • spark-admin:xsi

These are the minimum permissions required to retrieve basic user information and read organizations information. Without granting such permission, we cannot provide the feature.

Procedure

Please connect to the Imagicle Onboarding Web Portal for Webex Calling MT and enter customer's data, including above mentioned Full Admin Webex user.

Once customer data has been entered, please proceed to next page and authorize the following application highlighted in red:

Please note that other tokens might be required for Webex Calling Native Call Control and to retrieve presence status from Webex Control Hub. Please consult relevant KB articles.

Once you have authorized all required tokens, please click on "COMPLETE REQUEST" to trigger the Imagicle internal process to enable the tokens.

Remarks

Imagicle apps authorization requires Webex apps integrations to be enabled by default. If not, you might get the following error message:

Please consult this troubleshooting article for further details.

Enabling Webex Users' Synch from Imagicle Web Portal

Once above OAuth2 token has been issued, you can proceed with actual Webex Cloud users' synch enablement.

Please access to Imagicle UC Suite web portal as Administrator and go to ADMIN ⇒ User Management ⇒ Synchronize users with an external data source » ⇒ Configure Data Sources >>

Select "Cisco Webex" and flag relevant entry, as per below screenshot:

If the "STATUS" indicator goes green, then it means Imagicle UCX Cloud Suite can reach Webex Cloud. Otherwise, please check below table for most typical error messages appearing underneath the red STATUS indicator:

Issue

Error message

ClientID/secret wrong configured

Client ID or Client Secret are misconfigured

Suite not enabled on Imagicle Cloud to users sync

UC Suite is not enabled in the Imagicle Cloud to synchronize users. Check OAuth2 token enablement.

the Imagicle Cloud is not reachable (on-prem UC Suite only)

Imagicle Cloud unreachable

Other

An unexpected error occurred while checking Imagicle Cloud connection

Proxy Support

If your Imagicle UCX Suite can reach Internet through a proxy, please configure it by following this KB article. Webex import connector supports proxy configuration.

Configuring Synchronization Rules

Please access to Imagicle UCX Suite web portal as Administrator and go to ADMIN ⇒ User Management ⇒ Synchronize users with an external data source » ⇒ Configure Synch Rules >>

Select "Cisco Webex", as per below screenshot:

The sync service uses the Webex Calling user's email as primary key. The username included in the email address populates the Active directory username field, while the domain (after @) populates the Domain field.

For all other users' fields, they are imported from a fixed Webex field or you can choose from which Webex field to populate them. See below table including Webex specific field mapping:

UCX Suite Display Name Mapping criteria Synched from Example Value
Username

"<acronym of type>_<phonenumber> or <ESN> or <name>"

the acronym of type is set by identifying the type returned from Imagicle API and it can assume the following values: 

  • HG (native Hunt Group), 
  • CQ (native Call Queue), 
  • AA (native Auto Attendant),
  • VL (Webex Virtual Line)

After underscore is added:

  • the phonenumber, if it exists
  • otherwise, the extension, if it exists
  • otherwise, the name of the entity

HG_4589921,

HG_test,

CQ_394914524886

Max 20 chars

Active Directory username Import every time from source username coming from Email field or from Webex id

john.smith

Max 255 chars

Domain Import every time from source domain coming from Email field or empty (for HG, CQ, AA, VL) company.com
First Name Import every time from source firstname or empty (for HG, CQ, AA, VL) John
Last Name Import every time from source lastname or name (for HG, CQ, AA, VL)

Smith

Max 255 chars

User PIN Only when adding, set this value 1234
Single Sign-On Id
  • Use the mail address field
  • Keep existing value

Webex Mail

Should not populated for VL, CQ, AA, HG and workspaces.

john.smith@company.com
Conversational AI Username
  • Use the mail address field
  • Keep existing value
Webex Mail john.smith@company.com
First extension number*
  1. Import every time from Webex field:
  • "ESN or Phone Number" 
  • "Phone Number or ESN"
  1. Keep existing value

ESN = location.routingPrefix + webexCalling.extension

Phone Number = webexCalling.countryCode + webexCalling.number

33 + 6623 or

+447259856623

First extension number Alias*
  1. Import every time from Webex field:
  • "Extension or Phone Number"
  • "Phone Number or Extension"
  • "ESN or Phone number" 
  • "Phone number or ESN"
  • "Work Phone"
  1. Use the email address field
  2. Keep existing value

Extension = webexCalling.extension

Phone Number = webexCalling.countryCode + webexCalling.number

ESN = location.routingPrefix + webexCalling.extension

Work Phone = workPhone

email = Webex Mail

6623 or

+447259856623 or

33 + 6623 or

+44984664564 or

john.smith@company.com

Cdr User Id
  • Import every time from source
  • Keep existing value

commonIdentityId

or

webexCalling.nativeUserId

Device name
  • Import every time from source
  • Keep existing value
webexCalling.nativeUserId jsmith
Preferred Device name
  • Import every time from source
  • Keep existing value
webexCalling.nativeUserId jsmith
PBX Username
  • Import every time from source
  • Keep existing value

webexCalling.nativeUserId

or nativeUserId (Virtual lines only)

jsmith

Max 255 chars

Email
  • Import every time from source
  • Keep existing value
Webex Mail john.smith@company.com
Department
  1. Import every time from:
  • "Organization Name" 
  • "Location Name"
  1. Keep existing value

Organization Name = organization.name

Location Name = location.name

ACME Inc.

Max 255 chars

Recording Group name
  1. Import every time from:
  • "Organization Name" 
  • "Location Name"
  1. Keep existing value

Organization Name = organization.name

Location Name = location.name

ACME Inc.

Max 255 chars

Cost Center
  1. Import every time from:
  • "Organization Name" 
  • "Location Name"
  1. Keep existing value

Organization Name = organization.name

Location Name = location.name

Paris

Max 255 chars

Office Location
  1. Import every time from:
  • "Organization Name" 
  • "Location Name"
  1. Keep existing value

Organization Name = organization.name

Location Name = location.name

France

Max 255 chars

VoiceMail Number
  • Import every time from source
  • Keep existing value

*55 + ESN (location.routingPrefix + webexCalling.extension)

*55 + 33 + 6623
VoiceMail Address
  • Import every time from source
  • Keep existing value - None
Webex Mail john.smith@company.com
Home Phone
  • Import every time from source
  • Keep existing value
workPhone +44984664564
Mobile Business Number
  • Import every time from source
  • Keep existing value
mobilePhone +44702465646
Fax Number
  • Import every time from source
  • Keep existing value
faxNumber +44984664564
Fax Group Username
  1. Import every time from:
  • "Fax Number"
  • "Organization Name" 
  • "Location Name"
  1. Keep existing value

Fax Number = not managed

Organization Name = organization.name

Location Name = location.name

France

Max 255 chars

Fax Company Name
  • Import every time from source
  • Keep existing value
organization.name ACME Inc.
Fax to email address
  • Import every time from source
  • Keep existing value
Webex Mail john.smith@company.com
Rich Presence SIP URI
  • Use the email address field
  • Keep existing value
Webex Mail john.smith@company.com
Microsoft URI
  • Use the email address field
  • Keep existing value
Webex Mail john.smith@company.com
Webex URI
  • Use the email address field
  • Keep existing value
Webex Mail john.smith@company.com
Picture
  • Import every time from source
  • Keep existing value
AvatarURL** Max 200KBytes size (default)

* Imagicle supports overlapping extension numbers by selecting to import ESN instead of Extension Number. ESN includes a location prefix + Webex Calling Extension, so Imagicle Advanced Queuing can transfer calls to overlapping operators' internal numbers, without having to leverage +E.164 Phone Numbers.

** AvatarURL points to a server on Webex Cloud, which should be reachable by Imagicle UC Suite to retrieve each picture through a http request. User images can be in the most common formats, e.g. png, jpg, jpeg and bmp.

Note: If Webex user's email is changed, at the next synchronization relevant UCX Suite user is removed and another UCX Suite user is created with the new Active directory username and Domain values.

Note: Imagicle supports the audio recording of Webex Workspaces too. They are not automatically provisioned from Control Hub, therefore they must be manually added, as described here.

Article ID: 902
Last updated: 09 Apr, 2024
Revision: 29
Views: 1127
Print Export to PDF Subscribe Share
This article was:  
Prev   Next
Synchronizing CUCM Hunt Pilots and Orphan extension numbers     Contact Pictures Display on Jabber clients