initial commit
[BroadWorks-OCI.git] / share / OCISchemaAS / Services / OCISchemaServiceIntercept.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 <!-- I N T E R C E P T  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   <!-- I N T E R C E P T    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     GroupInterceptGroupGetRequest16sp1    \r
35     GroupInterceptGroupModifyRequest16    \r
36     SystemInterceptUserAddDnListRequest    \r
37     SystemInterceptUserDeleteDnListRequest    \r
38     SystemInterceptUserGetDnListRequest    \r
39     SystemInterceptUserGetRequest    \r
40     SystemInterceptUserModifyDnRequest    \r
41     SystemInterceptUserModifyRequest    \r
42     UserInterceptUserGetRequest16sp1    \r
43     UserInterceptUserModifyRequest16    \r
44     \r
45   --> \r
46   \r
47   <xs:complexType name="GroupInterceptGroupGetRequest16sp1">\r
48     <xs:annotation>\r
49       <xs:documentation>\r
50         Get the group's intercept group service settings.\r
51         The response is either a GroupInterceptGroupGetResponse16sp1 or an ErrorResponse.\r
52       </xs:documentation>\r
53     </xs:annotation>\r
54     <xs:complexContent>\r
55       <xs:extension base="core:OCIRequest">\r
56         <xs:sequence>\r
57           <xs:element name="serviceProviderId" type="ServiceProviderId"/>\r
58           <xs:element name="groupId" type="GroupId"/>\r
59         </xs:sequence>\r
60       </xs:extension>\r
61     </xs:complexContent>\r
62   </xs:complexType>    \r
63     \r
64   <xs:complexType name="GroupInterceptGroupGetResponse16sp1">\r
65     <xs:annotation>\r
66       <xs:documentation>\r
67         Response to the GroupInterceptGroupGetRequest16sp1.\r
68       </xs:documentation>\r
69     </xs:annotation>\r
70     <xs:complexContent>\r
71       <xs:extension base="core:OCIDataResponse">\r
72         <xs:sequence>\r
73           <xs:element name="isActive" type="xs:boolean"/>\r
74           <xs:element name="announcementSelection" type="AnnouncementSelection"/>\r
75           <xs:element name="audioFileDescription" type="FileDescription" minOccurs="0"/>\r
76           <xs:element name="audioMediaType" type="MediaFileType" minOccurs="0"/>\r
77           <xs:element name="videoFileDescription" type="FileDescription" minOccurs="0"/>\r
78           <xs:element name="videoMediaType" type="MediaFileType" minOccurs="0"/>\r
79           <xs:element name="playNewPhoneNumber" type="xs:boolean"/>\r
80           <xs:element name="newPhoneNumber" type="DN" minOccurs="0"/>\r
81           <xs:element name="transferOnZeroToPhoneNumber" type="xs:boolean"/>\r
82           <xs:element name="transferPhoneNumber" type="OutgoingDN" minOccurs="0"/>\r
83           <xs:element name="rerouteOutboundCalls" type="xs:boolean"/>\r
84           <xs:element name="outboundReroutePhoneNumber" type="OutgoingDNorSIPURI" minOccurs="0"/>\r
85           <xs:element name="allowOutboundLocalCalls" type="xs:boolean"/>\r
86           <xs:element name="inboundCallMode" type="InterceptInboundCall"/>\r
87           <xs:element name="alternateBlockingAnnouncement" type="xs:boolean"/>\r
88           <xs:element name="routeToVoiceMail" type="xs:boolean"/>\r
89         </xs:sequence>\r
90       </xs:extension>\r
91     </xs:complexContent>\r
92   </xs:complexType>    \r
93     \r
94   <xs:complexType name="GroupInterceptGroupModifyRequest16">\r
95     <xs:annotation>\r
96       <xs:documentation>\r
97         Modify the group's intercept group service settings.\r
98         The response is either a SuccessResponse or an ErrorResponse.\r
99       </xs:documentation>\r
100     </xs:annotation>\r
101     <xs:complexContent>\r
102       <xs:extension base="core:OCIRequest">\r
103         <xs:sequence>\r
104           <xs:element name="serviceProviderId" type="ServiceProviderId"/>\r
105           <xs:element name="groupId" type="GroupId"/>\r
106           <xs:element name="isActive" type="xs:boolean" minOccurs="0"/>\r
107           <xs:element name="announcementSelection" type="AnnouncementSelection" minOccurs="0"/>\r
108           <xs:element name="audioFile" type="LabeledMediaFileResource" minOccurs="0"/>\r
109           <xs:element name="videoFile" type="LabeledMediaFileResource" minOccurs="0"/>\r
110           <xs:element name="playNewPhoneNumber" type="xs:boolean" minOccurs="0"/>\r
111           <xs:element name="newPhoneNumber" type="DN" nillable="true" minOccurs="0"/>\r
112           <xs:element name="transferOnZeroToPhoneNumber" type="xs:boolean" minOccurs="0"/>\r
113           <xs:element name="transferPhoneNumber" type="OutgoingDN" nillable="true" minOccurs="0"/>\r
114           <xs:element name="rerouteOutboundCalls" type="xs:boolean" minOccurs="0"/>\r
115           <xs:element name="outboundReroutePhoneNumber" type="OutgoingDNorSIPURI" nillable="true" minOccurs="0"/>\r
116           <xs:element name="allowOutboundLocalCalls" type="xs:boolean" minOccurs="0"/>\r
117           <xs:element name="inboundCallMode" type="InterceptInboundCall" minOccurs="0"/>\r
118           <xs:element name="alternateBlockingAnnouncement" type="xs:boolean" minOccurs="0"/>\r
119           <xs:element name="routeToVoiceMail" type="xs:boolean" minOccurs="0"/>\r
120         </xs:sequence>\r
121       </xs:extension>\r
122     </xs:complexContent>\r
123   </xs:complexType>    \r
124     \r
125   <xs:complexType name="SystemInterceptUserAddDnListRequest">\r
126     <xs:annotation>\r
127       <xs:appinfo>\r
128         <asDataModeSupported>true</asDataModeSupported>\r
129         <hssDataModeSupported>false</hssDataModeSupported>\r
130       </xs:appinfo>\r
131       <xs:documentation>\r
132           Request to add an Intercept User number(s) to the system.\r
133           The response is either a SuccessResponse or an ErrorResponse.\r
134        </xs:documentation>\r
135     </xs:annotation>\r
136     <xs:complexContent>\r
137       <xs:extension base="core:OCIRequest">\r
138         <xs:sequence>\r
139           <xs:element name="interceptDNList" type="InterceptDNListEntry" minOccurs="1" maxOccurs="100"/>\r
140         </xs:sequence>\r
141       </xs:extension>\r
142     </xs:complexContent>\r
143   </xs:complexType>    \r
144     \r
145   <xs:complexType name="SystemInterceptUserDeleteDnListRequest">\r
146     <xs:annotation>\r
147       <xs:appinfo>\r
148         <asDataModeSupported>true</asDataModeSupported>\r
149         <hssDataModeSupported>false</hssDataModeSupported>\r
150       </xs:appinfo>\r
151       <xs:documentation>\r
152         Request to delete an Intercept User number(s) from the system.\r
153          The response is either a SuccessResponse or an ErrorResponse.\r
154       </xs:documentation>\r
155     </xs:annotation>\r
156     <xs:complexContent>\r
157       <xs:extension base="core:OCIRequest">\r
158         <xs:sequence>\r
159           <xs:element name="phoneNumbers" type="DN" minOccurs="1" maxOccurs="100"/>\r
160         </xs:sequence>\r
161       </xs:extension>\r
162     </xs:complexContent>\r
163   </xs:complexType>    \r
164     \r
165   <xs:complexType name="SystemInterceptUserGetDnListRequest">\r
166     <xs:annotation>\r
167       <xs:appinfo>\r
168         <asDataModeSupported>true</asDataModeSupported>\r
169         <hssDataModeSupported>false</hssDataModeSupported>\r
170       </xs:appinfo>\r
171       <xs:documentation>\r
172           Request to get a list of Intercept User dns defined in the system.\r
173           The response is either a SystemInterceptUserGetDnListResponse\r
174           or an ErrorResponse.\r
175         </xs:documentation>\r
176     </xs:annotation>\r
177     <xs:complexContent>\r
178       <xs:extension base="core:OCIRequest">\r
179         <xs:sequence/>\r
180       </xs:extension>\r
181     </xs:complexContent>\r
182   </xs:complexType>    \r
183     \r
184   <xs:complexType name="SystemInterceptUserGetDnListResponse">\r
185     <xs:annotation>\r
186       <xs:appinfo>\r
187         <asDataModeSupported>true</asDataModeSupported>\r
188         <hssDataModeSupported>false</hssDataModeSupported>\r
189       </xs:appinfo>\r
190       <xs:documentation>\r
191           Response to SystemInterceptUserGetDnListRequest.\r
192           The Intercept User DN List.\r
193         </xs:documentation>\r
194     </xs:annotation>\r
195     <xs:complexContent>\r
196       <xs:extension base="core:OCIDataResponse">\r
197         <xs:sequence>\r
198           <xs:element name="interceptUserList" type="InterceptDNListEntry" minOccurs="0" maxOccurs="unbounded"/>\r
199         </xs:sequence>\r
200       </xs:extension>\r
201     </xs:complexContent>\r
202   </xs:complexType>    \r
203     \r
204   <xs:complexType name="SystemInterceptUserGetRequest">\r
205     <xs:annotation>\r
206       <xs:appinfo>\r
207         <asDataModeSupported>true</asDataModeSupported>\r
208         <hssDataModeSupported>false</hssDataModeSupported>\r
209       </xs:appinfo>\r
210       <xs:documentation>\r
211         Get the system-level intercept user service settings.\r
212         The response is either a SystemInterceptUserGetResponse or an ErrorResponse.\r
213       </xs:documentation>\r
214     </xs:annotation>\r
215     <xs:complexContent>\r
216       <xs:extension base="core:OCIRequest">\r
217         <xs:sequence/>\r
218       </xs:extension>\r
219     </xs:complexContent>\r
220   </xs:complexType>    \r
221     \r
222   <xs:complexType name="SystemInterceptUserGetResponse">\r
223     <xs:annotation>\r
224       <xs:appinfo>\r
225         <asDataModeSupported>true</asDataModeSupported>\r
226         <hssDataModeSupported>false</hssDataModeSupported>\r
227       </xs:appinfo>\r
228       <xs:documentation>\r
229         Response to the SystemInterceptUserGetRequest.\r
230       </xs:documentation>\r
231     </xs:annotation>\r
232     <xs:complexContent>\r
233       <xs:extension base="core:OCIDataResponse">\r
234         <xs:sequence>\r
235           <xs:element name="emergencyAndRepairIntercept" type="xs:boolean"/>\r
236         </xs:sequence>\r
237       </xs:extension>\r
238     </xs:complexContent>\r
239   </xs:complexType>    \r
240     \r
241   <xs:complexType name="SystemInterceptUserModifyDnRequest">\r
242     <xs:annotation>\r
243       <xs:appinfo>\r
244         <asDataModeSupported>true</asDataModeSupported>\r
245         <hssDataModeSupported>false</hssDataModeSupported>\r
246       </xs:appinfo>\r
247       <xs:documentation>\r
248           Request to modify a Intercept User number's description in the system.\r
249           The response is either a SuccessResponse or an ErrorResponse.\r
250       </xs:documentation>\r
251     </xs:annotation>\r
252     <xs:complexContent>\r
253       <xs:extension base="core:OCIRequest">\r
254         <xs:sequence>\r
255           <xs:element name="phoneNumber" type="DN"/>\r
256           <xs:element name="description" type="InterceptPhoneNumberDescription" nillable="true" minOccurs="0"/>\r
257         </xs:sequence>\r
258       </xs:extension>\r
259     </xs:complexContent>\r
260   </xs:complexType>    \r
261     \r
262   <xs:complexType name="SystemInterceptUserModifyRequest">\r
263     <xs:annotation>\r
264       <xs:appinfo>\r
265         <asDataModeSupported>true</asDataModeSupported>\r
266         <hssDataModeSupported>false</hssDataModeSupported>\r
267       </xs:appinfo>\r
268       <xs:documentation>\r
269         Modify the system-level intercept user service settings.\r
270         The response is either a SuccessResponse or an ErrorResponse.\r
271       </xs:documentation>\r
272     </xs:annotation>\r
273     <xs:complexContent>\r
274       <xs:extension base="core:OCIRequest">\r
275         <xs:sequence>\r
276           <xs:element name="emergencyAndRepairIntercept" type="xs:boolean" minOccurs="0"/>\r
277         </xs:sequence>\r
278       </xs:extension>\r
279     </xs:complexContent>\r
280   </xs:complexType>    \r
281     \r
282   <xs:complexType name="UserInterceptUserGetRequest16sp1">\r
283     <xs:annotation>\r
284       <xs:documentation>\r
285         Get the user's intercept user service settings.\r
286         The response is either a UserInterceptUserGetResponse16sp1 or an ErrorResponse.\r
287       </xs:documentation>\r
288     </xs:annotation>\r
289     <xs:complexContent>\r
290       <xs:extension base="core:OCIRequest">\r
291         <xs:sequence>\r
292           <xs:element name="userId" type="UserId"/>\r
293         </xs:sequence>\r
294       </xs:extension>\r
295     </xs:complexContent>\r
296   </xs:complexType>    \r
297     \r
298   <xs:complexType name="UserInterceptUserGetResponse16sp1">\r
299     <xs:annotation>\r
300       <xs:documentation>\r
301         Response to the UserInterceptUserGetRequest16sp1.\r
302       </xs:documentation>\r
303     </xs:annotation>\r
304     <xs:complexContent>\r
305       <xs:extension base="core:OCIDataResponse">\r
306         <xs:sequence>\r
307           <xs:element name="isActive" type="xs:boolean"/>\r
308           <xs:element name="announcementSelection" type="AnnouncementSelection"/>\r
309           <xs:element name="audioFileDescription" type="FileDescription" minOccurs="0"/>\r
310           <xs:element name="audioMediaType" type="MediaFileType" minOccurs="0"/>\r
311           <xs:element name="videoFileDescription" type="FileDescription" minOccurs="0"/>\r
312           <xs:element name="videoMediaType" type="MediaFileType" minOccurs="0"/>\r
313           <xs:element name="playNewPhoneNumber" type="xs:boolean"/>\r
314           <xs:element name="newPhoneNumber" type="DN" minOccurs="0"/>\r
315           <xs:element name="transferOnZeroToPhoneNumber" type="xs:boolean"/>\r
316           <xs:element name="transferPhoneNumber" type="OutgoingDN" minOccurs="0"/>\r
317           <xs:element name="rerouteOutboundCalls" type="xs:boolean"/>\r
318           <xs:element name="outboundReroutePhoneNumber" type="OutgoingDNorSIPURI" minOccurs="0"/>\r
319           <xs:element name="allowOutboundLocalCalls" type="xs:boolean"/>\r
320           <xs:element name="inboundCallMode" type="InterceptInboundCall"/>\r
321           <xs:element name="alternateBlockingAnnouncement" type="xs:boolean"/>\r
322           <xs:element name="routeToVoiceMail" type="xs:boolean"/>\r
323         </xs:sequence>\r
324       </xs:extension>\r
325     </xs:complexContent>\r
326   </xs:complexType>    \r
327     \r
328   <xs:complexType name="UserInterceptUserModifyRequest16">\r
329     <xs:annotation>\r
330       <xs:appinfo>\r
331         <asDataModeSupported>true</asDataModeSupported>\r
332         <hssDataModeSupported>true</hssDataModeSupported>\r
333       </xs:appinfo>\r
334       <xs:documentation>\r
335         Modify the user's intercept user service settings.\r
336         The response is either a SuccessResponse or an ErrorResponse.\r
337       </xs:documentation>\r
338     </xs:annotation>\r
339     <xs:complexContent>\r
340       <xs:extension base="core:OCIRequest">\r
341         <xs:sequence>\r
342           <xs:element name="userId" type="UserId"/>\r
343           <xs:element name="isActive" type="xs:boolean" minOccurs="0"/>\r
344           <xs:element name="announcementSelection" type="AnnouncementSelection" minOccurs="0"/>\r
345           <xs:element name="audioFile" type="LabeledMediaFileResource" minOccurs="0"/>\r
346           <xs:element name="videoFile" type="LabeledMediaFileResource" minOccurs="0"/>\r
347           <xs:element name="playNewPhoneNumber" type="xs:boolean" minOccurs="0"/>\r
348           <xs:element name="newPhoneNumber" type="DN" nillable="true" minOccurs="0"/>\r
349           <xs:element name="transferOnZeroToPhoneNumber" type="xs:boolean" minOccurs="0"/>\r
350           <xs:element name="transferPhoneNumber" type="OutgoingDN" nillable="true" minOccurs="0"/>\r
351           <xs:element name="rerouteOutboundCalls" type="xs:boolean" minOccurs="0"/>\r
352           <xs:element name="outboundReroutePhoneNumber" type="OutgoingDNorSIPURI" nillable="true" minOccurs="0"/>\r
353           <xs:element name="allowOutboundLocalCalls" type="xs:boolean" minOccurs="0"/>\r
354           <xs:element name="inboundCallMode" type="InterceptInboundCall" minOccurs="0"/>\r
355           <xs:element name="alternateBlockingAnnouncement" type="xs:boolean" minOccurs="0"/>\r
356           <xs:element name="routeToVoiceMail" type="xs:boolean" minOccurs="0"/>\r
357         </xs:sequence>\r
358       </xs:extension>\r
359     </xs:complexContent>\r
360   </xs:complexType>    \r
361     \r
362   <xs:simpleType name="InterceptInboundCall">\r
363     <xs:annotation>\r
364       <xs:documentation>\r
365         The type of inbound calls to Intercept or allow.\r
366       </xs:documentation>\r
367     </xs:annotation>\r
368     <xs:restriction base="xs:token">\r
369       <xs:enumeration value="Intercept All"/>\r
370       <xs:enumeration value="Allow All"/>\r
371       <xs:enumeration value="Allow System Dns"/>\r
372     </xs:restriction>\r
373   </xs:simpleType>    \r
374     \r
375   <xs:simpleType name="InterceptPhoneNumberDescription">\r
376     <xs:annotation>\r
377       <xs:documentation>\r
378         Intercept User phone number’s Description.\r
379       </xs:documentation>\r
380     </xs:annotation>\r
381     <xs:restriction base="xs:token">\r
382       <xs:minLength value="1"/>\r
383       <xs:maxLength value="80"/>\r
384     </xs:restriction>\r
385   </xs:simpleType>    \r
386     \r
387   <xs:complexType name="InterceptDNListEntry">\r
388     <xs:annotation>\r
389       <xs:documentation>\r
390         Intercept User Entry containing the phone number and a Description.\r
391       </xs:documentation>\r
392     </xs:annotation>\r
393     <xs:sequence>\r
394       <xs:element name="phoneNumber" type="DN"/>\r
395       <xs:element name="description" type="InterceptPhoneNumberDescription" nillable="true" minOccurs="0"/>\r
396     </xs:sequence>\r
397   </xs:complexType>    \r
398     \r
399 </xs:schema>\r