Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Stream Resource


(information)

Support for Twilio Regions

Media Streams is now available in the Ireland (IE1) and Australia (AU1) Regions.

The Stream resource represents a live audio stream during a live call.

Creating a Stream resource creates a unidirectional Media Stream. You can stop a unidirectional Media Stream by updating the status of a Stream resource, regardless of whether the Stream was created via TwiML (with <Start><Stream>) or via REST API (with the Stream resource).


Stream Properties

stream-properties page anchor
Resource properties
sidtype: SID<MZ>Not PII

The SID of the Stream resource.


call_sidtype: SID<CA>Not PII

The SID of the Call(link takes you to an external page) the Stream resource is associated with.


nametype: stringNot PII

The user-specified name of this Stream, if one was given when the Stream was created. This may be used to stop the Stream.


statustype: enum<STRING>Not PII

The status - one of stopped, in-progress

Possible values:
in-progressstopped

date_updatedtype: string<DATE TIME RFC 2822>Not PII

The date and time in GMT that this resource was last updated, specified in RFC 2822(link takes you to an external page) format.


uritype: stringNot PII

The URI of the resource, relative to https://api.twilio.com.


Create a Stream resource

create-a-stream-resource page anchor
POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams.json

Parameters

create-parameters page anchor
URI parameters
AccountSidtype: SID<AC>Not PII
Path Parameter

The SID of the Account(link takes you to an external page) that created this Stream resource.


CallSidtype: SID<CA>Not PII
Path Parameter

The SID of the Call(link takes you to an external page) the Stream resource is associated with.


Request body parameters
Urltype: string<URI>Not PII
Required

Relative or absolute url where WebSocket connection will be established.


Nametype: stringNot PII

The user-specified name of this Stream, if one was given when the Stream was created. This may be used to stop the Stream.


Tracktype: enum<STRING>Not PII

One of inbound_track, outbound_track, both_tracks.

Possible values:
inbound_trackoutbound_trackboth_tracks

StatusCallbacktype: string<URI>Not PII

Absolute URL of the status callback.


StatusCallbackMethodtype: enum<HTTP METHOD>Not PII

The http method for the status_callback (one of GET, POST).

Possible values:
HEADGETPOSTPATCHPUTDELETE

Parameter1.Nametype: stringNot PII

Parameter name


Parameter1.Valuetype: stringNot PII

Parameter value


Parameter2.Nametype: stringNot PII

Parameter name


Parameter2.Valuetype: stringNot PII

Parameter value


Parameter3.Nametype: stringNot PII

Parameter name


Parameter3.Valuetype: stringNot PII

Parameter value


Parameter4.Nametype: stringNot PII

Parameter name


Parameter4.Valuetype: stringNot PII

Parameter value


Parameter5.Nametype: stringNot PII

Parameter name


Parameter5.Valuetype: stringNot PII

Parameter value


Parameter6.Nametype: stringNot PII

Parameter name


Parameter6.Valuetype: stringNot PII

Parameter value


Parameter7.Nametype: stringNot PII

Parameter name


Parameter7.Valuetype: stringNot PII

Parameter value


Parameter8.Nametype: stringNot PII

Parameter name


Parameter8.Valuetype: stringNot PII

Parameter value


Parameter9.Nametype: stringNot PII

Parameter name


Parameter9.Valuetype: stringNot PII

Parameter value


Parameter10.Nametype: stringNot PII

Parameter name


Parameter10.Valuetype: stringNot PII

Parameter value


Parameter11.Nametype: stringNot PII

Parameter name


Parameter11.Valuetype: stringNot PII

Parameter value


Parameter12.Nametype: stringNot PII

Parameter name


Parameter12.Valuetype: stringNot PII

Parameter value


Parameter13.Nametype: stringNot PII

Parameter name


Parameter13.Valuetype: stringNot PII

Parameter value


Parameter14.Nametype: stringNot PII

