Change Description - btvideoconferencing.com  · Web viewThis document describes the REST BT VBU...

84
BT Conferencing REST Conference Web Services BT Conferencing Page 1

Transcript of Change Description - btvideoconferencing.com  · Web viewThis document describes the REST BT VBU...

BT Conferencing RESTConference Web Services

BT Conferencing Page 1

Copyright

© British Telecommunications plc 2014Registered Office: 81 Newgate Street, London EC1A 7AJ

Update History

Change Description DateInitial change tracking October 26, 2011Notes on host selection for Sites, ExtDev Notes

July 6, 2012

Development notes July 18, 2012Business Rule documentation September 11, 2012Site Update behavior July 18, 2013Requester create behavior changes, query method additions, Host Person feature addition

April 10, 2014

BT Conferencing Page 2

Table of ContentsChange Description......................................................................................................2

Date..............................................................................................................................2

Overview..........................................................................................................................6

Changes in the REST API version................................................................................6

Major requirements for an Application using the BT REST API....................................7

Development process recommendations......................................................................7

Notes on the External Application Development...........................................................8

Common Characteristics of REST Resources..............................................................9

Important Nomenclature, Resources, and Concepts..................................................11

Including Audio in Video Conferences........................................................................14

Including Webex in Video Conferences......................................................................16

Conference Series and Recurrence............................................................................16

Security, Authentication, Requester, Person, Host and Permissions.........................18

Query Operations and Site Reservations...................................................................20

Conference Query Operations for Conferences modified...........................................20

Common Problems.....................................................................................................22

XML over HTTP Request formatting........................................................................22

BTC REST API DETAIL.................................................................................................23

Object Types...............................................................................................................23

BillingAllocationType...............................................................................................23

BillingAllocationListType..........................................................................................23

BillingAllocationListResponse (extends ResponseType).........................................24

ConferenceType......................................................................................................24

ConferenceDetailsResponse (extends ResponseType)..........................................28

ConferenceInput......................................................................................................28

ConferenceListResponse (extends ResponseType)...............................................28

ConferenceQueryResponse (extends ResponseType)...........................................28

ConferenceResponse (extends ResponseType).....................................................29

ConferenceReservationInfoListResponse (extends ResponseType)......................30

BT Conferencing Page 3

ConferenceSummaryListType.................................................................................30

ConferenceSummaryType.......................................................................................30

ConferenceSiteType................................................................................................31

ConferenceTypesListResponse (extends ResponseType).....................................32

ConferenceTypesListType.......................................................................................32

ConferenceTypesType Enum..................................................................................33

GveReserveDialDefinitionType................................................................................33

LegAllocationType...................................................................................................34

RequesterType........................................................................................................34

RecurrencePatternType..........................................................................................35

ReservationInputType.............................................................................................36

ResponseType........................................................................................................37

RequestPersonListResponse (extends ResponseType).........................................37

RequestPersonListType..........................................................................................37

RequestPersonType................................................................................................37

SiteListResponse (extends ResponseType)...........................................................38

SiteInfoListType.......................................................................................................38

SiteInfoType............................................................................................................38

Options Object Types.................................................................................................39

ConferenceTypeOptionsResponse (extends ResponseType).................................39

ConferenceOptionsType..........................................................................................40

producerAssistedOptions........................................................................................40

selfServiceOptions...................................................................................................41

roomReservationOptions.........................................................................................41

GveReserveDialOptionsType..................................................................................42

SiteOptionsResponse (extends ResponseType).....................................................42

SiteReservationQueryType.....................................................................................42

Methods and Examples..............................................................................................42

Billing Allocation Retrieval.......................................................................................42

Conference Creation...............................................................................................43

Conference Update.................................................................................................44

BT Conferencing Page 4

Conference Cancellation.........................................................................................45

Conference Series Creation....................................................................................46

Conference Retrieval...............................................................................................48

Conference Options Retrieval..................................................................................50

Conference Reservation Retrieval...........................................................................53

Conference Types Retrieval....................................................................................54

Conference Series Retrieval....................................................................................54

Person Retrieval......................................................................................................55

Conference Series Cancellation..............................................................................56

All Site Retrieval......................................................................................................57

Specified Site Retrieval...........................................................................................58

Assign Site Customer Specified ID..........................................................................58

