Release Notes 10.0.0 SP6

Important: The XML API 10.0.0 SP6 release changes some schema definitions. For the latest schema definitions, see the release notes announcements page. The features in this release are backward compatible with previous releases.

Overview

This release note describes the changes made in the release of Webex XML API 10.0.0 SP6 Release Notes. These changes apply to your integration with WBS 31. All features are backward compatible with existing integrations. The changes to the latest schema definitions are explained below.

What is New in this Release

This section describes the new features in XML API 10.0.0 SP6.

Meeting Center New Data Model Support

The Meeting Center (MC) XML API now supports the new data model to get site configurations. This new model is applicable only for sites that have a mapping row in the WbxSiteBaseMap table. When a user is associated with a Meeting Center online site, Atlas sends a notification to Webex. On receiving the notification, the user is added to Webex through the XML API. MC online sites use the new data. An MC online site may have two kinds of URLs (for example, abc.my.webex.com and abc.webex.com).

Logic Design

All the Java classes that deal with site configuration data are updated to get or set their data in the tables for the new Webex site data model. Both the new and old data models are supported. The overall logic is as follows:

Loading site config data:

  1. Check whether a given siteId has an entry in wbxSiteBase. If so, this site follows the new data model. Else, use the old code.
  2. If it is a site based on new data model, get the attributes from the corresponding wbxSiteBaseConfigtable and form the SiteConfig object, then get any site specific params from wbxSiteSpecificParams table and merge into the SiteConfig object.

Updating site config data item:

  1. Get the current value from wbxSiteSpecificParams table for the item.
  2. If found, update or increment the value, depending upon the operation.
  3. If not found, get the value from the wbxSiteBaseConfig table for the site.
  4. Use this value to insert a new record into wbxSiteSpecificParams table.

Join Before Host Settings Support

The old option Allow attendees or panelists to join teleconference before host (EC, MC and TC) was split into three options for each of Meeting Center (MC), Training Center (TC) and Event Center (EC). The option The first attendee to join will be the presenter (MC) was moved under the new option Allow attendees to join audio conference (MC), to indicate the dependency between them. The The first attendee to join will be the presenter (MC) option is checked if and only if Allow attendees to join audio conference (MC) is checked.

Affected APIs

API Name Behavior Change
CreateEvent, SetEvent, GetEvent, DelEvent Modified the logic for Allow attendees to join audio conference (EC) with new JBH logic for TC.
CreateMeeting, SetMeeting, DelMeeting, GetMeeting, and LstMeeting
  1. Modified the logic for Allow attendees to join audio conference (MC) with new JBH logic for MC.
  2. Modified the logic for The first attendee to join will be the presenter (MC) with new JBH logic for MC.
CreateTrainingSession, SetTrainingSession, DelTtrainingSession, and GetTrainingSession Modified the logic for Allow attendees to join audio conference (MC) with new JBH logic for MC.
GetSite
  1. Replaced element Allow attendees or panelists to join teleconference before host (EC, MC and TC.) in three elements:
    • audioBeforeHost (The old element audioBeforeHost is only for MC. No compatibility impact for MC.)
    • audioBeforeHostTC (There may be compatibility issues for TC and EC see the section Schema Changes for more information.)
    • audioBeforeHostEC (There may be compatibility issues for TC and EC see the section Schema Changes for more information.)
  2. Modify the logic for The first attendee to join will be the presenter (MC) to match the new JBH logic.

Schema Changes

The getSite API audioBeforeHost now applies only to MC, with the three new elements: audioBeforeHost, audioBeforeHostEC, and audioBeforeHostTC.

The following diagram shows the addition of the new elements:

Behavior Changes

The following describes how to map old settings to new settings:

DB Info

  1. The old flag Allow attendees or panelists to join teleconference before host (EC, MC, and TC) in Site Administration is from the WBXSITECONFIG table and ItemName is AllowBeforeJoinTeleconference.
  2. The new flag Allow attendees to join audio conference (MC) in Site Administration is from the WBXSITECONFIG table and ItemName is still AllowBeforeJoinTeleconference, but now it just for MC, not for all centers.
  3. The new flag Allow attendees to join audio conference (EC) in Site Administration is from WBXSITECONFIG table and ItemName is AllowBeforeJoinTeleconferenceEC.
  4. The new flag Allow attendees to join audio conference (TC) in Site Administration is from WBXSITECONFIG table and ItemName is AllowBeforeJoinTeleconferenceTC.
  5. The flag The first attendee to join will be the presenter (MC) in Site Administration is from WBXSITECONFIGtable and ItemName is SupportFirstTBPresenter.