Parameter name


Parameter14.Valuetype: stringNot PII

Parameter value


Parameter15.Nametype: stringNot PII

Parameter name


Parameter15.Valuetype: stringNot PII

Parameter value


Parameter16.Nametype: stringNot PII

Parameter name


Parameter16.Valuetype: stringNot PII

Parameter value


Parameter17.Nametype: stringNot PII

Parameter name


Parameter17.Valuetype: stringNot PII

Parameter value


Parameter18.Nametype: stringNot PII

Parameter name


Parameter18.Valuetype: stringNot PII

Parameter value


Parameter19.Nametype: stringNot PII

Parameter name


Parameter19.Valuetype: stringNot PII

Parameter value


Parameter20.Nametype: stringNot PII

Parameter name


Parameter20.Valuetype: stringNot PII

Parameter value


Parameter21.Nametype: stringNot PII

Parameter name


Parameter21.Valuetype: stringNot PII

Parameter value


Parameter22.Nametype: stringNot PII

Parameter name


Parameter22.Valuetype: stringNot PII

Parameter value


Parameter23.Nametype: stringNot PII

Parameter name


Parameter23.Valuetype: stringNot PII

Parameter value


Parameter24.Nametype: stringNot PII

Parameter name


Parameter24.Valuetype: stringNot PII

Parameter value


Parameter25.Nametype: stringNot PII

Parameter name


Parameter25.Valuetype: stringNot PII

Parameter value


Parameter26.Nametype: stringNot PII

Parameter name


Parameter26.Valuetype: stringNot PII

Parameter value


Parameter27.Nametype: stringNot PII

Parameter name


Parameter27.Valuetype: stringNot PII

Parameter value


Parameter28.Nametype: stringNot PII

Parameter name


Parameter28.Valuetype: stringNot PII

Parameter value


Parameter29.Nametype: stringNot PII

Parameter name


Parameter29.Valuetype: stringNot PII

Parameter value


Parameter30.Nametype: stringNot PII

Parameter name


Parameter30.Valuetype: stringNot PII

Parameter value


Parameter31.Nametype: stringNot PII

Parameter name


Parameter31.Valuetype: stringNot PII

Parameter value


Parameter32.Nametype: stringNot PII

Parameter name


Parameter32.Valuetype: stringNot PII

Parameter value


Parameter33.Nametype: stringNot PII

Parameter name


Parameter33.Valuetype: stringNot PII

Parameter value


Parameter34.Nametype: stringNot PII

Parameter name


Parameter34.Valuetype: stringNot PII

Parameter value


Parameter35.Nametype: stringNot PII

Parameter name


Parameter35.Valuetype: stringNot PII

Parameter value


Parameter36.Nametype: stringNot PII

Parameter name


Parameter36.Valuetype: stringNot PII

Parameter value


Parameter37.Nametype: stringNot PII

Parameter name


Parameter37.Valuetype: stringNot PII

Parameter value


Parameter38.Nametype: stringNot PII

Parameter name


Parameter38.Valuetype: stringNot PII

Parameter value


Parameter39.Nametype: stringNot PII

Parameter name


Parameter39.Valuetype: stringNot PII

Parameter value


Parameter40.Nametype: stringNot PII

Parameter name


Parameter40.Valuetype: stringNot PII

Parameter value


Parameter41.Nametype: stringNot PII

Parameter name


Parameter41.Valuetype: stringNot PII

Parameter value


Parameter42.Nametype: stringNot PII

Parameter name


Parameter42.Valuetype: stringNot PII

Parameter value


Parameter43.Nametype: stringNot PII

Parameter name


Parameter43.Valuetype: stringNot PII

Parameter value


Parameter44.Nametype: stringNot PII

Parameter name


Parameter44.Valuetype: stringNot PII

Parameter value


Parameter45.Nametype: stringNot PII

Parameter name


Parameter45.Valuetype: stringNot PII

