initial commit
[BroadWorks-OCI.git] / share / OCISchemaAS / Services / OCISchemaServiceMusicOnHold.xsd
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 \r
3 <!-- ********************************************************************** -->\r
4 <!-- Copyright (c) 2000-2012 BroadSoft, Inc.  All rights reserved.          -->\r
5 <!-- ********************************************************************** -->\r
6 <!-- O C I   X M L   S C H E M A  :  S E R V I C E  P A R T                 -->\r
7 <!--                                                                        -->\r
8 <!-- M U S I C   O N   H O L D  S E R V I C E                               -->\r
9 <!--                                                                        -->\r
10 <!-- This file defines the XML Schema for the BroadSoft Application Server  -->\r
11 <!-- Open Client Interface (OCI).                                           -->\r
12 <!-- ********************************************************************** -->\r
13 \r
14 <xs:schema xmlns:xs             = "http://www.w3.org/2001/XMLSchema"\r
15            xmlns:core           = "C"\r
16            xmlns                = ""\r
17            attributeFormDefault = "qualified"\r
18            elementFormDefault   = "qualified">\r
19   \r
20   <xs:import namespace      = "C"\r
21              schemaLocation = "../OCISchemaBASE.xsd"/>\r
22   \r
23   <xs:include schemaLocation="../OCISchemaDataTypes.xsd"/>\r
24   \r
25   <!-- ********************************************************************************** -->\r
26   <!-- M U S I C   O N   H O L D    R E Q U E S T S  A N D  R E S P O N S E S             -->\r
27   <!-- ********************************************************************************** -->\r
28   <!--\r
29   Requests and responses are listed here in alphabetical order.\r
30   The non-primitive attributes inside the commands are defined in another\r
31   section of the schema.\r
32 \r
33   Requests in this schema file:\r
34     GroupMusicOnHoldAddInstanceRequest21    \r
35     GroupMusicOnHoldDeleteInstanceRequest    \r
36     GroupMusicOnHoldGetInstanceRequest21    \r
37     GroupMusicOnHoldGetDepartmentListRequest    \r
38     GroupMusicOnHoldModifyInstanceRequest21    \r
39     SystemMusicOnHoldGetRequest    \r
40     SystemMusicOnHoldModifyRequest    \r
41     UserMusicOnHoldGetRequest    \r
42     UserMusicOnHoldModifyRequest    \r
43     UserMusicOnHoldUserGetRequest20    \r
44     UserMusicOnHoldUserModifyRequest20    \r
45     \r
46   --> \r
47   \r
48   <xs:complexType name="GroupMusicOnHoldAddInstanceRequest21">\r
49     <xs:annotation>\r
50       <xs:documentation>\r
51         Add a Music on Hold Instance to a department.\r
52         The response is either SuccessResponse or ErrorResponse.\r
53       </xs:documentation>\r
54     </xs:annotation>\r
55     <xs:complexContent>\r
56       <xs:extension base="core:OCIRequest">\r
57         <xs:sequence>\r
58           <xs:element name="serviceProviderId" type="ServiceProviderId"/>\r
59           <xs:element name="groupId" type="GroupId"/>\r
60           <xs:element name="department" type="DepartmentKey"/>\r
61           <xs:element name="isActiveDuringCallHold" type="xs:boolean"/>\r
62           <xs:element name="isActiveDuringCallPark" type="xs:boolean"/>\r
63           <xs:element name="isActiveDuringBusyCampOn" type="xs:boolean"/>\r
64           <xs:element name="source" type="MusicOnHoldSourceAdd21"/>\r
65           <xs:element name="useAlternateSourceForInternalCalls" type="xs:boolean"/>\r
66           <xs:element name="internalSource" type="MusicOnHoldSourceAdd21" minOccurs="0"/>\r
67         </xs:sequence>\r
68       </xs:extension>\r
69     </xs:complexContent>\r
70   </xs:complexType>    \r
71     \r
72   <xs:complexType name="GroupMusicOnHoldDeleteInstanceRequest">\r
73     <xs:annotation>\r
74       <xs:documentation>\r
75         Delete a Music On Hold department instance.\r
76         The response is either SuccessResponse or ErrorResponse.\r
77       </xs:documentation>\r
78     </xs:annotation>\r
79     <xs:complexContent>\r
80       <xs:extension base="core:OCIRequest">\r
81         <xs:sequence>\r
82           <xs:element name="serviceProviderId" type="ServiceProviderId"/>\r
83           <xs:element name="groupId" type="GroupId"/>\r
84           <xs:element name="department" type="DepartmentKey"/>\r
85         </xs:sequence>\r
86       </xs:extension>\r
87     </xs:complexContent>\r
88   </xs:complexType>    \r
89     \r
90   <xs:complexType name="GroupMusicOnHoldGetInstanceRequest21">\r
91     <xs:annotation>\r
92       <xs:documentation>\r
93         Get a Music On Hold data for a group or department instance.\r
94         The response is either GroupMusicOnHoldGetInstanceResponse21 or ErrorResponse.\r
95       </xs:documentation>\r
96     </xs:annotation>\r
97     <xs:complexContent>\r
98       <xs:extension base="core:OCIRequest">\r
99         <xs:sequence>\r
100           <xs:element name="serviceProviderId" type="ServiceProviderId"/>\r
101           <xs:element name="groupId" type="GroupId"/>\r
102           <xs:element name="department" type="DepartmentKey" minOccurs="0"/>\r
103         </xs:sequence>\r
104       </xs:extension>\r
105     </xs:complexContent>\r
106   </xs:complexType>    \r
107     \r
108   <xs:complexType name="GroupMusicOnHoldGetInstanceResponse21">\r
109     <xs:annotation>\r
110       <xs:documentation>\r
111         Response to the GroupMusicOnHoldGetInstanceRequest21.\r
112       </xs:documentation>\r
113     </xs:annotation>\r
114     <xs:complexContent>\r
115       <xs:extension base="core:OCIDataResponse">\r
116         <xs:sequence>\r
117           <xs:element name="serviceUserId" type="UserId"/>\r
118           <xs:element name="isActiveDuringCallHold" type="xs:boolean"/>\r
119           <xs:element name="isActiveDuringCallPark" type="xs:boolean"/>\r
120           <xs:element name="isActiveDuringBusyCampOn" type="xs:boolean"/>\r
121           <xs:element name="enableVideo" type="xs:boolean"/>\r
122           <xs:element name="source" type="MusicOnHoldSourceRead21"/>\r
123           <xs:element name="useAlternateSourceForInternalCalls" type="xs:boolean"/>\r
124           <xs:element name="internalSource" type="MusicOnHoldSourceRead21"/>\r
125         </xs:sequence>\r
126       </xs:extension>\r
127     </xs:complexContent>\r
128   </xs:complexType>    \r
129     \r
130   <xs:complexType name="GroupMusicOnHoldGetDepartmentListRequest">\r
131     <xs:annotation>\r
132       <xs:documentation>\r
133         Returns a list of all departments that have a Music On Hold instance.\r
134         The response is either GroupMusicOnHoldGetDepartmentListResponse or ErrorResponse.\r
135         It is possible to get the instances within a specified department.\r
136       </xs:documentation>\r
137     </xs:annotation>\r
138     <xs:complexContent>\r
139       <xs:extension base="core:OCIRequest">\r
140         <xs:sequence>\r
141           <xs:element name="serviceProviderId" type="ServiceProviderId"/>\r
142           <xs:element name="groupId" type="GroupId"/>\r
143           <xs:element name="groupDepartmentName" type="DepartmentName" minOccurs="0"/>\r
144         </xs:sequence>\r
145       </xs:extension>\r
146     </xs:complexContent>\r
147   </xs:complexType>    \r
148     \r
149   <xs:complexType name="GroupMusicOnHoldGetDepartmentListResponse">\r
150     <xs:annotation>\r
151       <xs:documentation>\r
152         Response to the GroupMusicOnHoldGetDepartmentListRequest.\r
153       </xs:documentation>\r
154     </xs:annotation>\r
155     <xs:complexContent>\r
156       <xs:extension base="core:OCIDataResponse">\r
157         <xs:sequence>\r
158           <xs:element name="hasDepartment" type="xs:boolean"/>\r
159           <xs:element name="department" type="DepartmentKey" minOccurs="0" maxOccurs="unbounded"/>\r
160           <xs:element name="departmentFullPath" type="DepartmentFullPathName" minOccurs="0" maxOccurs="unbounded"/>\r
161         </xs:sequence>\r
162       </xs:extension>\r
163     </xs:complexContent>\r
164   </xs:complexType>    \r
165     \r
166   <xs:complexType name="GroupMusicOnHoldModifyInstanceRequest21">\r
167     <xs:annotation>\r
168       <xs:documentation>\r
169         Modify data for a group or department Music On Hold Instance.\r
170         The response is either SuccessResponse or ErrorResponse.\r
171       </xs:documentation>\r
172     </xs:annotation>\r
173     <xs:complexContent>\r
174       <xs:extension base="core:OCIRequest">\r
175         <xs:sequence>\r
176           <xs:element name="serviceProviderId" type="ServiceProviderId"/>\r
177           <xs:element name="groupId" type="GroupId"/>\r
178           <xs:element name="department" type="DepartmentKey" minOccurs="0"/>\r
179           <xs:element name="isActiveDuringCallHold" type="xs:boolean" minOccurs="0"/>\r
180           <xs:element name="isActiveDuringCallPark" type="xs:boolean" minOccurs="0"/>\r
181           <xs:element name="isActiveDuringBusyCampOn" type="xs:boolean" minOccurs="0"/>\r
182           <xs:element name="source" type="MusicOnHoldSourceModify21" minOccurs="0"/>\r
183           <xs:element name="useAlternateSourceForInternalCalls" type="xs:boolean" minOccurs="0"/>\r
184           <xs:element name="internalSource" type="MusicOnHoldSourceModify21" minOccurs="0"/>\r
185         </xs:sequence>\r
186       </xs:extension>\r
187     </xs:complexContent>\r
188   </xs:complexType>    \r
189     \r
190   <xs:complexType name="SystemMusicOnHoldGetRequest">\r
191     <xs:annotation>\r
192       <xs:documentation>\r
193         Request the system level data associated with Music On Hold.\r
194         The response is either a SystemMusicOnHoldGetResponse or an\r
195         ErrorResponse.\r
196       </xs:documentation>\r
197     </xs:annotation>\r
198     <xs:complexContent>\r
199       <xs:extension base="core:OCIRequest">\r
200         <xs:sequence/>\r
201       </xs:extension>\r
202     </xs:complexContent>\r
203   </xs:complexType>    \r
204     \r
205   <xs:complexType name="SystemMusicOnHoldGetResponse">\r
206     <xs:annotation>\r
207       <xs:documentation>\r
208         Response to SystemMusicOnHoldGetRequest.\r
209       </xs:documentation>\r
210     </xs:annotation>\r
211     <xs:complexContent>\r
212       <xs:extension base="core:OCIDataResponse">\r
213         <xs:sequence>\r
214           <xs:element name="delayMilliseconds" type="MusicOnHoldDelayMilliseconds"/>\r
215         </xs:sequence>\r
216       </xs:extension>\r
217     </xs:complexContent>\r
218   </xs:complexType>    \r
219     \r
220   <xs:complexType name="SystemMusicOnHoldModifyRequest">\r
221     <xs:annotation>\r
222       <xs:documentation>\r
223         Modify the system level data associated with Music On Hold.\r
224         The response is either a SuccessResponse or an ErrorResponse.\r
225       </xs:documentation>\r
226     </xs:annotation>\r
227     <xs:complexContent>\r
228       <xs:extension base="core:OCIRequest">\r
229         <xs:sequence>\r
230           <xs:element name="delayMilliseconds" type="MusicOnHoldDelayMilliseconds" minOccurs="0"/>\r
231         </xs:sequence>\r
232       </xs:extension>\r
233     </xs:complexContent>\r
234   </xs:complexType>    \r
235     \r
236   <xs:complexType name="UserMusicOnHoldGetRequest">\r
237     <xs:annotation>\r
238       <xs:documentation>\r
239         Request the user level data associated with Music On Hold.\r
240         The response is either a UserMusicOnHoldGetResponse or an\r
241         ErrorResponse.\r
242       </xs:documentation>\r
243     </xs:annotation>\r
244     <xs:complexContent>\r
245       <xs:extension base="core:OCIRequest">\r
246         <xs:sequence>\r
247           <xs:element name="userId" type="UserId"/>\r
248         </xs:sequence>\r
249       </xs:extension>\r
250     </xs:complexContent>\r
251   </xs:complexType>    \r
252     \r
253   <xs:complexType name="UserMusicOnHoldGetResponse">\r
254     <xs:annotation>\r
255       <xs:documentation>\r
256         Response to UserMusicOnHoldGetRequest.\r
257       </xs:documentation>\r
258     </xs:annotation>\r
259     <xs:complexContent>\r
260       <xs:extension base="core:OCIDataResponse">\r
261         <xs:sequence>\r
262           <xs:element name="isActive" type="xs:boolean"/>\r
263         </xs:sequence>\r
264       </xs:extension>\r
265     </xs:complexContent>\r
266   </xs:complexType>    \r
267     \r
268   <xs:complexType name="UserMusicOnHoldModifyRequest">\r
269     <xs:annotation>\r
270       <xs:documentation>\r
271         Modify the user level data associated with Music On Hold.\r
272         The response is either a SuccessResponse or an ErrorResponse.\r
273       </xs:documentation>\r
274     </xs:annotation>\r
275     <xs:complexContent>\r
276       <xs:extension base="core:OCIRequest">\r
277         <xs:sequence>\r
278           <xs:element name="userId" type="UserId"/>\r
279           <xs:element name="isActive" type="xs:boolean" minOccurs="0"/>\r
280         </xs:sequence>\r
281       </xs:extension>\r
282     </xs:complexContent>\r
283   </xs:complexType>    \r
284     \r
285   <xs:complexType name="UserMusicOnHoldUserGetRequest20">\r
286     <xs:annotation>\r
287       <xs:documentation>\r
288         Request the user level data associated with Music On Hold User.\r
289         The response is either a UserMusicOnHoldUserGetResponse16 or an\r
290         ErrorResponse.\r
291       </xs:documentation>\r
292     </xs:annotation>\r
293     <xs:complexContent>\r
294       <xs:extension base="core:OCIRequest">\r
295         <xs:sequence>\r
296           <xs:element name="userId" type="UserId"/>\r
297         </xs:sequence>\r
298       </xs:extension>\r
299     </xs:complexContent>\r
300   </xs:complexType>    \r
301     \r
302   <xs:complexType name="UserMusicOnHoldUserGetResponse20">\r
303     <xs:annotation>\r
304       <xs:documentation>\r
305         Response to UserMusicOnHoldUserGetRequest20.\r
306       </xs:documentation>\r
307     </xs:annotation>\r
308     <xs:complexContent>\r
309       <xs:extension base="core:OCIDataResponse">\r
310         <xs:sequence>\r
311           <xs:element name="enableVideo" type="xs:boolean"/>\r
312           <xs:element name="source" type="MusicOnHoldUserSourceRead20"/>\r
313           <xs:element name="useAlternateSourceForInternalCalls" type="xs:boolean"/>\r
314           <xs:element name="internalSource" type="MusicOnHoldUserSourceRead20" minOccurs="0"/>\r
315         </xs:sequence>\r
316       </xs:extension>\r
317     </xs:complexContent>\r
318   </xs:complexType>    \r
319     \r
320   <xs:complexType name="UserMusicOnHoldUserModifyRequest20">\r
321     <xs:annotation>\r
322       <xs:documentation>\r
323         Modify data for Music On Hold User.\r
324         The response is either a SuccessResponse or an\r
325         ErrorResponse.\r
326       </xs:documentation>\r
327     </xs:annotation>\r
328     <xs:complexContent>\r
329       <xs:extension base="core:OCIRequest">\r
330         <xs:sequence>\r
331           <xs:element name="userId" type="UserId"/>\r
332           <xs:element name="source" type="MusicOnHoldUserSourceModify20" minOccurs="0"/>\r
333           <xs:element name="useAlternateSourceForInternalCalls" type="xs:boolean" minOccurs="0"/>\r
334           <xs:element name="internalSource" type="MusicOnHoldUserSourceModify20" minOccurs="0"/>\r
335         </xs:sequence>\r
336       </xs:extension>\r
337     </xs:complexContent>\r
338   </xs:complexType>    \r
339     \r
340   <xs:simpleType name="MusicOnHoldDelayMilliseconds">\r
341     <xs:annotation>\r
342       <xs:documentation>\r
343         Delay in milliseconds.\r
344       </xs:documentation>\r
345     </xs:annotation>\r
346     <xs:restriction base="xs:int">\r
347       <xs:minInclusive value="0"/>\r
348       <xs:maxInclusive value="5000"/>\r
349     </xs:restriction>\r
350   </xs:simpleType>    \r
351     \r
352   <xs:simpleType name="MusicOnHoldMessageSelection">\r
353     <xs:annotation>\r
354       <xs:documentation>\r
355         Music On Hold Message Selection.\r
356       </xs:documentation>\r
357     </xs:annotation>\r
358     <xs:restriction base="xs:token">\r
359       <xs:enumeration value="System"/>\r
360       <xs:enumeration value="External"/>\r
361       <xs:enumeration value="Custom"/>\r
362     </xs:restriction>\r
363   </xs:simpleType>    \r
364     \r
365   <xs:complexType name="MusicOnHoldSourceAdd21">\r
366     <xs:annotation>\r
367       <xs:documentation>\r
368         Contains the music on hold source configuration.\r
369         The following elements are only used in HSS data mode and ignored in AS data mode:\r
370           labeledMediaFiles\r
371         The following elements are only used in AS data mode and ignored in HSS data mode:\r
372           announcementMediaFiles\r
373       </xs:documentation>\r
374     </xs:annotation>\r
375     <xs:sequence>\r
376       <xs:element name="audioFilePreferredCodec" type="AudioFileCodecExtended"/>\r
377       <xs:element name="messageSourceSelection" type="MusicOnHoldMessageSelection"/>\r
378       <xs:choice minOccurs="0">\r
379         <xs:element name="labeledCustomSourceMediaFiles">\r
380           <xs:complexType>\r
381             <xs:annotation/>\r
382             <xs:sequence>\r
383               <xs:element name="audioFile" type="LabeledMediaFileResource" minOccurs="0"/>\r
384               <xs:element name="videoFile" type="LabeledMediaFileResource" minOccurs="0"/>\r
385             </xs:sequence>\r
386           </xs:complexType>\r
387         </xs:element>\r
388         <xs:element name="announcementCustomSourceMediaFiles">\r
389           <xs:complexType>\r
390             <xs:annotation/>\r
391             <xs:sequence>\r
392               <xs:element name="audioFile" type="AnnouncementFileKey" minOccurs="0"/>\r
393               <xs:element name="videoFile" type="AnnouncementFileKey" minOccurs="0"/>\r
394             </xs:sequence>\r
395           </xs:complexType>\r
396         </xs:element>\r
397       </xs:choice>\r
398       <xs:element name="externalSource" minOccurs="0">\r
399         <xs:complexType>\r
400           <xs:annotation/>\r
401           <xs:sequence>\r
402             <xs:element name="accessDeviceEndpoint" type="AccessDeviceEndpointAdd"/>\r
403           </xs:sequence>\r
404         </xs:complexType>\r
405       </xs:element>\r
406     </xs:sequence>\r
407   </xs:complexType>    \r
408     \r
409   <xs:complexType name="MusicOnHoldSourceRead21">\r
410     <xs:annotation>\r
411       <xs:documentation>\r
412         Contains the music on hold source configuration.\r
413         The following elements are only used in HSS data mode and not returned in AS data mode:\r
414           labeledCustomSourceMediaFiles\r
415         The following elements are only used in AS data mode and not returned in HSS data mode:\r
416           announcementMediaFiles\r
417       </xs:documentation>\r
418     </xs:annotation>\r
419     <xs:sequence>\r
420       <xs:element name="audioFilePreferredCodec" type="AudioFileCodecExtended"/>\r
421       <xs:element name="messageSourceSelection" type="MusicOnHoldMessageSelection"/>\r
422       <xs:choice minOccurs="0">\r
423         <xs:element name="labeledCustomSourceMediaFiles">\r
424           <xs:complexType>\r
425             <xs:annotation/>\r
426             <xs:sequence>\r
427               <xs:element name="audioFileDescription" type="FileDescription" minOccurs="0"/>\r
428               <xs:element name="audioMediaType" type="MediaFileType" minOccurs="0"/>\r
429               <xs:element name="videoFileDescription" type="FileDescription" minOccurs="0"/>\r
430               <xs:element name="videoMediaType" type="MediaFileType" minOccurs="0"/>\r
431             </xs:sequence>\r
432           </xs:complexType>\r
433         </xs:element>\r
434         <xs:element name="announcementCustomSourceMediaFiles">\r
435           <xs:complexType>\r
436             <xs:annotation/>\r
437             <xs:sequence>\r
438               <xs:element name="audioFile" type="AnnouncementFileKey" minOccurs="0"/>\r
439               <xs:element name="videoFile" type="AnnouncementFileKey" minOccurs="0"/>\r
440             </xs:sequence>\r
441           </xs:complexType>\r
442         </xs:element>\r
443       </xs:choice>\r
444       <xs:element name="externalSource" minOccurs="0">\r
445         <xs:complexType>\r
446           <xs:annotation/>\r
447           <xs:sequence>\r
448             <xs:element name="accessDeviceEndpoint" type="AccessDeviceEndpointWithPortNumberRead"/>\r
449           </xs:sequence>\r
450         </xs:complexType>\r
451       </xs:element>\r
452     </xs:sequence>\r
453   </xs:complexType>    \r
454     \r
455   <xs:complexType name="MusicOnHoldSourceModify21">\r
456     <xs:annotation>\r
457       <xs:documentation>\r
458         Contains the music on hold source configuration.\r
459         The following elements are only used in HSS data mode and ignored in AS data mode:\r
460           labeledMediaFiles\r
461         The following elements are only used in AS data mode and ignored in HSS data mode:\r
462           announcementMediaFiles\r
463       </xs:documentation>\r
464     </xs:annotation>\r
465     <xs:sequence>\r
466       <xs:element name="audioFilePreferredCodec" type="AudioFileCodecExtended" minOccurs="0"/>\r
467       <xs:element name="messageSourceSelection" type="MusicOnHoldMessageSelection" minOccurs="0"/>\r
468       <xs:choice minOccurs="0">\r
469         <xs:element name="labeledCustomSourceMediaFiles">\r
470           <xs:complexType>\r
471             <xs:annotation/>\r
472             <xs:sequence>\r
473               <xs:element name="audioFile" type="LabeledMediaFileResource" minOccurs="0"/>\r
474               <xs:element name="videoFile" type="LabeledMediaFileResource" minOccurs="0"/>\r
475             </xs:sequence>\r
476           </xs:complexType>\r
477         </xs:element>\r
478         <xs:element name="announcementCustomSourceMediaFiles">\r
479           <xs:complexType>\r
480             <xs:annotation/>\r
481             <xs:sequence>\r
482               <xs:element name="audioFile" type="AnnouncementFileKey" minOccurs="0" nillable="true"/>\r
483               <xs:element name="videoFile" type="AnnouncementFileKey" minOccurs="0" nillable="true"/>\r
484             </xs:sequence>\r
485           </xs:complexType>\r
486         </xs:element>\r
487       </xs:choice>\r
488       <xs:element name="externalSource" minOccurs="0">\r
489         <xs:complexType>\r
490           <xs:annotation/>\r
491           <xs:sequence>\r
492             <xs:element name="accessDeviceEndpoint" type="AccessDeviceEndpointModify" nillable="true"/>\r
493           </xs:sequence>\r
494         </xs:complexType>\r
495       </xs:element>\r
496     </xs:sequence>\r
497   </xs:complexType>    \r
498     \r
499   <xs:simpleType name="MusicOnHoldUserMessageSelection">\r
500     <xs:annotation>\r
501       <xs:documentation>\r
502         Music On Hold User Message Selection.\r
503       </xs:documentation>\r
504     </xs:annotation>\r
505     <xs:restriction base="xs:token">\r
506       <xs:enumeration value="Group"/>\r
507       <xs:enumeration value="Custom"/>\r
508     </xs:restriction>\r
509   </xs:simpleType>    \r
510     \r
511   <xs:complexType name="MusicOnHoldUserSourceModify20">\r
512     <xs:annotation>\r
513       <xs:documentation>\r
514         Contains the music on hold user source configuration.\r
515       </xs:documentation>\r
516     </xs:annotation>\r
517     <xs:sequence>\r
518       <xs:element name="messageSourceSelection" type="MusicOnHoldUserMessageSelection" minOccurs="0"/>\r
519       <xs:element name="customSource" minOccurs="0">\r
520         <xs:complexType>\r
521           <xs:annotation/>\r
522           <xs:sequence>\r
523             <xs:element name="audioFile" type="AnnouncementFileKey" minOccurs="0" nillable="true"/>\r
524             <xs:element name="videoFile" type="AnnouncementFileKey" minOccurs="0" nillable="true"/>\r
525           </xs:sequence>\r
526         </xs:complexType>\r
527       </xs:element>\r
528     </xs:sequence>\r
529   </xs:complexType>    \r
530     \r
531   <xs:complexType name="MusicOnHoldUserSourceRead20">\r
532     <xs:annotation>\r
533       <xs:documentation>\r
534         Contains the music on hold user source configuration.\r
535       </xs:documentation>\r
536     </xs:annotation>\r
537     <xs:sequence>\r
538       <xs:element name="messageSourceSelection" type="MusicOnHoldUserMessageSelection"/>\r
539       <xs:element name="customSource" minOccurs="0">\r
540         <xs:complexType>\r
541           <xs:annotation/>\r
542           <xs:sequence>\r
543             <xs:element name="audioFile" type="AnnouncementFileKey" minOccurs="0"/>\r
544             <xs:element name="videoFile" type="AnnouncementFileKey" minOccurs="0"/>\r
545           </xs:sequence>\r
546         </xs:complexType>\r
547       </xs:element>\r
548     </xs:sequence>\r
549   </xs:complexType>    \r
550     \r
551 </xs:schema>\r