XML API 10.0.0 SP7 Release Notes

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

 

Overview

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

 
 

Detect meeting number according to site, callback number, and occurred time scope

A new API was introduced in this release, which allows a site administrator to check the list of Webex sessions using the callback teleconference number specified in the request during a specific time period.


APIs impacted

New API called detectSessionByCallback.


Schema changes

XML Request Schema:


schema diagram of detectSessionsByCallback request

XML Request:


XML of detectSessionsByCallback request

XML Response Schema:


schema diagram of detectSessionsByCallback response

XML Response:


XML of detectSessionsByCallback response

Changed Behavior

This is a new API, so there is no change in behavior.

Design

  1. Check if the login account is SiteAdmin role. If not, return exception;
  2. Check the format of callbackNumber. It should be all digits including country code and area code if there is one. Else, return exception;
  3. Check date scope of dataScopeGMT. If the time scope between occurredDateStart and occurredDateEnd is more than 5 minutes, return exception;
  4. Get SiteID is based on login SiteAdmin account;
  5. Call Tahoe API (refer to TS API Design section) to get the list of meeting numbers (there may be none, one, or more than one). Tahoe queries and gets the meeting numbers by callbackNumber and occurred time scope;
  6. Loop all the meetingNumbers from Tahoe, show their meeting information one by one in the response. Refer to Schema Changes section to know which elements should be returned.

