Change Description - BT Video Conferencing



BT Conferencing RESTConference Web ServicesCopyright? British Telecommunications plc 2014Registered Office: 81 Newgate Street, London EC1A 7AJUpdate History Change DescriptionDateInitial change trackingOctober 26, 2011Notes on host selection for Sites, ExtDev Notes July 6, 2012Development notesJuly 18, 2012Business Rule documentationSeptember 11, 2012Site Update behaviorJuly 18, 2013Requester create behavior changes, query method additions, Host Person feature additionApril 10, 2014Table of Contents TOC \o "1-3" \h \z \u Change Description PAGEREF _Toc385427275 \h 2Date PAGEREF _Toc385427276 \h 2Overview PAGEREF _Toc385427277 \h 6Changes in the REST API version PAGEREF _Toc385427278 \h 6Major requirements for an Application using the BT REST API PAGEREF _Toc385427279 \h 7Development process recommendations PAGEREF _Toc385427280 \h 7Notes on the External Application Development PAGEREF _Toc385427281 \h 8Common Characteristics of REST Resources PAGEREF _Toc385427282 \h 9Important Nomenclature, Resources, and Concepts PAGEREF _Toc385427283 \h 11Including Audio in Video Conferences PAGEREF _Toc385427284 \h 14Including Webex in Video Conferences PAGEREF _Toc385427285 \h 16Conference Series and Recurrence PAGEREF _Toc385427286 \h 16Security, Authentication, Requester, Person, Host and Permissions PAGEREF _Toc385427287 \h 18Query Operations and Site Reservations PAGEREF _Toc385427288 \h 20Conference Query Operations for Conferences modified PAGEREF _Toc385427289 \h 20Common Problems PAGEREF _Toc385427290 \h 22XML over HTTP Request formatting PAGEREF _Toc385427291 \h 22BTC REST API DETAIL PAGEREF _Toc385427292 \h 23Object Types PAGEREF _Toc385427293 \h 23BillingAllocationType PAGEREF _Toc385427294 \h 23BillingAllocationListType PAGEREF _Toc385427295 \h 23BillingAllocationListResponse (extends ResponseType) PAGEREF _Toc385427296 \h 24ConferenceType PAGEREF _Toc385427297 \h 24ConferenceDetailsResponse (extends ResponseType) PAGEREF _Toc385427298 \h 28ConferenceInput PAGEREF _Toc385427299 \h 28ConferenceListResponse (extends ResponseType) PAGEREF _Toc385427300 \h 28ConferenceQueryResponse (extends ResponseType) PAGEREF _Toc385427301 \h 28ConferenceResponse (extends ResponseType) PAGEREF _Toc385427302 \h 29ConferenceReservationInfoListResponse (extends ResponseType) PAGEREF _Toc385427303 \h 30ConferenceSummaryListType PAGEREF _Toc385427304 \h 30ConferenceSummaryType PAGEREF _Toc385427305 \h 30ConferenceSiteType PAGEREF _Toc385427306 \h 31ConferenceTypesListResponse (extends ResponseType) PAGEREF _Toc385427307 \h 32ConferenceTypesListType PAGEREF _Toc385427308 \h 32ConferenceTypesType Enum PAGEREF _Toc385427309 \h 33GveReserveDialDefinitionType PAGEREF _Toc385427310 \h 33LegAllocationType PAGEREF _Toc385427311 \h 34RequesterType PAGEREF _Toc385427312 \h 34RecurrencePatternType PAGEREF _Toc385427313 \h 35ReservationInputType PAGEREF _Toc385427314 \h 36ResponseType PAGEREF _Toc385427315 \h 37RequestPersonListResponse (extends ResponseType) PAGEREF _Toc385427316 \h 37RequestPersonListType PAGEREF _Toc385427317 \h 37RequestPersonType PAGEREF _Toc385427318 \h 37SiteListResponse (extends ResponseType) PAGEREF _Toc385427319 \h 38SiteInfoListType PAGEREF _Toc385427320 \h 38SiteInfoType PAGEREF _Toc385427321 \h 38Options Object Types PAGEREF _Toc385427322 \h 39ConferenceTypeOptionsResponse (extends ResponseType) PAGEREF _Toc385427323 \h 39ConferenceOptionsType PAGEREF _Toc385427324 \h 40producerAssistedOptions PAGEREF _Toc385427325 \h 40selfServiceOptions PAGEREF _Toc385427326 \h 41roomReservationOptions PAGEREF _Toc385427327 \h 41GveReserveDialOptionsType PAGEREF _Toc385427328 \h 42SiteOptionsResponse (extends ResponseType) PAGEREF _Toc385427329 \h 42SiteReservationQueryType PAGEREF _Toc385427330 \h 42Methods and Examples PAGEREF _Toc385427331 \h 42Billing Allocation Retrieval PAGEREF _Toc385427332 \h 42Conference Creation PAGEREF _Toc385427333 \h 43Conference Update PAGEREF _Toc385427334 \h 44Conference Cancellation PAGEREF _Toc385427335 \h 45Conference Series Creation PAGEREF _Toc385427336 \h 46Conference Retrieval PAGEREF _Toc385427337 \h 48Conference Options Retrieval PAGEREF _Toc385427338 \h 50Conference Reservation Retrieval PAGEREF _Toc385427339 \h 53Conference Types Retrieval PAGEREF _Toc385427340 \h 54Conference Series Retrieval PAGEREF _Toc385427341 \h 54Person Retrieval PAGEREF _Toc385427342 \h 55Conference Series Cancellation PAGEREF _Toc385427343 \h 56All Site Retrieval PAGEREF _Toc385427344 \h 57Specified Site Retrieval PAGEREF _Toc385427345 \h 58Assign Site Customer Specified ID PAGEREF _Toc385427346 \h 58Favorite Site Retrieval PAGEREF _Toc385427347 \h 59Site Options Retrieval PAGEREF _Toc385427348 \h 60Site Reservations PAGEREF _Toc385427349 \h 60GVE Reserve Dial Invitee Phone number validation PAGEREF _Toc385427350 \h 62Required Business Rules PAGEREF _Toc385427351 \h 63OverviewThis document describes the REST BT VBU conference web services. This web service API is written using REST (Representational State Transfer) architecture, making it easy to use conceptually and in practice. Supported API operations offer Conference create, update, or cancel, with query operations supported for specified, all, or Favorite Site(s); or query of specified or Conference summaries within a range of dates. The API includes Conference management capabilities; however, it is important to note the creation of Site(s), Billing Allocations, Conference Options and other configuration information provided by the API are read-only, and addition or changes to these require the involvement of BT personnel and processes before they are available for Conference creation in the API. Contact BT Conferencing with any questions.Changes in the REST API versionCreate, update, cancel, and site reservation query operations are supported in the REST API. In addition, some auxiliary operations are combined or added to improve the overall API. Addition of the Conference Summary query was added to allow for the query of Conference information on a per-company or per-requester basis for a given timeframe.The capability for queries for conference that have schedule related changes is now supported. This feature must be enabled BT Software.Major requirements for an Application using the BT REST APIXML request formatting is the most basic requirement for communication with the REST API. It is important that you have the ability insure the XML is well formed; many free XML tools are available to help diagnose these issues, from Microsoft and others.The BT REST API provides functionality for scheduling Video and Audio conferencing, and provides validation of established business rules to provide for successful conference operation. API requests that violate business rules return a failure, usually a HTTP 40X (BAD request). Of course, an important objective is to avoid failed requests – to accomplish this objective, any external application must implement business rules to avoid generating errors.Documentation for many of the required business rules is available in the appendix. Many of these business rules require that the client application prevent the user from choosing options and conference settings that are not allowed. For instance, a restriction exists that a Producer Assisted Conference may not be scheduled sooner than 1 hour from the conference start time. This restriction exists to allow for time to assign a conference producer.Each company contracting with BT for conferencing services has configuration options, product configuration, conferencing types, naming conventions, etc. These values are available using the ‘/conference/options’ URI. In most cases, enabling options for which the company is not allowed will cause a failure during the conference create or update operation. Therefore, any client application must read, interpret and allow these options for which a company is allowed. Failure to do so will result in conference create and/or update failure.Development process recommendationsAn important part of the development with the BT REST API is the ability to develop your application to avoid errors generated from the BT API. Every response includes an error or response message, and it is of great importance that you have the ability to save the error response for later review to understand why any error occurred.In general, begin making REST API conference create API call with only simplest, required options that are required to create a conference: Meeting type, Requester, Date and Time, 1 Site, and meeting duration. First create a meeting of Room Reservation meeting type. Only after you can create this type meeting, should you begin to add other features and options that are required. Notes on the External Application DevelopmentAn external development environment (ExtDev) is available for application development to test application behavior call made to the REST API client application. Application logins to ExtDev are available only after a signed Data Sharing Agreement is in place, and this is a hard requirement and typically has a significant lead time, potentially many months. Contact BT with any questions.ExtDev conferences do not launch on end points, its functionality is available to only test external application development behavior, including error handling. Notifications emails generated normally generated in the Production environment are turned off from in the ExtDev environment; such as conference confirmations, login reset notifications, etc. Contact BT with any questions.It is important to note that ExtDev is a development environment and not production, and as such may experience brief periods of unavailability for maintenance. Further, the database used by ExtDev is wiped clean and re-created from production, hence conferences and requesters created on one day, may not be available at a later date. Please plan mon Characteristics of REST ResourcesIn general, an object like a Conference is considered a “Resource” in the BT system, with the resource type identified by the URI pattern, e.g., “/conference” for conference-related resources, and “/site” for site-related resources, etc.The following characteristics apply to all BT Conferencing (BTC) REST API resources:You access a resource by sending an HTTP request to the BTC API server. The server replies with a response that contains the data you requested and a status indicator.All Production resources are located at Externally available development test resources are located at request a particular resource by appending a particular path to this base URL that specifies the resource.Most resource-specific parameters are optional depending on the call being made.All successfully schedule calls return a HTTP status 20X, Failed with a HTTP status 40X, etc. All resources may return information listed specifically in the section of this document that describes that resource.Both Conference and Site Resources have ‘/option’ URI path, with Conference also having ‘/type’.Below, when a portion of a URL, path, or parameter value is shown in italics, this indicates that you should replace the italicized value with a particular value appropriate to your request.The HTTP header in all requests should use: content-type=[application/xml]. The following HTTP method to Action mapping is generally followed:HTTP MethodActionPOSTTo create a Conference or SeriesPUTTo update a resource like a ConferenceDELETETo cancel a ConferenceGETTo retrieve a Conference or Series, or Site(s) Exceptions are for certain query operations (e.g., “/site/reservations”), POST is used instead of GET to accommodate the complex request and response types. Important Nomenclature, Resources, and ConceptsConferences are meetings that may or may not contain video resources, may or may not have a dedicated assigned human producer, may or may not start without dialing, and many other options. Many Conference option values that are not assigned when specifying the definition of a Conference will be assigned during the Conference create operation.API operations allow for create, update, cancel, and query of Conferences. All Conferences have a unique BTC assigned ID, and optional customer assigned ID.A Series is a set one or more of Conferences, usually created with a scheduled time frame, usually with the same Sites, participants, start times, and duration. Series have a unique ID, separate from the unique ID of each Conference that comprises the Series. When a recurrence element is included to create a series, the series ID is the systemConferenceID that is returned in the response.API operations allow for create, cancel, and retrieval of Conferences comprising the Series. Updates to Series require sequentially updating each Conference comprising the Series – direct updates of a Series are not currently supported in the API. In the BTC REST API, at a minimum, a Conference must have a name, type, start time, duration, conference requester, and one or more Site(s). Creation of a Series, in addition requires a schedule for creation, such as weekly. Specification of a recurrence pattern is discussed in more detail below.Conference Types that are currently supported are:Self Service – Conference that is managed by the customer, including selection of conference options, such as start time, duration, optional auto-launch, control, etc. Producer Assisted and Monitored – Conference that includes a producer that assists with the launch of the call and then provides proactive monitoring. Producer Assisted and Monitored meetings may have resources such as bridges, audio numbers, etc. assigned at a date after conference creation by a conference producer as a part of conference production. As a consequence, all resource information may not be available when a successful Conference get operation completes. An example is the Audio dial in numbers may not be available for a Producer Assisted Conference at conference create time, because an audio bridge is not be assigned at conference create time.Room Reservation – A Conference room without scheduled video equipment or audio.Any or all of the above Conference types may be available to a company based on chosen options, available hardware, company configuration policy, etc. The ‘/conference/type’ path returns the supported types that are currently configured for the company. Conference options are available based on company policies, hardware types, network throughput, etc. The ‘/conference/option’ path returns company specific Conference options available organized by Conference type. The company specific Conference options include configured names chosen by the company for presentation of each conference type.GVE Reserve Dial (GVE RD) conferences are Self–Service Conferences, and allow one or more external company sites to comprise a conference. A company may or may not be enabled for GVE RD conferences. The ‘/conference/options’ element ‘gveReserveDialEnabled’ element under selfServiceOptions must be true to create GVE RD conferences.GVE RD conferences may be of either HOST or INVITEE type. Sites that participate in a GVE RD conference must have gveRDCapable as true in the Site description. A successful HOST conference create operation requires the number of external participating Sites, and returns an Access Number and Participant Code. INVITEE conferences require an Access Number and Participant Code for the create operation. An INVITEE Access Number may be validated using the ‘/conference/gve_reserve_dial/invitee_access_number’ URI.Billing Allocations may be configured for a conference for cost assignment purposes. Companies use Billing Allocations for their own cost assignment purposes for conference creation, and are Company specific; the allocations are different for different Companies. The Billing Allocation ID and Billing Allocation value are included when Companies review their invoice for Conference services. Hence, only Companies will know the actual BillingAllocation values that must be included with the Conference.The general process of including Billing Allocations in a create conference call is to retrieve the Billing Allocation using the ‘/billingallocations’ GET call, parse the results, inspect the ‘requiredYN’ value to determine whether the value must be included, allow the user to enter an allocationValue in your UI, and submit the allocationTypeID and allocationValue with the create Conference call. Note that if any required Billing Allocation is not included, the Conference creation will fail.The ‘/billingallocations’ path returns the configured Billing Allocations information and related information for a company, if any. For example:<ns2:BillingAllocationListResponse><returnMessagexsi:nil="true"/> <allocations> <list> <allocationTypeID>17082129</allocationTypeID> <allocationType>Cost Center</allocationType> <requiredYN>true</requiredYN> <editableYN>true</editableYN> </list> </allocations></ns2:BillingAllocationListResponse>In the above Billing Allocations response, the requiredYN element is set to true. This means when you create a conference, the billingAllocations element must be included in the create conference call, and all required Allocations must have a value set (e.g. be non-null), and include the “allocationTypeID” to identify it; If the requiredYN value is set to false, a Billing Allocation value is optional. Below is an example with 2 required Billing Allocations:<conference><!—other conference create definitions here … <billingAllocations> <allocationTypeID>28345212</allocationTypeID> <allocationValue>My Allocation ID 123</allocationValue> </billingAllocations> <billingAllocations> <allocationTypeID>70755454</allocationTypeID> <allocationValue>My Allocation ID 234 </allocationValue> </billingAllocations>…</conference> A Site is a room, and usually a configured set of video equipment, including one or more camera(s) and one or more participant viewing screens. Site(s) have options based on hardware and network capabilities, etc. In a Conference create or update operation a single site must be chosen as the host site. Each Site may or may not have a Leg Allocation for purposes of cost assignment for the Conference if configured for the company. Leg Allocations are frequently used for tracking travel savings for video Conference usage, and may or may not be configured for a company. Leg Allocations are provided read-only in the API.In the BT REST API, if an update is desired of conference attributes other than the Sites, the ConferenceSites elements in the conference may be omitted so that the Sites in the Conference are unchanged by the update. For instance, if it is possible that a Conference Producer has added or removed Sites from the Conference, a BT REST API update to the conference may omit the ConferenceSites Element and the Sites included in the Conference will remain unchanged.By default, a create conference or series call will create the conference with the timezone and timezone ruleset of the Request Person of the conference. However, this may be overridden by setting the timezone in the ‘conferenceTimezone’ element on the ConferenceType object during a create conference operation.Including Audio in Video ConferencesAudio participants are currently supported in Producer Assisted and non-gveReserveDial Self Service Conferences. Note that audio participants are not currently supported in Self Service Reserve Dial, or in Room Reservation Conferences. There are 2 types of Audio available for selection in the API, MeetMe, and Non-MeetMe Audio. MeetMe Audio is chosen by specifying only an audio participant Count, as in <audioParticipantCount>1</audioParticipantCount>. Non-MeetMe audio is specified by specifying a list of audio participants, as in <audioParticipants> <list>John</list> <list>Paul</list> <list>Peter</list> </audioParticipants>Please note that Non-MeetMe audio is considered a legacy feature, and it is likely that MeetMe audio will be required.MeetMe Audio is always used for Producer Assisted meetings; it is invalid to specify Non-MeetMe audio for Producer Assisted Meetings. Self Service meetings have Non-MeetMe audio, and may have MeetMe audio available. If Self Service MeetMe Audio is available, in the ‘/conference/options’ response, the MeetMeAudioEnabled value will be set to true, as in<selfServiceOptions> <MeetMeAudioEnabled>true</MeetMeAudioEnabled></selfServiceOptions>If MeetMe audio is enabled for Self Service meetings, it is invalid to specify Non-Meetme audio; it is invalid to specify a list of audio participants. If the conference is successfully created, Audio dial in information is available by performing a HTTP GET to ‘/conference/<conference ID> for a meeting created with audio. Here is an example of both Producer Assisted and Self-Service audio that has been successfully assigned. <conferenceSites> <dialInAddress>+1 800 528 0633</dialInAddress> <dialInPasscode>97235027</dialInPasscode></conferenceSites>Including Webex in Video ConferencesWebex participants are currently supported in Producer Assisted and Self Service Conferences. The ‘conference/options’ response <webExOptions>true </webExOptions> element under Self-Service and Producer Assisted is true if Webex is supported. Note that Webex participants are supported in Reserve Dial conferences. Webex accounts are created automatically for scheduled conferences.For LaunchNow, Self Service conferences only, a restriction exists if Webex is selected. Webex requires the creation of a Webex account, which can take a number of minutes. For LaunchNow conferences, if the Requester has never included Webex in a conference previously, and Webex is included in the LaunchNow conference, the conference creation will fail, because insufficient time is available to create a Webex account.If the ‘conference/options’ response contains a <webExOptions>true</webExOptions> element, Webex may be included in a conference by including a including <conference><webex>true</webex></conference> in the ConferenceInput definition.Conference Series and RecurrenceCreation of a Series requires the inclusion of a <recurrence> block, to define the pattern used for creating the Conference Series meetings, such as creating a Conference every week. The Recurrence types that are currently supported are Daily, Weekly, and Monthly. To specify the end of the Conference Series for all of the above Recurrence types, you may either specify the total number of meetings to create, e.g. <count>5</count>, or specify an enddate, for example the <enddate>2013-12-20T03:00:00-07:00</enddate> on which to end the recurrence.Daily recurrence specifies creating Conferences every day for a specified number of days, or until a specific end date. Recurrence days may be limited only to Weekdays by including the <dailyWeekdaysOnly>true</dailyWeekdaysOnly> element. The below specifies creating 5 Conferences on every day starting with the <beginDateTime> date.<beginDateTime>2012-12-21T03:00:00-07:00</beginDateTime> <recurrence> <recurrenceType>Daily</recurrenceType> <dailyWeekdaysOnly>false</dailyWeekdaysOnly> <recurrenceEndType>Count</recurrenceEndType> <numberOfConferences>5</numberOfConferences> </recurrence>Weekly recurrence allows specifying Conferences to occur at a specified frequency, optionally on specified days. For instance, every 2 weeks on a Thursday. The below recurrence definition will create a total of 5 Conferences, each occurring on Saturday and Monday, every other week:<beginDateTime>2013-01-11T01:00:00-07:00</beginDateTime> <recurrence> <recurrenceType>Weekly</recurrenceType> <recurrenceEndType>Count</recurrenceEndType> <weeklyDays> <list>Saturday</list> <list>Monday</list> </weeklyDays> <frequency>2</frequency> <numberOfConferences>5</numberOfConferences> </recurrence>Monthly recurrence allows for creating Conferences with a pattern for each month. Within a month, Conferences are allowed to occur on a specific day, such as the 15th, or on a week number within the month, such as the First, Second, Third, or Last. For Monthly recurrence meetings where the Week number is specified, the Day of the Week of the meeting that is created is determined by the Day of the Week of the Conference start date.The below recurrence definition will create a total of 3 conferences, 1 Conference each month, each on the 3rd Tuesday of each month: <beginDateTime>2012-02-21T03:00:00-07:00</beginDateTime> <recurrence> <recurrenceType>Monthly</recurrenceType> <recurrenceMonthlyType>Week</recurrenceMonthlyType> <monthlyWeek>Third</monthlyWeek> <frequency>1</frequency> <recurrenceEndType>Count</recurrenceEndType> <numberOfConferences>3</numberOfConferences> </recurrence>Security, Authentication, Requester, Person, Host and PermissionsLogins used to access the BTC REST API authenticate using a username and password using BASIC HTTP authentication over required SSL/TLS transport. The normal situation is for the use of one, company specific authentication login to the REST API, with use of the ‘system Requester ID’, the ‘customer Specified Requester ID’, or an email address used to define the person within a company while making the request. The BTC REST API login must have the preconfigured API login permissions; not every login has these assigned permissions.A Requester is a person that is a member of the same company as the company authentication login, who creates, updates, or cancels a conference. A Requester will be created during a conference create or update operation if they are not currently created. All Requester data is stored when it is passed using the BTC REST API either during create or update conference calls.A call to create a Person (a POST to ‘/person’) will create the person if they are not already created, or replace the current information stored in the BTC database and return the system Requester ID. If same user System Requester ID has been created, the current Person information will be returned. A list of requesting Person created can be returned with a HTTP GET to ‘’/person’.A Host person may be optionally specified in addition to the Requester. A Host person is also a member of the same company, who is allowed to create, update or cancel a conference for the Requester person, and receives an e-mail confirmation in addition to the Requester. A Host person may also be created during conference a create or update operation. The meeting audio and WebEx dial-in information is taken from the Requester person, not the Host person.A conference must have a single assigned Requester person. The Requester person may be changed for a conference during a conference update operation by passing different requester in the request. The Host may also be changed by passing a different Host in the conference request. To create a requester, either during a conference create call or using the ‘/person’ URI, the caller must specify the First Name, Last Name, e-mail address, and Time zone. A customer specified ID may also be defined. If the caller specifies a phone number, the caller must also specify a country code so that the correct calling string may be determined. Once a person is created using the API, they may be used as either a Host and/or Requester for a conference.The BT API uses 3 identifiers to identify the correct Person, in order of most trusted to least trusted: Requester ID, Company Specified Person ID, and e-mail address. The Requester ID is always unique, while the Company Specified Person ID and e-mail may contain duplicates, although this is not recommended. A PUT request to ‘/person’ may be used to assign all other values, and including the Requester ID is recommended to insure unambiguous assignment.It should be noted that a Requesters ‘system requester ID’ may be different between our development and production databases, if the Requester is created during a conference create operation. Specifying a Requester ID that is not in the Ext Dev test database during a conference create will cause a failure. Restricting testing to only existing users during testing can avoid these types of issues.While the Requester or Request person may be specified using any of the ‘system Requester ID’, the ‘customer Specified Requester ID’, or an email address, it is recommended that either the ‘customer Specified Requester ID’ be included to identify the Requester during conference create operations. This can reduce the number of issues with unknown Requesters during conference create operations. Further, including these values can simplify BT Help Desk issue resolution.The requester may be uniquely specified using either the system Requester ID, customer Specified ID, or the email address.. Below is an example of specifying a Requester with only an email address:<conferenceRequester> <firstName>my</firstName> <lastName>user</lastName> <timeZone> America/Chicago</timeZone> <emailAddress>my_user@</emailAddress> </conferenceRequester>Query Operations and Site ReservationsQueries performed return a summary of the object of interest, as in the case of a Conference returning the system ID, and company specified ID, name, etc in the Conference Summary Type. Conference queries are allowed by specifying a start time and duration, for a specific user, or the entire company. Query duration currently has an upper limit of 10 days maximum.Site Queries require a list of Site(s) of interest, a start Time and duration, and return the Date/Time(s) that the site is used during the time frame. Query duration currently has an upper limit of 10 days maximum.Conference Query Operations for Conferences modified The capability for query of a conference that has schedule related changes is available in the BTC API. This feature must be enabled for selected company’s using the BTC API in coordination with BT software. The conference change query allows for the return of a conference definition that has had change(s) made since a given Date/time following the conference create. Note that conference update operations using Web Services will also result in changes that are reflected in the results returned by the API, and this must be a consideration in the API usage.The specific changes that are tracked for purposes of allowing a change record for Web Services query are: Conference NameConference Type: Self Service, Producer AssistedStart date and time, and durationConference State: Cancelled, Ready, etc.Site Inclusion/removalAudio/WebEx inclusion/removalThere are 2 parameters that allow for the query of conference changes:Conference ID Conference to test for changesChange Date/TimeTest for changes since specified date/timeThe response is a ConferenceQueryResponse, which will include a value of ‘NoResults’ or ‘ResultsFound’. If ResultsFound, then, and the conference set to the latest version of the ConferenceType object that contains the latest conference details for the conference.Note that there are many non-schedule related options for a video conference that will not affect the results returned by the API, e.g. Conference Presentation Mode, auto extend minutes, etc. Common ProblemsXML over HTTP Request formatting In general, HTTP Requests are comprised of both HTTP headers, and the HTTP payload.HTTP requests with XML payload, e.g. POST requests should have content-type=[application/xml].Sending XML in the payload that has whitespace stripped from between the elements is recommended.Sending XML in the payload that has line-feed and end of line characters stripped is recommended.Problems have been reported when not setting a value for the User-Agent. Below is an example of a HTTP User-Agent string that works: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50215)BTC REST API DETAILThe latest BTC REST API xml schema is given by the Web Application Description Language (WADL). The WADL shows all currently supported resources, grammars, methods, types, and enumerations used by the API. The WADL currently supported by the server is available by appending ‘/?_wadl&_type=xml’ to the base URL as in must have currently provisioned API login credentials to access the above URL.It is important to note that the below Object definitions are intended as a reference and description only for ease of human reading, and the above WADL should be used for actual coding purposes. The Word Processor makes auto-corrections that may not actually function with API calls.Below is a descriptive list of key object types included in the XML schema:Object Types BillingAllocationTypeNameTypeDescriptionRequiredallocationTypeIDIntegerBT internal allocation type keyYesrequiredYNBooleanFlag to indicate whether it is requiredNoallocationValueStringBilling allocation valueNoeditableYNBooleanA read-only flag indicating whether a value can be edited by user NoBillingAllocationListType NameTypeDescriptionRequiredlistBillingAllocationListTypeList of billing allocationsNoBillingAllocationListResponse (extends ResponseType)NameTypeDescriptionRequiredallocationsBillingAllocationListTypeType containing List of billing allocationsNoConferenceTypeNameTypeDescriptionRequiredconferenceTypeConferenceTypesType enum:Self ServiceProducer Assisted and MonitoredRoom ReservationConference type YesgveReservedDialBooleanFlag to indicate if the conference is GVE Reserved DialNogveReserveDialDefinitionGveReserveDialDefinitionTypeGVE Reserved Dial detailsNospecialInstructionsStringAny conference special instructionNocustomerSpecifiedConferenceIDStringCustomer’s internal conference IDNoaudioParticipantCountIntegerNumber of audio participants in a producer-assisted callNoaudioParticipantsStringArrayList of audio participant names in a self-service video-audio callNodesktopParticipantCountIntegerNumber of desktop video (e.g., Cisco Movi) participants for company that is provisioned for this serviceNosystemConferenceSeriesIDIntegerSystem-generated conference series IDNoautoExtendDurationIntegerNumber of auto-extend minutesNoconferenceModeCPModeType enum:5 + 1Side by SideExecutiveTop and Bottom…Continuous Presence modeNoGreetingGreetingsType enum:Video BroadcastAudio BroadcastVideo by SiteProducer greeting typeNoconferenceStatusStringSystem-generated conference status description. Populated for conference GET responseNobillingAccountIDIntegerConference billing account ID. Populated for GET responseNosetupDurationIntegerConference setup duration minutesNoconferenceNameStringConference nameYesbillingAllocationsBillingAllocationType[0…n]Billing AllocationsNosystemConferenceIDIntegerSystem-generated unique conference identifier. Must be populated for conference update (PUT)Required for conference update/cancel operationsmonitoringMonitoringLevelsType enum:DedicatedScannedProducer monitoring levelNoconferenceRequesterRequesterTypeConference requester details. If requester has already been created, only the systemRequesterID is required. Otherwise a lookup up will be performed based on customerSpecifiedRequesterID or email address. For companies that are setup for auto-provisioning, new requester can be created on the fly during conference create method call (POST)YesconferenceHostRequesterTypeSame as a conference Requester, except allowed to manage meeting in place of requester. Audio Details and WebEx are assigned for the Requester, not the conference Host.NoconferenceDurationIntegerConference duration minutesYesbeginDateTimeDatetimeConference begin date/time. Timezone offset hrs is included in this parameter. The actual time zone the conference will be created under is derived from the requester person’s timezone.YeslaunchNowBooleanFor self-service conference type, flag to indicate whether a conference is to be launched right awayNoentryExitToneBooleanFlag to indicate whether the conference should have entry-exit tone enabledNoendWarningToneIntegerNumber of minutes before conference end time when the end warning tone should be playedNosecondaryEndWarningToneIntegerNumber of minutes before conference end time when the secondary end warning tone should be playedNovideoRecordingBooleanFlag to indicate whether a producer-assisted call should have recording enabledNovideoMediaTypeVideoMediaType enum:CDDVDVHSVideo recording media typeNoaudioMediaTypeAudioMediaType enum:CDCassetteAudio recording media typeNonumOfCopyIntegerNumber of recording media to be shippedNoshipMethodShipMethodType enum:Express OvernightRegular MailSecond Day…Recording shipment methodNoshipAddressStringRecording Ship-to address NoconferenceTimezoneTimezoneTypeSets the Conference timezone. If this is not set the Timezone used is the Timezone for the conferenceRequester.NodcpTypeDCPOptionsType[0..n]:Media PowerpointLayout ChangesManage Site Connection TimesPassive ParticipationDedicated producer conference involvement optionsNotelepresenceSwitchingPolicySwitchingPolicyType enum:SegmentSiteIndicate swithing policy choice in a Cisco Telepresence conference NotelepresenceVideoAnnounceBooleanFlag to indicate whether Video Announce is enabled in a Cisco Telepresence conferenceNowebexBooleanIndicate whether webex will be included with the conferenceNoallowSiteUpdatesBooleanFlag to indicate that users can have the option to add more sites laterNoRecurrenceRecurrencePatternTypeRecurrence detailsNoconferenceSitesConferenceSiteType[1…n]Array of conference sitesYesConferenceDetailsResponse (extends ResponseType)NameTypeDescriptionRequiredConferenceConferenceTypeConference detailsYesConferenceInputNameTypeDescriptionRequiredConferenceConferenceTypeConference/series details used for creation and updateYesConferenceListResponse (extends ResponseType)NameTypeDescriptionRequiredConferenceconferenceSummaryType[0..n]List of conference summariesYesConferenceQueryResponse (extends ResponseType)NameTypeDescriptionRequiredConferenceConferenceTypeConference detailsNoqueryResponseQueryStatusTypeStatus of query: No Results, ResultsFoundYesConferenceResponse (extends ResponseType)NameTypeDescriptionRequiredsystemConferenceIDIntegerThe BT internal conference unique identifier for a conference. Required parameter for conference Update/Delete. Defaults to 0 if any error occursYesconferenceConfirmationURLStringA URL that can be used to retrieve the conference confirmation onlineNorequesterSystemIDIntegerBT’s unqiue identifier for the conference requester person. In the case the requester is auto-generated, this id represents the newly created person idNohostPersonSystemIDIntegerSame as a requesterSystemID above, for the host person NoConferenceReservationInfoListResponse (extends ResponseType)NameTypeDescriptionRequiredreservationsConferenceSummaryListTypeA URL that can be used to retrieve the conference confirmation onlineYesConferenceSummaryListTypeNameTypeDescriptionRequiredlistList of ConferenceSummaryTypeList of Conference Summaries returned by query.YesConferenceSummaryType NameTypeDescriptionRequiredsystemConferenceIDIntegerSystem-generated unique conference identifier.YessystemConferenceSeriesIDIntegerSystem-generated unique conference series identifier.NoconferenceNameStringConference nameYesbeginDateTimeDatetimeConference begin date/timeYesconferenceDurationIntegerConference duration minutesYesconferenceTypeConferenceTypesType enumConference typeYesgveReservedDialBooleanFlag to indicate whether a conference is GVE Reserved DialNoConferenceSiteTypeNameTypeDescriptionRequireddialDirectionDialDirectionType enum:Site DialsSite ReceivesOptional flag to indicate the dial direction for this siteNosystemSiteIDIntegerBT’s unique identifier for a siteYestransmissionRateTransmitRateType enum:128384512…Optional parameter to indicate a custom transmit rate for a siteNohostSiteYNBooleanFlag to indicate if a site is to be used as the host site. A video conference must have one and only one host siteYes, for the Host site, otherwise No.customerSpecifiedSiteIDStringCustomer’s unique identified for a siteNovideoSignalVideoSignalType enum:ISDNH.323SIPOptional parameter to indicate the video signal used for a siteNoparticipantStringOptional string for participant namesNodialInAddressStringSystem-generated dial-in stringNodialInPasscodeStringSystem-generated dial-in participant code/pinNolegAllocationLegAllocationTypeArray of leg-level allocation values (travel savings)NoConferenceTypesListResponse (extends ResponseType)NameTypeDescriptionRequiredconferenceListConferenceTypesListTypeContains list of ConferenceTypesYesConferenceTypesListTypeNameTypeDescriptionRequiredlistConferenceTypesTypeList of supported ConferenceTypesTypeYesConferenceTypesType EnumNameTypeDescriptionRequiredSelf ServiceSelf ServiceA Self Service Conference TypeNoProducer Assisted and MonitoredProducer Assisted and Monitored A Producer Assisted and Monitored Conference TypeNoRoom ReservationRoom ReservationA Room Reservation Conference TypeNoGveReserveDialDefinitionTypeNameTypeDescriptionRequiredTypeGveReserveDialType enumHostInviteeType of GVE Reserved Dial callYeshostNumberInviteesIntegerNumber of invitee sites in a Host callNoinviteeAccessNumberStringAccessnumber that participants dial to join an Invitee callNoinviteeParticipantCodeStringPin number that participants enter to join an Invitee callNoLegAllocationTypeNameTypeDescriptionRequiredallocationTypeIDIntegerBT internal allocation type keyYesrequiredYNBooleanFlag to indicate whether it is requiredNoallocationValueStringBilling allocation valueYes for required values, otherwise, NoeditableYNBooleanA read-only flag indicating whether a value can be edited by user NoRequesterTypeNameTypeDescriptionRequiredemailAddressStringRequester person email address. Can be used to find the matching person if systemRequesterID is missingYesbasePhoneNumberStringRaw phone number as dialed from the countryNosystemRequesterIDIntegerBT’s unqiue identifier for a person. If this value is know, it is best to use this field to uniquely identify a personNocountryCodeCountryCodeType enum (standard 3-letter ISO country code):USAGBRCHNCountry code that the requester person resides inNofirstNameStringNolastNameStringNocustomerSpecifiedRequesterIDStingCustomer’s own unique identifier for the requester personNotimeZoneTimezoneType enum (standard Java timezone code):Europe/LondonAmerica/New_YorkAmerica/DenverGMT…The requester person’s time zone. When a conference is created for the requester, the time zone of the conference is set using the requester person’s time zoneYesRecurrencePatternTypeNameTypeDescriptionRequiredrecurrenceTypeRecurrenceType enum:DailyWeeklyMonthlyType of recurrenceYesfrequencyIntegerHow many conferences per week or per monthNodailyWeekdaysOnlyBooleanFor Daily recurrence, flag to indicate whether to conference should happen only on week daysNoweeklyDaysString ListFor Weekly recurrence type only, list of weekday (Monday, Tuesday, etc) that conference should be created onNorecurrenceMonthlyTypeRecurrenceMonthlyType enum:Week (must specify which week to occur)Day (must specify which day of the month to occur)For Monthly recurrence type, indicate which week or which day the meeting is to occur NomonthlyWeekRecurrenceMonthlyWeekType enum:FirstSecondThirdFourthLastFor Monthly recurrence and Week recurrenceMonthlyType, indicate which week the conference is to occurNomonthlyDayNumberIntegerFor Monthly recurrence and Day recurrenceMonthlyType, indicate which day the conference is to occurNorecurrenceEndTypeRecurrenceEndType enum:DateCountIndicate whether to create conferences up to a given date, or the number of conferences to createYesendDateDatetimeFor Date recurrenceEndType,the date for which to create conference up toNonumberOfConferencesIntegerFor Count recurrenceEndType,the number of conference to create in the seriesNoReservationInputTypeNameTypeDescriptionRequiredsiteListConferenceSiteTypeList of Sites for which reservation information is requiredYesstartDateTimedateTimeStart dateTime for the query rangeYestimeZoneTimezoneTypeTime zone for the startDateTimeNonumberOfDaysIntegerNumber of days for the query duration.YesResponseTypeNameTypeDescriptionRequiredreturnMessageStringReturn any meaningful messageYesvalidationIssuesValidationIssueType[0…n]Any validation issue (code/msg)NoPropertiesPropertyType[0…n]A list of key/value pairs if necessaryNoRequestPersonListResponse (extends ResponseType)NameTypeDescriptionRequiredrequestPersonListRequestPersonListTypeResponse for person list queryYesRequestPersonListType NameTypeDescriptionRequiredlistList of RequestPersonTypeList of RequestPersonTypeYesRequestPersonType NameTypeDescriptionRequiredemailAddressStringEmail addresessNobasePhoneNumberStringPhone numberNosystemRequesterIDIntegerUnique ID assisgned By BT for this PersonYescountryCodeCountryCodeTypeThree character code to uniquely identify the countryNofirstNameStringPerson’s first nameNocustomerSpecifiedRequesterIDString(100)Customer Specified ID used to identify a PersonNolastNameStringPerson’s last nameNotimeZoneTimeZoneTypeEnum of Standard TimeZone typeNoSiteListResponse (extends ResponseType)NameTypeDescriptionRequiredsitesSiteInfoListTypeType containing List of SiteInfoTypeYesSiteInfoListTypeNameTypeDescriptionRequiredlistList of SiteInfoTypeList of SiteInfoTypeYesSiteInfoTypeNameTypeDescriptionRequiredisdnCertifiedbooleanTrue if isdn certifiedYesipCertifiedbooleanTrue if IP certifiedYesvideoCapablebooleanTrue if Video capableYesgveRDCapableBoolean True if GVE Reserve Dial CapableYessystemSiteIDIntUnique BT Site IdentifierYesmaxXmitRateIPStringMaximum transmit rate for IPYessiteNameStringText site nameYescustomerSpecifiedSiteIDStringCustomer specified Site identifierNoepcCertifiedBooleanIf Site is certified for EndPointConnectYespreferredXmitTypeStringPreferred transmit Type: e.g. H.323, ISDNNopreferredISDNDIalDirectionDialDirectionTypeDial direction preference for ISDNNopreferredIPDialDirectionDialDirectionTypeDial direction preference for IPNolegAllocationsLegAllocationListTypeList of LegAllocations for cost assignment purposes for this site.NoOptions Object TypesThe top level options response type, grouped into producerAssistedOptions, selfServiceOptions, and roomReservationOptions. Many of the below options have a BT configurable default or system specified value, set if no option is chosen. Note the default value is BT configured.ConferenceTypeOptionsResponse (extends ResponseType)NameTypeDescriptionRequiredoptionsConferenceOptionsTypeResponse type containing Conference OptionsyesConferenceOptionsTypeNameTypeDescriptionRequiredproducerAssistedOptionsProducerAssistedOptionsTypeOptions for Producer Assisted ConferencesyesselfServiceOptionsSelfServiceOptionsTypeOptions for Self-Service ConferencesyesroomReservationOptionsRoomReservationTypeOptions for Room Reservation ConferencesyesconferenceReservationQueryOptionsConferenceReservationQueryTypeOptionsYesgveReservceDialOptionsGveReserveDialOptionsTypeOptions for GVE RD conferencesNoproducerAssistedOptionsNameDescriptionavailableBoolean flag indicating whether Producer Assisted Conferences are available.audioOptions Boolean flag indicating whether Audio is available with producer assisted Conferences.warningToneOptionsOptions for setting warning tones on Conferences.cpModeOptionsOptions for setting participant screen layout for bridged Conferences.setupTimeOptionsOptions normally available for setup time prior to conference Start time.dialDirectionOptionsOptions for whether the Site dials, or is dialed from Bridge or other Site.transmitRateOptionsNetwork Transmit rate settings for Conference bandwidth usage.autoExtendOptionsTime value options for auto extending a ConferencegreetingsOptionsOption types for greeting provided by the Conference producermonitoringLevelOptionsOption types for monitoring by the Conference producervideoRecordingOptionsBoolean flag indicating whether video recording is available.displayLabelString containing the company Producer Assisted label for presentationselfServiceOptionsNameDescriptionavailableBoolean flag indicating whether Self-Service Conferences are available.audioOptions Boolean flag indicating whether Audio is available with Self-Service ConferenceswarningToneOptionsOptions for setting warning tones on ConferencescpModeOptionsOptions for setting participant screen layout for bridged conferences.setupTimeOptionsOptions normally available for setup time prior to conference Start time.dialDirectionOptionsOptions for whether the Site dials, or is dialed from Bridge or other Site.transmitRateOptionsNetwork Transmit rate settings for Conference bandwidth usage.autoExtendOptionsTime value options for auto extending a conferencelaunchNowOptionsBoolean flag indicating whether a Launch Now Conference is available.gveReserveDialEnabledBoolean flag indicating whether a GVE Reserve Dial Conferences are availabledisplayLabelString containing the company Self Service label for presentationMeetMeAudioEnableBoolean flag indicating whether MeetMe audio is available.maxTotalSitesThe maximum number of sites that are allowed in a conference. This is configured by BT with consultation with company administration. Contact BT with questions.roomReservationOptionsNameDescriptionavailableBoolean flag indicating whether Room Reservations are availabledisplayLabelString containing the company Room Reservation label for presentationGveReserveDialOptionsTypeNameDescriptiondisplayLabelString value with the company GVE Reserve Dial label for presentationSiteOptionsResponse (extends ResponseType)NameTypeDescriptionRequiredoptionsSiteReservationQueryTypeList of options for Site Reservation QueriesYesSiteReservationQueryTypeNameTypeDescriptionRequiredmaxQueryDaysintMaximum number of days allowed for a queryYesMethods and ExamplesAll methods require the standard HTTP BASIC Authorization header set to the assigned company "Authorization" ":" credentials, e.g. ‘login’ : ‘password’ BASE 64 encoded. See RFC 2616 for details.Billing Allocation RetrievalURI: /billingallocationsMETHOD: GETRequest: Response: BillingAllocationListResponseSample request/response:Response:<ns2:BillingAllocationListResponse xmlns:ns2=""> <allocations> <list> <allocationTypeID>69875789</allocationTypeID> <allocationType>Business Unit</allocationType> <requiredYN>false</requiredYN> <editableYN>true</editableYN> </list> <list> <allocationTypeID>69875790</allocationTypeID> <allocationType>Project #</allocationType> <requiredYN>false</requiredYN> <editableYN>true</editableYN> </list> </allocations></ns2:BillingAllocationListResponse>Conference CreationURI: /conferenceMETHOD: POSTRequest: ConferenceInputResponse: ConferenceResponseSample request/response:Request:<ns2:ConferenceInput xmlns:ns2=""> <conference> <conferenceType>Producer Assisted and Monitored</conferenceType> <audioParticipantCount>5</audioParticipantCount> <desktopParticipantCount>0</desktopParticipantCount> <systemConferenceSeriesID>0</systemConferenceSeriesID> <conferenceMode>Top and Bottom</conferenceMode> <conferenceName>Test ws conf </conferenceName> <systemConferenceID>0</systemConferenceID> <conferenceRequester> <systemRequesterID>18071992</systemRequesterID> </conferenceRequester> <conferenceDuration>5</conferenceDuration> <beginDateTime>2011-09-28T03:04:37.291Z</beginDateTime> <endWarningTone>10</endWarningTone> <conferenceSites> <systemSiteID>660960</systemSiteID> <hostSiteYN>true</hostSiteYN> </conferenceSites> <conferenceSites> <systemSiteID>621284</systemSiteID> <hostSiteYN>false</hostSiteYN> </conferenceSites> <conferenceSites> <systemSiteID>13312507</systemSiteID> <hostSiteYN>false</hostSiteYN> </conferenceSites> </conference></ns2:ConferenceInput>Response:<ns2:ConferenceResponse xmlns:ns2=""> <returnMessage xsi:nil="true" xmlns:xsi=""/> <systemConferenceID>108545809</systemConferenceID> <conferenceConfirmationURL>; <requesterSystemID>18071992</requesterSystemID></ns2:ConferenceResponse>Conference UpdateURI: /conferenceMETHOD: PUTRequest: ConferenceInputResponse: ConferenceResponseSample request/response:Request:<ns2:ConferenceInput xmlns:ns2=""> <conference> <conferenceType>Producer Assisted and Monitored</conferenceType> <audioParticipantCount>0</audioParticipantCount> <desktopParticipantCount>0</desktopParticipantCount> <systemConferenceSeriesID>0</systemConferenceSeriesID> <conferenceMode>Side by Side</conferenceMode> <conferenceName>Test ws conf 2</conferenceName> <systemConferenceID>108545809</systemConferenceID> <conferenceRequester> <systemRequesterID>18071992</systemRequesterID> </conferenceRequester> <conferenceDuration>5</conferenceDuration> <beginDateTime>2011-09-29T03:04:37.291Z</beginDateTime> <endWarningTone>10</endWarningTone> <conferenceSites> <systemSiteID>660960</systemSiteID> <hostSiteYN>true</hostSiteYN> </conferenceSites> <conferenceSites> <systemSiteID>621284</systemSiteID> <hostSiteYN>false</hostSiteYN> </conferenceSites> <conferenceSites> <systemSiteID>13312507</systemSiteID> <hostSiteYN>false</hostSiteYN> </conferenceSites> </conference></ns2:ConferenceInput>Response:<ns2:ConferenceResponse xmlns:ns2=""> <returnMessage xsi:nil="true" xmlns:xsi=""/> <systemConferenceID>108545809</systemConferenceID> <conferenceConfirmationURL>; <requesterSystemID>18071992</requesterSystemID></ns2:ConferenceResponse>Conference CancellationURI: /conference/{id}METHOD: DELETERequest: Path parameter: id – systemConferenceID for the conference to be cancelledHeader Parameter: systemRequesterID – Requester person that requested the cancellationHeader Parameter: customerSpecifiedRequesterID – Customer’s unique identifier for the requesterResponse: ResponseTypeSample request/response:Requester headers:id: 108545809systemRequesterID: 18071992Response:<ns2:Response xmlns:ns2=""> <returnMessage>Meeting 108545809 has been cancelled.</returnMessage></ns2:Response>Conference Series CreationURI: /conferenceMETHOD: POSTRequest: ConferenceInputResponse: ConferenceResponse. The systemConferenceID returned is the conference series ID. One can retrieve the conferences in the same series by using series GET (“/series”)Sample request/response:Request:<ns2:ConferenceInput xmlns:ns2=""> <conference> <conferenceType>Producer Assisted and Monitored</conferenceType> <audioParticipantCount>5</audioParticipantCount> <desktopParticipantCount>0</desktopParticipantCount> <systemConferenceSeriesID>0</systemConferenceSeriesID> <conferenceName>Test ws conf Tue Sep 27 09:49:11 MDT 2011</conferenceName> <systemConferenceID>0</systemConferenceID> <monitoring>Dedicated</monitoring> <conferenceRequester> <systemRequesterID>18071992</systemRequesterID> </conferenceRequester> <conferenceDuration>5</conferenceDuration> <beginDateTime>2011-09-28T03:49:10.633Z</beginDateTime> <dcpType>Layout Changes</dcpType> <dcpType>Manage Site Connection Times</dcpType> <dcpType>Passive Participation</dcpType> <recurrence> <recurrenceType>Weekly</recurrenceType> <frequency>1</frequency> <dailyWeekdaysOnly>false</dailyWeekdaysOnly> <weeklyDays> <list>Saturday</list> </weeklyDays> <monthlyDayNumber>0</monthlyDayNumber> <recurrenceEndType>Count</recurrenceEndType> <numberOfConferences>3</numberOfConferences> </recurrence> <conferenceSites> <systemSiteID>660960</systemSiteID> <hostSiteYN>true</hostSiteYN> </conferenceSites> <conferenceSites> <systemSiteID>621284</systemSiteID> <hostSiteYN>false</hostSiteYN> </conferenceSites> <conferenceSites> <systemSiteID>13312507</systemSiteID> <hostSiteYN>false</hostSiteYN> </conferenceSites> </conference></ns2:ConferenceInput>Response:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:ConferenceResponse xmlns:ns2=""><returnMessage xmlns:xsi="" xsi:nil="true"/><systemConferenceID>108546601</systemConferenceID><conferenceConfirmationURL> RetrievalURI: /conference/{id}METHOD: GETRequest: Path Parameter: id - systemConferenceIDResponse: ConferenceDetailResponseSample request/response:Request:id: 108483514Response<ns2:ConferenceDetailsResponse xmlns:ns2=""> <returnMessage>Conference detail for 108483514 returned.</returnMessage> <conference> <conferenceType>Producer Assisted and Monitored</conferenceType> <audioParticipantCount>5</audioParticipantCount> <desktopParticipantCount>0</desktopParticipantCount> <systemConferenceSeriesID>0</systemConferenceSeriesID> <autoExtendDuration>15</autoExtendDuration> <conferenceMode>Top and Bottom</conferenceMode> <conferenceStatus>Canceled</conferenceStatus> <billingAccountID>51278</billingAccountID> <setupDuration>15</setupDuration> <conferenceName>Test ws conf Tue Sep 13 11:31:13 MDT 2011</conferenceName> <billingAllocations> <allocationTypeID>1477</allocationTypeID> <allocationType>Cost Center</allocationType> <requiredYN>false</requiredYN> <editableYN>false</editableYN> </billingAllocations> <billingAllocations> <allocationTypeID>1615</allocationTypeID> <allocationType>Attention To</allocationType> <requiredYN>false</requiredYN> <editableYN>false</editableYN> </billingAllocations> <systemConferenceID>108483514</systemConferenceID> <monitoring>Scanned</monitoring> <conferenceRequester> <emailAddress>jun.guo@</emailAddress> <systemRequesterID>18071992</systemRequesterID> <firstName>Jun</firstName> <lastName>Guo</lastName> </conferenceRequester> <conferenceDuration>5</conferenceDuration> <beginDateTime>2011-09-13T23:31:00.000-06:00</beginDateTime> <entryexitTone>false</entryexitTone> <endWarningTone>10</endWarningTone> <videoRecording>false</videoRecording> <conferenceSites> <dialDirection>Site Dials</dialDirection> <systemSiteID>0</systemSiteID> <transmissionRate>56 Audio</transmissionRate> <hostSiteYN>false</hostSiteYN> <siteName>Audio participants</siteName> <dialInAddress>+1 800 628 0833</dialInAddress> <dialInPasscode>18491420</dialInPasscode> </conferenceSites> <conferenceSites> <dialDirection>Site Receives</dialDirection> <systemSiteID>660960</systemSiteID> <transmissionRate>1152</transmissionRate> <hostSiteYN>true</hostSiteYN> <siteName>WOC - US Westminster CO Rio Bravo</siteName> <videoSignal>H.323</videoSignal> </conferenceSites> <conferenceSites> <dialDirection>Site Receives</dialDirection> <systemSiteID>13312507</systemSiteID> <transmissionRate>1152</transmissionRate> <hostSiteYN>false</hostSiteYN> <siteName>WOC - US Westminster CO Red River</siteName> <videoSignal>H.323</videoSignal> </conferenceSites> <conferenceSites> <dialDirection>Site Receives</dialDirection> <systemSiteID>621284</systemSiteID> <transmissionRate>1152</transmissionRate> <hostSiteYN>false</hostSiteYN> <siteName>WOC - US Westminster CO Winchester</siteName> <customerSpecifiedSiteID>Slough UK Buckingham</customerSpecifiedSiteID> <videoSignal>H.323</videoSignal> </conferenceSites> </conference></ns2:ConferenceDetailsResponse>Conference Options RetrievalURI: /conference/optionsMETHOD: GETRequest: Response: ConferenceTypeOptionsResponseSample request/response:Response:<ns2:ConferenceTypeOptionsResponse><returnMessage xsi:nil="true"/><options><producerAssistedOptions><available>true</available><displayLabel>Producer Assisted & Monitored</displayLabel><audioOptions><available>true</available></audioOptions><warningToneOptions><tones>None</tones><tones>1</tones><tones>2</tones><tones>5</tones><default>2</default></warningToneOptions><cpModeOptions><cpModes>Voice Activated</cpModes><cpModes>Side by Side</cpModes><cpModes>Top and Bottom</cpModes><cpModes>4 Quad</cpModes><cpModes>5 + 1</cpModes><cpModes>9 Site</cpModes></cpModeOptions><setupTimeOptions><setupTimes>10</setupTimes><setupTimes>15</setupTimes><setupTimes>20</setupTimes><setupTimes>30</setupTimes><setupTimes>45</setupTimes><setupTimes>60</setupTimes></setupTimeOptions><dialDirectionOptions><directions>Site Dials</directions><directions>Site Receives</directions><default>Site Receives</default></dialDirectionOptions><transmitRateOptions><transmitRates>2 x 56</transmitRates><transmitRates>2 x 64</transmitRates><transmitRates>128</transmitRates><transmitRates>256</transmitRates><transmitRates>336</transmitRates><transmitRates>384</transmitRates><transmitRates>512</transmitRates><transmitRates>768</transmitRates><transmitRates>1024</transmitRates><transmitRates>1152</transmitRates><transmitRates>1472</transmitRates><transmitRates>1536</transmitRates><transmitRates>1920</transmitRates><transmitRates>2Mbps</transmitRates><transmitRates>2.5Mbps</transmitRates><transmitRates>3Mbps</transmitRates><transmitRates>3.5Mbps</transmitRates><transmitRates>4Mbps</transmitRates><transmitRates>6Mbps</transmitRates><default>384</default></transmitRateOptions><autoExtendOptions><autoExtendOptions>0</autoExtendOptions><autoExtendOptions>5</autoExtendOptions></autoExtendOptions><desktopVideoOptions><available>true</available></desktopVideoOptions><greetingsOptions><greetings>Video Broadcast</greetings><greetings>No Greeting</greetings><default>No Greeting</default></greetingsOptions><monitoringLevelOptions><monitoringLevels>Dedicated</monitoringLevels><monitoringLevels>Scanned</monitoringLevels><default>Scanned</default></monitoringLevelOptions><videoRecordingOptions><default>false</default></videoRecordingOptions></producerAssistedOptions><selfServiceOptions><available>true</available><displayLabel>Self-Service</displayLabel><audioOptions><available>true</available></audioOptions><warningToneOptions><tones>None</tones><tones>1</tones><tones>2</tones><tones>5</tones><default>2</default></warningToneOptions><cpModeOptions><cpModes>Voice Activated</cpModes><cpModes>Side by Side</cpModes><cpModes>Top and Bottom</cpModes><cpModes>4 Quad</cpModes><cpModes>5 + 1</cpModes><cpModes>9 Site</cpModes></cpModeOptions><setupTimeOptions><setupTimes>10</setupTimes><setupTimes>15</setupTimes><setupTimes>20</setupTimes><setupTimes>30</setupTimes><setupTimes>45</setupTimes><setupTimes>60</setupTimes></setupTimeOptions><dialDirectionOptions><directions>Site Dials</directions><directions>Site Receives</directions><default>Site Receives</default></dialDirectionOptions><transmitRateOptions><transmitRates>2 x 56</transmitRates><transmitRates>2 x 64</transmitRates><transmitRates>128</transmitRates><transmitRates>256</transmitRates><transmitRates>336</transmitRates><transmitRates>384</transmitRates><transmitRates>512</transmitRates><transmitRates>768</transmitRates><transmitRates>1024</transmitRates><transmitRates>1152</transmitRates><transmitRates>1472</transmitRates><transmitRates>1536</transmitRates><transmitRates>1920</transmitRates><transmitRates>2Mbps</transmitRates><transmitRates>2.5Mbps</transmitRates><transmitRates>3Mbps</transmitRates><transmitRates>3.5Mbps</transmitRates><transmitRates>4Mbps</transmitRates><transmitRates>6Mbps</transmitRates><default>384</default></transmitRateOptions><autoExtendOptions><autoExtendOptions>0</autoExtendOptions><autoExtendOptions>5</autoExtendOptions></autoExtendOptions><desktopVideoOptions><available>true</available></desktopVideoOptions><launchNowOptions><available>true</available></launchNowOptions><gveReserveDialEnabled>true</gveReserveDialEnabled><maxTotalSites>12</maxTotalSites><MeetMeAudioEnabled>false</MeetMeAudioEnabled></selfServiceOptions><roomReservationOptions><available>true</available><displayLabel>Room Reservation</displayLabel></roomReservationOptions><conferenceReservationQueryOptions><maxQueryDays>10</maxQueryDays></conferenceReservationQueryOptions><gveReservceDialOptions><displayLabel>Global Video Exchange - Reserved Dial</displayLabel></gveReservceDialOptions></options></ns2:ConferenceTypeOptionsResponse>Conference Reservation RetrievalURI: / conference/reservationsMETHOD: POSTRequest: Path:Response: ConferenceReservationInfoListResponseSample request/response:Request Path: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:ConferenceReservationInputType xmlns:ns2=""><systemRequestorID>5794562</systemRequestorID><startDateTime>2011-11-01T22:06:26.483Z</startDateTime><timeZone>America/Denver</timeZone><numberOfDays>20</numberOfDays></ns2:ConferenceReservationInputType>Response:<ns2:ConferenceReservationInfoListResponse xmlns:ns2=""> <reservations> <list> <systemConferenceID>108562732</systemConferenceID> <systemConferenceSeriesID>0</systemConferenceSeriesID> <conferenceName>test series</conferenceName> <beginDateTime>2011-11-02T11:00:00.000-06:00</beginDateTime> <conferenceDuration>5</conferenceDuration> <conferenceType>Producer Assisted and Monitored</conferenceType> <gveReserveDial>false</gveReserveDial> </list> <list> <systemConferenceID>108562741</systemConferenceID> <systemConferenceSeriesID>0</systemConferenceSeriesID> <conferenceName>test series</conferenceName> <beginDateTime>2011-11-03T11:00:00.000-06:00</beginDateTime> <conferenceDuration>5</conferenceDuration> <conferenceType>Producer Assisted and Monitored</conferenceType> <gveReserveDial>false</gveReserveDial> </list> </reservations></ns2:ConferenceReservationInfoListResponse>Conference Types RetrievalURI: / conference/typesMETHOD: GETRequest: Response: ConferenceTypesListResponseSample request/response:Response:<ns2:ConferenceTypesListResponse xmlns:ns2=""> <conferenceList> <list>Producer Assisted and Monitored</list> <list>Self Service</list> <list>Room Reservation</list> </conferenceList></ns2:ConferenceTypesListResponse>Conference Series RetrievalURI: /series/{id}METHOD: GETRequest: Path Parameter: id – series IDResponse: ConferenceSummaryResponseSample request/response:Request Path parameter id: 108546601Response:<ns2:ConferenceListResponse xmlns:ns2=""> <returnMessage>Conference list for series 108546601 returned.</returnMessage> <status>Complete</status> <conferenceList> <list> <systemConferenceID>108546641</systemConferenceID> <systemConferenceSeriesID>108546601</systemConferenceSeriesID> <conferenceName>Test ws conf Tue Sep 27 09:49:11 MDT 2011</conferenceName> <beginDateTime>2011-10-01T21:49:00.000-06:00</beginDateTime> <conferenceDuration>5</conferenceDuration> <conferenceType>Producer Assisted and Monitored</conferenceType> <gveReserveDial>false</gveReserveDial> </list> <list> <systemConferenceID>108546662</systemConferenceID> <systemConferenceSeriesID>108546601</systemConferenceSeriesID> <conferenceName>Test ws conf Tue Sep 27 09:49:11 MDT 2011</conferenceName> <beginDateTime>2011-10-08T21:49:00.000-06:00</beginDateTime> <conferenceDuration>5</conferenceDuration> <conferenceType>Producer Assisted and Monitored</conferenceType> <gveReserveDial>false</gveReserveDial> </list> <list> <systemConferenceID>108546683</systemConferenceID> <systemConferenceSeriesID>108546601</systemConferenceSeriesID> <conferenceName>Test ws conf Tue Sep 27 09:49:11 MDT 2011</conferenceName> <beginDateTime>2011-10-15T21:49:00.000-06:00</beginDateTime> <conferenceDuration>5</conferenceDuration> <conferenceType>Producer Assisted and Monitored</conferenceType> <gveReserveDial>false</gveReserveDial> </list> </conferenceList></ns2:ConferenceListResponse>Person RetrievalURI: /personMETHOD: GETRequest: Response: RequestPersonListResponseSample request/response:Response:<ns2:RequestPersonListResponse xmlns:ns2=""> <requestPersonList> <list> <emailAddress>QAqatiusa@</emailAddress> <systemRequesterID>5794562</systemRequesterID> <firstName>QATITest</firstName> <lastName>UserUSA</lastName> </list> <list> <emailAddress>QAqatiusa@</emailAddress> <systemRequesterID>5794671</systemRequesterID> <firstName>QATITest</firstName> <lastName>UserUK</lastName> </list> <list> <emailAddress>test.abc@</emailAddress> <systemRequesterID>16019493</systemRequesterID> <firstName>Test</firstName> <lastName>PersonABC</lastName> </list> </requestPersonList></ns2:RequestPersonListResponse>Conference Series CancellationURI: /series/{id}METHOD: DELETERequest: Path parameter: id – ID for the series to be cancelled, required.Header Parameter: systemRequesterID – Requester person that requested the cancellationHeader Parameter: customerSpecifiedRequesterID – Customer’s unique identifier for the requesterHeader Parameter: fromDate – Cancel conferences in a series that have beginDateTime on or after this date. Must be specified in “MM/DD/YYYY” format. If this parameter is not supplied, all future conferences in the given series will be cancelledHeader Parameter: timeZone – Timezone for the fromDate. Response: ResponseTypeSample request/response:Requestid: 108546601systemRequesterID: 18071992Response:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:Response xmlns:ns2=""><returnMessage>All future meeting in series 108546601 has been cancelled.</returnMessage></ns2:Response>All Site RetrievalURI: /siteMETHOD: GETRequest: Response: SiteListResponseSample request/response:Response:<ns2:SiteListResponse xmlns:ns2=""> <sites> <list> <isdnCertified>false</isdnCertified> <ipCertified>true</ipCertified> <videoCapable>true</videoCapable> <gveRDCapable>true</gveRDCapable> <systemSiteID>74110817</systemSiteID> <maxXmitRateIP>4Mbps</maxXmitRateIP> <maxXmitRateISDN>4Mbps</maxXmitRateISDN> <siteName>JUNIT - Fake CTS For GVE Schedule Testing</siteName> <epcCertified>false</epcCertified> <preferredXmitType>H.323</preferredXmitType> <preferredISDNDialDirection>Site Receives</preferredISDNDialDirection> <preferredIPDialDirection>Site Receives</preferredIPDialDirection> </list> <list> <isdnCertified>false</isdnCertified> <ipCertified>true</ipCertified> <videoCapable>false</videoCapable> <gveRDCapable>false</gveRDCapable> <systemSiteID>93196172</systemSiteID> <maxXmitRateIP>1152</maxXmitRateIP> <maxXmitRateISDN>1152</maxXmitRateISDN> <siteName>QATI - Craig SIP Movi Client</siteName> <epcCertified>false</epcCertified> <preferredXmitType>SIP</preferredXmitType> <preferredISDNDialDirection>Site Receives</preferredISDNDialDirection> <preferredIPDialDirection>Site Receives</preferredIPDialDirection> </list> <list> <isdnCertified>false</isdnCertified> <ipCertified>true</ipCertified> <videoCapable>true</videoCapable> <gveRDCapable>false</gveRDCapable> <systemSiteID>78398576</systemSiteID> <maxXmitRateIP>768</maxXmitRateIP> <maxXmitRateISDN>1152</maxXmitRateISDN> <siteName>QATI - EP JCG Test</siteName> <epcCertified>true</epcCertified> <preferredISDNDialDirection>Site Receives</preferredISDNDialDirection> <preferredIPDialDirection>Site Receives</preferredIPDialDirection> </list> </sites></ns2:SiteListResponse>Specified Site RetrievalURI: /site/{id}METHOD: GETRequest: Path Parameter: id – site IDResponse: SiteInfoResponseSample request/response:Response:<ns2:SiteInfoResponse xmlns:ns2=""> <site> <isdnCertified>false</isdnCertified> <ipCertified>false</ipCertified> <videoCapable>false</videoCapable> <gveRDCapable>false</gveRDCapable> <systemSiteID>3240465</systemSiteID> <siteName>QATI MGC 100 TEST MCU</siteName> <epcCertified>false</epcCertified> <preferredXmitType>ISDN</preferredXmitType> <preferredISDNDialDirection>Site Receives</preferredISDNDialDirection> <preferredIPDialDirection>Site Receives</preferredIPDialDirection> </site></ns2:SiteInfoResponse>Assign Site Customer Specified IDURI: /site/{id}/{cid}METHOD: POSTRequest: Path Parameter: id – site IDPath Parameter: cid – Customer Specified Site IDResponse: SiteInfoResponseSample request/response:Response:<ns2:SiteInfoResponse xmlns:ns2=""> <returnMessage xsi:nil="true" xmlns:xsi=""/> <site> <isdnCertified>true</isdnCertified> <ipCertified>false</ipCertified> <videoCapable>true</videoCapable> <gveRDCapable>false</gveRDCapable> <systemSiteID>5848140</systemSiteID> <maxXmitRateIP>768</maxXmitRateIP> <maxXmitRateISDN>128</maxXmitRateISDN> <siteName>QATI - EP Lab - Tandberg WTH @10.1.13.104</siteName> <customerSpecifiedSiteID>TestCustomerRefID_T</customerSpecifiedSiteID> <epcCertified>false</epcCertified> <preferredXmitType>H.323</preferredXmitType> <preferredISDNDialDirection>Site Receives</preferredISDNDialDirection> <preferredIPDialDirection>Site Receives</preferredIPDialDirection> </site></ns2:SiteInfoResponse>Favorite Site RetrievalURI: /site/favoritesMETHOD: GETRequest (any of the below may be included to identify a request Person, or. Requester): Parameter: systemRequesterID – Requester person that requestedParameter: customerSpecifiedRequesterID – customer specified IDParameter: emailAddress – customer emailAddressResponse: SiteListResponseSample request/response:Response:<ns2:SiteListResponse xmlns:ns2=""> <returnMessage xsi:nil="true" xmlns:xsi=""/> <sites> <list> <isdnCertified>false</isdnCertified> <ipCertified>true</ipCertified> <videoCapable>true</videoCapable> <gveRDCapable>false</gveRDCapable> <systemSiteID>95775818</systemSiteID> <maxXmitRateIP>2Mbps</maxXmitRateIP> <maxXmitRateISDN>2Mbps</maxXmitRateISDN> <siteName>BTC-B - King of Prussia Helpdesk EX90 TEST SYSTEM</siteName> <epcCertified>false</epcCertified> <preferredISDNDialDirection>Site Receives</preferredISDNDialDirection> <preferredIPDialDirection>Site Receives</preferredIPDialDirection> </list> <list> <isdnCertified>false</isdnCertified> <ipCertified>true</ipCertified> <videoCapable>true</videoCapable> <gveRDCapable>false</gveRDCapable> <systemSiteID>78398992</systemSiteID> <maxXmitRateIP>1472</maxXmitRateIP> <maxXmitRateISDN>1472</maxXmitRateISDN> <siteName>QATI - EP Lab - Polycom HDX 8000 HD</siteName> <epcCertified>false</epcCertified> <preferredISDNDialDirection>Site Receives</preferredISDNDialDirection> <preferredIPDialDirection>Site Receives</preferredIPDialDirection> </list></ns2:SiteListResponse>Site Options RetrievalURI: /site/optionsMETHOD: GETRequest: Response: SiteOptionsResponseSample request/response:Response:<ns2:SiteOptionsResponse xmlns:ns2=""> <returnMessage xsi:nil="true" xmlns:xsi=""/> <options> <siteQueryOptions> <maxQueryDays>10</maxQueryDays> </siteQueryOptions> </options></ns2:SiteOptionsResponse>Site ReservationsURI: site/reservationsMETHOD: GETRequest: Response: ReservationInfoListResponseSample request/response:Request:<ns2:ReservationInputType xmlns:ns2=""> <siteList> <systemSiteID>13312507</systemSiteID> <hostSiteYN>true</hostSiteYN> </siteList> <siteList> <systemSiteID>22544911</systemSiteID> <hostSiteYN>false</hostSiteYN> </siteList> <siteList> <systemSiteID>40313402</systemSiteID> <hostSiteYN>false</hostSiteYN> </siteList> <startDateTime>2011-10-27T19:45:53.156Z</startDateTime> <numberOfDays>10</numberOfDays></ns2:ReservationInputType>Response:<ns2:ReservationInfoListResponse xmlns:ns2=""> <reservations> <list> <startDateTime>2011-10-28T17:00:00.000Z</startDateTime> <endDateTime>2011-10-28T17:05:00.000Z</endDateTime> <systemSiteID>13312507</systemSiteID> </list> <list> <startDateTime>2011-11-05T18:00:00.000Z</startDateTime> <endDateTime>2011-11-05T18:30:00.000Z</endDateTime> <systemSiteID>13312507</systemSiteID> </list> <list> <startDateTime>2011-11-05T19:00:00.000Z</startDateTime> <endDateTime>2011-11-05T19:30:00.000Z</endDateTime> <systemSiteID>13312507</systemSiteID> </list> </reservations></ns2:ReservationInfoListResponse>GVE Reserve Dial Invitee Phone number validationURI: /conference/gve_reserve_dial/invitee_access_numberMETHOD: GETRequest: Header Parameter: phone – Phone number for validationResponse: ReservationInfoListResponseSample request/response:Request:Success Response:Response-Code: 200<ns2:Response><returnMessage xsi:nil="true"/></ns2:Response>Failure Response:Response-Code: 404Invitee Access number is not foundRequired Business RulesBelow are many of the common business rules that the client application must implement to create conferences without errors.General Conference CreationConferencing features enabled for a company must only used if the feature from ‘/conference/options’ shows the feature enabled.Examples Audio, MeetMeAudio, Producer Assisted conferences, Self Service conferences, WebEx, LaunchNow, gveReserveDial conferences.All sites that included in a conference must have a non-zero Site ID, or a Customer Specified Site ID.If a Site query using ‘/site/<Site ID>’ returns required Leg allocations, when the Site is included with a <conference> definition, these legAllocations must be have a value populated.Example:<conferenceSites><systemSiteID>126543986</systemSiteID><legAllocations><allocationTypeID>6370</allocationTypeID><allocationValue>5</allocationValue></legAllocations></conferenceSites>If the ‘/billingallocations’ returns required Billing Allocations, the ‘allocationTypeID’ must be populated and the allocationValue populated.Example:<billingAllocations><allocationTypeID>117393106</allocationTypeID><allocationValue>US 23456457</allocationValue></billingAllocations><billingAllocations><allocationTypeID>145676106</allocationTypeID><allocationValue>US098423457</allocationValue></billingAllocations>Sites cannot be double booked; each Site booking time in each conference must not overlap with Site booking time any other conference. Sites may be included in a conference if they are from the same Onward company as the Web services login.Producer Assisted ConferenceA Producer Assisted conference must not be scheduled sooner than 1 hour before conference start time if there are 6 or fewer sites.A Producer Assisted conference must not be scheduled sooner than 6 hours before conference start time if there are 7 or more sites.Sites may be included in Producer Assisted conferences may be successfully included in a conference if they have the isCertified attribute equal to true or false.Self Service ConferenceA Self Service conference must not be scheduled sooner than 5 minutes before conference start time. The exception is for a LaunchNow conference. A company may or may not allow LaunchNow conferences, show by the ‘/conference/options’, launchNowOptions available flag.Self Service conferences may only be included in a conference if they have the isCertfied attribute equal to true.GVE Reserve Dial conferences must only include Sites that have the ‘gveRDCapable’ true. ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download