{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-search/cisco-expressway/json-schema/cisco-expressway-registration-schema.json",
  "title": "Cisco Expressway Registration",
  "description": "Schema for a device registration on Cisco Expressway. Represents an endpoint or device currently registered with the Expressway using SIP or H.323 protocols, including contact address, registration time, and subzone assignment.",
  "type": "object",
  "properties": {
    "Alias": {
      "type": "string",
      "description": "Registered alias of the device, such as a SIP URI or H.323 alias",
      "examples": ["user1@example.com", "alice.smith@company.com"]
    },
    "Type": {
      "type": "string",
      "description": "Registration protocol type",
      "enum": ["SIP", "H.323"]
    },
    "ContactAddress": {
      "type": "string",
      "description": "Network contact address of the device, including IP address and port",
      "examples": ["192.168.1.100:5060", "10.0.0.50:1720"]
    },
    "RegisteredAt": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp when the device registered"
    },
    "ExpiresAt": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp when the registration expires and must be renewed"
    },
    "DeviceType": {
      "type": "string",
      "description": "Type or model of the registered device as reported during registration",
      "examples": ["Cisco CE Software", "Cisco IP Phone 8845", "Jabber"]
    },
    "Subzone": {
      "type": "string",
      "description": "Subzone where the device is registered based on IP address ranges or alias patterns. Endpoints not matching any configured subzone are assigned to the DefaultSubzone.",
      "examples": ["DefaultSubzone", "HQ-Subzone"]
    }
  },
  "required": ["Alias", "Type", "ContactAddress"]
}