Parameter value


Parameter46.Nametype: stringNot PII

Parameter name


Parameter46.Valuetype: stringNot PII

Parameter value


Parameter47.Nametype: stringNot PII

Parameter name


Parameter47.Valuetype: stringNot PII

Parameter value


Parameter48.Nametype: stringNot PII

Parameter name


Parameter48.Valuetype: stringNot PII

Parameter value


Parameter49.Nametype: stringNot PII

Parameter name


Parameter49.Valuetype: stringNot PII

Parameter value


Parameter50.Nametype: stringNot PII

Parameter name


Parameter50.Valuetype: stringNot PII

Parameter value


Parameter51.Nametype: stringNot PII

Parameter name


Parameter51.Valuetype: stringNot PII

Parameter value


Parameter52.Nametype: stringNot PII

Parameter name


Parameter52.Valuetype: stringNot PII

Parameter value


Parameter53.Nametype: stringNot PII

Parameter name


Parameter53.Valuetype: stringNot PII

Parameter value


Parameter54.Nametype: stringNot PII

Parameter name


Parameter54.Valuetype: stringNot PII

Parameter value


Parameter55.Nametype: stringNot PII

Parameter name


Parameter55.Valuetype: stringNot PII

Parameter value


Parameter56.Nametype: stringNot PII

Parameter name


Parameter56.Valuetype: stringNot PII

Parameter value


Parameter57.Nametype: stringNot PII

Parameter name


Parameter57.Valuetype: stringNot PII

Parameter value


Parameter58.Nametype: stringNot PII

Parameter name


Parameter58.Valuetype: stringNot PII

Parameter value


Parameter59.Nametype: stringNot PII

Parameter name


Parameter59.Valuetype: stringNot PII

Parameter value


Parameter60.Nametype: stringNot PII

Parameter name


Parameter60.Valuetype: stringNot PII

Parameter value


Parameter61.Nametype: stringNot PII

Parameter name


Parameter61.Valuetype: stringNot PII

Parameter value


Parameter62.Nametype: stringNot PII

Parameter name


Parameter62.Valuetype: stringNot PII

Parameter value


Parameter63.Nametype: stringNot PII

Parameter name


Parameter63.Valuetype: stringNot PII

Parameter value


Parameter64.Nametype: stringNot PII

Parameter name


Parameter64.Valuetype: stringNot PII

Parameter value


Parameter65.Nametype: stringNot PII

Parameter name


Parameter65.Valuetype: stringNot PII

Parameter value


Parameter66.Nametype: stringNot PII

Parameter name


Parameter66.Valuetype: stringNot PII

Parameter value


Parameter67.Nametype: stringNot PII

Parameter name


Parameter67.Valuetype: stringNot PII

Parameter value


Parameter68.Nametype: stringNot PII

Parameter name


Parameter68.Valuetype: stringNot PII

Parameter value


Parameter69.Nametype: stringNot PII

Parameter name


Parameter69.Valuetype: stringNot PII

Parameter value


Parameter70.Nametype: stringNot PII

Parameter name


Parameter70.Valuetype: stringNot PII

Parameter value


Parameter71.Nametype: stringNot PII

Parameter name


Parameter71.Valuetype: stringNot PII

Parameter value


Parameter72.Nametype: stringNot PII

Parameter name


Parameter72.Valuetype: stringNot PII

Parameter value


Parameter73.Nametype: stringNot PII

Parameter name


Parameter73.Valuetype: stringNot PII

Parameter value


Parameter74.Nametype: stringNot PII

Parameter name


Parameter74.Valuetype: stringNot PII

Parameter value


Parameter75.Nametype: stringNot PII

Parameter name


Parameter75.Valuetype: stringNot PII

Parameter value


Parameter76.Nametype: stringNot PII

Parameter name


Parameter76.Valuetype: stringNot PII

Parameter value


Parameter77.Nametype: stringNot PII

