Monthly Archives: November 2013

Cisco WebEx Meetings Server (CWMS) and Microsoft ADFS – Import Phone Numbers

In my latest CWMS deployment we have utilised SAML 2.0 and Microsoft ADFS services for user management. In your standard SAML integration;

  • Users attempting to access CWMS are authenticated via ADFS using their AD credentials
  • A CWMS account is automatically created based on the attributes that ADFS passes back to CWMS

The standard attributes are first name, last name and email address. In this case, we also wanted to populate the users CWMS profile with their telephone number.

To do this, two additional custom claim rules are required.

The first claim rule retrieves number from Active Directory:

c:[Type == "", Issuer == "AD AUTHORITY"] => add(store = "Active Directory", types = ("PhoneHolder"), query = ";telephoneNumber;{0}", param = c.Value);

The second claim rule sends the telephone number to CWMS:

c:[Type == "PhoneHolder"] => issue(Type = "OPhoneLocal", Value = RegExReplace(c.Value, "\+61", ""));

In this case the numbers in Active Directory were stored in +E164 format (which we love, but CWMS does not); so there is a regex replace in there to remove the +61 on the way over to CWMS. This is easy at this point as there are only Australian numbers in the system. This would require some more work if it was an international system.

Fortunately ADFS can be configured with other attribute stores such as databases which could give you plenty more options about where to get attributes and what to send across to CWMS.