REST method | Params | Returns | Errors | Description |
---|---|---|---|---|
SIP as RTMP | ||||
/call/startup | callId callee rtmpStream rtmpUrl hasAudio hasVideo sipLogin sipAuthenticationName sipPassword sipDomain sipOutboundProxy sipPort appKey sipRegisterRequired toStream visibleName | void | 409 - Conflict 500 - Internal error | This method makes a call to SIP. |
If rtmpUrl is specified, then media traffic received from SIP will be forwarded to the specified rtmpUrl. |
If toStream is specified, /push/startup request can be used to create transponder for the specified stream name to forward media traffic received from SIP. |
If call with the same callId, or the same rtmpUrl already exists, 409 Conflict status will be returned. | ||||
/call/find_all | void | List<Call> | 404 - Call not found 500 - Internal error | Find all SIP calls |
/call/find | callId callee rtmpUrl status | List<Call> | 404 - Call not found 500 - Internal error | Find SIP calls by filter |
/call/terminate | callId | void | 404 - Call not found 500 - Internal error | Hangup and terminate the SIP call |
/call/send_dtmf | callId dtmf type | void | 404 - Call not found 500 - Internal error | Send DTMF within the established SIP call |
/call/inject_stream | callId streamName | void | 404 - Call not found 404 - Stream not found 500 - Internal error | Inject audio from the specified stream |
/call/inject_sound | callId fileName | void | 404 - Call not found 404 - Stream not found 500 - Internal error | Inject audio from the specified file |
RTSP | ||||
/rtsp/find | uri status | List<RtspAgent> | 404 - RTSP not found 500 - Internal error | Find RTSP session by filter |
/rtsp/find_all | void | List<RtspAgent> | 500 - Internal error | Find all RTSP sessions |
/rtsp/terminate | uri | void | 404 - RTSP not found 500 - Internal error | Stop and terminate RTSP session |
/rtsp/startup | uri | void | 500 - Internal error | Create a new RTSP session |
Streaming | ||||
/stream/find_all | void | List<Stream> | 404 - Streams not found 500 - Internal error | Find all streams |
/stream/find | name mediaSessionId status published | List<Stream> | 404 - Stream not found 500 - Internal error | Find streams by filter |
/stream/terminate |
name mediaSessionId List<mediaSessionId> status |
published | void | 404 - Stream not found 500 - Internal error | Terminate stream or streams that conforms to query parameters | |
/stream/snapshot | streamName | <Base64 data> | 404 - Stream not found | Make stream snapshot |
/stream/startRecording | mediaSessionId | void | 404 - Not found 500 - Internal error | Start stream recording in specified meda session |
/stream/stopRecording | mediaSessionId | void | 404 - Not found 500 - Internal error | Stop stream recording in specified media session |
Data | ||||
/data/send | nodeId sessionId operationId payload | void | 500 - Internal error | Send data to connected client |
Connection | ||||
/connection/terminate | sessionId | void | 404 - No such connection 500 - Internal error | Disconnect connected client |
/connection/find_all | void | List<Connection> | 404 - No connections found 500 - Internal error | Find all connections |
/connection/find | appKey sessionId clientVersion | List<Connection> | 404 - Not found 500 - Internal error | Find connections by filter |
Republishing as RTMP | ||||
/push/startup | streamName rtmpUrl options | Transponder | 409 - Conflict 500 - Internal error | This method creates transponder, which subscribes to the specified stream and forwards the media traffic to the specified rtmpUrl. |
The steam name specified in the request can be that of a published stream, or reserved for a SIP call (to forward media traffic received from SIP). |
The options can be used to mute audio, or inject audio from file when transponder is created. For example, - "options": {"action": "mute"} - "options": {"action": "sound_on", "soundFile": "sound.wav", "loop": true} |
If transponder for such stream name and rtmpUrl already exist, 409 Conflict status will be returned. | ||||
/push/find | streamName rtmpUrl | List<Transponder> | 404 - Transponder not found 500 - Internal error | Find transponders by filter |
/push/find_all | void | List<Transponder> | 404 - Not found any transponder 500 - Internal error | Find all transponders |
/push/terminate | mediaSessionId | void | 404 - Not found transponder 500 - Internal error | Terminate transponder |
/push/mute | mediaSessionId | void | 404 - Not found transponder 500 - Internal error | Mute audio |
/push/unmute | mediaSessionId | void | 404 - Not found transponder 500 - Internal error | Unmute audio |
/push/sound_on | mediaSessionId soundFile loop | void | 404 - Not found transponder 404 - No such file 500 - Internal error | Inject audio from the specified RIFF WAV file located on WCS server in /usr/local/FlashphonerWebCallServer/media/ directory |
/push/sound_off | mediaSessionId | void | 404 - Not found transponder 500 - Internal error | Stop injecting audio |
Pull RTMP | ||||
/pull/rtmp/pull | uri | void | 409 - Conflict 500 - Internal error | Pull RTMP stream by the specified URL |
/pull/rtmp/find_all | void | List<RtmpAgent> | 404 - Not found 500 - Internal error | Find all pulled RTMP streams |
/pull/rtmp/terminate | uri | void | 404 - Not found 500 - Internal error | Terminate pulled RTMP stream |
Mixer | ||||
/mixer/startup | uri localStreamName | void | 409 - Conflict 500 - Internal error | Create |
mixer with the specified stream name | ||||
/mixer/add | uri remoteStreamName | void | 404 - Mixer not found 404 - Stream not found 500 - Internal error | Add RTMP stream |
to mixer | ||||
/mixer/remove | uri remoteStreamName | void | 404 - Mixer not found 404 - Stream not found 500 - Internal error | Remove RTMP stream |
from mixer | ||||
/mixer/find_all | void | List<Mixer> | 404 - Not found 500 - Internal error | Find all |
mixers | ||||
/mixer/terminate | uri | void | 404 - Not found 500 - Internal error | Terminate |
mixer | ||||
/mixer/test/start | feedingStreams | void | 404 - Not found 500 - Internal error | Start mixer load test |
/mixer/test/stop | void | void | 404 - Not found 500 - Internal error | Stop mixer load test |
/mixer/test/get_start_example | void | <MixerTest> | 404 - Not found 500 - Internal error | Get sample object to pass to /mixer/test/start method |
Pull WebRTC from another WCS | ||||
---|---|---|---|---|
/pull/pull | uri localStreamName remoteStreamName | void | 409 - Conflict 500 - Internal error | Pull WebRTC stream by specified URL |
/pull/push | uri localStreamName remoteStreamName localMediaSessionId | void | 409 - Conflict 500 - Internal error | Push WebRTC stream to specified URL |
/pull/find_all | void | List<PullAgent> | 200 – OK 500 - Internal error | Find all pulled WebRTC streams |
/pull/terminate | uri localMediaSessionId remoteMediaSessionId localStreamName remoteStreamName status | void | 200 – OK 500 - Internal error | Terminate pulled WebRTC stream |
Service functions | ||||
/api/create-session | appKey clientBrowserVersion clientVersion mediaProviders sipLogin sipAuthenticationName sipPassword sipDomain sipOutboundProxy sipPort sipRegisterRequired urlServer | void | 200 - OK 500 - Internal error | Connect to the server specified and create session |
Logging management | ||||
/logger/enable_client_log | sessionId logLevel | void | 200 - OK 404 - Session not found | Set the specified client log level to the specified session |
/logger/disable_client_log | sessionId | void | 200 - OK 404 - Session not found | Fully disable client log in the specified session |
CDN | ||||
/cdn/show_routes | void | List<CDNRoute> | 200 - OK 500 - Internal error | Show CDN routes |
/cdn/stream/show_routes | streamName | <CDNStreamRoute> | 200 - OK 500 - Internal error | Show CDN route to play the stream specified |
Transcoding management | ||||
/transcoder/startup | uri | void | 409 - Conflict 500 - Internal error | Create transcoder with defined parameters for certain stream |
/transcoder/find | uri | List<Transcoder> | 200 – Transcoders found 404 – Transcoders not found | Find transcoder by certain criteria |
/transcoder/find_all | void | List<Transcoder> | 200 – Transcoders found 404 – Transcoders not found | Find all transcoders |
/transcoder/terminate | uri remoteStreamName localStreamName status | void | 200 - Transcoders is terminated 404 - Transcoder not found | Stop transcoder with its output stream by certain criteria |
VOD | ||||
/vod/startup | uri | void | 409 - Conflict 500 - Internal error | Create VOD live translation from local file or from file at network storage |
/vod/find | uri | List<VOD> | 200 – VODs found 404 – VODs not found | Find VOD translations by certain criteria |
/vod/find_all | void | List<VOD> | 200 – VODs found 404 – VODs not found | Find all VOD translations |
/vod/terminate | uri | void | 200 - VODs is terminated 404 - VOD not found | Stop VOD translation by certain criteria |