Logic Design

  1. For flag value of "Allow attendees to join audio conference (MC)"

    if (flag of "AllowBeforeJoinTeleconference" is existing on DB)

    {

    return value via flag of "AllowBeforeJoinTeleconference".

    } else

    { return false; }

  2. For flag value of "Allow attendees to join audio conference (EC)"

    if (flag of "AllowBeforeJoinTeleconferenceEC" is existing on DB)

    {

    return it's value;

    }

    else if (flag of "AllowBeforeJoinTeleconference" is existing on DB)

    {

    return value via flag of "AllowBeforeJoinTeleconference".

    }

    else

    {

    return false;

    }

  3. For flag value of "Allow attendees to join audio conference (TC)"

    if (flag of "AllowBeforeJoinTeleconferenceTC" is existing on DB)

    {

    return it's value;

    }

    else if (flag of "AllowBeforeJoinTeleconference" is existing on DB)

    {

    return value via flag of "AllowBeforeJoinTeleconference".

    }

    else

    {

    return false;

    }

  4. For flag value of "The first attendee to join will be the presenter (MC)"

    return (

    flag value of "Allow attendees to join audio conference (MC)"
    
    &&
    flag value of "SupportFirstTBPresenter" on DB
    

    )

TSP Account Information

For meetings scheduled by XML API, the extended TSP account information is now visible so that mobile users can directly call the toll and toll-free numbers.

Affected API

  • getSessionInfo

Schema Changes

None.

Behavior Changes

getSessionInfo gets TSP number from wbxMMConfParam.

Logic Design

If telephonySupport=CALLIN or CALLBACK and enableTSP=true then (TSP only) If dial-in Numbers is not null and access Codes is not null in wbxMMConfParam then (has meeting level TSP account) Return the formatted audio account information (return meeting level TSP account information) Else Go back to base logic Endif Else Go back to base logic Endif

GetUserCard API

This API provides information about Personal Room and avatar image details for a given user identity. A user identity can be one of these three:

  • webExId
  • email address
  • personal room url For the avatar images, size can be specified as well, and in that case, the URL to an avatar which matches closest to the requested size is returned. There is no authentication for this API.

Affected API

getUserCard is a new API.

Schema changes

The following diagram shows the additional API:

Design

  • Personal Room (PR) elements are the same as the ones returned by the GetUser API for PR related items.
  • If the site has disabled PRs or the user has no PR enabled, PR items are null.
  • For Common Identity (CI) users who have an uploaded avatar, the corresponding URL stored in WebDB is returned, but with the image most closely matching the requested size.
  • For non-CI users, who have an uploaded avatar, if the corresponding image does exist, a URL to the image is returned.
  • For non-CI users, if the image does not exist, an image based on the initials (first letter of the first name and last name) is returned.
  • If at any point, a valid URL image cannot be returned, the default avatar URL image is returned.
  • When the image URL returned is that of a system generated one or a default one, isUploaded is set to false.
  • For non-CI users who have the image files available on the server file system and for initials-based avatar images, the lastModifiedTtime returned is the last modified time of that file.
  • For CI users, the lastModifiedTime is returned from this query: select lastModifiedTime from WBXUSEREXTINFO where UID_=? and itemName='CIPhotoURL'
  • If a default avatar image is returned, the lastModifiedTime is set to ten years before the current time, so that it is not cached for the user.

XML API Support for Alternate Host Capability in Personal Rooms

Webex now supports owners of personal rooms assigning other users to be able to host meetings on their behalf, including starting and stopping meetings. (For example, a meeting organizer is running late and needs a colleague to start the meeting.) The objective of this feature is to apply the current alternate host functionality to Personal Rooms.

Affected API

  • GetUser - Should return all alternate hosts information for PRs.
  • CreateUser - Allow end user call CreateUser to set alternate hosts information for PMR.
  • SetUser - Allow end user call SetUser to modify alternate hosts information for PMR.

Schema changes

GetUser/CreateUser/SetUser for "Let others host my Personal Room meetings without me" under

![](/images/release-notes-10-0-sp6/04-image2016-6-22 16-7-8.png)

GetUser/CreateUser/SetUser for under

![](/images/release-notes-10-0-sp6/05-image2016-6-22 16-7-22.png)

Logic Design

