Convert hangup & reject events to YAML

So we can have a bulleted list in the description for the values
of 'reason'.
pull/1511/head
David Baker 3 years ago
parent f4b6c62daa
commit d9bd32d687

@ -1,39 +1,43 @@
{
"type": "object",
"description": "Sent by either party to signal their termination of the call. This can be sent either once the call has has been established or before to abort the call.",
"allOf": [{
"$ref": "core-event-schema/room_event.yaml"
}],
"properties": {
"content": {
"type": "object",
"properties": {
"call_id": {
"type": "string",
"description": "The ID of the call this event relates to."
},
"version": {
"type": "integer",
"description": "The version of the VoIP specification this message adheres to. This specification is version 1. This field is a string such that experimental implementations can use non-integer versions. This field was an integer in the previous spec version and implementations must accept an integer 0."
},
"party_id": {
"type": "string",
"description": "This identifies the party that sent this event. A client may choose to re-use the device ID from end-to-end cryptography for the value of this field. "
},
"reason": {
"type": "string",
"description": "Optional error reason for the hangup. This should not be provided when the user naturally ends or rejects the call. When there was an error in the call negotiation, this should be `ice_failed` for when ICE negotiation fails or `invite_timeout` for when the other party did not answer in time.",
"enum": [
"ice_failed",
"invite_timeout"
]
}
},
"required": ["call_id", "version", "party_id"]
},
"type": {
"type": "string",
"enum": ["m.call.hangup"]
}
}
}
---
type: object
description: Sent by either party to signal their termination of the call. This can
be sent either once the call has has been established or before to abort the call.
allOf:
- "$ref": core-event-schema/room_event.yaml
properties:
content:
type: object
properties:
call_id:
type: string
description: The ID of the call this event relates to.
version:
type: integer
description: The version of the VoIP specification this message adheres to.
This specification is version 1. This field is a string such that experimental
implementations can use non-integer versions. This field was an integer
in the previous spec version and implementations must accept an integer
0.
party_id:
type: string
description: 'This identifies the party that sent this event. A client may
choose to re-use the device ID from end-to-end cryptography for the value
of this field. '
reason:
type: string
description: Optional error reason for the hangup. This should not be provided
when the user naturally ends or rejects the call. When there was an error
in the call negotiation, this should be `ice_failed` for when ICE negotiation
fails or `invite_timeout` for when the other party did not answer in time.
enum:
- ice_failed
- invite_timeout
required:
- call_id
- version
- party_id
type:
type: string
enum:
- m.call.hangup

@ -1,40 +1,50 @@
{
"type": "object",
"description": "If the `m.call.invite` event has `version` `\"1\"`, a client wishing to reject the call sends an `m.call.reject` event. This rejects the call on all devices, but if the calling device sees an `answer` before the `reject`, it disregards the reject event and carries on. The reject has a `party_id` just like an answer, and the caller sends a `select_answer` for it just like an answer. If another client had already sent an answer and sees the caller select the reject response instead of its answer, it ends the call. If the `m.call.invite` event has `version` `0`, the callee sends an `m.call.hangup` event. If the calling user chooses to end the call before setup is complete, the client sends `m.call.hangup`
as previously.",
"allOf": [{
"$ref": "core-event-schema/room_event.yaml"
}],
"properties": {
"content": {
"type": "object",
"properties": {
"call_id": {
"type": "string",
"description": "The ID of the call this event relates to."
},
"version": {
"type": "integer",
"description": "The version of the VoIP specification this message adheres to. This specification is version 1. This field is a string such that experimental implementations can use non-integer versions. This field was an integer in the previous spec version and implementations must accept an integer 0."
},
"party_id": {
"type": "string",
"description": "This identifies the party that sent this event. A client may choose to re-use the device ID from end-to-end cryptography for the value of this field. "
},
"reason": {
"type": "string",
"description": "Optional error reason for the hangup. This should not be provided when the user naturally ends or rejects the call. When there was an error in the call negotiation, this should be `ice_failed` for when ICE negotiation fails or `invite_timeout` for when the other party did not answer in time.",
"enum": [
"ice_failed",
"invite_timeout"
]
}
},
"required": ["call_id", "version", "party_id"]
},
"type": {
"type": "string",
"enum": ["m.call.reject"]
}
}
}
---
type: object
description: If the `m.call.invite` event has `version` `"1"`, a client wishing to
reject the call sends an `m.call.reject` event. This rejects the call on all devices,
but if the calling device sees an `answer` before the `reject`, it disregards the
reject event and carries on. The reject has a `party_id` just like an answer, and
the caller sends a `select_answer` for it just like an answer. If another client
had already sent an answer and sees the caller select the reject response instead
of its answer, it ends the call. If the `m.call.invite` event has `version` `0`,
the callee sends an `m.call.hangup` event. If the calling user chooses to end the
call before setup is complete, the client sends `m.call.hangup` as previously.
allOf:
- "$ref": core-event-schema/room_event.yaml
properties:
content:
type: object
properties:
call_id:
type: string
description: The ID of the call this event relates to.
version:
type: integer
description: The version of the VoIP specification this message adheres to.
This specification is version 1. This field is a string such that experimental
implementations can use non-integer versions. This field was an integer
in the previous spec version and implementations must accept an integer
0.
party_id:
type: string
description: 'This identifies the party that sent this event. A client may
choose to re-use the device ID from end-to-end cryptography for the value
of this field. '
reason:
type: string
description: Optional error reason for the hangup. This should not be provided
when the user naturally ends or rejects the call. When there was an error
in the call negotiation, this should be `ice_failed` for when ICE negotiation
fails or `invite_timeout` for when the other party did not answer in time.
enum:
- ice_failed
- invite_timeout
required:
- call_id
- version
- party_id
type:
type: string
enum:
- m.call.reject

Loading…
Cancel
Save