QoD for enhanced communication

The Quality on Demand (QoD) API enables specifying a profile to be applied to the network connection of a network-connected device.

The QoD profile defines characteristics of the network connectivity, such as latency and data-transfer rates.

Télécharger la spécification OpenAPI

Creates a new session

Creates a new QoS session on demand

posthttps://api-eu.vonage.com/camara/qod/v0/sessions

Authentification

OAuth 2.0 (oAuth2ClientCredentials)

This API uses OAuth 2 with the client credentials grant flow.

Read more

URL du jeton{tokenUrl}

Corps de la demande
Type de contenu
application/json

duration
integer(int32)
Min1
Max86400
Défaut86400
exemple86400

Session duration in seconds. Maximal value of 24 hours is used if not set. After session has expired the client will receive SESSION_TERMINATED event. See notification callback.

ueId
object
Exigée

User equipment identifier

externalId
string
exemple123456789@domain.com
msisdn
string
exemple123456789

Subscriber number in E.164 format (starting with country code). Optionally prefixed with '+'.

ipv4addr
string(ipv4)
exemple192.168.0.1/24

IPv4 address may be specified in form <address/mask> as:

  • address - an IPv4 number in dotted-quad form 1.2.3.4. Only this exact IP number will match the flow control rule.
  • address/mask - an IP number as above with a mask width of the form 1.2.3.4/24. In this case, all IP numbers from 1.2.3.0 to 1.2.3.255 will match. The bit width MUST be valid for the IP version.
ipv6addr
string(ipv6)
exemple2001:db8:85a3:8d3:1319:8a2e:370:7344

IPv6 address, following IETF 5952 format, may be specified in form <address/mask> as:

  • address - The /128 subnet is optional for single addresses:
    • 2001:db8:85a3:8d3:1319:8a2e:370:7344
    • 2001:db8:85a3:8d3:1319:8a2e:370:7344/128
  • address/mask - an IP v6 number with a mask:
    • 2001:db8:85a3:8d3::0/64
    • 2001:db8:85a3:8d3::/64
asId
object
Exigée

Application server identifier

ipv4addr
string(ipv4)
exemple192.168.0.1/24

IPv4 address may be specified in form <address/mask> as:

  • address - an IPv4 number in dotted-quad form 1.2.3.4. Only this exact IP number will match the flow control rule.
  • address/mask - an IP number as above with a mask width of the form 1.2.3.4/24. In this case, all IP numbers from 1.2.3.0 to 1.2.3.255 will match. The bit width MUST be valid for the IP version.
ipv6addr
string(ipv6)
exemple2001:db8:85a3:8d3:1319:8a2e:370:7344

IPv6 address, following IETF 5952 format, may be specified in form <address/mask> as:

  • address - The /128 subnet is optional for single addresses:
    • 2001:db8:85a3:8d3:1319:8a2e:370:7344
    • 2001:db8:85a3:8d3:1319:8a2e:370:7344/128
  • address/mask - an IP v6 number with a mask:
    • 2001:db8:85a3:8d3::0/64
    • 2001:db8:85a3:8d3::/64
uePorts
object

Ports may be specified as a list of ranges or single ports.

ranges
array
from
integer
Exigée
Max65535
to
integer
Exigée
Max65535
ports
array
asPorts
object

Ports may be specified as a list of ranges or single ports.

ranges
array
from
integer
Exigée
Max65535
to
integer
Exigée
Max65535
ports
array
qos
string
Exigée
  • QOS_E - Qualifier for enhanced communication profile
  • QOS_S - Qualifier for the requested QoS profile S
  • QOS_M - Qualifier for the requested QoS profile M
  • QOS_L - Qualifier for the requested QoS profile L
Il doit s'agir de l'un d'entre eux :QOS_EQOS_SQOS_MQOS_L
notificationUri
string(uri)
exemplehttps://application-server.com/notifications

Allows asynchronous delivery of session related events

notificationAuthToken
string
exemplec8974e592c2fa383d4a3960714

Authentification token for callback API

Exemple Demande