Favorite Site Retrieval.............................................................................................59

Site Options Retrieval..............................................................................................60

Site Reservations....................................................................................................60

GVE Reserve Dial Invitee Phone number validation...............................................62

Required Business Rules............................................................................................63

BT Conferencing Page 5

OverviewThis 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.

BT Conferencing Page 6

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.

BT Conferencing Page 7

Notes on the External Application Development

An 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 accordingly.

BT Conferencing Page 8

Common Characteristics of REST Resources

In 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 https://www.conferencesetup.com/webservices/rest/1_0/

All Externally available development test resources are located at https://extdev.conferencesetup.com/webservices/rest/1_0/

You 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 Method ActionPOST To create a Conference or SeriesPUT To update a resource like a

ConferenceDELETE To cancel a ConferenceGET To retrieve a Conference or Series,

or Site(s)

BT Conferencing Page 9

Exceptions are for certain query operations (e.g., “/site/reservations”), POST is used instead of GET to accommodate the complex request and response types.

BT Conferencing Page 10

Important Nomenclature, Resources, and Concepts

Conferences 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.

BT Conferencing Page 11

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"/>

BT Conferencing Page 12

<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

BT Conferencing Page 13

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 Conferences

Audio 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.

BT Conferencing Page 14

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>

BT Conferencing Page 15

Including Webex in Video Conferences

Webex 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 Recurrence

Creation 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>

BT Conferencing Page 16

<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>

BT Conferencing Page 17

Security, Authentication, Requester, Person, Host and Permissions

Logins 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.

BT Conferencing Page 18

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>[email protected]</emailAddress> </conferenceRequester>

BT Conferencing Page 19

Query Operations and Site Reservations

Queries 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:

1. Conference Name2. Conference Type: Self Service, Producer Assisted3. Start date and time, and duration4. Conference State: Cancelled, Ready, etc.5. Site Inclusion/removal6. Audio/WebEx inclusion/removal

There are 2 parameters that allow for the query of conference changes:1. Conference ID

a. Conference to test for changes2. Change Date/Time

a. Test for changes since specified date/time

BT Conferencing Page 20

The 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.

BT Conferencing Page 21

Common Problems

XML over HTTP Request formatting

In general, HTTP Requests are comprised of both HTTP headers, and the HTTP payload.

1. HTTP requests with XML payload, e.g. POST requests should have content-type=[application/xml].

2. Sending XML in the payload that has whitespace stripped from between the elements is recommended.

3. Sending XML in the payload that has line-feed and end of line characters stripped is recommended.

4. 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:

a. Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50215)

BT Conferencing Page 22

BTC REST API DETAIL

The 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 https://extdev.conferencesetup.com/webservices/rest/1_0/?_wadl&_type=xml

You 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

BillingAllocationTypeName Type Description RequiredallocationTypeID Integer BT internal

allocation type key

Yes

requiredYN Boolean Flag to indicate whether it is required

No

allocationValue String Billing allocation value

No

editableYN Boolean A read-only flag indicating whether a value can be edited by user

No

BillingAllocationListType Name Type Description Requiredlist BillingAllocationListTyp List of billing No

BT Conferencing Page 23

e allocations

BillingAllocationListResponse (extends ResponseType)Name Type Description Requiredallocations BillingAllocationListType Type containing

List of billing allocations

No

ConferenceTypeName Type Description Required

conferenceType ConferenceTypesType enum:

Self Service Producer

Assisted and Monitored

Room Reservation

Conference type Yes

gveReservedDial Boolean Flag to indicate if the conference is GVE Reserved Dial

No

gveReserveDialDefinition

GveReserveDialDefinitionType

GVE Reserved Dial details

No

specialInstructions String Any conference special instruction

No

customerSpecifiedConferenceID

String Customer’s internal conference ID

No

audioParticipantCount Integer Number of audio participants in a producer-assisted call

No

audioParticipants StringArray List of audio participant names in a self-service video-audio call

No

desktopParticipantCount

Integer Number of desktop video (e.g., Cisco Movi) participants for company that is provisioned for this service

No

systemConferenceSeriesID

Integer System-generated conference series ID

No

autoExtendDuration Integer Number of auto- No

BT Conferencing Page 24

extend minutesconferenceMode CPModeType

enum: 5 + 1 Side by Side Executive Top and Bottom …