Parameter name


Parameter77.Valuetype: stringNot PII

Parameter value


Parameter78.Nametype: stringNot PII

Parameter name


Parameter78.Valuetype: stringNot PII

Parameter value


Parameter79.Nametype: stringNot PII

Parameter name


Parameter79.Valuetype: stringNot PII

Parameter value


Parameter80.Nametype: stringNot PII

Parameter name


Parameter80.Valuetype: stringNot PII

Parameter value


Parameter81.Nametype: stringNot PII

Parameter name


Parameter81.Valuetype: stringNot PII

Parameter value


Parameter82.Nametype: stringNot PII

Parameter name


Parameter82.Valuetype: stringNot PII

Parameter value


Parameter83.Nametype: stringNot PII

Parameter name


Parameter83.Valuetype: stringNot PII

Parameter value


Parameter84.Nametype: stringNot PII

Parameter name


Parameter84.Valuetype: stringNot PII

Parameter value


Parameter85.Nametype: stringNot PII

Parameter name


Parameter85.Valuetype: stringNot PII

Parameter value


Parameter86.Nametype: stringNot PII

Parameter name


Parameter86.Valuetype: stringNot PII

Parameter value


Parameter87.Nametype: stringNot PII

Parameter name


Parameter87.Valuetype: stringNot PII

Parameter value


Parameter88.Nametype: stringNot PII

Parameter name


Parameter88.Valuetype: stringNot PII

Parameter value


Parameter89.Nametype: stringNot PII

Parameter name


Parameter89.Valuetype: stringNot PII

Parameter value


Parameter90.Nametype: stringNot PII

Parameter name


Parameter90.Valuetype: stringNot PII

Parameter value


Parameter91.Nametype: stringNot PII

Parameter name


Parameter91.Valuetype: stringNot PII

Parameter value


Parameter92.Nametype: stringNot PII

Parameter name


Parameter92.Valuetype: stringNot PII

Parameter value


Parameter93.Nametype: stringNot PII

Parameter name


Parameter93.Valuetype: stringNot PII

Parameter value


Parameter94.Nametype: stringNot PII

Parameter name


Parameter94.Valuetype: stringNot PII

Parameter value


Parameter95.Nametype: stringNot PII

Parameter name


Parameter95.Valuetype: stringNot PII

Parameter value


Parameter96.Nametype: stringNot PII

Parameter name


Parameter96.Valuetype: stringNot PII

Parameter value


Parameter97.Nametype: stringNot PII

Parameter name


Parameter97.Valuetype: stringNot PII

Parameter value


Parameter98.Nametype: stringNot PII

Parameter name


Parameter98.Valuetype: stringNot PII

Parameter value


Parameter99.Nametype: stringNot PII

Parameter name


Parameter99.Valuetype: stringNot PII

Parameter value

Create a Stream resource during a live call in order to start a new unidirectional Media Stream. Twilio sends the call's forked audio stream to the url specified in this request.

A sample request is shown below.

Start a unidirectional Media Stream on a live call