{
   "duration": 86400,
   "ueId": {
      "externalId": "123456789@domain.com",
      "msisdn": "123456789",
      "ipv4addr": "192.168.0.1/24",
      "ipv6addr": "2001:db8:85a3:8d3:1319:8a2e:370:7344"
   },
   "asId": {
      "ipv4addr": "192.168.0.1/24",
      "ipv6addr": "2001:db8:85a3:8d3:1319:8a2e:370:7344"
   },
   "uePorts": {
      "ranges": [
         {
            "from": 5010,
            "to": 5020
         }
      ],
      "ports": [
         5060,
         5070
      ]
   },
   "asPorts": {
      "ranges": [
         {
            "from": 5010,
            "to": 5020
         }
      ],
      "ports": [
         5060,
         5070
      ]
   },
   "qos": "QOS_E",
   "notificationUri": "https://application-server.com/notifications",
   "notificationAuthToken": "c8974e592c2fa383d4a3960714"
}

Réponses
Type de contenu
application/json

Session created

duration
integer(int32)
Exigée
Min1
Max86400
Défaut86400
exemple86400

Session duration in seconds. Maximal value of 24 hours is used if not set. After session has expired the client will receive SESSION_TERMINATED event. See notification callback.

ueId
object
Exigée

User equipment identifier

externalId
string
exemple123456789@domain.com
msisdn
string
exemple123456789

Subscriber number in E.164 format (starting with country code). Optionally prefixed with '+'.

ipv4addr
string(ipv4)
exemple192.168.0.1/24

IPv4 address may be specified in form <address/mask> as:

  • address - an IPv4 number in dotted-quad form 1.2.3.4. Only this exact IP number will match the flow control rule.
  • address/mask - an IP number as above with a mask width of the form 1.2.3.4/24. In this case, all IP numbers from 1.2.3.0 to 1.2.3.255 will match. The bit width MUST be valid for the IP version.
ipv6addr
string(ipv6)
exemple2001:db8:85a3:8d3:1319:8a2e:370:7344

IPv6 address, following IETF 5952 format, may be specified in form <address/mask> as:

  • address - The /128 subnet is optional for single addresses:
    • 2001:db8:85a3:8d3:1319:8a2e:370:7344
    • 2001:db8:85a3:8d3:1319:8a2e:370:7344/128
  • address/mask - an IP v6 number with a mask:
    • 2001:db8:85a3:8d3::0/64
    • 2001:db8:85a3:8d3::/64
asId
object
Exigée

Application server identifier

ipv4addr
string(ipv4)
exemple192.168.0.1/24

IPv4 address may be specified in form <address/mask> as:

  • address - an IPv4 number in dotted-quad form 1.2.3.4. Only this exact IP number will match the flow control rule.
  • address/mask - an IP number as above with a mask width of the form 1.2.3.4/24. In this case, all IP numbers from 1.2.3.0 to 1.2.3.255 will match. The bit width MUST be valid for the IP version.
ipv6addr
string(ipv6)
exemple2001:db8:85a3:8d3:1319:8a2e:370:7344

IPv6 address, following IETF 5952 format, may be specified in form <address/mask> as:

  • address - The /128 subnet is optional for single addresses:
    • 2001:db8:85a3:8d3:1319:8a2e:370:7344
    • 2001:db8:85a3:8d3:1319:8a2e:370:7344/128
  • address/mask - an IP v6 number with a mask:
    • 2001:db8:85a3:8d3::0/64
    • 2001:db8:85a3:8d3::/64
uePorts
object

Ports may be specified as a list of ranges or single ports.

ranges
array
from
integer
Exigée
Max65535
to
integer
Exigée
Max65535
ports
array
asPorts
object

Ports may be specified as a list of ranges or single ports.

ranges
array
from
integer
Exigée
Max65535
to
integer
Exigée
Max65535
ports
array
qos
string
Exigée
  • QOS_E - Qualifier for enhanced communication profile
  • QOS_S - Qualifier for the requested QoS profile S
  • QOS_M - Qualifier for the requested QoS profile M
  • QOS_L - Qualifier for the requested QoS profile L
Il doit s'agir de l'un d'entre eux :QOS_EQOS_SQOS_MQOS_L
notificationUri
string(uri)
exemplehttps://application-server.com/notifications

Allows asynchronous delivery of session related events

notificationAuthToken
string
exemplec8974e592c2fa383d4a3960714

Authentification token for callback API

id
string(uuid)
Exigée

Session ID in UUID format

startedAt
integer(int64)
Exigée
exemple1639479600

Timestamp of session start in seconds since unix epoch

expiresAt
integer(int64)
Exigée
exemple1639566000

Timestamp of session expiration if the session was not deleted, in seconds since unix epoch

messages
array
severity
string
Exigée

Message severity