Continuous Presence mode

No

Greeting GreetingsType enum:

Video Broadcast Audio Broadcast Video by Site

Producer greeting type No

conferenceStatus String System-generated conference status description. Populated for conference GET response

No

billingAccountID Integer Conference billing account ID. Populated for GET response

No

setupDuration Integer Conference setup duration minutes

No

conferenceName String Conference name YesbillingAllocations BillingAllocationTyp

e[0…n]Billing Allocations No

systemConferenceID Integer System-generated unique conference identifier. Must be populated for conference update (PUT)

Required for conference update/cancel operations

monitoring MonitoringLevelsType enum:

Dedicated Scanned

Producer monitoring level

No

conferenceRequester RequesterType Conference requester details. If requester has already been created, only the systemRequesterID is required. Otherwise a lookup up will be

Yes

BT Conferencing Page 25

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)

conferenceHost RequesterType Same 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.

No

conferenceDuration Integer Conference duration minutes

Yes

beginDateTime Datetime Conference 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.

Yes

launchNow Boolean For self-service conference type, flag to indicate whether a conference is to be launched right away

No

entryExitTone Boolean Flag to indicate whether the conference should have entry-exit tone enabled

No

endWarningTone Integer Number of minutes before conference end time when the end warning tone should

No

BT Conferencing Page 26

be playedsecondaryEndWarningTone

Integer Number of minutes before conference end time when the secondary end warning tone should be played

No

videoRecording Boolean Flag to indicate whether a producer-assisted call should have recording enabled

No

videoMediaType VideoMediaType enum:

CD DVD VHS

Video recording media type

No

audioMediaType AudioMediaType enum:

CD Cassette

Audio recording media type

No

numOfCopy Integer Number of recording media to be shipped

No

shipMethod ShipMethodType enum:

Express Overnight Regular Mail Second Day …

Recording shipment method

No

shipAddress String Recording Ship-to address

No

conferenceTimezone TimezoneType Sets the Conference timezone. If this is not set the Timezone used is the Timezone for the conferenceRequester.

No

dcpType DCPOptionsType[0..n]:

Media Powerpoint

Layout Changes

Manage Site Connection Times

Passive

Dedicated producer conference involvement options

No

BT Conferencing Page 27

ParticipationtelepresenceSwitchingPolicy

SwitchingPolicyType enum:

Segment Site

Indicate swithing policy choice in a Cisco Telepresence conference

No

telepresenceVideoAnnounce

Boolean Flag to indicate whether Video Announce is enabled in a Cisco Telepresence conference

No

webex Boolean Indicate whether webex will be included with the conference

No

allowSiteUpdates Boolean Flag to indicate that users can have the option to add more sites later

No

Recurrence RecurrencePatternType

Recurrence details No

conferenceSites ConferenceSiteType[1…n]

Array of conference sites

Yes

ConferenceDetailsResponse (extends ResponseType)Name Type Description Required

Conference ConferenceType Conference details

Yes

ConferenceInputName Type Description RequiredConference ConferenceType Conference/series

details used for creation and update

Yes

ConferenceListResponse (extends ResponseType)Name Type Description RequiredConference conferenceSummaryType[0..n] List of

conference summaries

Yes

BT Conferencing Page 28

ConferenceQueryResponse (extends ResponseType)Name Type Description Required

Conference ConferenceType Conference details

No

queryResponse QueryStatusType Status of query: No Results, ResultsFound

Yes

ConferenceResponse (extends ResponseType)Name Typ

eDescription Required

systemConferenceID Integer The BT internal conference unique identifier for a conference. Required parameter for conference Update/Delete. Defaults to 0 if any error occurs

Yes

conferenceConfirmationURL String A URL that can be used to retrieve the conference confirmation online

No

requesterSystemID Integer BT’s unqiue identifier for the conference requester person. In the case the requester is auto-generated, this id represents the newly created person id

No

hostPersonSystemID Integer Same as a requesterSystemI

No

BT Conferencing Page 29

D above, for the host person

ConferenceReservationInfoListResponse (extends ResponseType)Name Type Descriptio

nRequired

reservations ConferenceSummaryListType

A URL that can be used to retrieve the conference confirmation online

Yes

ConferenceSummaryListTypeName Type Descriptio

nRequired

