Vonage QoD

Quality of Service on Demand API leveraging carrier QoS capabilities

Download OpenAPI Specification

QoD Sessions

QoD session management services

Create a QoD session

Enables applications to create a QoD session. The session represents the network flow(s) from the mobile device to the specified server(s) and the QoD profile(s) that will be applied to the network.

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

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Request Body
Content Type
application/json

msisdn
string
Required
Min10
Max15
example15558859401

The MSISDN (telephone number) associated with the source device.

source_ip
string
Required
example192.158.1.38

IP address of the device, in IPv4 or IPv6 format. Note: not all mobile operators support both formats.

duration
integer
Required
Min60
Max86400
example60

The requested session duration in seconds.

channels
array
Required
source
object
Required

The source endpoint of the network flow.

port
integer(int32)
Min1
Max65535
destination
object
Required

The destination endpoint of the network flow.

cidr
string
Required
example2002::1234:abcd:ffff:c0a8:101/64

CIDR notation for IPv4 or IPv6 address ranges. Note: not all mobile operators support both formats.

port
integer(int32)
Min1
Max65535
qod_profile
string
Required

The QoD profile configures the flow in the network adapting network characteristics, for example throughput, latency, or jitter.

Example Request

{
   "msisdn": "15558859401",
   "source_ip": "192.158.1.38",
   "duration": 60,
   "channels": [
      {
         "source": {
            "port": 1
         },
         "destination": {
            "cidr": "2002::1234:abcd:ffff:c0a8:101/64",
            "port": 1
         },
         "qod_profile": "string"
      }
   ]
}

Responses
Content Type
application/json

QoD session created

id
string
Required

Unique identifier for each QoD session.

msisdn
string
Required
Min10
Max15
example15558859401

The MSISDN (telephone number) associated with the source device.

source_ip
string
Required
example192.158.1.38

IP address of the device, in IPv4 or IPv6 format. Note: not all mobile operators support both formats.

duration
integer
Required
Min60
Max86400
example60

The requested session duration in seconds.

channels
array
Required
source
object
Required

The source endpoint of the network flow.

port
integer(int32)
Min1
Max65535
destination
object
Required

The destination endpoint of the network flow.

cidr
string
Required
example2002::1234:abcd:ffff:c0a8:101/64

CIDR notation for IPv4 or IPv6 address ranges. Note: not all mobile operators support both formats.

port
integer(int32)
Min1
Max65535
qod_profile
string
Required

The QoD profile configures the flow in the network adapting network characteristics, for example throughput, latency, or jitter.

projected_end_time
string(date-time)

ISO 8601 date-time in UTC

statuses
array
status
string
Required

|- PENDING. The QoD session has not yet been processed by the underlying network. ACTIVE. The QoD session is active, the QoD profile is being applied to the network flow. CANCELLING. The QoD session is in the process of being cancelled, but has not yet reached a terminal state. COMPLETED. The QoD session has completed successfully. FAILED. The QoD session has completed but due to failure, see the reason for more details.

Must be one of:PENDINGACTIVECANCELLINGCOMPLETEDFAILED
updated
string(date-time)
Required

The timestamp of the status update

reason
string

The reason why the status update occurred.

Example Response

{
   "id": "string",
   "msisdn": "15558859401",
   "source_ip": "192.158.1.38",
   "duration": 60,
   "channels": [
      {
         "source": {
            "port": 1
         },
         "destination": {
            "cidr": "2002::1234:abcd:ffff:c0a8:101/64",
            "port": 1
         },
         "qod_profile": "string",
         "projected_end_time": "2019-08-24T14:15:22Z",
         "statuses": [
            {
               "status": "PENDING",
               "updated": "2019-08-24T14:15:22Z",
               "reason": "string"
            }
         ]
      }
   ]
}

QoD session status update callback callback

Provides updates on the status of the QoD session.

posthttps://example.com/webhooks/event

Request Body
Content Type
application/json

id
string
Required

The identifier of the QoD session that has been updated.

update
object
Required
status
string
Required

|- PENDING. The QoD session has not yet been processed by the underlying network. ACTIVE. The QoD session is active, the QoD profile is being applied to the network flow. CANCELLING. The QoD session is in the process of being cancelled, but has not yet reached a terminal state. COMPLETED. The QoD session has completed successfully. FAILED. The QoD session has completed but due to failure, see the reason for more details.

Must be one of:PENDINGACTIVECANCELLINGCOMPLETEDFAILED
updated
string(date-time)
Required

The timestamp of the status update

reason
string

The reason why the status update occurred.

projected_end_time
string(date-time)

ISO 8601 date-time in UTC

Example Payload

{
   "id": "string",
   "update": {
      "status": "PENDING",
      "updated": "2019-08-24T14:15:22Z",
      "reason": "string"
   },
   "projected_end_time": "2019-08-24T14:15:22Z"
}

Responses

Return this code if the server accepts the callback.

Query QoD sessions

Enables applications to create a QoD session. The session represents the network flow(s) from the mobile device to the specified server(s) and the QoD profile(s) that will be applied to the network.

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

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Request Body
Content Type
application/json

msisdn
string
Min10
Max15
example15558859401

The MSISDN (telephone number) associated with the source device.

filter
string
Defaultin-progress

If set to in-progress, only in-progress sessions (e.g. PENDING, ACTIVE, CANCELLING) will be returned; otherwise all sessions will be returned.

Must be one of:in-progressall

Example Request

{
   "msisdn": "15558859401",
   "filter": "in-progress"
}

Responses
Content Type
application/json

QoD session query response

array
id
string
Required

Unique identifier for each QoD session.

msisdn
string
Required
Min10
Max15
example15558859401

The MSISDN (telephone number) associated with the source device.

source_ip
string
Required
example192.158.1.38

IP address of the device, in IPv4 or IPv6 format. Note: not all mobile operators support both formats.

duration
integer
Required
Min60
Max86400
example60

The requested session duration in seconds.

channels
array
Required
source
object
Required

The source endpoint of the network flow.

port
integer(int32)
Min1
Max65535
destination
object
Required

The destination endpoint of the network flow.

cidr
string
Required
example2002::1234:abcd:ffff:c0a8:101/64

CIDR notation for IPv4 or IPv6 address ranges. Note: not all mobile operators support both formats.

port
integer(int32)
Min1
Max65535
qod_profile
string
Required

The QoD profile configures the flow in the network adapting network characteristics, for example throughput, latency, or jitter.

projected_end_time
string(date-time)

ISO 8601 date-time in UTC

statuses
array
status
string
Required

|- PENDING. The QoD session has not yet been processed by the underlying network. ACTIVE. The QoD session is active, the QoD profile is being applied to the network flow. CANCELLING. The QoD session is in the process of being cancelled, but has not yet reached a terminal state. COMPLETED. The QoD session has completed successfully. FAILED. The QoD session has completed but due to failure, see the reason for more details.

Must be one of:PENDINGACTIVECANCELLINGCOMPLETEDFAILED
updated
string(date-time)
Required

The timestamp of the status update

reason
string

The reason why the status update occurred.

Example Response

[
   {
      "id": "string",
      "msisdn": "15558859401",
      "source_ip": "192.158.1.38",
      "duration": 60,
      "channels": [
         {
            "source": {
               "port": 1
            },
            "destination": {
               "cidr": "2002::1234:abcd:ffff:c0a8:101/64",
               "port": 1
            },
            "qod_profile": "string",
            "projected_end_time": "2019-08-24T14:15:22Z",
            "statuses": [
               {
                  "status": "PENDING",
                  "updated": "2019-08-24T14:15:22Z",
                  "reason": "string"
               }
            ]
         }
      ]
   }
]

Get QoD session by identifier

Enables applications to retrieve detailed information about a specific session.

gethttps://api-eu.vonage.com/qod/v0.1/sessions/:session_id

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Path Parameters

session_id
string
Required

The unique identifier for the QoD session

Responses
Content Type
application/json

QoD session for the specified identifier

id
string
Required

Unique identifier for each QoD session.

msisdn
string
Required
Min10
Max15
example15558859401

The MSISDN (telephone number) associated with the source device.

source_ip
string
Required
example192.158.1.38

IP address of the device, in IPv4 or IPv6 format. Note: not all mobile operators support both formats.

duration
integer
Required
Min60
Max86400
example60

The requested session duration in seconds.

channels
array
Required
source
object
Required

The source endpoint of the network flow.

port
integer(int32)
Min1
Max65535
destination
object
Required

The destination endpoint of the network flow.

cidr
string
Required
example2002::1234:abcd:ffff:c0a8:101/64

CIDR notation for IPv4 or IPv6 address ranges. Note: not all mobile operators support both formats.

port
integer(int32)
Min1
Max65535
qod_profile
string
Required

The QoD profile configures the flow in the network adapting network characteristics, for example throughput, latency, or jitter.

projected_end_time
string(date-time)

ISO 8601 date-time in UTC

statuses
array
status
string
Required

|- PENDING. The QoD session has not yet been processed by the underlying network. ACTIVE. The QoD session is active, the QoD profile is being applied to the network flow. CANCELLING. The QoD session is in the process of being cancelled, but has not yet reached a terminal state. COMPLETED. The QoD session has completed successfully. FAILED. The QoD session has completed but due to failure, see the reason for more details.

Must be one of:PENDINGACTIVECANCELLINGCOMPLETEDFAILED
updated
string(date-time)
Required

The timestamp of the status update

reason
string

The reason why the status update occurred.

Example Response

{
   "id": "string",
   "msisdn": "15558859401",
   "source_ip": "192.158.1.38",
   "duration": 60,
   "channels": [
      {
         "source": {
            "port": 1
         },
         "destination": {
            "cidr": "2002::1234:abcd:ffff:c0a8:101/64",
            "port": 1
         },
         "qod_profile": "string",
         "projected_end_time": "2019-08-24T14:15:22Z",
         "statuses": [
            {
               "status": "PENDING",
               "updated": "2019-08-24T14:15:22Z",
               "reason": "string"
            }
         ]
      }
   ]
}

Cancel a QoD session

Enables applications to request the cancellation of a QoD session.

deletehttps://api-eu.vonage.com/qod/v0.1/sessions/:session_id

Authentication

KeyDescriptionWhereExample
Authorization

Your JSON web token.
Read more about JWTs

Headers

Bearer <JWT>

Path Parameters

session_id
string
Required

The unique identifier for the QoD session

Responses

Session cancellation request accepted

QoD status update callback callback

Provides updates on the status of the QoD session.

posthttps://example.com/webhooks/event

Request Body
Content Type
application/json

id
string
Required

The identifier of the QoD session that has been updated.

update
object
Required
status
string
Required

|- PENDING. The QoD session has not yet been processed by the underlying network. ACTIVE. The QoD session is active, the QoD profile is being applied to the network flow. CANCELLING. The QoD session is in the process of being cancelled, but has not yet reached a terminal state. COMPLETED. The QoD session has completed successfully. FAILED. The QoD session has completed but due to failure, see the reason for more details.

Must be one of:PENDINGACTIVECANCELLINGCOMPLETEDFAILED
updated
string(date-time)
Required

The timestamp of the status update

reason
string

The reason why the status update occurred.

projected_end_time
string(date-time)

ISO 8601 date-time in UTC

Example Payload

{
   "id": "string",
   "update": {
      "status": "PENDING",
      "updated": "2019-08-24T14:15:22Z",
      "reason": "string"
   },
   "projected_end_time": "2019-08-24T14:15:22Z"
}

Responses

Return this code if the server accepts the callback.