![](/images/release-notes-10-0-sp6/06-image2016-6-22 16-9-46.png)

  1. Check site level option "WBXSITECONFIG->EnablePersonalRoom" to know current site support PMR or not.

    1. If no support, the <PMRAlternateHost> or <alternateHost> element in xml request on CreateUser/SetUser, should return an exception 010046 "The site does not support Personal Meeting Room", and GetUser should not return any elements regarding with alternate hosts.
  2. Check site level option "WBXSITECONFIG->AllowChooseAlternateHost" from DB to know the current site supports alternate host feature or not.

  3. If the site does not support alternate host feature, and end users call CreateUser/SetUser want to operate this feature, should return exception 010026 "The site prevents user from choosing an alternate host".

  4. If the site does not support alternate host feature, GetUser return value of <PMRAlternateHost> always FALSE, and no element <alternateHost> be return.

  5. Check site level option WBXSITECONFIG->AllowAnyUserToBeAlternateHostSA to know the current site supports "Allow anyone with an account ..." feature or not.

  6. If the site does not support this feature "Allow anyone with an account ...", the element <allowAnyoneHostMyPRM> disallow to be set with True, throw exception 010095 when happen on CreateUser/SetUser.

  7. If the site does not support this feature, <allowAnyoneHostMyPRM> under <alternateHost> value always is FALSE on GetUser.

  8. Even though site supports the PMR, end user also can close it with the element <isEnablePMR> on XML request with FALSE.

    1. If end user set the <isEnablePMR> with FALSE in xml request, the <PMRAlternateHost> or <alternateHost> element in xml request on CreateUser/SetUser, should return exception 030028 "User does not support personal meeting room".
  9. Even though site supports the alternate host, end user also can turn off the alternate host by self using <PMRAlternateHost> with FALSE.

    1. If the end user does not open the alternate host feature for PMR in XML request, if <alternateHost> element is there in XML request CreateUser/SetUser should return exception 030111.
  10. When both site and PMR supports alternate host feature, site level flag of "Allow anyone with an account ..." are True, and <isEnablePMR> is TRUE:

    1. There is no <PMRAlternateHost> element on CreateUser/SetUser:

    2. CreateUser should set DB "DisableAlternateHost" with 0 (default value), GetUser return <PMRAlternateHost> with true.

    3. SetUser should get value from DB "DisableAlternateHost".

    4. There is no <alternateHost> element, on CreateUser/SetUser:

    5. CreateUser should set DB "AllowAnyUserToBeAlternateHost" with 0 (default value), GetUser return <allowAnyoneHostMyPMR> with false.

    6. SetUser should get value from DB "AllowAnyUserToBeAlternateHost".

    7. No changes for alternate host information on DB.

    8. There are only <allowAnyoneHostMyPMR> under <alternateHost>, and <PMRAlternateHost> is TRUE:

    9. CreateUser/SetUser set DB "AllowAnyUserToBeAlternateHost" with the given input value.

    10. There are only <host> under <alternateHost>, and <PMRAlternateHost> is TRUE:

    11. For CreateUser, due to the "AllowAnyUserToBeAlternateHost" default is false, so store <host> information into DB; GetUser can return them.

    12. For SetUser, if the DB "AllowAnyUserToBeAlternateHost" is 0 or null, store the <host> information with alternate host into DB; if the DB "AllowAnyUserToBeAlternateHost" is 1, return exception 030110.

  11. There are both <allowAnyoneHostMyPMR> and <hosts> under <alternateHost>, and <PMRAlternateHost> is TRUE:

    1. The value of <allowAnyoneHostMyPMR> is FALSE, CreateUser/SetUser store both of them into DB, GetUser return them.
    2. The value of <allowAnyoneHostMyPMR> is TRUE, return exception 030110.
  12. For each alternate host information, we should check the email account is existing or not on site, if not found returns the exception 040006 "No corresponding WebexID found".

  13. If the email format is not right, return exception 999999 "The email address is invalid".

  14. For one existing PMR data, if there are some alternate host information for it, when we call SetUser to close PMR, or switch to "Allow anyone with ...", no need to remove the existing alternate host information from DB. Once end-user open PMR or switch back "Let me choose ...", these alternate host information are still there, end user does not need to set them again.

Note for SetUser: 1. If there is element, it will drop all existing alternate host information from DB first, after that insert them into DB with new. 1. If no any sub-element <host> under <hosts>, that means end user wants to remove all alternate host information from DB, then GetUser will not return <hosts> element (no alternate host for this PMR).

Exception List

