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 LSS schema profile_data object and the objects that it references.
The referenced objects include these supplementary services objects:
ACR - Anonymous Communication Rejection
CFNL - Communication Forwarding Not Logged In
CFNR - Communication Forwarding No Reply
CFNRc - Communication Forwarding Not Reachable
CFB - Communication Forwarding on Busy
CFU - Communication Forwarding Unconditional
ICB - Incoming Call Barring
OCB - Outgoing Call Barring
OIP - Originating Identification Presentation
OIR - Originating Identification Restriction
TIP - Terminating Identification Presentation
TIR - Terminating Identification Restriction
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-3LSS Schema CommonRules and translations Objects
See "The Default ESS Subscriber Store Schema" for the complete ESS schema JSON file.
{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "Schema for Udr Subscriber data", "type": "object", "properties": { "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 } } } }, "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" } }, "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" }, "ACR": { "$ref": "#/definitions/ACR" }, "CFNL": { "$ref": "#/definitions/CFNL" }, "CFNR": { "$ref": "#/definitions/CFNR" }, "CFNRc": { "$ref": "#/definitions/CFNRc" }, "CFB": { "$ref": "#/definitions/CFB" }, "CFU": { "$ref": "#/definitions/CFU" }, "ICB": { "$ref": "#/definitions/ICB" }, "OCB": { "$ref": "#/definitions/OCB" }, "OIP": { "$ref": "#/definitions/OIP" }, "OIR": { "$ref": "#/definitions/OIR" }, "TIP": { "$ref": "#/definitions/TIP" }, "TIR": { "$ref": "#/definitions/TIR" } }, "additionalProperties": false }, "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" } }, "additionalProperties": false }, "OIP": { "type": "object", "properties": { "Active": { "type": "boolean" } }, "additionalProperties": false }, "ACR": { "type": "object", "properties": { "Active": { "type": "boolean" } }, "additionalProperties": false }, "TIR": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Mode": { "type": "string" }, "Default": { "type": "string" } }, "additionalProperties": false }, "TIP": { "type": "object", "properties": { "Active": { "type": "boolean" } }, "additionalProperties": false }, "CFU": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Rules": { "type": "array", "items": { "$ref": "#/definitions/CommonRules" } } }, "additionalProperties": false }, "CFB": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Rules": { "type": "array", "items": { "$ref": "#/definitions/CommonRules" } } }, "additionalProperties": false }, "CFNR": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Rules": { "type": "array", "items": { "$ref": "#/definitions/CommonRules" } } }, "additionalProperties": false }, "CFNRc": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Rules": { "type": "array", "items": { "$ref": "#/definitions/CommonRules" } } }, "additionalProperties": false }, "CFNL": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Rules": { "type": "array", "items": { "$ref": "#/definitions/CommonRules" } } }, "additionalProperties": false }, "ICB": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Rules": { "type": "array", "items": { "$ref": "#/definitions/ICBRules" } } }, "additionalProperties": false }, "OCB": { "type": "object", "properties": { "Active": { "type": "boolean" }, "Rules": { "type": "array", "items": { "$ref": "#/definitions/OCBRules" } } }, "additionalProperties": false }, "CommonRules": { "type": "object", "properties": { "DayOfWeek": { "type": "integer" }, "EndTime": { "type": "string" }, "StartTime": { "type": "string" }, "EndDateTime": { "type": "string" }, "StartDateTime": { "type": "string" }, "Anonymous": { "type": "boolean" }, "IdentityList": { "type": "array", "items": { "type": "string" } }, "IdentityExceptList": { "type": "array", "items": { "type": "string" } }, "DomainList": { "type": "array", "items": { "type": "string" } }, "DomainExceptList": { "type": "array", "items": { "type": "string" } }, "RuleDeactivated": { "type": "boolean" }, "Target": { "type": "string" } }, "additionalProperties": false }, "ICBRules": { "type": "object", "properties": { "DayOfWeek": { "type": "integer" }, "EndTime": { "type": "string" }, "StartTime": { "type": "string" }, "EndDateTime": { "type": "string" }, "StartDateTime": { "type": "string" }, "Anonymous": { "type": "boolean" }, "IdentityList": { "type": "array", "items": { "type": "string" } }, "IdentityExceptList": { "type": "array", "items": { "type": "string" } }, "DomainList": { "type": "array", "items": { "type": "string" } }, "DomainExceptList": { "type": "array", "items": { "type": "string" } }, "CommunicationDiverted": { "type": "boolean" }, "Roaming": { "type": "boolean" }, "RuleDeactivated": { "type": "boolean" }, "Allow": { "type": "boolean" } }, "additionalProperties": false }, "OCBRules": { "type": "object", "properties": { "DayOfWeek": { "type": "integer" }, "EndTime": { "type": "string" }, "StartTime": { "type": "string" }, "EndDateTime": { "type": "string" }, "StartDateTime": { "type": "string" }, "IdentityList": { "type": "array", "items": { "type": "string" } }, "IdentityExceptList": { "type": "array", "items": { "type": "string" } }, "DomainList": { "type": "array", "items": { "type": "string" } }, "DomainExceptList": { "type": "array", "items": { "type": "string" } }, "International": { "type": "boolean" }, "InternationalExHC": { "type": "boolean" }, "Roaming": { "type": "boolean" }, "RuleDeactivated": { "type": "boolean" }, "Allow": { "type": "boolean" } }, "additionalProperties": false } } }