list List of ConferenceSummaryType

List of Conference Summaries returned by query.

Yes

ConferenceSummaryType Name Type Description RequiredsystemConferenceID Integer System-

generated unique conference identifier.

Yes

systemConferenceSeriesID Integer System-generated unique conference series identifier.

No

BT Conferencing Page 30

conferenceName String Conference name

Yes

beginDateTime Datetime Conference begin date/time

Yes

conferenceDuration Integer Conference duration minutes

Yes

conferenceType ConferenceTypesType enum

Conference type

Yes

gveReservedDial Boolean Flag to indicate whether a conference is GVE Reserved Dial

No

ConferenceSiteTypeName Type Description RequireddialDirection DialDirectionType

enum: Site Dials Site Receives

Optional flag to indicate the dial direction for this site

No

systemSiteID Integer BT’s unique identifier for a site

Yes

transmissionRate TransmitRateType enum: 128 384 512 …

Optional parameter to indicate a custom transmit rate for a site

No

hostSiteYN Boolean Flag to indicate if a site is to be used as the host site. A video conference must have one

Yes, for the Host site, otherwise No.

BT Conferencing Page 31

and only one host site

customerSpecifiedSiteID

String Customer’s unique identified for a site

No

videoSignal VideoSignalType enum: ISDN H.323 SIP

Optional parameter to indicate the video signal used for a site

No

participant String Optional string for participant names

No

dialInAddress String System-generated dial-in string

No

dialInPasscode String System-generated dial-in participant code/pin

No

legAllocation LegAllocationType Array of leg-level allocation values (travel savings)

No

ConferenceTypesListResponse (extends ResponseType)Name Type Description Require

dconferenceList ConferenceTypesListType Contains list of

ConferenceTypes

Yes

ConferenceTypesListTypeName Type Description Require

d

BT Conferencing Page 32

list ConferenceTypesType List of supported ConferenceTypesType

Yes

ConferenceTypesType EnumName Type Descriptio

nRequired

Self Service Self Service A Self Service Conference Type

No

Producer Assisted and Monitored

Producer Assisted and Monitored

A Producer Assisted and Monitored Conference Type

No

Room Reservation Room Reservation A Room Reservation Conference Type

No

GveReserveDialDefinitionTypeName Type Description Required

Type GveReserveDialType enum

Host Invitee

Type of GVE Reserved Dial call

Yes

hostNumberInvitees Integer Number of invitee sites in a Host call

No

inviteeAccessNumber String Accessnumber that

No

BT Conferencing Page 33

participants dial to join an Invitee call

inviteeParticipantCode String Pin number that participants enter to join an Invitee call

No

LegAllocationTypeName Type Description RequiredallocationTypeID Integer BT internal

allocation type key

Yes

requiredYN Boolean Flag to indicate whether it is required

No

allocationValue String Billing allocation value

Yes for required values, otherwise, No

editableYN Boolean A read-only flag indicating whether a value can be edited by user

No

RequesterTypeName Type Description Require

demailAddress String Requester person

email address. Can be used to find the matching person if systemRequesterID is missing

Yes

basePhoneNumber String Raw phone number as dialed from the country

No

systemRequesterID Integer BT’s unqiue identifier for a person. If this value is know, it is best to use this

No

BT Conferencing Page 34

field to uniquely identify a person

countryCode CountryCodeType enum (standard 3-letter ISO country code):

USA GBR CHN

Country code that the requester person resides in

No

firstName String NolastName String NocustomerSpecifiedRequesterID

Sting Customer’s own unique identifier for the requester person

No

timeZone TimezoneType enum (standard Java timezone code):

Europe/London America/

New_York America/Denver GMT …

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 zone

Yes

RecurrencePatternTypeName Type Description Require

drecurrenceType RecurrenceType enum:

Daily Weekly Monthly

Type of recurrence Yes

frequency Integer How many conferences per week or per month

No

dailyWeekdaysOnly Boolean For Daily recurrence, flag to indicate whether to conference should happen only on

No

BT Conferencing Page 35

week daysweeklyDays String List For Weekly

recurrence type only, list of weekday (Monday, Tuesday, etc) that conference should be created on

No

recurrenceMonthlyType

RecurrenceMonthlyType 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

No

monthlyWeek RecurrenceMonthlyWeekType enum:

First Second Third Fourth Last

For Monthly recurrence and Week recurrenceMonthlyType, indicate which week the conference is to occur

No

monthlyDayNumber Integer For Monthly recurrence and Day recurrenceMonthlyType, indicate which day the conference is to occur

No

recurrenceEndType RecurrenceEndType enum:

Date Count

Indicate whether to create conferences up to a given date, or the number of conferences to create

Yes

endDate Datetime For Date recurrenceEndType,the date for which to create conference up to

No

numberOfConferences

Integer For Count recurrenceEndType,the number of conference to create in the series

No

BT Conferencing Page 36

ReservationInputTypeName Type Description Required

siteList ConferenceSiteType List of Sites for which reservation information is required

Yes

startDateTime dateTime Start dateTime for the query range

Yes

timeZone TimezoneType Time zone for the startDateTime

No

numberOfDays Integer Number of days for the query duration.

Yes

ResponseTypeName Type Description Required

returnMessage String Return any meaningful message

Yes

validationIssues ValidationIssueType[0…n]

Any validation issue (code/msg)

No

Properties PropertyType[0…n] A list of key/value pairs if necessary

No

RequestPersonListResponse (extends ResponseType)Name Type Description Required

requestPersonList RequestPersonListType Response for person list query

Yes

BT Conferencing Page 37

RequestPersonListType Name Type Description Required

list List of RequestPersonType

List of RequestPersonType

Yes

RequestPersonType Name Type Descriptio

nRequired

emailAddress String Email addresess

No

basePhoneNumber String Phone number

No

systemRequesterID Integer Unique ID assisgned By BT for this Person

Yes

countryCode CountryCodeType Three character code to uniquely identify the country

No

firstName String Person’s first name

No

customerSpecifiedRequesterID

String(100) Customer Specified ID used to identify a Person

No

lastName String Person’s last name

No

timeZone TimeZoneType Enum of Standard TimeZone type

No

SiteListResponse (extends ResponseType)Name Type Description Required

sites SiteInfoListType Type containing Yes

BT Conferencing Page 38

List of SiteInfoType

SiteInfoListTypeName Type Description Required

list List of SiteInfoType List of SiteInfoType Yes

SiteInfoTypeName Type Description Required

isdnCertified boolean True if isdn certified

Yes

ipCertified boolean True if IP certified YesvideoCapable boolean True if Video

capableYes

gveRDCapable Boolean True if GVE Reserve Dial Capable

Yes

systemSiteID Int Unique BT Site Identifier

Yes

maxXmitRateIP String Maximum transmit rate for IP

Yes

siteName String Text site name YescustomerSpecifiedSiteID String Customer

specified Site identifier

No

epcCertified Boolean If Site is certified for EndPointConnect

Yes

preferredXmitType String Preferred transmit Type: e.g. H.323, ISDN

No

preferredISDNDIalDirection

DialDirectionType Dial direction preference for ISDN

No

preferredIPDialDirection DialDirectionType Dial direction preference for IP

No

legAllocations LegAllocationListType

List of LegAllocations for cost assignment purposes for this site.

No

BT Conferencing Page 39

Options 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)Name Type Description Requiredoptions ConferenceOptionsTyp

eResponse type containing Conference Options

yes

ConferenceOptionsTypeName Type Description Requi

redproducerAssistedOptions ProducerAssistedOptionsTyp

eOptions for Producer Assisted Conferences

yes

selfServiceOptions SelfServiceOptionsType Options for Self-Service Conferences

yes

roomReservationOptions RoomReservationType Options for Room Reservation Conferences

yes

conferenceReservationQueryOptions

ConferenceReservationQueryType

Options Yes

gveReservceDialOptions GveReserveDialOptionsType Options for GVE RD conferences

No

BT Conferencing Page 40

producerAssistedOptionsName Description

available Boolean flag indicating whether Producer Assisted Conferences are available.

audioOptions Boolean flag indicating whether Audio is available with producer assisted Conferences.

warningToneOptions Options for setting warning tones on Conferences.

cpModeOptions Options for setting participant screen layout for bridged Conferences.

setupTimeOptions Options normally available for setup time prior to conference Start time.

dialDirectionOptions Options for whether the Site dials, or is dialed from Bridge or other Site.

transmitRateOptions Network Transmit rate settings for Conference bandwidth usage.

