dialogic powermedia web media server/media/manuals/wms2.0/... · 2 2. overview overview of...
TRANSCRIPT
-
ALPH
A
Dialogic® PowerMedia™ Web Media Server Interface Guide
March 2011
www.dialogic.com
-
Copyright and Legal Notice
Copyright © 2011 Dialogic Inc. All Rights Reserved. You may not reproduce this document in whole or in part
without permission in writing from Dialogic Inc. at the address provided below.
All contents of this document are furnished for informational use only and are subject to change without notice and do not represent a commitment on the part of Dialogic Inc. and its affiliates or subsidiaries (“Dialogic”). Reasonable
effort is made to ensure the accuracy of the information contained in the document. However, Dialogic does not warrant the accuracy of this information and cannot accept responsibility for errors, inaccuracies or omissions that
may be contained in this document.
INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH DIALOGIC® PRODUCTS. NO LICENSE,
EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN A SIGNED AGREEMENT BETWEEN YOU AND DIALOGIC, DIALOGIC
ASSUMES NO LIABILITY WHATSOEVER, AND DIALOGIC DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF DIALOGIC PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO
FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHT OF A THIRD PARTY.
Dialogic products are not intended for use in medical, life saving, life sustaining, critical control or safety systems, or in nuclear facility applications.
Due to differing national regulations and approval requirements, certain Dialogic products may be suitable for use only in specific countries, and thus may not function properly in other countries. You are responsible for ensuring
that your use of such products occurs only in the countries where such use is suitable. For information on specific products, contact Dialogic Inc. at the address indicated below or on the web at www.dialogic.com.
It is possible that the use or implementation of any one of the concepts, applications, or ideas described in this
document, in marketing collateral produced by or on web pages maintained by Dialogic may infringe one or more patents or other intellectual property rights owned by third parties. Dialogic does not provide any intellectual
property licenses with the sale of Dialogic products other than a license to use such product in accordance with intellectual property owned or validly licensed by Dialogic and no such licenses are provided except pursuant to a
signed agreement with Dialogic. More detailed information about such intellectual property is available from Dialogic’s legal department at 926 Rock Avenue, San Jose, California 95131 USA. Dialogic encourages all users
of its products to procure all necessary intellectual property licenses required to implement any concepts or applications and does not condone or encourage any intellectual property infringement and
disclaims any responsibility related thereto. These intellectual property licenses may differ from
country to country and it is the responsibility of those who develop the concepts or applications to be aware of and comply with different national license requirements.
Dialogic, Dialogic Pro, Dialogic Blue, Veraz, Brooktrout, Diva, Diva ISDN, Making Innovation Thrive, Video is the
New Voice, Diastar, Cantata, TruFax, SwitchKit, SnowShore, Eicon, Eicon Networks, NMS Communications, NMS (stylized), Eiconcard, SIPcontrol, TrustedVideo, Exnet, EXS, Connecting to Growth, Fusion, Vision, PowerMedia,
PacketMedia, BorderNet, inCloud9, I-Gate, Hi-Gate, NaturalAccess, NaturalCallControl, NaturalConference,
NaturalFax and Shiva, among others as well as related logos, are either registered trademarks or trademarks of
Dialogic Inc. and its affiliates or subsidiaries. Dialogic’s trademarks may be used publicly only with permission from Dialogic. Such permission may only be granted by Dialogic’s legal department at 926 Rock Avenue, San Jose,
California 95131 USA. Any authorized use of Dialogic’s trademarks will be subject to full respect of the trademark guidelines published by Dialogic from time to time and any use of Dialogic’s trademarks requires proper
acknowledgement.
The names of actual companies and products mentioned herein are the trademarks of their respective owners.
This document discusses one or more open source products, systems and/or releases. Dialogic is not responsible for your decision to use open source in connection with Dialogic products (including without limitation those
referred to herein), nor is Dialogic responsible for any present or future effects such usage might have, including without limitation effects on your products, your business, or your intellectual property rights.
http://www.dialogic.com/
-
iii
Table of Contents
1. Dialogic® PowerMedia™ Web Media Server - Interface Guide ....................... 1
2. Overview ....................................................................................................... 2 Overview of Dialogic® PowerMedia™ Web Media Server ...................................... 2
Traditional Configuration ............................................................................... 2 Web 2.0 Interface Configuration..................................................................... 3 Web Services ............................................................................................... 4 Request / Response Model ............................................................................. 5 Event Streaming .......................................................................................... 6
3. Functionality .................................................................................................. 8 Functionality Overview..................................................................................... 8 MediaStream .................................................................................................. 8
URL Location ............................................................................................... 8 XML Payload Examples .................................................................................. 9 Interaction Diagram ................................................................................... 10
Player .......................................................................................................... 11 URL Location ............................................................................................. 11 XML Payload Examples ................................................................................ 11 Interaction Diagram ................................................................................... 12
Recorder ...................................................................................................... 14 URL Location ............................................................................................. 14 XML Payload Examples ................................................................................ 14 Interaction Diagram ................................................................................... 15
Collector ...................................................................................................... 16 URL Location ............................................................................................. 16 XML Payload Examples ................................................................................ 16 Interaction Diagram ................................................................................... 17
Conference ................................................................................................... 19 URL Location ............................................................................................. 19 XML Payload Examples ................................................................................ 19 Interaction Diagram ................................................................................... 20
PlayerCollector.............................................................................................. 22 URL Location ............................................................................................. 22 XML Payload Examples ................................................................................ 23 Interaction Diagram ................................................................................... 23
EventHandler ................................................................................................ 25 URL Location ............................................................................................. 25 XML Payload Examples ................................................................................ 25 Interaction Diagram ................................................................................... 26
Buddy .......................................................................................................... 28 URL Location ............................................................................................. 28 XML Payload Examples ................................................................................ 29 Interaction Diagram ................................................................................... 29
VolumeController .......................................................................................... 32 URL Location ............................................................................................. 32 XML Payload Examples ................................................................................ 32 Interaction Diagram ................................................................................... 33
Call ............................................................................................................. 36 URL Location ............................................................................................. 36 XML Payload Examples ................................................................................ 36
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
iv
Interaction Diagram ................................................................................... 37
4. Demo / Sample Applications ........................................................................ 41 Conference Server ........................................................................................ 41
Technology ................................................................................................ 41 Topology ................................................................................................... 41 Interaction Diagram ................................................................................... 42
Interactive Test Client ................................................................................... 48 Technology ................................................................................................ 48
5. Interface Definition ..................................................................................... 49 Interface Definition Overview ......................................................................... 49 MediaStreams - Interface Definition ................................................................ 49 Players - Interface Definition .......................................................................... 50 Recorders - Interface Definition ...................................................................... 51 Collectors - Interface Definition....................................................................... 52 Conferences - Interface Definition ................................................................... 53 PlayerCollectors - Interface Definition .............................................................. 54 EventHandlers - Interface Definition ................................................................ 55 Buddies - Interface Definition ......................................................................... 56 VolumeControllers - Interface Definition........................................................... 57 Calls - Interface Definition .............................................................................. 58
6. Web Media Server 2.0 XML Payload Schema ................................................ 59
-
v
Revision History
Revision Release date Notes
1.0 March 2011 Alpha Release with SIP Call Control
Last modified: March 2011
Refer to www.dialogic.com for product updates and for information about support policies, warranty information, and service offerings.
http://www.dialogic.com/
-
1
1. Dialogic® PowerMedia™ Web Media Server -
Interface Guide
This document provides information about the Dialogic® PowerMedia™ Web Media Server (also referred to herein as “PowerMedia WMS”), including available features and interface definitions.
This document provides the following:
A high-level view of the PowerMedia WMS
Benefits offered by the interface
Functionality currently supported in the interface
Overview of demos and samples
Detailed interface definition
XML Payload Schema
-
2
2. Overview
Overview of Dialogic® PowerMedia™ Web Media Server
The following is an overview of how the PowerMedia WMS differs from the traditional Dialogic® PowerMedia™ IP Media Server configuration.
Traditional Configuration
The Dialogic® PowerMedia™ IP Media Server (also referred to herein as “PowerMedia IPMS”) is a software-based product that provides media control functionality such as playing and recording audio and video, audio and video conferencing, and advanced audio and video processing.
Traditionally, an application uses SIP, VoiceXML, NetAnn, or MSCML to control the
PowerMedia IPMS and initiate the specific media processing functionality desired. An active SIP call is required between the PowerMedia IPMS and the application server for each remote telephony endpoint that will be transmitting or receiving media to/from the PowerMedia IPMS.
This required SIP session serves a dual role:
used by the PowerMedia IPMS to create the mediastream directly between the PowerMedia IPMS and the remote endpoint.
used by the SIP session as a transport mechanism between the application server and the PowerMedia IPMS for the media control XML language content.
The following diagram reflects a simplified topology of an example of a traditional PowerMedia IPMS configuration.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
3
Web 2.0 Interface Configuration
The PowerMedia WMS provides a Web 2.0 interface for media control. This media control interface uses HTTP requests and responses to perform media control operations.
The PowerMedia WMS uses HTTP streaming technologies to enable the client to receive asynchronous event notifications. The PowerMedia WMS does not use SIP Call Control. In fact, the PowerMedia WMS is not involved in call control signaling with the web application, which makes it easier to be used by web developers even if they are not very familiar with telephony development.
The following diagram reflects a simplified topology of an example of a PowerMedia WMS
configuration.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
4
Dialogic Network
PSTN
Dialogic® PowerMedia™ Web Media Server
RTP
Media
SIP
Call
Control
HTTP
Web Service
Application ServerPSTN / SIP Gateway
SIP
Call
Control
Web Services
Although there are many definitions and terms (such as Web APIs) for web services, a web service can be generally described as a software system designed to support interoperable machine-to-machine interactions over a network, specifically using HTTP.
The PowerMedia WMS 2.0 is a media control interface using HTTP requests and responses to control the features provided by the product; and it also provides SIP Call Control as well.
When designing the web service, the choice of which protocol to use is an important decision. There are many protocols and approaches that can be considered; however, as of the publication of this document, the three most popular and widely accepted web service protocols are REST, SOAP, and Plain Old XML (POX).
The protocol used by the PowerMedia WMS interface is the Representational State Transfer (RESTful) approach.
The REST protocol is resource-based and uses various HTTP methods (GET, PUT, POST, and DELETE) to manipulate the resource. In general, the various HTTP methods can be translated to the actions shown in the following table.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
5
HTTP Method
Action Taken By Web Service Response Body
GET Retrieve information for all instances
of a specific resource type, or retrieve information regarding a specific resource.
Contents of resource
information.
This can be for all instances of a specific resource type or for an individual resource.
POST Create a new resource. Contents of newly created
resource.
PUT Modify an existing resource. Contents of updated resource.
DELETE Delete an existing resource. N/A
Request / Response Model
The mechanism by which media control functionality is invoked is the HTTP request / response model. A RESTful HTTP request is sent to the PowerMedia WMS. The HTTP response carries the resulting response code of the operation as well as a response body if it applies to the specific operation.
As an example, if a client wished to retrieve a list of all MediaStreams (RTP sessions) currently active on the PowerMedia WMS, it would issue an HTTP GET request. The following HTTP GET request would be sent by the client to the PowerMedia WMS interface running on PowerMedia WMS with IP address of :
http://:port/DialogicWebService/mediacontrol/mediastreams
If successful, the response code to the HTTP GET would be 200 OK.
The response body would resemble the following example.
< mediastream_response identifier="1992483494" appid="master"
href="http://192.168.1.248:81/DialogicWebService/mediacontrol/mediastreams/1992483494" clientipaddress="192.168.1.225" serveripaddress="192.168.1.248">
< mediastream_response identifier="1279697438" appid="master" href="http://192.168.1.248:81/DialogicWebService/mediacontrol/mediastreams/1279697438"
clientipaddress="192.168.1.202" serveripaddress="192.168.1.248">
The above example shows a client requesting information for all MediaStreams. The example shows three active RTP stream pairs – each pair consisting of audio and optionally video RTP stream. The example also shows identifier and other properties of each MediaStream. See MediaStream for further information.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
6
If a client wanted to retrieve information for only a single specific MediaStream, it would invoke the following HTTP GET request. The specific MediaStream identifier is part of the GET URL.
http://:port/DialogicWebService/mediacontrol/mediastreams/1279697438
If successful, the response code to the HTTP GET would be 200 OK.
The response body would resemble the following example.
< mediastream_response identifier="1279697438" appid="master"
href="http://192.168.1.248:81/DialogicWebService/mediacontrol/mediastreams/1279697438" clientipaddress="192.168.1.202" serveripaddress="192.168.1.248">
Additional request / response examples are contained in the Functionality topics.
Bridging Telephony Network with PowerMedia WMS
The application (client) that uses PowerMedia WMS to control the product also controls the SIP sessions that exist between the application and the telephony network. As such, the SIP Session Description Protocol information is used by the application to create web services based MediaStreams. The examples above show attributes of a MediaStream. The attributes include RTP IP addresses, port numbers, and codec types. This information is mapped into the SDP that accompanies the SIP session being setup by the application.
Event Streaming
Telephony applications must handle unsolicited events such as digit detection and play completion events. Unsolicited events or client notifications do not fit well into the HTTP request / response model. However HTTP does support other mechanisms that enable this to be supported.
The concept is called Comet or HTTP event streaming. In a normal HTTP interaction, the client sends a request to the server, which performs its processing actions and sends the HTTP response. Then the connection between the client and server is closed. This process will take place continuously as long as the web service is running; however, with HTTP event/data streaming, the TCP connection remains open after the response is sent from the server, allowing the server to continue to send raw data to the client without notice.
HTTP event streaming is implemented in the PowerMedia WMS EventHandler
resource. When the client wishes to receive asynchronous events, it uses the PowerMedia WMS to create an EventHandler and subscribes to specific event types. When the client performs an HTTP GET on the newly created EventHandler, the PowerMedia WMS responds with a 200 OK; however, the TCP connection remains open until the client destroys the
EventHandler. Event data related to resources and event types subscribed are to be pushed to the client until the EventHandler is deleted by the client.
The following diagram depicts an example scenario where a client creates an EventHandler and receives digit detection and play completion events.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
7
Client Web ServiceHTTP POST
HTTP POST to create new EventHandler
http:///DialogicWebService/mediacontrol/EventHandlers
201 CREATED
201 CREATED Response
HTTP GET
HTTP GET to retireve events
http://:prot/DialogicWebService/mediacontrol/eventhandlers/a801ffa1-1e4b-4e11-85e6-c5d04c185401
200 OK
200 OK Response
No Body (TCP Connection remains open)
Event Data
Event Data
Event Data
-
8
3. Functionality
Functionality Overview
The following sections describe the various resource-based component types supported by the PowerMedia WMS interface as of the date of publication of this document. Each section contains a brief description of the resource and its underlying functionality, as well as the associated properties that can be controlled by the PowerMedia WMS.
MediaStream
Player
Recorder
Collector
Conference
PlayerCollector
EventHandler
Buddy
VolumeController
Call
Note: Text Overlays are specified in the Player resource.
MediaStream
The MediaStream resource owns the creation and management of a media connection between the remote media endpoint and the PowerMedia WMS. This resource defines the following:
Audio and video codecs used
IP Address and ports of both the remote and local endpoints
Various media related properties associated with the media connection
URL Location
Create a mediastream and Get all mediastreams
http://servver:port/DialogicWebService/mediacontrol/mediastreams?appid=master
Update/Get/Delete a mediastream
http://servver:port/DialogicWebService/mediacontrol/mediastreams/ids?appid=master
http://servver:port/DialogicWebService/mediacontrol/mediastreams?appid=masterhttp://servver:port/DialogicWebService/mediacontrol/mediastreams/ids?appid=master
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
9
XML Payload Examples
Request XML Payload for creating / updating a mediastream
Response XML Payload for getting all mediastreams
Response XML Payload for an instance of mediastream
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
10
Interaction Diagram
MediaStream Creation
The following diagram illustrates the MediaStream creation process.
Client Web Service
HTTP POST
HTTP POST to create new MediaStream
http://:port/DialogicWebService/mediacontrolm/mediastreams?appid=master
201 CREATED
201 CREATED Response
MediaStream Creation Process
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
11
MediaStream Deletion
The following diagram illustrates the MediaStream deletion process.
Client Web Service
HTTP DELETE
HTTP DELETE to delete an existing MediaStream
http://:port/DialogicWebService/mediacontrol/mediastreams/92233fab-cc4a-455f-ae40-918c4e247e6e?appid=master
204 NO CONTENT
MediaStream Deletion Process
Player
The Player resource encapsulates a single instance of a media player resource. This resource defines the target of the media play operation (MediaStream, Call or Conference), the source media (file, HTTP, RTSP), and various media related properties (such as text overlay) associated with the Player resource.
URL Location
Create a player and Get all player
http://servver:port/DialogicWebService/mediacontrol/players?appid=master
Update/Get/Delete a player
http://servver:port/DialogicWebService/mediacontrol/players/ids?appid=master
XML Payload Examples
Request XML Payload for creating / updating a player
http://servver:port/DialogicWebService/mediacontrol/players?appid=masterhttp://servver:port/DialogicWebService/mediacontrol/players/ids?appid=master
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
12
Response XML Payload for getting all players
Response XML Payload for an instance of player
Interaction Diagram
Player Creation
The following diagram illustrates the Player creation process.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
13
Client Web Service
HTTP POST
HTTP POST to create new Player
http://:port/DialogicWebService/mediacontrol/players?appid=master
201 CREATED
201 CREATED Response
Player Creation Process
Player Deletion
The following diagram illustrates the Player deletion process.
Client Web Service
HTTP DELETE
HTTP DELETE to delete an existing Player
http://:port/DialogicWebService/mediacontrol/players/5974c8b5-8a3c-4a8e-ae82-8f7c8bd0efd5?appid=master
204 NO CONTENT
Player Deletion Process
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
14
Recorder
The Recorder resource encapsulates a single instance of a media recording resource. This resource defines the source for the media recording operation (MediaStream, Call or Conference) the destination for the recording, and various media-related properties associated with the Recorder resource.
URL Location
Create a recorder and Get all recorder
http://servver:port/DialogicWebService/mediacontrol/recorders?appid=master
Update/Get/Delete a recorder
http://servver:port/DialogicWebService/mediacontrol/recorders/ids?appid=master
XML Payload Examples
Request XML Payload for creating / updating a recorder
Response XML Payload for getting all recorders
Response XML Payload for an instance of recorder
http://servver:port/DialogicWebService/mediacontrol/recorders?appid=masterhttp://servver:port/DialogicWebService/mediacontrol/recorders/ids?appid=master
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
15
Interaction Diagram
Recorder Creation
The following diagram illustrates the Recorder creation process.
Client Web Service
HTTP POST
HTTP POST to create new Recorder
http:///DialogicWebService/mediacontrol/recorders?appid=master
201 CREATED
201 CREATED Response
Recorder Creation Process
Recorder Deletion
The following diagram illustrates the Recorder deletion process.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
16
Client Web Service
HTTP DELETE
HTTP DELETE to delete an existing Recorder
http://:port/DialogicWebService/mediacontrol/recorders/00c8e0e9-6216-4225-8cf1-0ba00a149d30?appid=master
204 NO CONTENT
Recorder Deletion Process
Collector
The Collector resource encapsulates a single instance of a digit collecting resource. This
resource defines the source MediaStream or Call for the collecting operation, the state of the collection process, and a digit mask used during digit detection.
URL Location
Create a collector and Get all collectors
http://servver:port/DialogicWebService/mediacontrol/collectors?appid=master
Update/Get/Delete a collector
http://servver:port/DialogicWebService/mediacontrol/ collectors /ids?appid=master
XML Payload Examples
Request XML Payload for creating / updating a collector
http://servver:port/DialogicWebService/mediacontrol/collectors?appid=masterhttp://servver:port/DialogicWebService/mediacontrol/recorders/ids?appid=master
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
17
Response XML Payload for getting all recorders
Response XML Payload for an instance of recorder
Interaction Diagram
Collector Creation
The following diagram illustrates the Collector creation process.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
18
Client Web Service
HTTP POST
HTTP POST to create new Collector
http://:port/DialogicWebService/mediacontrol/collectors?appid=master
201 CREATED
201 CREATED Response
Collector Creation Process
Collector Deletion
The following diagram illustrates the Collector deletion process.
Client Web Service
HTTP DELETE
HTTP DELETE to delete an existing Collector
http://:port/DialogicWebService/mediacontrol/collectors/00c8e0e9-6216-4225-8cf1-0ba00a149d30?appid=master
204 NO CONTENT
Collector Deletion Process
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
19
Conference
The Conference resource encapsulates a single instance of a conference resource on the
media server. This resource contains the “mediastream” or “call” that are currently included in the active conference.
URL Location
Create a conference and Get all conferences
http://servver:port/DialogicWebService/mediacontrol/conferences?appid=master
Update/Get/Delete a conferences
http://servver:port/DialogicWebService/mediacontrol/conferences /ids?appid=master
XML Payload Examples
Request XML Payload for creating / updating a conference
Response XML Payload for getting all conferences
http://servver:port/DialogicWebService/mediacontrol/conferences?appid=masterhttp://servver:port/DialogicWebService/mediacontrol/conferences%20/ids?appid=master
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
20
Response XML Payload for an instance of conferences
Interaction Diagram
Conference Creation
The following diagram illustrates the Conference creation process.
Client Web Service
HTTP POST
HTTP POST to create new empty Conference
http://:port/DialogicWebService/mediacontrol/conferences?appid=master
201 CREATED
201 CREATED Response
Conference Creation Process
Conference Deletion
The following diagram illustrates the Conference deletion process.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
21
Client Web Service
HTTP DELETE
HTTP DELETE to delete an existing Collector
http://:port/DialogicWebService/mediacontrol/conferences
/3513d1ca-96d7-477d-8a56-afc320044f40?appid=master
204 NO CONTENT
Conference Deletion Process
Conference Adding Party
The following diagram illustrates the Conference add party process.
Client Web Service
HTTP PUT
HTTP PUT to add new party to Conference
http://:port/DialogicWebService/mediacontrol/conferences/1739856904?appid=master
200 OK
200 OK Response
Conference Add Party Process
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
22
Conference Removing Party
Client Web Service
HTTP PUT
HTTP PUT to remove existing party from Conference
http://:port/DialogicWebService/mediacontrol/conferences/1739856904?appid=master
200 OK
200 OK Response
Conference Remove Party Process
PlayerCollector
The PlayerCollector resource is a composite resource that encapsulates all functionality of a Player and a Collector into a single resource. This resource type enables reduced development time for users and helps to streamline the logic of the client application.
URL Location
Create a playercollector and Get all playercollectors
http://servver:port/DialogicWebService/mediacontrol/playercollectors?appid=master
Update/Get/Delete a playercollector
http://servver:port/DialogicWebService/mediacontrol/playercollectors/ids?appid=master
http://servver:port/DialogicWebService/mediacontrol/playercollectors?appid=masterhttp://servver:port/DialogicWebService/mediacontrol/playercollectors/ids?appid=master
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
23
XML Payload Examples
Request XML Payload for creating / updating a playercollector
Response XML Payload for getting all playercollectors
Response XML Payload for an instance of playercollectors
Interaction Diagram
PlayerCollector Creation
The following diagram illustrates the PlayerCollector creation process.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
24
Client Web Service
HTTP POST
HTTP POST to create new PlayerCollector
http://:port/DialogicWebService/mediacontrol/playercollectors?appid=master
201 CREATED
201 CREATED Response
PlayerCollector Creation Process
PlayerCollector Deletion
The following diagram illustrates the PlayerCollector deletion process.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
25
Client Web Service
HTTP DELETE
HTTP DELETE to delete an existing PlayerCollector
http://:port/DialogicWebService/mediacontrol/playercollectors/10a6af36-8b59-4a54-b904-a82be90babfc?
appid=master
204 NO CONTENT
PlayerCollector Deletion Process
EventHandler
HTTP event streaming is implemented in the PowerMedia WMS EventHandler resource.
When the client wishes to receive asynchronous events, it uses the web service to create an EventHandler and subscribes to specific event types. When the client performs an HTTP GET on the newly created EventHandler, the web service responds with a 200 OK; however, the
TCP connection remains open until the client destroys the EventHandler. Event data related to resources and event types subscribed to will be pushed to the client until the EventHandler is deleted by the client.
URL Location
Create an eventhandler and Get all eventhandlers
http://servver:port/DialogicWebService/mediacontrol/eventhandlers?appid=master
Update/Get/Delete an eventhandler
http://servver:port/DialogicWebService/mediacontrol/ eventhandlers /ids?appid=master
XML Payload Examples
Request XML Payload for creating / updating an eventhandler
http://servver:port/DialogicWebService/mediacontrol/eventhandlers?appid=masterhttp://servver:port/DialogicWebService/mediacontrol/playercollectors/ids?appid=master
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
26
Response XML Payload for getting all eventhandlers
Response XML Payload for an instance of eventhandlers
Interaction Diagram
EventHandler Sequence Diagram
The following diagram illustrates the eventhandler sequence.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
27
Client Web ServiceHTTP POST
HTTP POST to create new EventHandler
http:///DialogicWebService/mediacontrol/EventHandlers
201 CREATED
201 CREATED Response
HTTP GET
HTTP GET to retireve events
http://:prot/DialogicWebService/mediacontrol/eventhandlers/a801ffa1-1e4b-4e11-85e6-c5d04c185401
200 OK
200 OK Response
No Body (TCP Connection remains open)
Event Data
Event Data
Event Data
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
28
Buddy
Certain members of a conference are buddies or colleagues with each other. Each member or leg has a list of other members with whom they are buddies.
When none of the buddies are muted, they are normal participating members of the conference. They are selected for the conference mix just like the other members, and each hears the conference just like the other members.
However, when one of the buddies is muted from the conference (using the mute=buddies parameter of the buddies command), he is now coaching his buddies; that is, his audio is
not being fed to the conference, but is being mixed with the audio sent to each of his buddies. So his buddies hear the conference mix, plus the muted (from the conference's point of view) buddy.
If multiple buddies are muted, they are all coaching the other buddies and each other. Each buddy hears the conference mix, plus the muted buddies. The muted buddies are not mixed
into the conference.
If all buddies are muted, they are in a sidebar conference with each other. Each buddy hears the conference mix, plus all the other buddies. They can talk amongst themselves. Once one buddy un-mutes, the others are can still chat amongst themselves, and the un-muted member will still hear them. This becomes a multiple coach scenario.
Buddies are automatically reciprocal. If leg A is a buddy of leg B, then leg B is a buddy of leg A.
To implement this, each member has a buddy list. When it comes time to send the conference mix to that member, the audio from his muted buddies is added to the mix. So each member with at least one muted buddy gets a personalized audio mix. While there is no limit on the number of buddies a member may have, above a given number the mixer may have to order and select appropriate buddy talkers, rather than just mixing them all.
The buddy concept can implement coach/whisper and sidebar conferencing with very simple logic. To move from a sidebar and back is just un-muting. To switch roles from coach to member is just un-muting. To switch roles from coach to pupil is just mute the pupil, and un-mute the coach.
The buddy concept allows for multiple sidebars per conference, multiple coaches per
conference, multiple coaches per pupil, and multiple pupils per coach. It also allows for sidebars of sidebars.
URL Location
Create an buddy and Get all buddies
http://servver:port/DialogicWebService/mediacontrol/buddies?appid=master
Update/Get/Delete a buddy
http://servver:port/DialogicWebService/mediacontrol/buddies/ids?appid=master
http://servver:port/DialogicWebService/mediacontrol/buddies?appid=masterhttp://servver:port/DialogicWebService/mediacontrol/buddies/ids?appid=master
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
29
XML Payload Examples
Request XML Payload for creating / updating a buddy
Response XML Payload for getting all buddies
Response XML Payload for an instance of buddies
Interaction Diagram
Buddy Creation
The following diagram illustrates the Buddy creation process.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
30
Client Web Service
HTTP POST
HTTP POST to create new buddy list & add a new buddy
http://:port/DialogicWebService/mediacontrol/buddies?appid=master
201 CREATED
201 CREATED Response
Buddy Creation Process
Buddy Update
The following diagram illustrates the Buddy update process.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
31
Client Web Service
HTTP PUT
HTTP Put to upate a buddy list (add a new member, remove an existing member)
http://:port/DialogicWebService/mediacontrol/buddies/363e7db6-21db-43e0-b864-3635764db046?appid=master
200 OK
200 OK Response
Buddy Update Process
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
32
Buddy Deletion
The following diagram illustrates the Buddy deletion process.
Client Web Service
HTTP DELETE
HTTP DELETE to delete an existing buddy
http://:port/DialogicWebService/mediacontrol/buddies/363e7db6-21db-43e0-b864-3635764db046?appid=master
204 NO CONTENT
Buddy Deletion Process
VolumeController
The VolumeController resource changes the output gain or volume of audio being played on a mediastream, call or a conference.
URL Location
Create an buddy and Get all buddies
http://servver:port/DialogicWebService/mediacontrol/volumecontrollers?appid=master
Update/Get/Delete a buddy
http://servver:port/DialogicWebService/mediacontrol/volumecontrollers/ids?appid=master
XML Payload Examples
Request XML Payload for creating / updating a volumecontroller
http://servver:port/DialogicWebService/mediacontrol/volumecontrollers?appid=masterhttp://servver:port/DialogicWebService/mediacontrol/volumecontrollers/ids?appid=master
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
33
Response XML Payload for getting all volumecontrollers
>
Response XML Payload for an instance of volumecontrollers
>
Interaction Diagram
VolumeController Creation
The following diagram illustrates the VolumeController creation process.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
34
client web_service
HTTP POST
HTTP POST to create a volumecontroller
http://:port/DialogicWebService/mediacontrol/volumecontrollers?appid=master
200 CREATED
201 CREATED Response
VolumeController Creation Process
VolumeController Update
The following diagram illustrates the VolumeController update process.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
35
Client Web Service
HTTP PUT
HTTP Put to update volume controller
http://:port/DialogicWebService/mediacontrol/volumecontrollers/9c62f349-dd00-4d43-bf10-e45b6d5af4a1?appid=master
200 OK
200 OK Response
VolumeController Update Process
VolumeController Deletion
The following diagram illustrates the VolumeController deletion process.
Client Web Service
HTTP DELETE
HTTP DELETE to delete an existing volumecontroller
http://:port/DialogicWebService/mediacontrol/volumecontrollers/9c62f349-dd00-4d43-bf10-e45b6d5af4a1?appid=master
204 NO CONTENT
VolumeController Deletion Process
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
36
Call
The Call resource owns the creation and management of a media connection between the
SIP endpoint and the PowerMedia WMS. This resource defines the following:
Audio and video codecs used
IP Address and ports of both the remote and local endpoints
Various media related properties associated with the media connection
The PowerMedia WMS has a SIP Agent which handles the inbound SIP call and outbound SIP call. In case of inbound SIP call, the PowerMedia WMS will create a “call” resource, and sends out an event to inform the Application, there is an incoming call. In case of outbound call, the application needs to create a “call” resource. In call resource, it does not support SIP reinvite, refer message used for call transfer; and SIP session timer and prack is not supported as well.
URL Location
Create an call and Get all calls
http://servver:port/DialogicWebService/sipcallcontrol/calls?appid=master
Update/Get/Delete a call
http://servver:port/DialogicWebService/sipcallcontrol/calls/ids?appid=master
XML Payload Examples
Request XML Payload for creating an outbound call
Request XML Payload for updating an inbound call
The call_action has following value:
answer, accept means to accept incoming call
reject means to reject incoming call
http://servver:port/DialogicWebService/sipcallcontrol/calls?appid=masterhttp://servver:port/DialogicWebService/sipcallcontrol/calls/ids?appid=master
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
37
Response XML Payload for getting all volumecontrollers
Response XML Payload for an instance of volumecontrollers
Interaction Diagram
Answer Inbound SIP Call
The following diagram illustrates “answering inbound SIP call” process.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
38
SIP Endpoint App
SIP INVITE
SIP 100 TRYING
SIP 183 Ringing
Answer Inbound SIP Call
Web Service
Send an event
HTTP PUT
HTTP 200 OK
HTTP PUT to Accept call
http://10.20.129.245:81/DialogicWebService/sipcallcontrol/calls/fc3931c1-a530-4403-864f-e7cbd29374e0?appId=
200 OK Response
call resource has being created
Create an eventhandle & start listening to an inbound call event
Answer Inbound SIP Call
The following diagram illustrates answering inbound SIP call.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
39
SIP Endpoint App
SIP INVITE
SIP 100 TRYING
SIP 183 Ringing
Answer Inbound SIP Call
Web Service
Send an event
HTTP PUT
HTTP 200 OK
HTTP PUT to Accept call
http://10.20.129.245:81/DialogicWebService/sipcallcontrol/calls/fc3931c1-a530-4403-864f-e7cbd29374e0?appId=
200 OK Response
call resource has being created
Create an eventhandle & start listening to an inbound call event
Make Outbound SIP Call
The following diagram illustrates making an outbound SIP call process.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
40
Web Service SIP ProxyApplication
SIP INVITE
HTTP POST
SIP 100 TRYING
SIP 200 OK
Make Outbound SIP Call
EVENT
Providing the audio & video codec
are optional. If not supplied by
application the default values from
the config file will be taken.
HTTP POST
201 CREATED Response
HTTP 201 Created
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
41
4. Demo / Sample Applications
Conference Server
The conferencing demo application is a conferencing server built on top of a Java Platform Enterprise Edition (Java EE, also commonly referred to as JEE or J2EE) application server framework that supports both HTTP and SIP servlets. It handles SIP Call Control signaling and utilizes the PowerMedia WMS for audio prompts and conferencing support.
This application is delivered as part of the PowerMedia WMS installation and serves as both a sample code and logic repository and as a reference application for a commercial conferencing server application.
Technology
From a client perspective, this demo application is written in Java and was built using Netbeans 6.x. It runs on the Sailfin J2EE communications server.
Topology
Below is a topology map that details the components in use for this demo application.
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
42
Interaction Diagram
Conference Demo – Create Conference
SIP Endpoint Conference App Web Service
HTTP POST
** Create new empty conference **
POST /DialogicWebService/mediacontrol/conferences?appid=master HTTP/1.1
Accept: application/xml
Content-type: application/xml
User-Agent: Java/1.5.0_17
Host: 192.168.1.248:81
Connection: keep-alive
Content-Length: 25
HTTP 201 CREATED
HTTP/1.1 201 Created
Location: http://192.168.1.248:81/DialogicWebService/mediacontrol/conferences/396829991
Content-Length: 0
Date: Wed, 01 Jul 2009 12:54:58 GMT
Server: lighttpd/1.4.22
Create the Conference
HTTP POST
** Create default conference player resource **
POST /DialogicWebService/mediacontrol/players?appid=master HTTP/1.1
Accept: application/xml
Content-type: application/xml
User-Agent: Java/1.5.0_17
Host: 192.168.1.248:81
Connection: keep-alive
Content-Length: 129
HTTP 201 CREATED
HTTP/1.1 201 Created
Location: http://192.168.1.248:81/DialogicWebService/mediacontrol/players/440446950
Content-Length: 0
Date: Wed, 01 Jul 2009 12:55:05 GMT
Server: lighttpd/1.4.22
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
43
Conference Demo – Answer Inbound Call
SIP Endpoint Conference App Web Service
SIP INVITE
HTTP POST
** Create new media stream **
POST /DialogicWebService/mediacontrol/mediastreams?appid=master HTTP/1.1
Accept: application/xml
Content-type: application/xml
User-Agent: Java/1.5.0_17
Host: 192.168.1.248:81
Connection: keep-alive
Content-Length: 179
HTTP 201 CREATED
HTTP/1.1 201 Created
Location: http://192.168.1.248:81/DialogicWebService/mediacontrol/mediastreams/560152155
Content-Length: 0
Date: Wed, 01 Jul 2009 12:54:57 GMT
Server: lighttpd/1.4.22
SIP 100 TRYING
SIP 200 OK
Answer Inbound SIP Call
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
44
Conference Demo – Play Prompt(s) to Party
SIP Endpoint Conference App Web Service
HTTP POST
** Create new player playing prompt informing caller they are being added to the conference **
POST /DialogicWebService/mediacontrol/players?appid=master HTTP/1.1
Accept: application/xml
Content-type: application/xml
User-Agent: Java/1.5.0_17
Host: 192.168.1.248:81
Connection: keep-alive
Content-Length: 130
HTTP 201 CREATED
HTTP/1.1 201 Created
Location: http://192.168.1.248:81/DialogicWebService/mediacontrol/players/532041893
Content-Length: 0
Date: Wed, 01 Jul 2009 12:54:58 GMT
Server: lighttpd/1.4.22
Play Prompt(s) to Party
HTTP PUT
** If the party is the only party in the conference **
** Update player informing the party that they are the only party in the conference **
PUT /DialogicWebService/mediacontrol/players/532041893?appid=master HTTP/1.1
Accept: application/xml
Content-type: application/xml
User-Agent: Java/1.5.0_17
Host: 192.168.1.248:81
Connection: keep-alive
Content-Length: 127
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
45
Conference Demo – Play Prompt to Conference
SIP Endpoint Conference App Web Service
HTTP PUT** Add party to the conference **
PUT /DialogicWebService/mediacontrol/conferences/396829991?appid=master HTTP/1.1
Accept: application/xml
Content-type: application/xml
User-Agent: Java/1.5.0_17
Host: 192.168.1.248:81
Connection: keep-alive
Content-Length: 88
HTTP 200 OK
HTTP/1.1 200 OK
Location: http://192.168.1.248:81/DialogicWebService/mediacontrol/conferences/396829991
Content-Length: 0
Date: Wed, 01 Jul 2009 12:55:05 GMT
Server: lighttpd/1.4.22
Add Party and Play Prompt to Conference
HTTP PUT
** Play prompt (Beep) to the conference once the party is added **
PUT /DialogicWebService/mediacontrol/players/440446950?appid=master HTTP/1.1
Accept: application/xml
Content-type: application/xml
User-Agent: Java/1.5.0_17
Host: 192.168.1.248:81
Connection: keep-alive
Content-Length: 129
HTTP 200 OK
HTTP/1.1 200 OK
Location: http://192.168.1.248:81/DialogicWebService/mediacontrol/players/440446950
Content-Length: 0
Date: Wed, 01 Jul 2009 12:55:05 GMT
Server: lighttpd/1.4.22
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
46
Conference Demo – Remove Party from Conference (1 of 2)
SIP Endpoint Conference App Web Service
HTTP PUT
** Remove party from the conference **
PUT /DialogicWebService/mediacontrol/conferences/396829991?appid=master HTTP/1.1
Accept: application/xml
Content-type: application/xml
User-Agent: Java/1.5.0_17
Host: 192.168.1.248:81
Connection: keep-alive
Content-Length: 91
HTTP 200 OK
HTTP/1.1 200 OK
Location: http://192.168.1.248:81/DialogicWebService/mediacontrol/conferences/396829991
Content-Length: 0
Date: Wed, 01 Jul 2009 12:55:14 GMT
Server: lighttpd/1.4.22
Remove Party from the Conference (1 of 2)
SIP BYE
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
47
Conference Demo – Remove Party from Conference (2 of 2)
SIP Endpoint Conference App Web Service
Remove Party from the Conference (2 of 2)
HTTP PUT
** Play prompt (Double Beep) to the conference once the party is removed **
PUT /DialogicWebService/mediacontrol/players/440446950?appid=master HTTP/1.1
Accept: application/xml
Content-type: application/xml
User-Agent: Java/1.5.0_17
Host: 192.168.1.248:81
Connection: keep-alive
Content-Length: 132
HTTP 200 OK
HTTP/1.1 200 OK
Location: http://192.168.1.248:81/DialogicWebService/mediacontrol/players/440446950
Content-Length: 0
Date: Wed, 01 Jul 2009 12:55:14 GMT
Server: lighttpd/1.4.22
HTTP DELETE
HTTP DELETE
HTTP 204 NO CONTENT
HTTP 204 NO CONTENT
** Delete player associated with media stream **
DELETE /DialogicWebService/mediacontrol/players/532041893?appid=master HTTP/1.1
Accept: application/xml
Content-type: application/xml
User-Agent: Java/1.5.0_17
Host: 192.168.1.248:81
Connection: keep-alive
** Delete the media stream **
DELETE /DialogicWebService/mediacontrol/mediastreams/560152155?appid=master HTTP/1.1
Accept: application/xml
Content-type: application/xml
User-Agent: Java/1.5.0_17
Host: 192.168.1.248:81
Connection: keep-alive
SIP 200 OK
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
48
Interactive Test Client
The interactive test client is a Java-based desktop client that can be used to monitor the PowerMedia WMS. It is also capable of modifying or manipulating resources via the web service, and it can be used to test XML content and perform manual scenario testing prior to writing an application.
The Java application uses the PowerMedia WMS interface to create, monitor, and modify resource types such as:
Calls
Players
Recorders
Collectors
Conferences
PlayerCollectors
EventHandlers
Buddies
VolumeControllers
Technology
The Java desktop test client application is a demo application included in the PowerMedia WMS installation. It is written in Java and was built using Netbeans 6.x. This application and its associated source code are delivered as part of the PowerMedia WMS installation and serve as both a sample code repository and as a desktop testing tool.
-
49
5. Interface Definition
Interface Definition Overview
This section contains information about the PowerMedia WMS interface definition. The interface definition is broken down into modular resource-based components. Each component makes use of the various HTTP methods. The tables for each HTTP method define the request body content type if a request body is allowed. In addition, the tables
supply the possible return code values as well as the response body content type.
Each resource component listed below also contains a sample XML definition for that specific resource type. This XML content is used in both HTTP requests and responses when utilizing the interface.
MediaStreams
Players
Recorders
Collectors
Conferences
PlayerCollectors
EventHandlers
Buddies
VolumeControllers
Calls
MediaStreams - Interface Definition
MediaStreams RESTful interface definition
Get all mediastreams
URL http:///dialogicwebservice/mediacontrol/mediastreams?appid=
Method GET
Returns 200 OK & XML (dialogic/mediastreams+xml)
Create a new mediastream
URL http:///dialogicwebservice/mediacontrol/mediastreams?appid=
Method POST
Request Body XML (dialogic/mediastream+xml)
Returns 201 Created & Location + XML (dialogic/mediastream+xml)
415 Unsupported Media Type
Get a specific mediastream
URL http:///dialogicwebservice/mediacontrol/mediastreams/?appid=
Method GET
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
50
Returns 200 OK & XML (dialogic/mediastream+xml)
404 Not Found
Delete a specific mediastream
URL http:///dialogicwebservice/mediacontrol/mediastreams/?appid=
Method DELETE
Returns 204 No Content
404 Not Found
Update a specific mediastream
URL http:///dialogicwebservice/mediacontrol/mediastreams/?appid=
Method PUT
Request Body XML (dialogic/mediastream+xml)
Returns 201 Created & Location
404 Not Found
415 Unsupported Media Type
Players - Interface Definition
Players RESTful interface definition
Get all players
URL http:///dialogicwebservice/mediacontrol/players?appid=
Method GET
Returns 200 OK & XML (dialogic/players+xml)
Create a new player
URL http:///dialogicwebservice/mediacontrol/players?appid=
Method POST
Request Body XML (dialogic/player+xml)
Returns 201 Created & Location + XML (dialogic/player+xml)
415 Unsupported Media Type
Get a specific player
URL http:///dialogicwebservice/mediacontrol/players/?appid=
Method GET
Returns 200 OK & XML (dialogic/player+xml)
404 Not Found
Delete a specific player
URL http:///dialogicwebservice/mediacontrol/players/?appid=
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
51
Method DELETE
Returns 204 No Content
404 Not Found
Update a specific player
URL http:///dialogicwebservice/mediacontrol/players/?appid=
Method PUT
Request Body XML (dialogic/player+xml)
Returns 201 Created & Location
404 Not Found
415 Unsupported Media Type
Recorders - Interface Definition
Recorders RESTful interface definition
Get all recorders
URL http:///dialogicwebservice/mediacontrol/recorders?appid=
Method GET
Returns 200 OK & XML (dialogic/recorders+xml)
Create a new recorder
URL http:///dialogicwebservice/mediacontrol/recorders?appid=
Method POST
Request Body XML (dialogic/recorder+xml)
Returns 201 Created & Location + XML (dialogic/recorder+xml)
415 Unsupported Media Type
Get a specific recorder
URL http:///dialogicwebservice/mediacontrol/recorders/?appid=
Method GET
Returns 200 OK & XML (dialogic/recorder+xml)
404 Not Found
Delete a specific recorder
URL http:///dialogicwebservice/mediacontrol/recorders/?appid=
Method DELETE
Returns 204 No Content
404 Not Found
Update a specific recorder
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
52
URL http:///dialogicwebservice/mediacontrol/recorders/?appid=
Method PUT
Request Body XML (dialogic/recorder+xml)
Returns 201 Created & Location
404 Not Found
415 Unsupported Media Type
Collectors - Interface Definition
Collectors RESTful interface definition
Get all collectors
URL http:///dialogicwebservice/mediacontrol/collectors?appid=
Method GET
Returns 200 OK & XML (dialogic/collectors+xml)
Create a new collector
URL http:///dialogicwebservice/mediacontrol/collectors?appid=
Method POST
Request Body XML (dialogic/collector+xml)
Returns 201 Created & Location + XML (dialogic/collector+xml)
415 Unsupported Media Type
Get a specific collector
URL http:///dialogicwebservice/mediacontrol/collectors/?appid=
Method GET
Returns 200 OK & XML (dialogic/collector+xml)
404 Not Found
Delete a specific collector
URL http:///dialogicwebservice/mediacontrol/collectors/?appid=
Method DELETE
Returns 204 No Content
404 Not Found
Update a specific collector
URL http:///dialogicwebservice/mediacontrol/collectors/?appid=
Method PUT
Request Body XML (dialogic/collector+xml)
Returns 201 Created & Location
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
53
404 Not Found
415 Unsupported Media Type
Conferences - Interface Definition
Conferences RESTful interface definition
Get all new conferences
URL http:///dialogicwebservice/mediacontrol/conferences?appid=
Method GET
Returns 200 OK & XML (dialogic/conferences+xml)
Create a new conference
URL http:///dialogicwebservice/mediacontrol/conferences?appid=
Method POST
Request Body XML (dialogic/conference+xml)
Returns 201 Created & Location + XML (dialogic/conference+xml)
415 Unsupported Media Type
Get a specific conference
URL http:///dialogicwebservice/mediacontrol/conferences/?appid=
Method GET
Returns 200 OK & XML (dialogic/conference+xml)
404 Not Found
Delete a specific conference
URL http:///dialogicwebservice/mediacontrol/conferences/?appid=
Method DELETE
Returns 204 No Content
404 Not Found
Update a specific conference
URL http:///dialogicwebservice/mediacontrol/conferences/?appid=
Method PUT
Request Body XML (dialogic/conference+xml)
Returns 201 Created & Location
404 Not Found
415 Unsupported Media Type
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
54
PlayerCollectors - Interface Definition
PlayerCollectors RESTful interface definition
Get all playercollectors
URL http:///dialogicwebservice/mediacontrol/playercollectors?appid=
Method GET
Returns 200 OK & XML (dialogic/playercollectors+xml)
Create a new playercollector
URL http:///dialogicwebservice/mediacontrol/playercollectors?appid=
Method POST
Request Body XML (dialogic/playercollector+xml)
Returns 201 Created & Location + XML (dialogic/playercollector+xml)
415 Unsupported Media Type
Get a specific playercollector
URL http:///dialogicwebservice/mediacontrol/playercollectors/?appid=
Method GET
Returns 200 OK & XML (dialogic/playercollector+xml)
404 Not Found
Delete a specific playercollector
URL http:///dialogicwebservice/mediacontrol/playercollectors/?appid=
Method DELETE
Returns 204 No Content
404 Not Found
Update a specific playercollector
URL http:///dialogicwebservice/mediacontrol/playercollectors/?appid=
Method PUT
Request Body XML (dialogic/playercollector+xml)
Returns 201 Created & Location
404 Not Found
415 Unsupported Media Type
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
55
EventHandlers - Interface Definition
EventHandlers RESTful interface definition
Get all eventhandlers
URL http:///dialogicwebservice/mediacontrol/eventhandlers?appid=
Method GET
Returns 200 OK & XML (dialogic/eventhandler+xml)
Create a new eventhandler
URL http:///dialogicwebservice/mediacontrol/eventhandlers?appid=
Method POST
Request Body XML (dialogic/eventhandler+xml)
Returns 201 Created & Location + XML (dialogic/eventhandler+xml)
415 Unsupported Media Typ
Get a specific eventhandler
URL http:///dialogicwebservice/mediacontrol/eventhandlers/?appid=
Method GET
Note: The client has to keep the connection open in order to receive the events)
Returns 200 OK & Transfer-Encoding: chunked/xml (dialogic/event+xml)
404 Not Found
Delete a specific eventhandlers
URL http:///dialogicwebservice/mediacontrol/eventhandlers/?appid=
Method DELETE
Returns 204 No Content
404 Not Found
Update a specific eventhandler
URL http:///dialogicwebservice/mediacontrol/eventhandlers/?appid=
Method PUT
Request Body XML (dialogic/eventhandler+xml)
Returns 200 OK & Location
404 Not Found
415 Unsupported Media Type
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
56
Buddies - Interface Definition
The following table contains the Buddies RESTful interface definition.
Get all buddies
URL http:///dialogicwebservice/mediacontrol/buddies?appid=
Method GET
Returns 200 OK & XML (dialogic/buddys+xml)
Create a new buddy
URL http:///dialogicwebservice/mediacontrol/buddies?appid=
Method POST
Request Body XML (dialogic/buddy+xml)
Returns 201 Created & Location + XML (dialogic/buddy+xml)
415 Unsupported Media Type
Get a specific buddy
URL http:///dialogicwebservice/mediacontrol/buddies/?appid=
Method GET
Request Body XML (dialogic/buddy+xml)
Returns 200 OK & XML (dialogic/buddy+xml)
404 Not Found
Delete a specific buddy
URL http:///dialogicwebservice/mediacontrol/buddies/?appid=
Method DELETE
Returns 204 No Content
404 Not Found
Update a specific buddy
URL http:///dialogicwebservice/mediacontrol/buddies/?appid=
Method PUT
Request Body XML (dialogic/buddy+xml)
Returns 201 Created & Location
404 Not Found
415 Unsupported Media Type
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
57
VolumeControllers - Interface Definition
The following table contains the VolumeControllers RESTful interface definition.
Get all volumecontrollers
URL http:///dialogicwebservice/mediacontrol/volumecontrollers?appid=
Method GET
Returns 200 OK & XML (dialogic/volumecontrollers+xml)
Create a new volumecontroller
URL http:///dialogicwebservice/mediacontrol/volumecontrollers?appid=
Method POST
Request Body XML (dialogic/volumecontroller+xml)
Returns 201 Created & Location + XML (dialogic/volumecontroller+xml)
415 Unsupported Media Type
Get a specific volumecontroller
URL http:///dialogicwebservice/mediacontrol/volumecontrollers/?appid=
Method GET
Returns 200 OK & XML (dialogic/volumecontroller+xml)
404 Not Found
Delete a specific volumecontroller
URL http:///dialogicwebservice/mediacontrol/volumecontrollers/?appid=
Method DELETE
Returns 204 No Content
404 Not Found
Update a specific volumecontroller
URL http:///dialogicwebservice/mediacontrol/volumecontrollers/?appid=
Method PUT
Returns 201 Created & Location
404 Not Found
415 Unsupported Media Type
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
58
Calls - Interface Definition
The following table contains the Calls RESTful interface definition.
Get all volumecontrollers
URL http:///dialogicwebservice/sipcallcontrol/calls?appid=
Method GET
Returns 200 OK & XML (dialogic/calls+xml)
Create a new volumecontroller
URL http:///dialogicwebservice/sipcallcontrol/calls?appid=
Method POST
Request Body XML (dialogic/calls+xml)
Returns 201 Created & Location + XML ((dialogic/calls+xml)
415 Unsupported Media Type
Get a specific volumecontroller
URL http:///dialogicwebservice/sipcallcontrol/calls/?appid=
Method GET
Returns 200 OK & XML (dialogic/calls+xml)
404 Not Found
Delete a specific volumecontroller
URL http:///dialogicwebservice/sipcallcontrol/calls /?appid=
Method DELETE
Returns 204 No Content
404 Not Found
Update a specific volumecontroller
URL http:///dialogicwebservice/sipcallcontrol/calls/?appid=
Method PUT
Returns 201 Created & Location
404 Not Found
415 Unsupported Media Type
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
59
6. Web Media Server 2.0 XML Payload Schema
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
60
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
61
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
62
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
63
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
64
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
65
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
66
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
67
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
68
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
69
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
70
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
71
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
72
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
73
-
Dialogic® PowerMedia™ Web Media Server - Interface Guide
74
1. Dialogic® PowerMedia™ Web Media Server - Interface Guide2. OverviewOverview of Dialogic® PowerMedia™ Web Media ServerTraditional ConfigurationWeb 2.0 Interface ConfigurationWeb ServicesRequest / Response ModelBridging Telephony Network with PowerMedia WMS
Event Streaming
3. FunctionalityFunctionality OverviewMediaStreamURL LocationXML Payload ExamplesRequest XML Payload for creating / updating a mediastreamResponse XML Payload for getting all mediastreamsResponse XML Payload for an instance of mediastream
Interaction DiagramMediaStream CreationMediaStream Deletion
PlayerURL LocationXML Payload ExamplesRequest XML Payload for creating / updating a playerResponse XML Payload for getting all playersResponse XML Payload for an instance of player
Interaction DiagramPlayer CreationPlayer Deletion
RecorderURL LocationXML Payload ExamplesRequest XML Payload for creating / updating a recorderResponse XML Payload for getting all recordersResponse XML Payload for an instance of recorder
Interaction DiagramRecorder CreationRecorder Deletion
CollectorURL LocationXML Payload ExamplesRequest XML Payload for creating / updating a collectorResponse XML Payload for getting all recordersResponse XML Payload for an instance of recorder
Interaction DiagramCollector CreationCollector Deletion
ConferenceURL LocationXML Payload ExamplesRequest XML Payload for creating / updating a conferenceResponse XML Payload for getting all conferencesResponse XML Payload for an instance of conferences
Interaction DiagramConference CreationConference DeletionConference Adding PartyConference Removing Party
PlayerCollectorURL LocationXML Payload ExamplesRequest XML Payload for creating / updating a playercollectorResponse XML Payload for getting all playercollectorsResponse XML Payload for an instance of playercollectors
Interaction DiagramPlayerCollector CreationPlayerCollector Deletion
EventHandlerURL LocationXML Payload ExamplesRequest XML Payload for creating / updating an eventhandlerResponse XML Payload for getting all eventhandlersResponse XML Payload for an instance of eventhandlers
Interaction DiagramEventHandler Sequence Diagram
BuddyURL LocationXML Payload ExamplesRequest XML Payload for creating / updating a buddyResponse XML Payload for getting all buddiesResponse XML Payload for an instance of buddies
Interaction DiagramBuddy CreationBuddy UpdateBuddy Deletion
VolumeControllerURL LocationXML Payload ExamplesRequest XML Payload for creating / updating a volumecontrollerResponse XML Payload for getting all volumecontrollersResponse XML Payload for an instance of volumecontrollers
Interaction DiagramVolumeController CreationVolumeController UpdateVolumeController Deletion
CallURL LocationXML Payload ExamplesRequest XML Payload for creating an outbound callRequest XML Payload for updating an inbound callResponse XML Payload for getting all volumecontrollersResponse XML Payload for an instance of volumecontrollers
Interaction DiagramAnswer Inbound SIP CallAnswer Inbound SIP CallMake Outbound SIP Call
4. Demo / Sample ApplicationsConference ServerTechnologyTopologyInteraction DiagramConference Demo – Create ConferenceConference Demo – Answer Inbound CallConference Demo – Play Prompt(s) to PartyConference Demo – Play Prompt to ConferenceConference Demo – Remove Party from Conference (1 of 2)Conference Demo – Remove Party from Conference (2 of 2)
Interactive Test ClientTechnology
5. Interface DefinitionInterface Definition OverviewMediaStreams - Interface DefinitionPlayers - Interface DefinitionRecorders - Interface DefinitionCollectors - Interface DefinitionConferences - Interface DefinitionPlayerCollectors - Interface DefinitionEventHandlers - Interface DefinitionBuddies - Interface DefinitionVolumeControllers - Interface DefinitionCalls - Interface Definition
6. Web Media Server 2.0 XML Payload Schema