ExceptionID Exception Message Remark
010046 The site does not support Personal Meeting Room.
030028 User does not support personal meeting room.
010095 The site does not support "Allow anyone with a host account" host their scheduled or PMR meetings.
010026 The site prevents user from choosing an alternate host.
030005 Email is in use. Drop existing alternate host first, then insert new hosts, so no need for this exception.
999999 The email address is invalid.
040007 The role is not supported for adding specified attendee to session.
040006 No corresponding WebexID found.
030110 Cannot include hosts element if user allowed anyone to host personal meeting room. New exception
030111 Cannot include alternateHost element if user does not support PMR alternate host. New exception

DB Information and Design

Table Name Field/Item Name Description Remark
WBXSITECONFIG AllowChooseAlternateHost
  1. Existing site level option for alternate host, to know current site supports alternate hosts or not.
  2. If no alternate host support, also does not support this feature.
  3. The element name <SupportAlternateHost> on GetSite api
. ![](/images/release-notes-10-0-sp6/07-image2016-6-22 16-7-42.png)
GetSite already returned it.
WBXSITECONFIG AllowAnyUserToBeAlternateHostSA
  1. Existing site level option for MC regular meeting to know if the current site supports "Any users to let anyone with a host account on this site host their scheduled or Personal Room meetings". ![](/images/release-notes-10-0-sp6/08-image2016-6-22 16-7-49.png)
  2. If the site level option is unchecked (false), the PR option "Allow anyone with an account on this site to be an alternate host for my Personal Room meetings" cannot be selected. This means in XML API exception 010095 is returned as same as (<allowAnyoneHostMyPMR> element under <alternateHost> in CreateUser/SetUser/GetUser).![](/images/release-notes-10-0-sp6/09-image2016-6-22 16-8-20.png)
WbxMMConfParam DisableAlternateHost
  1. A new meeting level checkbox "Let others host my Personal Room meeting without me" to enable/disable alternate host for PRs. NOTE: Even if the checkbox is unchecked, don't remove invited alternate host info.
  2. By default is 0, turn off alternate host feature for PR
  3. .
  4. PR page, XML API can turn on or off this option
  5. This checkbox depends on supporting alternate host feature (DB: AllowChooseAlternateHost).
  6. The element is <PMRAlternateHost> under <personalMeetingRoom> on CreateUser, SetUser and GetUser apis. ![](/images/release-notes-10-0-sp6/10-image2016-6-22 16-8-41.png)
GetUser/CreateUser/SetUser should maintain/get it.
WBXMMCONFPARAM AllowAnyUserToBeAlternateHost
  1. This meeting level option is to know if anyone can host this PR or not.
  2. If allowAnyUserToBeAlternateHost flag is "0" or "NULL", the option of "Let me choose alternate hosts for my Personal Room meeting" is be selected (Default is 0, no found is "NULL").
  3. If allowAnyUserToBeAlternateHost flag is "1", it is selected on "Allow anyone with an account on this site to be an alternate host for my Personal Room meetings" option
  4. Before selecting "Allow anyone with an account on …" (set allowAnyUserToBeAlternateHost with "1"), check site level flag "AllowAnyUserToBeAlternateHostSA", if the value is "0" it should throw exception 010095 "The site does not support Allow anyone with a host account host their scheduled or PR meetings." in XML API.
  5. The above option is under "Let others host my Personal room meeting without me" (DB: DisableAlternateHost) checkbox.Note:Even if switching between two options, don't remove invited alternate host info from DB.
  6. The element under on CreateUser, SetUser and GetUser APIs.![](/images/release-notes-10-0-sp6/10-image2016-6-22 16-8-41.png)
GetUser/CreateUser/SetUser should maintain/get it.
WBXCALENDAR ALTERNATEHOST
  1. Alternate host info is stored in the WebDB, the same as alternate host for regular meeting, when the PR owner sets it.
  2. The value appear like "Cathine Sinu, Wil Jones, Sherry Wu", the elements naming <host> under <alternateHost> on CreateUser, SetUser and GetUser APIs.
  3. If the entered alternate host account does not exist on site, throw the exception "Only users who have host accounts on this site can be alternate hosts". ![](/images/release-notes-10-0-sp6/11-image2016-6-22 16-8-55.png).
GetUser/CreateUser/SetUser should read/modify it.
MTGCONFATTENDEELIST
  • USERTYPE=‘Member'
  • TOKEN=‘2'
Append for each alternate host information into MTGCONFATTENDEELIST table (same as regular meeting), and USERTYPE=‘Member' and TOKEN=‘2'.

XML API Support for "Any user on this site" Option for Alternate Host

Meeting hosts can use this feature to allow any other user on the site to be an alternate host for meetings and personal rooms. The host has an option to check a box to allow "Any user in this site" to be an alternate host.

Affected APIs

