Apple computer with demo page on it

Broadcasting of a SIP Call to RTMP CDN

The Web Call Server 5 feature allows connection to SIP devices and services and delivery of the SIP video call to an external RTMP server or a CDN for further mass delivery of the received content

There is a segment of CDN specializing on delivery of live video content. It is possible to publish RTMP video streams to such CDNs and broadcast the streams to a large and geographically distributed audience. Besides there are few widely used RTMP mediaservers such as Wowza Streaming Engine, Adobe AMS, rtmpd, etc., which are also able to receive media streams and handle some local tasks for delivering streaming video over RTMP protocol.

The given solution based on Web Call Server 5 is designed to connect to VoIP conference services (online meetings) or devices using the SIP protocol and to broadcast the established connection over the RTMP protocol.

The main purpose of the solution is to  connect to an existing online conference through a simple SIP-call and broadcast of the running conference to a third party RTMP server or a CDN network for mass delivery or a private show.

 

 

Specificaions

 

Codecs:

  • H.264
  • G.711
  • Speex

Protocols:

  • SIP
  • RTMP
  • REST/HTTP

System requirements:

  • Linux x86_64 server
  • 1-core CPU at 2 GHz or higher
  • 1 GB RAM or more
  • 1 GB of disk space

Target systems:

  • RTMP CDN
  • RTMP Servers
  • WCS itself

 

 Interaction diagram

  The diagram below shows interaction between the SIP device (or software with SIP support), Web Call Server and CDN software via the RTMP protocol. 

Step by step interaction scheme with REST request

From the diagram above, you can see that the Web Call Server is managed through the REST requests, which can come either from the software that uses REST API, or from a REST console (i.e. extension of Google Chrome).

The first step, shown on the diagram, is a REST request, that contains the  data necessary for Web Call Server data – the RTMP server address, the stream name, audio / video traffic presence attributes, the callee “number” and other information.

Upon received the query, Web Call Server makes a call to the SIP device (or software) via the SIP protocol. As a result of the established SIP call, the device will send RTP audio / video traffic to the Web Call Server.

After receiving traffic from the SIP device, Web Call Server  sends traffic to the RTMP streaming server or CDN Network.

 

Below is the  sequence diagram  that shows the step-by-step sequence of the software interaction:

sequence diagram of interaction between Web Call Server VoIP Streaming software

 

The diagram shows the sequence in which four components interact with each other:

 1. REST client –  can be a code in a third-party application or extension for Google Chrome.

The REST client sends a query to the Web Call Server. This query orders to initialize  interaction between Web Call Server, SIP source and RTMP receiver  (roughly speaking this request is about to start the broadcasting). Also the REST client may send a query for the termination of broadcasting.

2. Web Call Server is software that performs  conversion of traffic from a SIP source and its subsequent transmission via RTMP to a CDN network or a video streaming server.

3. SIP VoIP Gate – in this case, is an example of a possible source of the traffic that support SIP and RTP protocols. Generally, it can be any other software or device that supports those protocols. The diagram shows that the SIP VoIP Gate receives an initial call from  Web Call Server, then respond to such a call by transferring  audio / video traffic or by terminating such transfer.

4. RTMP CDN –  streaming software that takes traffic from Web Call Server  - via RTMP and then shares that traffic among recipients.

SIP Compatibility

The  ’SIP as RTMP’  - option  is available with type of services listed below: 

  • IP PBX

  • Online meeting services

  • IP PBX online services 

Tested With

The ‘SIP as RTMP”  option has been tested with the following varieties of software and services:

Streaming software

  • Adobe Media Server

  •  Wowza Streaming Engine

IP PBX

  • OpenSIPS

Online meeting services

  • Vidyo

  • Zoom

  • Lifesize

  • Blue jeans

  • Twilio

All tests were conducted using with the Bria 4 softphone.

 

Broadcasting Demo

In the administor web-interface of the Web Call Server / Demo there is a ‘SIP as RTMP’ demo client, that  is an HTML-page with the implemented JavaScript REST query form and the embedded demo RTMP-player.

The following screenshot shows beginning of testing, that is the first page of the demo interface:

Beginning state of the demo page

 

If you  choose the ‘open in the new window’ option  (the  up and right arrow in the top left corner of the screenshot) –  a new window is opened. This new window allows for easier use of all capabilities of the demo interface.

The demo interface page is  split onto  four different functional areas:

SIP Details – this section for entering all available SIP account details (provided by IP PBX service), i.e.: login, password, address of the IP PBX server (domain), port for SIP calls. If  IP PBX provider requires registration, check the  ”register required” option. If the SIP call will use audio – check “hasAudio”. Similarly, check  ”hasVideo” for a video call.

RTMP Target Details – enter the data about available the RTMP server here. Specifically, enter the streaming server URL and the stream name (for example ‘stream 1′).

RTMP Player – this area shows a player window where  all traffic streamed from the RTMP server can be seen. To play  the stream, click the “Play” button, to stop that playback, click “Stop”. The broadcast address for the RTMP stream is provided the demo interface automatically 

At the bottom of the screen is the SIP Details area.  It contains  fields for callee “number” and, if  necessary,  DTMF data. To make a test call or send DTMF data, click the corresponding button next to the above mentioned fields.

At the bottom,  the page displays current service information, including the  call status and the status of the stream  used for broadcasting.

The following  screenshot illustrate a successfully established call. 

Demo_page_established_SIP_call_RTMP_broadcast_started

The screenshot above, aside of the data necessary for successful test, also displays – the status of the call (Established) and the status of the RTMP stream broadcast (Started).

In addition, the page also displays the  ID of the call and the RTMP server’s URL.

The  ”Hangup” button terminates the call and the  ”Stop” button] stops the  playback of  audio/video traffic in the player window.

 

Finished call statuses are shown at the screenshot below: 

Finished_status_SIP_call_RTMP_player_demo_page

The ‘Established’ status has  switched to ‘Finished’ (call is finished) and ‘Started’ has changed to the ‘StreamNotFound’ status (absence of the stream)

The whole testing process using the demo interface is shown in the following video:

 

Download Web Call Server 5

System requirements: Linux x86_64, 1 core CPU, 1 Gb RAM, Java

    Download Now    

Installation:

  1. wget https://flashphoner.com/download-wcs5-server.tar.gz
  2. Unpack and install using 'install.sh'
  3. Launch server using command 'service webcallserver start'
  4. Open the web interface https://host:8888 and activate your license

 

If you are using Amazon EC2, you don't need to download anything.

Launch WCS5 on Amazon EC2

 

Web Call Server 5 - Trial

The 30-days license is provided once for a person or organization. Please use your corporate email.


Processing...