initial commit
[BroadWorks-OCI.git] / share / OCISchemaAS / Services / OCISchemaServiceExternalCustomRingback.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 <!-- E X T E R N A L   C U S T O M   R I N G B A C K  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   <!-- E X T E R N A L   C U S T O M   R I N G B A C K                                    -->\r
27   <!-- R E Q U E S T S  A N D  R E S P O N S E S                                          -->\r
28   <!-- ********************************************************************************** -->\r
29   <!--\r
30   Requests and responses are listed here in alphabetical order.\r
31   The non-primitive attributes inside the commands are defined in another\r
32   section of the schema.\r
33 \r
34   Requests in this schema file:\r
35     ServiceProviderExternalCustomRingbackGetRequest    \r
36     ServiceProviderExternalCustomRingbackModifyRequest    \r
37     UserExternalCustomRingbackGetRequest    \r
38     UserExternalCustomRingbackModifyRequest    \r
39     \r
40   --> \r
41   \r
42   <xs:complexType name="ServiceProviderExternalCustomRingbackGetRequest">\r
43     <xs:annotation>\r
44       <xs:documentation>\r
45         Request the service provider level data associated with External Custom Ringback.\r
46         The response is either a ServiceProviderExternalCustomRingbackGetResponse or an\r
47         ErrorResponse.\r
48       </xs:documentation>\r
49     </xs:annotation>\r
50     <xs:complexContent>\r
51       <xs:extension base="core:OCIRequest">\r
52         <xs:sequence>\r
53           <xs:element name="serviceProviderId" type="ServiceProviderId"/>\r
54         </xs:sequence>\r
55       </xs:extension>\r
56     </xs:complexContent>\r
57   </xs:complexType>    \r
58     \r
59   <xs:complexType name="ServiceProviderExternalCustomRingbackGetResponse">\r
60     <xs:annotation>\r
61       <xs:documentation>\r
62         Response to ServiceProviderExternalCustomRingbackGetRequest.\r
63       </xs:documentation>\r
64     </xs:annotation>\r
65     <xs:complexContent>\r
66       <xs:extension base="core:OCIDataResponse">\r
67         <xs:sequence>\r
68           <xs:element name="prefixDigits" type="ExternalCustomRingbackPrefixDigits" minOccurs="0"/>\r
69           <xs:element name="serverNetAddress" type="NetAddress" minOccurs="0"/>\r
70           <xs:element name="serverPort" type="Port1025" minOccurs="0"/>\r
71           <xs:element name="timeoutSeconds" type="ExternalCustomRingbackTimeoutSeconds"/>\r
72         </xs:sequence>\r
73       </xs:extension>\r
74     </xs:complexContent>\r
75   </xs:complexType>    \r
76     \r
77   <xs:complexType name="ServiceProviderExternalCustomRingbackModifyRequest">\r
78     <xs:annotation>\r
79       <xs:documentation>\r
80         Modify the service provider level data associated with External Custom Ringback.\r
81         The response is either a SuccessResponse or an ErrorResponse.\r
82       </xs:documentation>\r
83     </xs:annotation>\r
84     <xs:complexContent>\r
85       <xs:extension base="core:OCIRequest">\r
86         <xs:sequence>\r
87           <xs:element name="serviceProviderId" type="ServiceProviderId"/>\r
88           <xs:element name="prefixDigits" type="ExternalCustomRingbackPrefixDigits" nillable="true" minOccurs="0"/>\r
89           <xs:element name="serverNetAddress" type="NetAddress" nillable="true" minOccurs="0"/>\r
90           <xs:element name="serverPort" type="Port1025" nillable="true" minOccurs="0"/>\r
91           <xs:element name="timeoutSeconds" type="ExternalCustomRingbackTimeoutSeconds" minOccurs="0"/>\r
92         </xs:sequence>\r
93       </xs:extension>\r
94     </xs:complexContent>\r
95   </xs:complexType>    \r
96     \r
97   <xs:complexType name="UserExternalCustomRingbackGetRequest">\r
98     <xs:annotation>\r
99       <xs:documentation>\r
100         Request the user level data associated with External Custom Ringback.\r
101         The response is either a UserExternalCustomRingbackGetResponse or an\r
102         ErrorResponse.\r
103       </xs:documentation>\r
104     </xs:annotation>\r
105     <xs:complexContent>\r
106       <xs:extension base="core:OCIRequest">\r
107         <xs:sequence>\r
108           <xs:element name="userId" type="UserId"/>\r
109         </xs:sequence>\r
110       </xs:extension>\r
111     </xs:complexContent>\r
112   </xs:complexType>    \r
113     \r
114   <xs:complexType name="UserExternalCustomRingbackGetResponse">\r
115     <xs:annotation>\r
116       <xs:documentation>\r
117         Response to UserExternalCustomRingbackGetRequest.\r
118       </xs:documentation>\r
119     </xs:annotation>\r
120     <xs:complexContent>\r
121       <xs:extension base="core:OCIDataResponse">\r
122         <xs:sequence>\r
123           <xs:element name="isActive" type="xs:boolean"/>\r
124           <xs:element name="useSettingLevel" type="ExternalCustomRingbackSettingLevel"/>\r
125           <xs:element name="sipRequestURI" type="SIPContact" minOccurs="0"/>\r
126         </xs:sequence>\r
127       </xs:extension>\r
128     </xs:complexContent>\r
129   </xs:complexType>    \r
130     \r
131   <xs:complexType name="UserExternalCustomRingbackModifyRequest">\r
132     <xs:annotation>\r
133       <xs:documentation>\r
134         Modify the user level data associated with External Custom Ringback.  \r
135         The user SIP URI, when selected, it replaces the SP address, port and prefix.  \r
136         The user SIP URI, if selected, is the Request URI of the SIP INVITE sent \r
137         to the external server.  When the service provider data is used instead, \r
138         the Request URI is constructed using the prefix, address, port and the user DN.  \r
139         The timeout value is the only SP configuration used when the user SIP URI is selected.\r
140         The response is either a SuccessResponse or an ErrorResponse.      \r
141       </xs:documentation>\r
142     </xs:annotation>\r
143     <xs:complexContent>\r
144       <xs:extension base="core:OCIRequest">\r
145         <xs:sequence>\r
146           <xs:element name="userId" type="UserId"/>\r
147           <xs:element name="isActive" type="xs:boolean" minOccurs="0"/>\r
148           <xs:element name="useSettingLevel" type="ExternalCustomRingbackSettingLevel" minOccurs="0"/>\r
149           <xs:element name="sipRequestURI" type="SIPContact" nillable="true" minOccurs="0"/>\r
150         </xs:sequence>\r
151       </xs:extension>\r
152     </xs:complexContent>\r
153   </xs:complexType>    \r
154     \r
155   <xs:simpleType name="ExternalCustomRingbackPrefixDigits">\r
156     <xs:annotation>\r
157       <xs:documentation>\r
158         Prefix digits prepended to the address to reach the external ringback server.\r
159       </xs:documentation>\r
160     </xs:annotation>\r
161     <xs:restriction base="xs:token">\r
162       <xs:minLength value="1"/>\r
163       <xs:maxLength value="30"/>\r
164     </xs:restriction>\r
165   </xs:simpleType>    \r
166     \r
167   <xs:simpleType name="ExternalCustomRingbackSettingLevel">\r
168     <xs:annotation>\r
169       <xs:documentation>\r
170         Choices for the External Custom Ringback feature to decide which type of settings to use.\r
171       </xs:documentation>\r
172     </xs:annotation>\r
173     <xs:restriction base="xs:token">\r
174       <xs:enumeration value="Service Provider"/>\r
175       <xs:enumeration value="User"/>\r
176     </xs:restriction>\r
177   </xs:simpleType>    \r
178     \r
179   <xs:simpleType name="ExternalCustomRingbackTimeoutSeconds">\r
180     <xs:annotation>\r
181       <xs:documentation>\r
182         Time to wait for any External Media Server to reply with custom ringback.\r
183       </xs:documentation>\r
184     </xs:annotation>\r
185     <xs:restriction base="xs:int">\r
186       <xs:minInclusive value="1"/>\r
187       <xs:maxInclusive value="20"/>\r
188     </xs:restriction>\r
189   </xs:simpleType>    \r
190     \r
191 </xs:schema>\r