API Name Description Remark
GetSite
  1. Two new elements SupportAlternateHost and SupportAnyoneHostMeetings
  2. Element SupportAlternatHost is to know if the current site supports the alternate host feature "When scheduling a meeting, users can choose an alternate host"
  3. Element "SupportAnyoneHostMeetings" is for option "Allow users to let anyone with a host account on this site host their scheduled or Personal Room meetings"
  4. The value of SupportAnyoneHostMeetings is under the SupportAlternateHost.
![](/images/release-notes-10-0-sp6/12-image2016-6-22 16-9-19.png)
CreateMeeting & SetMeeting
  1. The new element "allowAnyoneHostMeeting" is to support the "Let anyone with a host account on this site host my meeting" feature when scheduling a new MC meeting or editing an existing meeting.
  2. If the site does not let anyone to host meetings ("SupportAnyoneHostMeetings" is unchecked), the exception (010095) is sent if the above new element is there and the value is TRUE in the XML request.
DelMeeting Drop the flag from DB when deleting a meeting.
GetMeeting Return this feature flag naming "allowAnyoneHostMeeting" for meeting.
GetSessionInfo
  1. Return this feature flag naming "allowAnyoneHostMeeting" for MC meeting.
  2. Return join before host (JBH) time (US58256) naming "openTimeInSec" for meeting.
  1. New element "allowAnyoneHostMeeting" just for MC meetings, other kinds of meetings do not return it.
  2. New element "openTime" is for MC, TC and EC meetings.
Exception ID Exception Message
010095 (New) The site does not support allowing anyone with to host scheduled or PR meetings.

Schema changes

GetSite for SupportAlternateHost and SupportAnyoneHostMeetings

CreateMeeting/SetMeeting/GetMeeting for allowAnyoneHostMeeting

GetSessionInfo for allowAnyoneHostMeeting

GetSessionInfo for JBH time (openTimeInSec with seconds)

DB Design

Table Name Field/Item Name Description Remark
WBXSITECONFIG AllowChooseAlternateHost Does the current site support choosing an alternate host for meeting. Default is false.
WBXSITECONFIG WbxDefaultSiteConfig AllowAnyUserToBeAlternateHostSA Does the current site support allowing users to let anyone host their scheduled or personal room meetings. Default is false.
WBXMMCONFPARAM AllowAnyUserToBeAlternateHost The meeting level flag, it is used to know if the current meeting supports anyone with a host account to host this meeting or PR meeting. Option on scheduling MC Meeting page: Default is false.

XML API GetSite Support for Obtaining Site Settings

Two new site settings are added that the Productivity Tools require to retrieve them through API.

Affected API

  • GetSite

Behavior Changed

These changes are transparent to end users. There is no API behavior change.

Logic Design

Two items are created, DefNumOfCMRHybridCallInParticipants and MaxNumOfCMRHybridCallInParticipants. Mapping table column PTCMRHybridDefaultCallInNumber and PTCMRHybridMaxCallInNumber. These two items are only shown in response when ProductivityTools and SupportTelePresencePlus are on.

Enhance GetUser to Return Avatar Details

This adds information about avatar image details for a given user identity to GetUser response. If the expected size of an avatar image is passed, in the case of Common Identity (CI) enabled users, a link to an image which closely matches the requested size will be returned. For non-CI enabled users, the passed size value is ignored and it returns a link to the uploaded profile image. If a profile image does not exist, a link to a system generated initials (first character of first name and last name) based image will be returned.

Affected API

  • GetUser API

Schema changes

<xsd:complexType name="getUser">

        <xsd:complexContent>

            <xsd:extension base="serv:bodyContentType">

                <xsd:sequence>

                    <xsd:element name="webExId" type="xsd:string"/>

                    <xsd:element name="avatarSize" type="xsd:integer" minOccurs="0" maxOccurs="1"/>    <-- **New element**

                </xsd:sequence>

            </xsd:extension>

        </xsd:complexContent>

    </xsd:complexType>

    <xsd:complexType name="getUserResponse">

        <xsd:complexContent>

            <xsd:extension base="use:userInstanceType">

                <xsd:sequence>

                    ....

                    <xsd:element name="avatar" type="use:userCardAvatarType" minOccurs="0"/>             <-- **New element**

                </xsd:sequence>

            </xsd:extension>

        </xsd:complexContent>

    </xsd:complexType>

For the structure of use userCardAvatarType, refer the GetUserCard API section.

The XML API schemas and release notes are available at the Cisco Webex Developer Portal:

XML API Reference

The URL API release notes are available at the Cisco Webex Developer Portal:

URL API Reference