wireshark/dtds/mscml.dtd

278 lines
7.4 KiB
DTD

<? wireshark:protocol
proto_name="mscml"
media="application/mediaservercontrol+xml"
description="Media Server Control Markup Language - draft 07"
hierarchy="yes" ?>
<!--
DTD for MSCML - draft 07
https://tools.ietf.org/html/draft-vandyke-mscml-07
See this for current limitations:
https://wireshark.org/lists/ethereal-dev/200605/msg02351.html
(c)Copyright 2006 Hewlett-Packard Development Company, LP.
Contact: olivier.jacques@hp.com
-->
<!ELEMENT MediaServerControl (request | response | notification) >
<!-- <!ATTLIST MediaServerControl version <!ATTLIST > #REQUIRED > -->
<!ATTLIST MediaServerControl version CDATA #REQUIRED >
<!ELEMENT request (configure_conference | configure_leg | play | playcollect | playrecord | managecontent | faxplay | faxrecord | stop)>
<!ELEMENT configure_conference (subscribe?)>
<!ATTLIST configure_conference
id CDATA #IMPLIED
reservedtalkers NMTOKEN #IMPLIED
<!-- there should be | 1 | 0 in addition but Wireshark doesn't like it -->
reserveconfmedia (yes | no | true | false) "yes"
>
<!ELEMENT configure_leg (inputgain?, outputgain?, configure_team?, subscribe?)>
<!ATTLIST configure_leg
id CDATA #IMPLIED
type (talker | listener) #IMPLIED
mixmode (full | mute | preferred | parked | private) #IMPLIED
dtmfclamp (yes | no | true | false) #IMPLIED
toneclamp (yes | no | true | false) #IMPLIED
>
<!ELEMENT play (prompt?)>
<!ATTLIST play
id CDATA #IMPLIED
prompturl CDATA #IMPLIED
offset CDATA #IMPLIED
promptencoding CDATA #IMPLIED
>
<!ELEMENT playcollect (prompt?, pattern?)>
<!ATTLIST playcollect
id CDATA #IMPLIED
prompturl CDATA #IMPLIED
offset CDATA #IMPLIED
barge (yes | no | true | false) "yes"
promptencoding CDATA #IMPLIED
cleardigits (yes | no | true | false) "no"
maxdigits CDATA #IMPLIED
firstdigittimer CDATA "5000ms"
interdigittimer CDATA "2000ms"
extradigittimer CDATA "1000ms"
interdigitcriticaltimer CDATA #IMPLIED
skipinterval CDATA "6s"
ffkey CDATA #IMPLIED
rwkey CDATA #IMPLIED
returnkey CDATA "#"
escapekey CDATA "*"
maskdigits (yes | no | true | false) "no"
>
<!ELEMENT playrecord (prompt?)>
<!ATTLIST playrecord
id CDATA #IMPLIED
prompturl CDATA #IMPLIED
promptencoding CDATA #IMPLIED
offset CDATA "0"
barge (yes | no | true | false) "yes"
cleardigits (yes | no | true | false) "no"
escapekey CDATA "*"
recurl CDATA #REQUIRED
mode (append | overwrite) "overwrite"
recencoding CDATA #IMPLIED
initsilence CDATA #IMPLIED
endsilence CDATA #IMPLIED
duration CDATA #IMPLIED
beep (yes | no | true | false) "yes"
recstopmask CDATA "01234567890*#"
>
<!ELEMENT managecontent EMPTY>
<!ATTLIST managecontent
id CDATA #IMPLIED
fetchtimeout CDATA "10000"
mimetype CDATA #IMPLIED
name CDATA #IMPLIED
httpmethod (put | post) #IMPLIED
action (move | delete) #IMPLIED
dest CDATA #IMPLIED
src CDATA #REQUIRED
>
<!ELEMENT faxplay (prompt?)>
<!ATTLIST faxplay
id CDATA #IMPLIED
lclid CDATA #IMPLIED
prompturl CDATA #IMPLIED
recurl CDATA #IMPLIED
rmtid CDATA #IMPLIED
>
<!ELEMENT faxrecord (prompt?)>
<!ATTLIST faxrecord
id CDATA #IMPLIED
lclid CDATA #IMPLIED
prompturl CDATA #IMPLIED
recurl CDATA #IMPLIED
rmtid CDATA #IMPLIED
>
<!ELEMENT stop EMPTY>
<!ATTLIST stop
id CDATA #IMPLIED
>
<!ELEMENT response (error_info?, team?)>
<!ATTLIST response
request (configure_conference | configure_leg | play | playcollect | playrecord | managecontent | faxplay | faxrecord | stop) #REQUIRED
id CDATA #IMPLIED
code CDATA #REQUIRED
text CDATA #REQUIRED
reason CDATA #IMPLIED
reclength CDATA #IMPLIED
recduration CDATA #IMPLIED
digits CDATA #IMPLIED
name CDATA #IMPLIED
playduration CDATA #IMPLIED
playoffset CDATA #IMPLIED
faxcode CDATA #IMPLIED
pages_sent CDATA #IMPLIED
pages_recv CDATA #IMPLIED
>
<!ELEMENT notification (conference | keypress | signal)>
<!ELEMENT conference (activetalkers?)>
<!ATTLIST conference
uniqueid CDATA #REQUIRED
numtalkers CDATA #REQUIRED
>
<!ELEMENT keypress (status)>
<!ATTLIST keypress
digit CDATA #REQUIRED
length (standard | long) #REQUIRED
method (standard | long | double) #REQUIRED
interdigittime CDATA #REQUIRED
<!-- FIXME: Added for events in leg_eventsubscriptionType -->
report (standard | long | both | none) #REQUIRED
maskdigits (yes | no | true | false) "no"
<!-- /FIXME -->
>
<!ELEMENT signal EMPTY>
<!-- FIXME: added because signal can be of type CDATA and nmtoken -->
<!ATTLIST signal
type CDATA #FIXED "busy"
report (yes | no | true | false) #REQUIRED
>
<!ELEMENT prompt (audio | variable)+>
<!ATTLIST prompt
locale CDATA #IMPLIED
baseurl CDATA #IMPLIED
stoponerror (yes | no | true | false) "no"
gain CDATA "0"
gaindelta CDATA "0"
rate CDATA "0"
ratedelta CDATA "0"
repeat CDATA "1"
duration CDATA "infinite"
offset CDATA "0"
delay CDATA "0"
>
<!ELEMENT subscribe (events)>
<!ELEMENT inputgain (auto | fixed)>
<!ELEMENT outputgain (auto | fixed)>
<!ELEMENT configure_team (teammate*)>
<!ATTLIST configure_team
id CDATA #IMPLIED
action (add | delete | query | set) #REQUIRED
>
<!ELEMENT teammate EMPTY>
<!ATTLIST teammate
id CDATA #REQUIRED
>
<!ELEMENT pattern (regex+ | mgcpdigitmap | megacodigitmap)>
<!ELEMENT regex EMPTY>
<!ATTLIST regex
value CDATA #REQUIRED
name CDATA #IMPLIED
>
<!ELEMENT mgcpdigitmap EMPTY>
<!ATTLIST mgcpdigitmap
value CDATA #REQUIRED
name CDATA #IMPLIED
>
<!ELEMENT megacodigitmap EMPTY>
<!ATTLIST megacodigitmap
value CDATA #REQUIRED
name CDATA #IMPLIED
>
<!ELEMENT error_info EMPTY>
<!ATTLIST error_info
code CDATA #REQUIRED
text CDATA #REQUIRED
context CDATA #REQUIRED
>
<!ELEMENT team (teammate*)>
<!ATTLIST team
id CDATA #REQUIRED
numteam NMTOKEN #REQUIRED
>
<!-- two events elements are possible (conference_eventsubscriptionType, leg_eventsubscriptionType)
Let's take the union
It should be:
<!ELEMENT events (activetalkers)>
<!ELEMENT activetalkers EMPTY>
<!ATTLIST activetalkers
interval CDATA "60s"
>
<!ELEMENT events (keypress?, signal*)>
<!ELEMENT keypress EMPTY>
<!ATTLIST keypress
report (standard | long | both | none) #REQUIRED
maskdigits (yes | no | true | false) "no"
>
-->
<!ELEMENT events (activetalkers*, keypress*, signal*)>
<!-- FIXME: two different activetalkers defined
<!ELEMENT activetalkers EMPTY>
<!ATTLIST activetalkers
report (yes | no | true | false) #REQUIRED
interval CDATA "60s"
>
-->
<!--
<!ELEMENT signal EMPTY>
<!ATTLIST signal
type NMTOKEN #REQUIRED
report (yes | no | true | false) #REQUIRED
>
-->
<!ELEMENT activetalkers (talker*)?>
<!ATTLIST activetalkers
report (yes | no | true | false) #IMPLIED
interval CDATA "60s"
>
<!ELEMENT talker EMPTY>
<!ATTLIST talker
callid CDATA #REQUIRED
>
<!ELEMENT status EMPTY>
<!ATTLIST status
command (idle | play | collect | record) #REQUIRED
duration CDATA #REQUIRED
>
<!ELEMENT audio EMPTY>
<!ATTLIST audio
url CDATA #REQUIRED
encoding CDATA #IMPLIED
gain CDATA "0"
gaindelta CDATA "0"
rate CDATA "0"
ratedelta CDATA "0"
>
<!ELEMENT variable EMPTY>
<!ATTLIST variable
type (dat | dig | dur | mth | mny | num | sil | str | tme | wkd) #REQUIRED
<!-- FIXME: USD creates an error -> is it because of all capital? -->
<!-- subtype (mdy | dmy | ymd | ndn | t12 | t24 | USD | gen | ndn | crd | ord) #IMPLIED -->
subtype (mdy | dmy | ymd | ndn | usd | t12 | t24 | gen | ndn | crd | ord) #IMPLIED
value CDATA #REQUIRED
>
<!ELEMENT auto EMPTY>
<!ATTLIST auto
startlevel CDATA #IMPLIED
targetlevel CDATA #IMPLIED
silencethreshold CDATA #IMPLIED
>
<!ELEMENT fixed EMPTY>
<!ATTLIST fixed
level CDATA #IMPLIED
>