Il doit s'agir de l'un d'entre eux :INFOWARNING
description
string
Exigée

Detailed message text

Exemple Réponse

{
   "duration": 86400,
   "ueId": {
      "externalId": "123456789@domain.com",
      "msisdn": "123456789",
      "ipv4addr": "192.168.0.1/24",
      "ipv6addr": "2001:db8:85a3:8d3:1319:8a2e:370:7344"
   },
   "asId": {
      "ipv4addr": "192.168.0.1/24",
      "ipv6addr": "2001:db8:85a3:8d3:1319:8a2e:370:7344"
   },
   "uePorts": {
      "ranges": [
         {
            "from": 5010,
            "to": 5020
         }
      ],
      "ports": [
         5060,
         5070
      ]
   },
   "asPorts": {
      "ranges": [
         {
            "from": 5010,
            "to": 5020
         }
      ],
      "ports": [
         5060,
         5070
      ]
   },
   "qos": "QOS_E",
   "notificationUri": "https://application-server.com/notifications",
   "notificationAuthToken": "c8974e592c2fa383d4a3960714",
   "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
   "startedAt": 1639479600,
   "expiresAt": 1639566000,
   "messages": [
      {
         "severity": "INFO",
         "description": "string"
      }
   ]
}

Session notifications callback callback

Important: this endpoint is to be implemented by the API consumer. The QoD server will call this endpoint whenever any network related event occurs. Currently only SESSION_TERMINATED event is implemented. Any other network events are ignored.

posthttps://example.com/webhooks/event

Corps de la demande
Type de contenu
application/json

sessionId
string(uuid)
Exigée

Session ID in UUID format

event
string
Exigée
Il doit s'agir de l'un d'entre eux :SESSION_TERMINATED

Exemple Charge utile

{
   "sessionId": "f6567dd8-e069-418e-8893-7d22fcf12459",
   "event": "SESSION_TERMINATED"
}

Réponses

Successful notification

Get session information

gethttps://api-eu.vonage.com/camara/qod/v0/sessions/:sessionId

Authentification

OAuth 2.0 (oAuth2ClientCredentials)

This API uses OAuth 2 with the client credentials grant flow.

Read more

URL du jeton{tokenUrl}

Trajectoire Paramètres

sessionId
string(uuid)
Exigée

Session ID that was obtained from the createSession operation

Réponses
Type de contenu
application/json

Contains information about active session

duration
integer(int32)
Exigée
Min1
Max86400
Défaut86400
exemple86400

Session duration in seconds. Maximal value of 24 hours is used if not set. After session has expired the client will receive SESSION_TERMINATED event. See notification callback.

ueId
object
Exigée

User equipment identifier

externalId
string
exemple123456789@domain.com
msisdn
string
exemple123456789

Subscriber number in E.164 format (starting with country code). Optionally prefixed with '+'.

ipv4addr
string(ipv4)
exemple192.168.0.1/24

IPv4 address may be specified in form <address/mask> as:

  • address - an IPv4 number in dotted-quad form 1.2.3.4. Only this exact IP number will match the flow control rule.
  • address/mask - an IP number as above with a mask width of the form 1.2.3.4/24. In this case, all IP numbers from 1.2.3.0 to 1.2.3.255 will match. The bit width MUST be valid for the IP version.
ipv6addr
string(ipv6)
exemple2001:db8:85a3:8d3:1319:8a2e:370:7344

IPv6 address, following IETF 5952 format, may be specified in form <address/mask> as:

  • address - The /128 subnet is optional for single addresses:
    • 2001:db8:85a3:8d3:1319:8a2e:370:7344
    • 2001:db8:85a3:8d3:1319:8a2e:370:7344/128
  • address/mask - an IP v6 number with a mask:
    • 2001:db8:85a3:8d3::0/64
    • 2001:db8:85a3:8d3::/64
asId
object
Exigée

Application server identifier

ipv4addr
string(ipv4)
exemple192.168.0.1/24

IPv4 address may be specified in form <address/mask> as:

  • address - an IPv4 number in dotted-quad form 1.2.3.4. Only this exact IP number will match the flow control rule.
  • address/mask - an IP number as above with a mask width of the form 1.2.3.4/24. In this case, all IP numbers from 1.2.3.0 to 1.2.3.255 will match. The bit width MUST be valid for the IP version.
ipv6addr
string(ipv6)
exemple2001:db8:85a3:8d3:1319:8a2e:370:7344