Notes:

  1. Only a SiteAdmin has the ability to use this API for querying, else it returns exception 000001 (Message: You do not have the privilege to perform this request. New exception: No).
  2. The maximum occurred time scope is 5 minutes, else it returns exception 140015 (Message: Query time range cannot be over 5 minutes. New exception: Yes).
  3. The content of the callback number must be digits only (for example, 14086664444), else it throws exception 140016 (Message: The callbackNumber can be accepted only as numeric characters. New exception: Yes);
  4. If no meeting is found, it returns 000015 (Message: Sorry, no record found. New exception: No).
  5. This API supports meetings that already occurred and ongoing meetings, it does not support future meetings.
  6. TS API Design

    Query meeting number Request

    Type: Page to Telephony Server

    Response Required: Yes

    Description: Query meeting number request

    Action: QMN

    Field

    Data Type

    Description

    siteName String The site Name

    siteID

    String

    The site ID

    ticketPKID

    String

    the ticket PKID for authenticated

    phoneNumber

    String

    Phone number(include country code must have , area code if have), digital only

    beginTime

    String

    GMT time: mm/dd/yyyy hh:mm:ss  (9/8/2016 15:36:20) 

    endTime

    String

    GMT time: mm/dd/yyyy hh:mm:ss  (9/8/2016 15:37:20) 


     

    Example:

    <NG20>!!!!cmd=QMN&siteName=abcd&siteID =12345&ticketPKID=xxxxxxx& phoneNumber=86551123456789&beginTime=9/8/2016 15:36:20&endTime=9/8/2016 15:37:20</NG20>

    Query Meeting Number Response 

    Type: Telephony Server to Page

    Response Required: No

    Description:Response to the Request.

    Action:

    Field

    Data Type

    Description

    resultCode

    Integer

    0=success

    1=failure

    meetingNumber

    String

    meetingNumber1%meetingNumber2

     Example:

     

     

    <NG20>resultCode=0&meetingNumber=123456789</NG20>

    <NG20>resultCode=0&meetingNumber=987654321%1234567</NG20>


    XMLAPI getSessionInfo to return extra StandaloneDialingIPAddress node for CMR meetings

    getSessionInfo was enhanced to return the IP Dialing Address, if it is enabled, for a given site’s CMR meetings. Email invitations sent from scheduling APIs will include the Standalone IP Address associated with the meeting.


    APIs impacted

    GetSessionInfo


    Schema changes

    XML getSessionInfo API:


    Schema of getSessionInfo request

    Sample response:


    <serv:message
        xmlns:serv="http://www.webex.com/schemas/2002/06/service"
        xmlns:com="http://www.webex.com/schemas/2002/06/common"
        xmlns:ep="http://www.webex.com/schemas/2002/06/service/ep"
        xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting">
        <serv:header>
            <serv:response>
                <serv:result>SUCCESS</serv:result>
                <serv:gsbStatus>PRIMARY</serv:gsbStatus>
            </serv:response>
        </serv:header>
        <serv:body>
            <serv:bodyContent
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ep:getSessionInfoResponse">
                <ep:status>NOT_INPROGRESS</ep:status>
                ...
                ...
                <ep:sipURL>213213213@abc.webex.com</ep:sipURL>
                <ep:standaloneDialingIPAddress>12.34.56.78</ep:standaloneDialingIPAddress>
            </serv:bodyContent>
        </serv:body>
    </serv:message>

    Behavior Changed

    Return StandaloneDialingIPAddress for a CMR meeting.

    Design

    if (the meeting is a CMR meeting) 

        if (site level itemValue for "StandaloneDialingIPAddress" in table WbxSiteConfig)

            use it

        else if (web domain level itemValue for "StandaloneDialingIPAddress" in table WbxWebDomainConfig)

            use it

        else

            standaloneDialingIPAddress=null

    }


    StandaloneDialingIPAddress info appended to existing CMR-related emails

    In order to support the new feature of joining meetings by IP, email invitations must be able to display the IP address in the message body.

    APIs impacted

    createMeeting, setMeeting, CreateMeetingAttendee


    Schema changes

    none


    Behavior Changed

    Email invitations sent using createMeeting, setMeeting, or CreateMeetingAttendee APIs now display the IP address to join the meeting by IP.


    Email invitation sample:


    Email sample with IP info

    Design

    for createMeeting/setMeeting/CreateMeetingAttendee:

    if (the meeting is a CMR meeting) 

        append the following info in email template variables %TPInformationHtml%, %TPInformationText%, %TPInformationHtml_Simple%, %TPInformationText_Simple%

             \nAlternatively dial [standaloneDialingIPAddress] and enter your meeting number.

             or this for HTML variables:

             <tr style="margin:0px"><td>Alternatively dial [standaloneDialingIPAddress] and enter your meeting number.</td></tr>

    }

    Test Cases

    Features Email Template Name When to Send Email Tested
    Schedule Meeting Meeting Scheduled Host schedule mc meeting and It will send this email to host. Y
    Meeting Invitation Host schedule meeting with inviting attendee, and send this email to invited attendee. Y
    Update Meeting Meeting Information Updated Host updates the meeting info or only meeting’s time, system send this email to Host. Y
    Meeting Rescheduled Host changes the meeting's time, send this email to Attendee. Y
    Updated Meeting Invitation Host updates the meeting info, system send this email to Attendee. Y
    Registration Meeting Registration Confirmed* The meeting need registration and host approved the registration.
    It will send this email to those registers.
    Y

    *For email template "Meeting Registration Confirmed", use CreateMeetingAttendee with the following request as a sample to send the email:

    <?xml version="1.0" encoding="UTF-8"?>
    <serv:message
        <header>
            <securityContext>
                <webExID>user1</webExID>
                <password>xxxxx</password>
                <siteName>testsite1</siteName>
            </securityContext>
        </header>
        <body>
            <bodyContent xsi:type="java:com.webex.service.binding.attendee.CreateMeetingAttendee">
                <person>
                    <name>user test 2</name>
                    <email>ut2@qa.webex.com</email>
                    <type>VISITOR</type>
                </person>
                <joinStatus>ACCEPT</joinStatus>
                <role>ATTENDEE</role>
                <sessionKey>987654321</sessionKey>
                <emailInvitations>true</emailInvitations>
                <!--<attendees>
                    <person>
                        <name>user test 3</name>
                        <email>ut3@qa.webex.com</email>
                        <type>VISITOR</type>
                    </person>
                    <joinStatus>ACCEPT</joinStatus>
                    <role>ATTENDEE</role>
                    <emailInvitations>true</emailInvitations>
                </attendees>-->
            </bodyContent>
        </body>
    </serv:message>

    Related Release Information

    The XML API schemas and release notes are available at the Cisco Webex Developer Portal:
    https://developer.cisco.com/site/collaboration/webex/webex-developer/develop-test/xml-api/reference/

    The URL API release notes are available at the Cisco Webex Developer Portal:
    https://developer.cisco.com/site/collaboration/webex/webex-developer/develop-test/url-api/reference/