This appendix explains the default schema for the Oracle Communications Evolved Application Server (OCECAS) subscriber server (ESS).
This section explains the structure of the ESS schema that OCECAS uses to specify and store subscriber data. Figure A-1 shows the top level schema objects. All of the objects in bold font are required, except for the referenced objects in the profile_data object.
Elements in the schema relate to data that is accessible from the control flow editor. For example, the $ref
notation is a key, whose corresponding value indicates the name of the related external concept item.
Figure A-2 shows a detail view of the ESS schema MMTel object and the objects that it references.
The referenced objects include these supplementary services objects:
CDIV - Communication Diversion
ICB - Incoming Call Barring
OCB - Outgoing Call Barring
OIP - Originating Identification Presentation
OIR - Originating Identification Restriction
TIP - Terminating Identification Presentation
TIR - Terminating Identification Restriction
FA - Flexible Alerting
FADefault - Flexible Alerting Default
FASpecific - Flexible Alerting Specific
CW - Communication Waiting
Figure A-3 shows a detail view of the CommonRules and Translations objects. The CommonRules object specifies parameters for using supplementary services that require them. For example start and stop times for the service to take effect.
You use the Translations object to change subscriber IDs. This object translates IDs from the TranslationA block of name-value paris, to the different values in the TranlationB block of name-value pairs. The change can be a simple number switch, or you could change the number value, or format, or both. In this example, only one name matches (tel:901), so that is the only ID translated. It changes from tel:+133455601001 to tel:+133455601002:
"Translations": { "TranslationA": { "tel:901;phone-context=shortcode": "tel:+133455601007", "tel:901;noa=unknown;phone-context=oracle.occas.csp": "tel:+133455601001", "sip:c1@personal.redirect.com": "sip:called@full.address.com" }, "TranslationB": { "tel:902;phone-context=shortcode": "tel:+133455601008", "tel:901;noa=unknown;phone-context=oracle.occas.csp": "tel:+133455601002", "sip:c2@personal.redirect.com": "sip:called2@full.address.com" } }
Figure A-3 ESS Schema CommonRules and translations Objects
{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "Schema for Udr Subscriber data", "type": "object", "properties": { "version": "integer", "userIdentifiers": { "$ref": "#/definitions/userIdentifiers" }, "jsonData": { "type": "object", "properties" : { "oracle.occas.csp.app.sdc.OCECASUser": { "type": "object", "properties": { "Description": { "type": "string" }, "ServiceProviders": { "$ref": "#/definitions/ServiceProviders" } }, "required": ["ServiceProviders"], "additionalProperties": false } }, "additionalProperties": false } }, "patternProperties": { "_N_.*": { "type": "string" } }, "required": ["userIdentifiers", "jsonData"], "additionalProperties": false, "definitions": { "userIdentifiers": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "enum": [ "END_USER_E164", "END_USER_IMSI", "END_USER_SIP_URI", "END_USER_NAI", "END_USER_PRIVATE", "END_USER_GLOBAL_UID" ] } }, "required": ["id", "type"], "additionalProperties": false }, "additionalItems": false, "minItems": 1 }, "ServiceProviders": { "type": "object", "patternProperties": { "^[a-zA-Z0-9][a-zA-Z0-9_]*$": { "type": "object", "properties": { "services": { "$ref": "#/definitions/services" }, "profile_data": { "$ref": "#/definitions/profile_data" }, "MMTel": { "$ref": "#/definitions/MMTel" }, "MMTelOperator": { "$ref": "#/definitions/MMTelOperator" } }, "required": ["services", "profile_data"], "additionalProperties": false } }, "minProperties": 1, "additionalProperties": false }, "services": { "type": "object", "patternProperties": { "^[a-zA-Z0-9][a-zA-Z0-9_]*$": { "type": "string" } }, "additionalProperties": false, "minProperties": 1 }, "profile_data": { "type": "object", "properties": { "Language": { "type": "string" }, "CallFwdCompany": { "type": "string" }, "CallCount": { "type": "integer" }, "DayOfWeek": { "type": "integer" }, "EndTime": { "type": "string" }, "StartTime": { "type": "string" }, "TimeNow": { "type": "string" }, "ToNumber": { "type": "string" }, "Timezone": { "type": "string" }, "VMRedirect": { "type": "string" }, "WebServicesURL": { "type": "string" }, "WebServicesParams": { "type": "array" }, "Translations": { "$ref": "#/definitions/translations" } } }, "MMTel": { "type": "object", "properties": { "CDIV": { "$ref": "#/definitions/CDIV" }, "ICB": { "$ref": "#/definitions/ICB" }, "OCB": { "$ref": "#/definitions/OCB" }, "OIP": { "$ref": "#/definitions/OIP" }, "OIR": { "$ref": "#/definitions/OIR" }, "TIP": { "$ref": "#/definitions/TIP" }, "TIR": { "$ref": "#/definitions/TIR" }, "FA": { "$ref": "#/definitions/FA" }, "FADefault": { "$ref": "#/definitions/FADefault" }, "FASpecific": { "$ref": "#/definitions/FASpecific" }, "CW": { "$ref": "#/definitions/CW" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": true }, "MMTelOperator": { "type": "object", "properties": { "CDIV": { "$ref": "#/definitions/CDIV" }, "ICB": { "$ref": "#/definitions/ICB" }, "OCB": { "$ref": "#/definitions/OCB" }, "OIP": { "$ref": "#/definitions/OIP" }, "OIR": { "$ref": "#/definitions/OIR" }, "TIP": { "$ref": "#/definitions/TIP" }, "TIR": { "$ref": "#/definitions/TIR" }, "FA": { "$ref": "#/definitions/FA" }, "FAGroup": { "$ref": "#/definitions/FAGroup" }, "CW": { "$ref": "#/definitions/CWOperator" } } }, "translations": { "type": "object", "properties": { "TranslationA": { "$ref": "#/definitions/translation" }, "TranslationB": { "$ref": "#/definitions/translation" } }, "additionalProperties": false }, "translation": { "type": "object", "patternProperties": { "^[a-zA-Z0-9][a-zA-Z0-9_@:;.=-]*$": { "type": "string" } }, "additionalProperties": false }, "OIR": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Mode": { "type": "string" }, "Default": { "type": "string" }, "Restriction": { "type": "string" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": true }, "OIP": { "type": "object", "properties": { "Active": { "type": "boolean" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": false }, "TIR": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Mode": { "type": "string" }, "Default": { "type": "string" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": false }, "TIP": { "type": "object", "properties": { "Active": { "type": "boolean" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": false }, "CDIV": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Rules": { "type": "array", "items": { "$ref": "#/definitions/CommonRules" } } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": true }, "ICB": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Rules": { "type": "array", "items": { "$ref": "#/definitions/ICBRules" } } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": false }, "OCB": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Rules": { "type": "array", "items": { "$ref": "#/definitions/OCBRules" } } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": false }, "FADefault": { "type": "object", "properties": { "Active": { "type": "boolean" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": false }, "FASpecific": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Groups": { "type": "array", "items": { "$ref": "#/definitions/FAIdentity" } } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": false }, "FAIdentity": { "type": "object", "properties": { "Identity": { "type": "string" }, "Active": { "type": "boolean" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": false }, "FA": { "type": "object", "properties": { "Authorized": { "type": "boolean" }, "DefaultGroup": { "type": "string" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": false }, "FAGroup": { "type": "object", "properties": { "Authorized": { "type": "boolean" }, "Identity": { "type": "string" }, "Type": { "type": "string" }, "Membership": { "type": "string" }, "Members": { "type": "array", "items": { "$ref": "#/definitions/FAGroupMember" } } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": false }, "FAGroupMember": { "type": "object", "properties": { "Identity": { "type": "string" }, "Active": { "type": "boolean" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": false }, "CW": { "type": "object", "properties": { "Active": { "type": "boolean" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": false }, "CWOperator": { "type": "object", "properties": { "Authorized": { "type": "boolean" }, "CallingUserNotification": { "type": "boolean" }, "WaitingTimer": { "type": "integer" } }, "additionalProperties": false }, "CommonRules": { "type": "object", "properties": { "DayOfWeek": { "type": "integer" }, "EndTime": { "type": "string" }, "StartTime": { "type": "string" }, "Validity": { "type": "array", "items": { "$ref": "#/definitions/Validity" } }, "Anonymous": { "type": "boolean" }, "IdentityList": { "type": "array", "items": { "type": "string" } }, "DomainList": { "type": "array", "items": { "$ref": "#/definitions/DomainList" } }, "RuleDeactivated": { "type": "boolean" }, "Target": { "type": "string" }, "Busy": { "type": "boolean" }, "NotRegistered": { "type": "boolean" }, "NotReachable": { "type": "boolean" }, "NoAnswer": { "type": "boolean" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": true }, "ICBRules": { "type": "object", "properties": { "DayOfWeek": { "type": "integer" }, "EndTime": { "type": "string" }, "StartTime": { "type": "string" }, "Validity": { "type": "array", "items": { "$ref": "#/definitions/Validity" } }, "Anonymous": { "type": "boolean" }, "IdentityList": { "type": "array", "items": { "type": "string" } }, "DomainList": { "type": "array", "items": { "$ref": "#/definitions/DomainList" } }, "CommunicationDiverted": { "type": "boolean" }, "Roaming": { "type": "boolean" }, "RuleDeactivated": { "type": "boolean" }, "Allow": { "type": "boolean" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": true }, "OCBRules": { "type": "object", "properties": { "DayOfWeek": { "type": "integer" }, "EndTime": { "type": "string" }, "StartTime": { "type": "string" }, "Validity": { "type": "array", "items": { "$ref": "#/definitions/Validity" } }, "IdentityList": { "type": "array", "items": { "type": "string" } }, "DomainList": { "type": "array", "items": { "$ref": "#/definitions/DomainList" } }, "International": { "type": "boolean" }, "InternationalExHC": { "type": "boolean" }, "Roaming": { "type": "boolean" }, "RuleDeactivated": { "type": "boolean" }, "Allow": { "type": "boolean" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": true }, "DomainList": { "type": "object", "properties": { "Identity": { "type": "string" }, "DomainExceptList": { "type": "array", "items": { "type": "string" } }, "IdentityExceptList": { "type": "array", "items": { "type": "string" } } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": true }, "Validity": { "type": "object", "properties": { "From": { "type": "string" }, "Until": { "type": "string" } }, "patternProperties": { "_N_.*": { "type": "string" } }, "additionalProperties": true } } }