start-a-unidirectional-media-stream-on-a-live-call page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_14
// Download the helper library from https://www.twilio.com/docs/node/install
_14
// Find your Account SID and Auth Token at twilio.com/console
_14
// and set the environment variables. See http://twil.io/secure
_14
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_14
const authToken = process.env.TWILIO_AUTH_TOKEN;
_14
const client = require('twilio')(accountSid, authToken);
_14
_14
client.calls('CAXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_14
.streams
_14
.create({
_14
name: 'My Media Stream',
_14
url: 'wss://example.com/a-websocket-server'
_14
})
_14
.then(stream => console.log(stream.sid));

Output

_10
{
_10
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"call_sid": "CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"sid": "MZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"name": "My Media Stream",
_10
"status": "in-progress",
_10
"date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
_10
"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Streams/MZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json"
_10
}

Custom parameters

custom-parameters page anchor

You can also create a unidirectional Media Stream with custom parameters.

Twilio sends these custom parameters to your WebSocket server in the start WebSocket message. Learn more on the WebSocket Messages page.

Use the parameter[x].name and parameter[x].value parameters to specify key-value pairs. For example, parameter1.name is the key and parameter1.value is the value of a key-value pair. You can provide up to 99 key-value pairs (parameter99.name and parameter99.value).

An example request is shown below.

Start a unidirectional Media Stream with custom parameters

start-a-unidirectional-media-stream-with-custom-parameters page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_18
// Download the helper library from https://www.twilio.com/docs/node/install
_18
// Find your Account SID and Auth Token at twilio.com/console
_18
// and set the environment variables. See http://twil.io/secure
_18
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_18
const authToken = process.env.TWILIO_AUTH_TOKEN;
_18
const client = require('twilio')(accountSid, authToken);
_18
_18
client.calls('CAXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_18
.streams
_18
.create({
_18
name: 'My Media Stream',
_18
'parameter1.name': 'agent_name',
_18
'parameter1.value': 'Mary',
_18
'parameter2.name': 'Department',
_18
'parameter2.value': 'sales',
_18
url: 'wss://example.com/a-websocket-server'
_18
})
_18
.then(stream => console.log(stream.sid));

Output

_10
{
_10
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"call_sid": "CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"sid": "MZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"name": "My Media Stream",
_10
"status": "in-progress",
_10
"date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
_10
"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Streams/MZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json"
_10
}


Update a Stream resource

update-a-stream-resource page anchor
POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Streams/{Sid}.json

To stop a live unidirectional Media Stream, update the Stream resource's status to stopped.

URI parameters
AccountSidtype: SID<AC>Not PII
Path Parameter

The SID of the Account(link takes you to an external page) that created this Stream resource.


CallSidtype: SID<CA>Not PII
Path Parameter

The SID of the Call(link takes you to an external page) the Stream resource is associated with.


Sidtype: stringNot PII
Path Parameter

The SID of the Stream resource, or the name used when creating the resource


Request body parameters
Statustype: enum<STRING>Not PII
Required

The status. Must have the value stopped

Possible values:
stopped

An example request is shown below.

Stop a unidirectional Media Stream

stop-a-unidirectional-media-stream page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_11
// Download the helper library from https://www.twilio.com/docs/node/install
_11
// Find your Account SID and Auth Token at twilio.com/console
_11
// and set the environment variables. See http://twil.io/secure
_11
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11
const authToken = process.env.TWILIO_AUTH_TOKEN;
_11
const client = require('twilio')(accountSid, authToken);
_11
_11
client.calls('CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11
.streams('MZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11
.update({status: 'stopped'})
_11
.then(stream => console.log(stream.name));

Output

_10
{
_10
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"call_sid": "CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"sid": "MZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"name": null,
_10
"status": "stopped",
_10
"date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
_10
"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Streams/MZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json"
_10
}

You can also use the Stream name (if provided when creating the Stream) to stop the Stream. The example below shows how to stop a Stream with a name of myStream.

Stop a unidirectional Media Stream by name

stop-a-unidirectional-media-stream-by-name page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_11
// Download the helper library from https://www.twilio.com/docs/node/install
_11
// Find your Account SID and Auth Token at twilio.com/console
_11
// and set the environment variables. See http://twil.io/secure
_11
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11
const authToken = process.env.TWILIO_AUTH_TOKEN;
_11
const client = require('twilio')(accountSid, authToken);
_11
_11
client.calls('CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11
.streams('myStream')
_11
.update({status: 'stopped'})
_11
.then(stream => console.log(stream.name));

Output

_10
{
_10
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"call_sid": "CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"sid": "MZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"name": "myStream",
_10
"status": "stopped",
_10
"date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
_10
"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Calls/CAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Streams/MZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json"
_10
}


Rate this page: