dialogic powermedia web media server/media/manuals/wms2.0/... · 2 2. overview overview of...

79
ALPHA Dialogic® PowerMedia™ Web Media Server Interface Guide March 2011 www.dialogic.com

Upload: others

Post on 25-Jun-2020

6 views

Category:

Documents


0 download

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