Skip to main content

Media Stream Stopped

This event may be sent to the url specified when sending a <StopStream> verb, or if the stream is stopped for another reason such as the call being hungup.

Request Parameters

PropertyDescription
accountIdThe user account associated with the call.
answerTimeTime the call was answered, in ISO 8601 format.
applicationIdThe id of the application associated with the call.
callIdThe call id associated with the event.
callUrlThe URL of the call associated with the event.
causeThe reason the stream was stopped. This can be one of closed, connection-error, or error.
directionThe direction of the call. Either inbound or outbound. The direction of a call never changes.
enqueuedTime(optional) If call queueing is enabled and this is an outbound call, time the call was queued, in ISO 8601 format.
errorMessage(optional) If the cause value was anything other than closed, this will contain details about what went wrong.
eventTimeThe approximate UTC date and time when the event was generated by the Bandwidth server, in ISO 8601 format. This may not be exactly the time of event execution.
eventTypeThe event type, value is mediaStreamStopped
fromThe provided identifier of the caller: can be a phone number in E.164 format (e.g. +15555555555) or one of Private, Restricted, Unavailable, or Anonymous.
mediaStreamDetails about the stream that was stopped
mediaStream.destinationThe destination URL to which the stream sent media
mediaStream.durationThe duration of time the stream was active
mediaStream.idThe unique id of this stream that was stopped
mediaStream.nameThe name of this stream that was stopped
mediaStream.startTimeThe approximate UTC date and time the stream was started
mediaStream.tracksThe segments of the call that were sent in the stream, values will be one or both of inbound and outbound
mediaStream.typeThe type of stream that was sent. Currently the only supported type is WebSocket
startTimeTime the call was started, in ISO 8601 format.
toThe phone number that received the call, in E.164 format (e.g. +15555555555).
tag(optional) The tag specified on call creation. If no tag was specified or it was previously cleared, this field will not be present.

Possible cause Values

ValueMeaning
closedThe media stream was closed intentionally, either because a <StopStream> request was sent, or the call ended
connection-errorThere was a problem communicating with the destination supplied in the <StartStream> request. For example connecting to the websocket timed out, or the websocket closed abnormally, etc.
errorThere was an internal error other than a problem communicating with the destination

Expected Response

HTTP/1.1 204

Examples

Media Stream Stopped Event with Enqueued Time

POST http://myapp.example/mediaStreamEvents
Content-Type: application/json

{
"accountId" : "55555555",
"answerTime" : "2022-06-30T18:55:02.080Z",
"applicationId" : "7fc9698a-b04a-468b-9e8f-91238c0d0086",
"callId" : "c-95ac912f-68aacdd7-4a8e-4223-a7fd-020e02fa6bf2",
"callUrl" : "https://voice.bandwidth.com/api/v2/accounts/55555555/calls/c-95ac912f-68aacdd7-4a8e-4223-a7fd-020e02fa6bf2",
"cause" : "closed",
"direction" : "outbound",
"enqueuedTime" : "2022-06-30T18:54:59.172Z",
"eventTime" : "2022-06-30T18:55:02.489Z",
"eventType" : "mediaStreamStopped",
"from" : "+15551112222",
"mediaStream" : {
"destination" : "wss://websocket.myapp.example",
"duration" : "PT1M52.217257456S",
"id" : "s-95ac90b3-e9cd80fa-fca7-4d12-9109-2990afe4d8c5",
"name" : "example_stream",
"startTime" : "2022-06-30T18:55:02.489Z",
"tracks" : ["inbound", "outbound"],
"type" : "WebSocket"
},
"startTime" : "2022-06-30T18:54:59.175Z",
"to" : "+15553334444"
}