autoExtendOptions Time value options for auto extending a Conference

greetingsOptions Option types for greeting provided by the Conference producer

monitoringLevelOptions Option types for monitoring by the Conference producer

videoRecordingOptions Boolean flag indicating whether video recording is available.

displayLabel String containing the company Producer Assisted label for presentation

selfServiceOptionsName Description

available Boolean flag indicating whether Self-Service Conferences are available.

audioOptions Boolean flag indicating whether Audio is available with Self-Service Conferences

warningToneOptions Options for setting warning tones on Conferences

BT Conferencing Page 41

cpModeOptions Options for setting participant screen layout for bridged conferences.

setupTimeOptions Options normally available for setup time prior to conference Start time.

dialDirectionOptions Options for whether the Site dials, or is dialed from Bridge or other Site.

transmitRateOptions Network Transmit rate settings for Conference bandwidth usage.

autoExtendOptions Time value options for auto extending a conferencelaunchNowOptions Boolean flag indicating whether a Launch Now Conference

is available.gveReserveDialEnabled Boolean flag indicating whether a GVE Reserve Dial

Conferences are availabledisplayLabel String containing the company Self Service label for

presentationMeetMeAudioEnable Boolean flag indicating whether MeetMe audio is available.maxTotalSites The maximum number of sites that are allowed in a

conference. This is configured by BT with consultation with company administration. Contact BT with questions.

roomReservationOptionsName Description

available Boolean flag indicating whether Room Reservations are available

displayLabel String containing the company Room Reservation label for presentation

GveReserveDialOptionsTypeName Description

displayLabel String value with the company GVE Reserve Dial label for presentation

SiteOptionsResponse (extends ResponseType)Name

Type Description Required

BT Conferencing Page 42

options SiteReservationQueryType List of options for Site Reservation Queries

Yes

SiteReservationQueryTypeName Type Description Required

maxQueryDays

int Maximum number of days allowed for a query

Yes

Methods and Examples

All 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 Retrieval URI: /billingallocations METHOD: GET Request: Response: BillingAllocationListResponse Sample request/response:

Response:

<ns2:BillingAllocationListResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <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>

BT Conferencing Page 43

</allocations></ns2:BillingAllocationListResponse>

Conference Creation URI: /conference METHOD: POST Request: ConferenceInput Response: ConferenceResponse Sample request/response:

Request:

<ns2:ConferenceInput xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <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:

BT Conferencing Page 44

<ns2:ConferenceResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <returnMessage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <systemConferenceID>108545809</systemConferenceID> <conferenceConfirmationURL>http://armadillo.vspan-corp.com/confirmation/conference_confirmation.jsp?conf_pk=108545809&amp;validation_key=10118071992141744466&amp;process=7&amp;confType=5001</conferenceConfirmationURL> <requesterSystemID>18071992</requesterSystemID></ns2:ConferenceResponse>

Conference Update URI: /conference METHOD: PUT Request: ConferenceInput Response: ConferenceResponse Sample request/response:

Request:

<ns2:ConferenceInput xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <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>

BT Conferencing Page 45

<conferenceSites> <systemSiteID>13312507</systemSiteID> <hostSiteYN>false</hostSiteYN> </conferenceSites> </conference></ns2:ConferenceInput>

Response:

<ns2:ConferenceResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <returnMessage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <systemConferenceID>108545809</systemConferenceID> <conferenceConfirmationURL>http://armadillo.vspan-corp.com/confirmation/conference_confirmation.jsp?conf_pk=108545809&amp;validation_key=10118071992141744466&amp;process=7&amp;confType=5001</conferenceConfirmationURL> <requesterSystemID>18071992</requesterSystemID></ns2:ConferenceResponse>

Conference Cancellation URI: /conference/{id} METHOD: DELETE Request:

Path parameter: id – systemConferenceID for the conference to be cancelled

Header Parameter: systemRequesterID – Requester person that requested the cancellation

Header Parameter: customerSpecifiedRequesterID – Customer’s unique identifier for the requester

Response: ResponseType Sample request/response:

Requester headers:

id: 108545809

systemRequesterID: 18071992

Response:

<ns2:Response xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <returnMessage>Meeting 108545809 has been cancelled.</returnMessage>

BT Conferencing Page 46

</ns2:Response>

Conference Series Creation URI: /conference METHOD: POST Request: ConferenceInput Response: 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="http://com/btvc/webservices/services/rest/ConferenceService/"> <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>

BT Conferencing Page 47

<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="http://com/btvc/webservices/services/rest/ConferenceService/"><returnMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/><systemConferenceID>108546601</systemConferenceID><conferenceConfirmationURL>http://armadillo.vspan-corp.com/confirmation/conference_confirmation.jsp?conf_pk=108546641&amp;validation_key=10118071992917084507&amp;process=7&amp;confType=5001</conferenceConfirmationURL><requesterSystemID>18071992</requesterSystemID></ns2:ConferenceResponse>

Conference Retrieval URI: /conference/{id} METHOD: GET Request: Path Parameter: id - systemConferenceID Response: ConferenceDetailResponse Sample request/response:

Request:

id: 108483514

Response

<ns2:ConferenceDetailsResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <returnMessage>Conference detail for 108483514 returned.</returnMessage> <conference>

BT Conferencing Page 48

<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>[email protected]</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>

BT Conferencing Page 49

<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 Retrieval URI: /conference/options METHOD: GET Request: Response: ConferenceTypeOptionsResponse Sample 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>

BT Conferencing Page 50

<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>

BT Conferencing Page 51

<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>

BT Conferencing Page 52

<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 Retrieval URI: / conference/reservations METHOD: POST Request: Path: Response: ConferenceReservationInfoListResponse Sample request/response:

Request Path:

BT Conferencing Page 53

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:ConferenceReservationInputType xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"><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="http://com/btvc/webservices/services/rest/ConferenceService/"> <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 Retrieval URI: / conference/types METHOD: GET Request: Response: ConferenceTypesListResponse Sample request/response:

Response:

<ns2:ConferenceTypesListResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <conferenceList> <list>Producer Assisted and Monitored</list> <list>Self Service</list> <list>Room Reservation</list> </conferenceList>

BT Conferencing Page 54

</ns2:ConferenceTypesListResponse>

Conference Series Retrieval URI: /series/{id} METHOD: GET Request: Path Parameter: id – series ID Response: ConferenceSummaryResponse Sample request/response:

Request Path parameter id: 108546601

Response:

<ns2:ConferenceListResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <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>

BT Conferencing Page 55

<conferenceType>Producer Assisted and Monitored</conferenceType> <gveReserveDial>false</gveReserveDial> </list> </conferenceList></ns2:ConferenceListResponse>

Person Retrieval URI: /person METHOD: GET Request: Response: RequestPersonListResponse Sample request/response:

Response:

<ns2:RequestPersonListResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <requestPersonList> <list> <emailAddress>[email protected]</emailAddress> <systemRequesterID>5794562</systemRequesterID> <firstName>QATITest</firstName> <lastName>UserUSA</lastName> </list> <list> <emailAddress>[email protected]</emailAddress> <systemRequesterID>5794671</systemRequesterID> <firstName>QATITest</firstName> <lastName>UserUK</lastName> </list> <list> <emailAddress>[email protected]</emailAddress> <systemRequesterID>16019493</systemRequesterID> <firstName>Test</firstName> <lastName>PersonABC</lastName> </list> </requestPersonList></ns2:RequestPersonListResponse>

Conference Series Cancellation URI: /series/{id} METHOD: DELETE Request:

Path parameter: id – ID for the series to be cancelled, required.

Header Parameter: systemRequesterID – Requester person that requested the cancellation

BT Conferencing Page 56

Header Parameter: customerSpecifiedRequesterID – Customer’s unique identifier for the requester

Header 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 cancelled

Header Parameter: timeZone – Timezone for the fromDate. Response: ResponseType Sample request/response:

Request

id: 108546601

systemRequesterID: 18071992

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><ns2:Response xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"><returnMessage>All future meeting in series 108546601 has been cancelled.</returnMessage></ns2:Response>

All Site Retrieval URI: /site METHOD: GET Request: Response: SiteListResponse Sample request/response:

Response:

<ns2:SiteListResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <sites> <list> <isdnCertified>false</isdnCertified> <ipCertified>true</ipCertified> <videoCapable>true</videoCapable> <gveRDCapable>true</gveRDCapable> <systemSiteID>74110817</systemSiteID> <maxXmitRateIP>4Mbps</maxXmitRateIP>

