1<? wireshark:protocol 2 proto_name="mscml" 3 media="application/mediaservercontrol+xml" 4 description="Media Server Control Markup Language - draft 07" 5 hierarchy="yes" ?> 6 7<!-- 8 DTD for MSCML - draft 07 9 https://tools.ietf.org/html/draft-vandyke-mscml-07 10 See this for current limitations: 11 https://wireshark.org/lists/ethereal-dev/200605/msg02351.html 12 13 (c)Copyright 2006 Hewlett-Packard Development Company, LP. 14 Contact: olivier.jacques@hp.com 15--> 16 17<!ELEMENT MediaServerControl (request | response | notification) > 18<!-- <!ATTLIST MediaServerControl version <!ATTLIST > #REQUIRED > --> 19<!ATTLIST MediaServerControl version CDATA #REQUIRED > 20<!ELEMENT request (configure_conference | configure_leg | play | playcollect | playrecord | managecontent | faxplay | faxrecord | stop)> 21<!ELEMENT configure_conference (subscribe?)> 22<!ATTLIST configure_conference 23 id CDATA #IMPLIED 24 reservedtalkers NMTOKEN #IMPLIED 25 <!-- there should be | 1 | 0 in addition but Wireshark doesn't like it --> 26 reserveconfmedia (yes | no | true | false) "yes" 27> 28<!ELEMENT configure_leg (inputgain?, outputgain?, configure_team?, subscribe?)> 29<!ATTLIST configure_leg 30 id CDATA #IMPLIED 31 type (talker | listener) #IMPLIED 32 mixmode (full | mute | preferred | parked | private) #IMPLIED 33 dtmfclamp (yes | no | true | false) #IMPLIED 34 toneclamp (yes | no | true | false) #IMPLIED 35> 36<!ELEMENT play (prompt?)> 37<!ATTLIST play 38 id CDATA #IMPLIED 39 prompturl CDATA #IMPLIED 40 offset CDATA #IMPLIED 41 promptencoding CDATA #IMPLIED 42> 43<!ELEMENT playcollect (prompt?, pattern?)> 44<!ATTLIST playcollect 45 id CDATA #IMPLIED 46 prompturl CDATA #IMPLIED 47 offset CDATA #IMPLIED 48 barge (yes | no | true | false) "yes" 49 promptencoding CDATA #IMPLIED 50 cleardigits (yes | no | true | false) "no" 51 maxdigits CDATA #IMPLIED 52 firstdigittimer CDATA "5000ms" 53 interdigittimer CDATA "2000ms" 54 extradigittimer CDATA "1000ms" 55 interdigitcriticaltimer CDATA #IMPLIED 56 skipinterval CDATA "6s" 57 ffkey CDATA #IMPLIED 58 rwkey CDATA #IMPLIED 59 returnkey CDATA "#" 60 escapekey CDATA "*" 61 maskdigits (yes | no | true | false) "no" 62> 63<!ELEMENT playrecord (prompt?)> 64<!ATTLIST playrecord 65 id CDATA #IMPLIED 66 prompturl CDATA #IMPLIED 67 promptencoding CDATA #IMPLIED 68 offset CDATA "0" 69 barge (yes | no | true | false) "yes" 70 cleardigits (yes | no | true | false) "no" 71 escapekey CDATA "*" 72 recurl CDATA #REQUIRED 73 mode (append | overwrite) "overwrite" 74 recencoding CDATA #IMPLIED 75 initsilence CDATA #IMPLIED 76 endsilence CDATA #IMPLIED 77 duration CDATA #IMPLIED 78 beep (yes | no | true | false) "yes" 79 recstopmask CDATA "01234567890*#" 80> 81<!ELEMENT managecontent EMPTY> 82<!ATTLIST managecontent 83 id CDATA #IMPLIED 84 fetchtimeout CDATA "10000" 85 mimetype CDATA #IMPLIED 86 name CDATA #IMPLIED 87 httpmethod (put | post) #IMPLIED 88 action (move | delete) #IMPLIED 89 dest CDATA #IMPLIED 90 src CDATA #REQUIRED 91> 92<!ELEMENT faxplay (prompt?)> 93<!ATTLIST faxplay 94 id CDATA #IMPLIED 95 lclid CDATA #IMPLIED 96 prompturl CDATA #IMPLIED 97 recurl CDATA #IMPLIED 98 rmtid CDATA #IMPLIED 99> 100<!ELEMENT faxrecord (prompt?)> 101<!ATTLIST faxrecord 102 id CDATA #IMPLIED 103 lclid CDATA #IMPLIED 104 prompturl CDATA #IMPLIED 105 recurl CDATA #IMPLIED 106 rmtid CDATA #IMPLIED 107> 108<!ELEMENT stop EMPTY> 109<!ATTLIST stop 110 id CDATA #IMPLIED 111> 112<!ELEMENT response (error_info?, team?)> 113<!ATTLIST response 114 request (configure_conference | configure_leg | play | playcollect | playrecord | managecontent | faxplay | faxrecord | stop) #REQUIRED 115 id CDATA #IMPLIED 116 code CDATA #REQUIRED 117 text CDATA #REQUIRED 118 reason CDATA #IMPLIED 119 reclength CDATA #IMPLIED 120 recduration CDATA #IMPLIED 121 digits CDATA #IMPLIED 122 name CDATA #IMPLIED 123 playduration CDATA #IMPLIED 124 playoffset CDATA #IMPLIED 125 faxcode CDATA #IMPLIED 126 pages_sent CDATA #IMPLIED 127 pages_recv CDATA #IMPLIED 128> 129<!ELEMENT notification (conference | keypress | signal)> 130<!ELEMENT conference (activetalkers?)> 131<!ATTLIST conference 132 uniqueid CDATA #REQUIRED 133 numtalkers CDATA #REQUIRED 134> 135<!ELEMENT keypress (status)> 136<!ATTLIST keypress 137 digit CDATA #REQUIRED 138 length (standard | long) #REQUIRED 139 method (standard | long | double) #REQUIRED 140 interdigittime CDATA #REQUIRED 141 <!-- FIXME: Added for events in leg_eventsubscriptionType --> 142 report (standard | long | both | none) #REQUIRED 143 maskdigits (yes | no | true | false) "no" 144 <!-- /FIXME --> 145> 146<!ELEMENT signal EMPTY> 147<!-- FIXME: added because signal can be of type CDATA and nmtoken --> 148<!ATTLIST signal 149 type CDATA #FIXED "busy" 150 report (yes | no | true | false) #REQUIRED 151> 152<!ELEMENT prompt (audio | variable)+> 153<!ATTLIST prompt 154 locale CDATA #IMPLIED 155 baseurl CDATA #IMPLIED 156 stoponerror (yes | no | true | false) "no" 157 gain CDATA "0" 158 gaindelta CDATA "0" 159 rate CDATA "0" 160 ratedelta CDATA "0" 161 repeat CDATA "1" 162 duration CDATA "infinite" 163 offset CDATA "0" 164 delay CDATA "0" 165> 166<!ELEMENT subscribe (events)> 167<!ELEMENT inputgain (auto | fixed)> 168<!ELEMENT outputgain (auto | fixed)> 169<!ELEMENT configure_team (teammate*)> 170<!ATTLIST configure_team 171 id CDATA #IMPLIED 172 action (add | delete | query | set) #REQUIRED 173> 174<!ELEMENT teammate EMPTY> 175<!ATTLIST teammate 176 id CDATA #REQUIRED 177> 178<!ELEMENT pattern (regex+ | mgcpdigitmap | megacodigitmap)> 179<!ELEMENT regex EMPTY> 180<!ATTLIST regex 181 value CDATA #REQUIRED 182 name CDATA #IMPLIED 183> 184<!ELEMENT mgcpdigitmap EMPTY> 185<!ATTLIST mgcpdigitmap 186 value CDATA #REQUIRED 187 name CDATA #IMPLIED 188> 189<!ELEMENT megacodigitmap EMPTY> 190<!ATTLIST megacodigitmap 191 value CDATA #REQUIRED 192 name CDATA #IMPLIED 193> 194<!ELEMENT error_info EMPTY> 195<!ATTLIST error_info 196 code CDATA #REQUIRED 197 text CDATA #REQUIRED 198 context CDATA #REQUIRED 199> 200<!ELEMENT team (teammate*)> 201<!ATTLIST team 202 id CDATA #REQUIRED 203 numteam NMTOKEN #REQUIRED 204> 205<!-- two events elements are possible (conference_eventsubscriptionType, leg_eventsubscriptionType) 206 Let's take the union 207 It should be: 208<!ELEMENT events (activetalkers)> 209<!ELEMENT activetalkers EMPTY> 210<!ATTLIST activetalkers 211 interval CDATA "60s" 212> 213<!ELEMENT events (keypress?, signal*)> 214<!ELEMENT keypress EMPTY> 215<!ATTLIST keypress 216 report (standard | long | both | none) #REQUIRED 217 maskdigits (yes | no | true | false) "no" 218> 219--> 220<!ELEMENT events (activetalkers*, keypress*, signal*)> 221<!-- FIXME: two different activetalkers defined 222<!ELEMENT activetalkers EMPTY> 223<!ATTLIST activetalkers 224 report (yes | no | true | false) #REQUIRED 225 interval CDATA "60s" 226> 227--> 228 229<!-- 230<!ELEMENT signal EMPTY> 231<!ATTLIST signal 232 type NMTOKEN #REQUIRED 233 report (yes | no | true | false) #REQUIRED 234> 235--> 236<!ELEMENT activetalkers (talker*)?> 237<!ATTLIST activetalkers 238 report (yes | no | true | false) #IMPLIED 239 interval CDATA "60s" 240> 241<!ELEMENT talker EMPTY> 242<!ATTLIST talker 243 callid CDATA #REQUIRED 244> 245<!ELEMENT status EMPTY> 246<!ATTLIST status 247 command (idle | play | collect | record) #REQUIRED 248 duration CDATA #REQUIRED 249> 250<!ELEMENT audio EMPTY> 251<!ATTLIST audio 252 url CDATA #REQUIRED 253 encoding CDATA #IMPLIED 254 gain CDATA "0" 255 gaindelta CDATA "0" 256 rate CDATA "0" 257 ratedelta CDATA "0" 258> 259<!ELEMENT variable EMPTY> 260<!ATTLIST variable 261 type (dat | dig | dur | mth | mny | num | sil | str | tme | wkd) #REQUIRED 262 <!-- FIXME: USD creates an error -> is it because of all capital? --> 263 <!-- subtype (mdy | dmy | ymd | ndn | t12 | t24 | USD | gen | ndn | crd | ord) #IMPLIED --> 264 subtype (mdy | dmy | ymd | ndn | usd | t12 | t24 | gen | ndn | crd | ord) #IMPLIED 265 value CDATA #REQUIRED 266> 267<!ELEMENT auto EMPTY> 268<!ATTLIST auto 269 startlevel CDATA #IMPLIED 270 targetlevel CDATA #IMPLIED 271 silencethreshold CDATA #IMPLIED 272> 273<!ELEMENT fixed EMPTY> 274<!ATTLIST fixed 275 level CDATA #IMPLIED 276> 277 278