Copyright 2019 ETSI
Copyright 2023 ETSI
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
......
# JSON Schema
## General
The following lists SIP Events and Web Services as defined in [ETSI TS 103 479](https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=50130) and provides links to JSON schema files describing respective request and response bodies. You may refer to [EMTEL](http://www.emtel.etsi.org/) for further information.
The following lists SIP Events and Web Services as defined in [ETSI TS 103 479](https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=61888) and provides links to JSON schema files describing respective request and response bodies. You may refer to [EMTEL](http://www.emtel.etsi.org/) for further information.
## SIP Events
### QueueState
QueueState is an event that indicates to an upstream entity the state of a queue. For the message body JSON schema (MIME type application/vnd.emergency.queuestate+json) refer to [queuestate.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/queuestate.json)
QueueState is an event that indicates to an upstream entity the state of a queue. For the message body JSON schema (MIME type application/vnd.emergency.queuestate+json) refer to [queuestate.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/queuestate.json)
### AbandonedCall
AbandonedCall is an event to notify a PSAP that a call was started, but then canceled prior to the PSAP knowing the call occurred. For the message body JSON schema (MIME type application/vnd.emergency.abandonedcall+json) refer to [abandonedcall.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/abandonedcall.json)
AbandonedCall is an event to notify a PSAP that a call was started, but then canceled prior to the PSAP knowing the call occurred. For the message body JSON schema (MIME type application/vnd.emergency.abandonedcall+json) refer to [abandonedcall.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/abandonedcall.json)
### SecurityPosture
SecurityPosture is an event that represents a downstream entity's current security state. For the message body JSON schema MIME type application/vnd.emergency.securityposture+json) refer to [securityposture.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/securityposture.json)
SecurityPosture is an event that represents a downstream entity's current security state. For the message body JSON schema MIME type application/vnd.emergency.securityposture+json) refer to [securityposture.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/securityposture.json)
### ElementState
ElementState is an event that indicates the state of an element either automatically determined, or as determined by management. For the message body JSON schema (MIME type application/vnd.emergency.elementstate+json) refer to [elementstate.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/elementstate.json)
ElementState is an event that indicates the state of an element either automatically determined, or as determined by management. For the message body JSON schema (MIME type application/vnd.emergency.elementstate+json) refer to [elementstate.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/elementstate.json)
### ServiceState
ServiceState is an event that indicates the state of service either automatically determined, or as determined by management. For the message body JSON schema (MIME type application/vnd.emergency.servicestate+json) refer to [servicestate.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/servicestate.json)
ServiceState is an event that indicates the state of service either automatically determined, or as determined by management. For the message body JSON schema (MIME type application/vnd.emergency.servicestate+json) refer to [servicestate.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/servicestate.json)
## Web Services
### Dequeue Registration
Dequeue Registration is a web service whereby the registering entity becomes one of the dequeuing entities. For the request/response message body JSON schema (MIME type application/json) refer to [dqregrequest.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/dqregrequest.json) and [dqregresponse.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/dqregresponse.json)
Dequeue Registration is a web service whereby the registering entity becomes one of the dequeuing entities. For the request/response message body JSON schema (MIME type application/json) refer to [dqregrequest.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/dqregrequest.json) and [dqregresponse.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/dqregresponse.json)
### BadActor
BadActor is a web service to signal the BCF which source is misbehaving. For the request/response message body JSON schema (MIME type application/json) refer to [badactrequest.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/badactrequest.json) and [badactresponse.json](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/badactresponse.json)
BadActor is a web service to signal the BCF which source is misbehaving. For the request/response message body JSON schema (MIME type application/json) refer to [badactor.yml](https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/badactor.yml)
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/abandonedcall.json",
"type": "object",
"title": "AbandonedCall",
"description": "AbandonedCall event notification",
"required": [
"Invite",
"InviteTimestamp",
"CancelTimestamp"
],
"properties": {
"Invite": {
"type": "string",
"description": "Content of INVITE message"
},
"InviteTimestamp": {
"type": "string",
"description": "Timestamp call was received at ESRP"
},
"CancelTimestamp": {
"type": "string",
"description": "Timestamp CANCEL was received at ESRP"
}
}
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/abandonedcall.json",
"type": "object",
"title": "Abandoned call NOTIFY",
"description": "AbandonedCall event notification",
"required": [
"abandonedCall"
],
"properties": {
"abandonedCall": {
"type": "object",
"required": [
"invite",
"inviteTimestamp",
"cancelTimestamp"
],
"properties": {
"invite": {
"type": "string",
"description": "Content of INVITE message"
},
"inviteTimestamp": {
"type": "string",
"description": "Timestamp call was received at ESRP"
},
"cancelTimestamp": {
"type": "string",
"description": "Timestamp CANCEL was received at ESRP"
}
}
}
}
}
\ No newline at end of file
---
openapi: 3.0.1
info:
title: Bad Actor Service
version: "1.0"
contact:
name: ETSI TC EMTEL
url: https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/badactor.yml
servers:
- url: http://localhost/BadActor/v1
paths:
/BadActors:
post:
tags:
- BadActorRequest
summary: Identifies a source as a "Bad Actor"
operationId: BadActorRequest
requestBody:
description: Bad actor source Id
content:
application/json:
schema:
type: string
required: true
responses:
"201":
description: Bad Actor successfully added
"401":
description: Unauthorized
"432":
description: Already reported
"433":
description: No such sourceId
"454":
description: Unspecified Error
/Versions:
servers:
- url: https://api.example.com/BadActor
description: Override base path for Versions query
get:
tags:
- RetrieveVersions
summary: Retrieves all supported versions, vendor parameter is optional.
operationId: RetrieveVersions
responses:
"200":
description: Versions found
content:
application/json:
schema:
$ref: i3-common.yaml#/components/schemas/VersionsArray
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/badactrequest.json",
"type": "object",
"title": "BadActor Request",
"description": "BadActor is a web service to signal the BCF which source is misbehaving",
"required": [
"BadActorSourceId"
],
"properties": {
"BadActorSourceId": {
"type": "string",
"description": "sourceid from the source parameter that was included in the incoming SIP message"
}
}
}
\ No newline at end of file
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/badactresponse.json",
"type": "object",
"title": "BadActor Response",
"description": "BadActor is a web service to signal the BCF which source is misbehaving",
"required": [
"BadActorStatusCode"
],
"properties": {
"BadActorStatusCode": {
"type": "integer",
"description": "Status Code"
}
}
}
\ No newline at end of file
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/dqregrequest.json",
"type": "object",
"title": "DequeueRegistration Request",
"description": "Dequeue registration is a web service whereby the registering entity becomes one of the dequeuing entities",
"required": [
"DequeueRegistrationQueueUri",
"DequeueRegistrationDequeuer",
"DequeueRegistrationExpirationTime"
],
"properties": {
"DequeueRegistrationQueueUri": {
"type": "string",
"description": "SIP URI of queue to register on"
},
"DequeueRegistrationDequeuer": {
"type": "string",
"description": "SIP URI of dequeuer (where to send calls)"
},
"DequeueRegistrationExpirationTime": {
"type": "integer",
"description": "Requested time in seconds this registration will expire"
},
"DequeueRegistrationDequeuePreference": {
"type": "integer",
"description": "Integer from 1-5 indicating queuing preference; 5 indicating highest preference",
"minimum": 1,
"maximum": 1
}
}
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/dqregrequest.json",
"type": "object",
"title": "DequeueRegistration Request",
"description": "Dequeue registration is a web service whereby the registering entity becomes one of the dequeuing entities",
"required": [
"queueUri",
"dequeuerUri",
"expirationTime"
],
"properties": {
"queueUri": {
"type": "string",
"description": "SIP URI of queue to register on"
},
"dequeuerUri": {
"type": "string",
"description": "SIP URI of dequeuer (where to send calls)"
},
"expirationTime": {
"type": "integer",
"description": "Requested time in seconds this registration will expire"
},
"dequeuePreference": {
"type": "integer",
"description": "Integer from 1-5 indicating queuing preference; 5 indicating highest preference",
"minimum": 1,
"maximum": 5
}
}
}
\ No newline at end of file
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/dqregresponse.json",
"title": "DequeueRegistration Response",
"description": "Dequeue registration is a web service whereby the registering entity becomes one of the dequeuing entities",
"type": "object",
"properties": {
"DequeueRegistrationExpirationTime": {
"description": "Time in seconds this registration will expire",
"type": "integer"
},
"DequeueRegistrationStatusCode": {
"description": "Status Code",
"type": "integer"
}
},
"required": [ "DequeueRegistrationExpirationTime", "DequeueRegistrationStatusCode" ]
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/dqregresponse.json",
"title": "DequeueRegistration Response",
"description": "Dequeue registration is a web service whereby the registering entity becomes one of the dequeuing entities",
"type": "object",
"required": [
"expirationTime"
],
"properties": {
"expirationTime": {
"description": "Time in seconds this registration will expire",
"type": "integer"
}
}
}
\ No newline at end of file
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/elementstate.json",
"type": "object",
"title": "ElementState",
"description": "ElementState event notification",
"required": [
"State"
],
"properties": {
"State": {
"type": "string",
"enum": [
"normal",
"sheduledMaintenance",
"serviceDisruption",
"overloaded",
"goingDown",
"down"
],
"description": "Enumeration of current element state"
},
"Reason": {
"type": "string",
"description": "Text containing the reason state was changed, if available"
}
}
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/elementstate.json",
"type": "object",
"title": "ElementState",
"description": "ElementState event notification",
"required": [
"elementState"
],
"properties": {
"elementState": {
"type": "object",
"required": [
"elementId",
"state",
"reason"
],
"properties": {
"elementId": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"normal",
"sheduledMaintenance",
"serviceDisruption",
"overloaded",
"goingDown",
"down"
],
"description": "Enumeration of current element state"
},
"reason": {
"type": "string"
}
}
}
}
}
\ No newline at end of file
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/queuestate.json",
"type": "object",
"title": "QueueState",
"description": "QueueState event notification",
"required": [
"QueueStateEventUri",
"QueueStateEventQueueLength",
"QueueStateEventMaxLength",
"QueueStateValuesCode"
],
"properties": {
"QueueStateEventUri": {
"type": "string",
"description": "The SIP URI of the queue"
},
"QueueStateEventQueueLength": {
"type": "integer",
"description": "Indicating current number of calls on the queue",
"minimum": 0
},
"QueueStateEventMaxLength": {
"type": "integer",
"description": "Integer indicating maximum length of queue",
"minimum": 0
},
"QueueStateValuesCode": {
"type": "string",
"enum": [
"active",
"inactive",
"disabled",
"full",
"standby"
],
"description": "Enumeration of current queue state (e.g., Active/Inactive/Disabled)"
}
}
}
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/queuestate.json",
"type": "object",
"title": "QueueState",
"description": "QueueState event notification",
"required": [
"queueState"
],
"properties": {
"queueState": {
"type": "object",
"required": [
"queueUri",
"queueLength",
"queueMaxLength",
"state"
],
"properties": {
"queueUri": {
"type": "string",
"description": "The SIP URI of the queue"
},
"queueLength": {
"type": "integer",
"description": "Indicating current number of calls on the queue",
"minimum": 0
},
"queueMaxLength": {
"type": "integer",
"description": "Integer indicating maximum length of queue",
"minimum": 0
},
"state": {
"type": "string",
"enum": [
"active",
"inactive",
"disabled",
"full",
"standby"
],
"description": "Enumeration of current queue state (e.g., active/inactive/disabled)"
}
}
}
}
}
\ No newline at end of file
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/securityposture.json",
"type": "object",
"title": "SecurityPosture",
"description": "SecurityPosture event notification",
"required": [
"Posture"
],
"properties": {
"Posture": {
"type": "string",
"enum": [
"green",
"yellow",
"orange",
"red"
],
"description": "Enumeration of current security posture"
}
}
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/securityposture.json",
"type": "object",
"title": "SecurityPosture",
"description": "SecurityPosture event notification",
"required": [
"service",
"securityPosture"
],
"properties": {
"service": {
"type": "object",
"required": [
"name",
"domain"
],
"properties": {
"name": {
"type": "string"
},
"domain": {
"type": "string"
}
}
},
"securityPosture": {
"type": "object",
"required": [
"posture"
],
"properties": {
"posture": {
"type": "string",
"enum": [
"green",
"yellow",
"orange",
"red"
],
"description": "Enumeration of current security posture"
}
}
}
}
}
\ No newline at end of file
{
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.1.1/servicestate.json",
"type": "object",
"title": "ServiceState",
"description": "ServiceState event notification",
"required": [
"Service",
"State"
],
"properties": {
"Service": {
"type": "string",
"description": "Name of the service"
},
"State": {
"type": "string",
"enum": [
"normal",
"unmanned",
"sheduledMaintenance(down)",
"sheduledMaintenance(available)",
"majorIncidentInProgress",
"partialService",
"overloaded",
"goingDown",
"down"
],
"description": "Enumeration of current service state"
},
"Reason": {
"type": "string",
"description": "Text containing the reason state was changed, if available"
}
}
"definitions": {},
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://forge.etsi.org/rep/emtel/ts-103-479/json-schema/blob/v1.2.1/servicestate.json",
"type": "object",
"title": "ServiceState",
"description": "ServiceState event notification",
"required": [
"service",
"serviceState"
],
"properties": {
"service": {
"type": "object",
"required": [
"name",
"domain"
],
"properties": {
"name": {
"type": "string"
},
"domain": {
"type": "string"
}
}
},
"serviceState": {
"type": "object",
"required": [
"state",
"reason"
],
"properties": {
"state": {
"type": "string",
"enum": [
"normal",
"unmanned",
"sheduledMaintenance(down)",
"sheduledMaintenance(available)",
"majorIncidentInProgress",
"partialService",
"overloaded",
"goingDown",
"down"
],
"description": "Enumeration of current service state"
},
"reason": {
"type": "string",
"description": "Text containing the reason state was changed, if available"
}
}
}
}
}
\ No newline at end of file