BT Conferencing Page 57

<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 Retrieval URI: /site/{id} METHOD: GET Request: Path Parameter: id – site ID Response: SiteInfoResponse Sample request/response:

Response:

<ns2:SiteInfoResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <site> <isdnCertified>false</isdnCertified> <ipCertified>false</ipCertified> <videoCapable>false</videoCapable> <gveRDCapable>false</gveRDCapable>

BT Conferencing Page 58

<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 ID URI: /site/{id}/{cid} METHOD: POST Request:

Path Parameter: id – site ID Path Parameter: cid – Customer Specified Site ID

Response: SiteInfoResponse Sample request/response:

Response:

<ns2:SiteInfoResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <returnMessage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <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 Retrieval URI: /site/favorites METHOD: GET Request (any of the below may be included to identify a request

Person, or. Requester): Parameter: systemRequesterID – Requester person that

requested

BT Conferencing Page 59

Parameter: customerSpecifiedRequesterID – customer specified ID

Parameter: emailAddress – customer emailAddress Response: SiteListResponse Sample request/response:

Response:

<ns2:SiteListResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <returnMessage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <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 Retrieval URI: /site/options METHOD: GET

BT Conferencing Page 60

Request: Response: SiteOptionsResponse Sample request/response:

Response:

<ns2:SiteOptionsResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <returnMessage xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> <options> <siteQueryOptions> <maxQueryDays>10</maxQueryDays> </siteQueryOptions> </options></ns2:SiteOptionsResponse>

Site Reservations URI: site/reservations METHOD: GET Request: Response: ReservationInfoListResponse Sample request/response:

Request:<ns2:ReservationInputType xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <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:

BT Conferencing Page 61

<ns2:ReservationInfoListResponse xmlns:ns2="http://com/btvc/webservices/services/rest/ConferenceService/"> <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 validation URI: /conference/gve_reserve_dial/invitee_access_number METHOD: GET Request:

Header Parameter: phone – Phone number for validation Response: ReservationInfoListResponse Sample request/response:

Request:

Success Response:Response-Code: 200

<ns2:Response><returnMessage xsi:nil="true"/>

</ns2:Response>

Failure Response:Response-Code: 404

Invitee Access number is not found

BT Conferencing Page 62

Required Business Rules

Below are many of the common business rules that the client application must implement to create conferences without errors.

1. General Conference Creationa. Conferencing features enabled for a company must only used if the

feature from ‘/conference/options’ shows the feature enabled.i. Examples Audio, MeetMeAudio, Producer Assisted

conferences, Self Service conferences, WebEx, LaunchNow, gveReserveDial conferences.

b. All sites that included in a conference must have a non-zero Site ID, or a Customer Specified Site ID.

c. 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.

i. Example:ii. <conferenceSites>

iii. <systemSiteID>126543986</systemSiteID>iv. <legAllocations>

<allocationTypeID>6370</allocationTypeID><allocationValue>5</allocationValue>

</legAllocations></conferenceSites>

d. If the ‘/billingallocations’ returns required Billing Allocations, the ‘allocationTypeID’ must be populated and the allocationValue populated.

i. Example:ii. <billingAllocations>iii. <allocationTypeID>117393106</allocationTypeID>iv. <allocationValue>US 23456457</allocationValue>v. </billingAllocations>vi. <billingAllocations>vii. <allocationTypeID>145676106</allocationTypeID>viii. <allocationValue>US098423457</allocationValue>ix. </billingAllocations>

e. Sites cannot be double booked; each Site booking time in each conference must not overlap with Site booking time any other conference.

BT Conferencing Page 63

f. Sites may be included in a conference if they are from the same Onward company as the Web services login.

2. Producer Assisted Conferencea. A Producer Assisted conference must not be scheduled sooner than 1

hour before conference start time if there are 6 or fewer sites.b. A Producer Assisted conference must not be scheduled sooner than 6

hours before conference start time if there are 7 or more sites.c. 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.

3. Self Service Conferencea. A 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.

b. Self Service conferences may only be included in a conference if they have the isCertfied attribute equal to true.

c. GVE Reserve Dial conferences must only include Sites that have the ‘gveRDCapable’ true.

BT Conferencing Page 64