IPv6 address, following IETF 5952 format, may be specified in form <address/mask> as:

  • address - The /128 subnet is optional for single addresses:
    • 2001:db8:85a3:8d3:1319:8a2e:370:7344
    • 2001:db8:85a3:8d3:1319:8a2e:370:7344/128
  • address/mask - an IP v6 number with a mask:
    • 2001:db8:85a3:8d3::0/64
    • 2001:db8:85a3:8d3::/64
uePorts
object

Ports may be specified as a list of ranges or single ports.

ranges
array
from
integer
Exigée
Max65535
to
integer
Exigée
Max65535
ports
array
asPorts
object

Ports may be specified as a list of ranges or single ports.

ranges
array
from
integer
Exigée
Max65535
to
integer
Exigée
Max65535
ports
array
qos
string
Exigée
  • QOS_E - Qualifier for enhanced communication profile
  • QOS_S - Qualifier for the requested QoS profile S
  • QOS_M - Qualifier for the requested QoS profile M
  • QOS_L - Qualifier for the requested QoS profile L
Il doit s'agir de l'un d'entre eux :QOS_EQOS_SQOS_MQOS_L
notificationUri
string(uri)
exemplehttps://application-server.com/notifications

Allows asynchronous delivery of session related events

notificationAuthToken
string
exemplec8974e592c2fa383d4a3960714

Authentification token for callback API

id
string(uuid)
Exigée

Session ID in UUID format

startedAt
integer(int64)
Exigée
exemple1639479600

Timestamp of session start in seconds since unix epoch

expiresAt
integer(int64)
Exigée
exemple1639566000

Timestamp of session expiration if the session was not deleted, in seconds since unix epoch

messages
array
severity
string
Exigée

Message severity

Il doit s'agir de l'un d'entre eux :INFOWARNING
description
string
Exigée

Detailed message text

Exemple Réponse

{
   "duration": 86400,
   "ueId": {
      "externalId": "123456789@domain.com",
      "msisdn": "123456789",
      "ipv4addr": "192.168.0.1/24",
      "ipv6addr": "2001:db8:85a3:8d3:1319:8a2e:370:7344"
   },
   "asId": {
      "ipv4addr": "192.168.0.1/24",
      "ipv6addr": "2001:db8:85a3:8d3:1319:8a2e:370:7344"
   },
   "uePorts": {
      "ranges": [
         {
            "from": 5010,
            "to": 5020
         }
      ],
      "ports": [
         5060,
         5070
      ]
   },
   "asPorts": {
      "ranges": [
         {
            "from": 5010,
            "to": 5020
         }
      ],
      "ports": [
         5060,
         5070
      ]
   },
   "qos": "QOS_E",
   "notificationUri": "https://application-server.com/notifications",
   "notificationAuthToken": "c8974e592c2fa383d4a3960714",
   "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
   "startedAt": 1639479600,
   "expiresAt": 1639566000,
   "messages": [
      {
         "severity": "INFO",
         "description": "string"
      }
   ]
}

Free resources related to QoS session

deletehttps://api-eu.vonage.com/camara/qod/v0/sessions/:sessionId

Authentification

OAuth 2.0 (oAuth2ClientCredentials)

This API uses OAuth 2 with the client credentials grant flow.

Read more

URL du jeton{tokenUrl}

Trajectoire Paramètres

sessionId
string(uuid)
Exigée

Session ID that was obtained from the createSession operation

Réponses

Session deleted

Session notifications callback

Important: this endpoint is to be implemented by the API consumer. The QoD server will call this endpoint whenever any network related event occurs. Currently only SESSION_TERMINATED event is implemented. Any other network events are ignored.

posthttps://api-eu.vonage.com/camara/qod/v0/notifications

Authentification

OAuth 2.0 (oAuth2ClientCredentials)

This API uses OAuth 2 with the client credentials grant flow.

Read more

URL du jeton{tokenUrl}
CléDescriptionExemple
apikey

API key to authorize requests

query

?apikey=<apikey>

Corps de la demande
Type de contenu
application/json

sessionId
string(uuid)
Exigée

Session ID in UUID format

event
string
Exigée
Il doit s'agir de l'un d'entre eux :SESSION_TERMINATED

Exemple Demande

{
   "sessionId": "f6567dd8-e069-418e-8893-7d22fcf12459",
   "event": "SESSION_TERMINATED"
}

Réponses

Successful notification