Media Server Control Markup Language (MSCML) and Protocol: MSCML DTD
Date: 2003-09-18
Media Server Control Markup Language (MSCML) and Protocol MSCML DTD
From: http://www.ietf.org/internet-drafts/draft-vandyke-mscml-03.txt
See also: http://xml.coverpages.org/draft-vandyke-mscml-03.txt
See also: http://xml.coverpages.org/ni2003-09-19-a.html SnowShore Networks Develops Royalty-Free Media Server Control Markup Language (MSCML)
8.1 MSCML DTD
<?xml version="1.0" encoding="UTF-8"?> <!-- =========================================================== --> <!-- MediaServerControl Document Type Description --> <!-- Copyright (c) 2001-2003 SnowShore Networks, Inc. --> <!-- All Rights Reserved. --> <!-- =========================================================== --> <!ELEMENT MediaServerControl (request | response | notification)> <!ATTLIST MediaServerControl version (1.0) #REQUIRED > <!ELEMENT request (configure_conference | configure_leg | play | playcollect | playrecord | stop)> <!ELEMENT configure_conference (inputgain?, outputgain?, subscribe?)> <!ATTLIST configure_conference id CDATA #IMPLIED reservedtalkers CDATA #IMPLIED reserveconfmedia (yes | no) #IMPLIED > <!-- Tags for gain control --> <!ELEMENT outputgain (auto | fixed)> <!ELEMENT inputgain (auto | fixed)> <!ELEMENT auto EMPTY> <!ATTLIST auto startlevel CDATA #IMPLIED targetlevel CDATA #IMPLIED silencethreshold CDATA #IMPLIED > <!ELEMENT fixed EMPTY> <!ATTLIST fixed level CDATA #IMPLIED > <!ELEMENT subscribe (events)> <!ELEMENT events (activetalkers)> <!ELEMENT activetalkers (talker+)?> <!ATTLIST activetalkers report (yes | no) "no" interval CDATA #IMPLIED > <!-- Acceptable values for interval range from 1-60 seconds --> <!ELEMENT talker EMPTY> <!ATTLIST talker callid CDATA #REQUIRED > <!-- The list of current talkers is used only when sending --> <!-- notifications to the calling application. It should never --> <!-- be set when subscribing. --> <!ELEMENT configure_leg (inputgain?, outputgain?)> <!ATTLIST configure_leg id CDATA #IMPLIED type (talker | listener) #IMPLIED mixmode (full | mute | preferred | parked) #IMPLIED dtmfclamp (yes | no) #IMPLIED > <!-- Stops a play or record operation in progress --> <!ELEMENT stop EMPTY> <!-- Plays an audio prompt, no barge-in or digit collection. --> <!-- <play/> generates a <response/> message when the specified --> <!-- prompt has finished playing or if an error occurs. --> <!ELEMENT play (prompt)?> <!ATTLIST play id CDATA #IMPLIED prompturl CDATA #IMPLIED promptencoding (ulaw | alaw) #IMPLIED > <!-- Plays an audio prompt, collects DTMF digits and returns the --> <!-- digits to the application. May also be used simply to --> <!-- collect digits if no sequence is specified. <playcollect/> --> <!-- sends an asynchronous <response/> message which is normally --> <!-- generated when the desired digits have been collected or a --> <!-- timeout has expired. --> <!ELEMENT playcollect (prompt?, pattern?)> <!ATTLIST playcollect id CDATA #IMPLIED prompturl CDATA #IMPLIED barge (yes | no) "yes" promptencoding (ulaw | alaw) #IMPLIED cleardigits CDATA "yes" maxdigits CDATA #IMPLIED firstdigittimer CDATA #IMPLIED interdigittimer CDATA #IMPLIED intdigcrittimer CDATA #IMPLIED extradigittimer CDATA #IMPLIED returnkey CDATA "#" escapekey CDATA "*" > <!-- <playrecord/> takes the audio from the associated session --> <!-- and records it to the location and format specified. It --> <!-- generates a <response/> message if the request is in error, --> <!-- when the recording session has been interrupted by DTMF, --> <!-- the specified duration has been exceeded or a timeout has --> <!-- expired. The request has an optional prompt to be played --> <!-- prior to the start of recording. --> <!ELEMENT playrecord (prompt)?> <!ATTLIST playrecord id CDATA #IMPLIED prompturl CDATA #IMPLIED barge (yes | no) #IMPLIED cleardigits (yes | no) #IMPLIED escapekey CDATA "*" recurl CDATA #REQUIRED mode (append | overwrite) "overwrite" recencoding (ulaw | alaw) #IMPLIED initsilence CDATA #IMPLIED endsilence CDATA #IMPLIED duration CDATA #IMPLIED beep (yes | no) "yes" recstopmask CDATA "01234567890*#" > <!ELEMENT prompt (audio | variable)+> <!ATTLIST prompt locale CDATA #IMPLIED baseurl CDATA #IMPLIED > <!ELEMENT audio EMPTY> <!ATTLIST audio url CDATA #REQUIRED encoding (ulaw | alaw) #IMPLIED > <!-- The encoding attribute is required for files that are not in--> <!-- self-describing .au or .wav format and do not have a well --> <!-- known extension (.ulaw). --> <!ELEMENT pattern (regex | digitmap)+> <!ELEMENT regex EMPTY> <!ATTLIST regex value CDATA #REQUIRED name CDATA #IMPLIED > <!ELEMENT digitmap EMPTY> <!ATTLIST digitmap value CDATA #REQUIRED name CDATA #IMPLIED > <!ELEMENT variable EMPTY> <!ATTLIST variable type (date | digit | duration | month | money | number | silence | string | time | weekday) #REQUIRED subtype (mdy | dmy | ymd | ndn | t12 | t24 | USD | gen | ndn | crd | ord) #IMPLIED value CDATA #REQUIRED > <!-- Play fax file --> <!ELEMENT faxplay EMPTY> <!ATTLIST faxplay lclid CDATA "" prompturl CDATA #IMPLIED recurl CDATA #IMPLIED rmtid CDATA #IMPLIED > <!-- Record fax file --> <!ELEMENT faxrecord EMPTY> <!ATTLIST faxrecord lclid CDATA "" prompturl CDATA #IMPLIED recurl CDATA #IMPLIED rmtid CDATA #IMPLIED > <!ELEMENT response EMPTY> <!ATTLIST response request (configure_conference | configure_leg | play | playcollect | playrecord | faxrecord | faxplay | stop) #REQUIRED id CDATA #IMPLIED code CDATA #REQUIRED text CDATA #REQUIRED reason CDATA #IMPLIED reclength CDATA #IMPLIED patternname CDATA #IMPLIED digits CDATA #IMPLIED faxcode CDATA #IMPLIED pages_sent CDATA #IMPLIED pages_recv CDATA #IMPLIED > <!ELEMENT notification (conference)> <!ELEMENT conference (activetalkers)> <!ATTLIST conference uniqueid CDATA #REQUIRED numtalkers CDATA #REQUIRED >