Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Description

Example

Stream name

test6

Transcoding nodes list192.168.1.17,192.168.1.18

CDN extended information displaying

Since buikld 5.2.471 CDN information output was added or extended to statistics page, to CLI and to REST API

Using CLI

WCS CLI command

Code Block
themeRDark
show cdn-nodes

displays CDN version supported by node and group which node belongs to

Code Block
themeRDark
Ip            State  Processing state    Role       Version Group
------------------------------------------------------------------
192.168.0.102 ACTIVE NEW_STREAMS_ALLOWED TRANSCODER 2.3     null
192.168.0.187 ACTIVE NEW_STREAMS_ALLOWED EDGE       2.3     null

In this case, CDN version matching result will be displayed for ACTIVE node and CDN version explicitly set will be displayed for PASSIVE node (see below)

Using REST API

REST API query /cdn/show_nodes returns CDN version supported by node

Code Block
languagejs
themeRDark
[                                            
  {                                          
    "version": "2.3",                        
    "role": "TRANSCODER",                    
    "globalState": "ACTIVE",                 
    "processingState": "NEW_STREAMS_ALLOWED",
    "id": "192.168.0.102"                    
  },                                         
  {                                          
    "version": "2.3",                        
    "role": "EDGE",                          
    "globalState": "ACTIVE",                 
    "processingState": "NEW_STREAMS_ALLOWED",
    "id": "192.168.0.187"                    
  }                                          
]                                            

In this case, CDN version matching result will be displayed for ACTIVE node and CDN version explicitly set will be displayed for PASSIVE node (see below)

Backward compatibility with CDN 2.2, 2.1, 2.0

Controller node in previous CDN version

For previous CDN versions node, Controller node is Origin.

CDN 2.1 nodes will choose a route to stream playback without Controller node even if this node is in the group.

CDN versions matching

Since build 5.2.471, CDN versions matching works as follows: when CDN signaling connection is established, nodes send version supported to each other. If versions are differ, node with later version will fall it to earlier one. For example if Edge 2.3 is connecting to CDN 2.2, it will send CDN 2.2 compatible messages only to another nodes. At all the CDN point this Edge server will look like CDN 2.2 supporting node.

Every node periodically sends its version to another nodes to escape versions mismatch after losing the connection. The version refresh period is set in milliseconds with the following parameter

Code Block
themeRDark
cdn_nodes_version_refresh_interval=90000

By default, version refresh period is 90 seconds.

PASSIVE node version assign

When node goes to PASSIVE state after losing the connection or by setting with /cdn/enforce_state REST query, the message exchange with this node will stop. Another nodes will suppose PASSIVE node to support CDN version set by the following parameter

Code Block
themeRDark
cdn_force_version=2.0

By default, CDN 2.0 is assignade to PASSIVE node.

For eaxmple, if one Edge in CDN 2.3 loses the connection with another servers, CDN nodes will suppose this Edge to be CDN 2.0 until it restores CDN connection and passes CDN versions matching.

Known limits

To choose a stream playback route using Controller node, Edge node should be in the same group, and this group must be set in CDN node settings:

...