Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

Configureren

cBR-8 videosessies

Streamer

ECMG

Verifiëren

Op cBR-8

over het ECMG

Problemen oplossen

Gerelateerde informatie

Inleiding

Dit document beschrijft hoe u een testscenario (Digital Video Broadcasting - Cable) (DVB-C) kunt configureren met de TSDuck-toolkit, VLC en cBR-8.

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- DVB-C

- Symulcrypt

- VoD

- cBR-8

Gebruikte componenten

Dit document is niet beperkt tot specifieke software- en hardware-versies.

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk levend is, zorg er dan voor dat u de mogelijke impact van om het even welke opdracht begrijpt.

Achtergrondinformatie

Het scenario dat in dit document wordt gepresenteerd, wordt geïllustreerd in de onderstaande afbeelding, betreft de cBR-8 als iCMTS, een Linux Virtual Machine (VM) die wordt gebruikt als videostreamer met VLC en een Linux VM met TSDuck. Het DVB-Symulcrypt encryptiesysteem is opnieuw gecreëerd, waarbij cBR8 als Simulcrypt Synchronizer (SCS) werkt en de TSDuck VM de Entitlement Control Message Generator (ECMG) rol speelt aangezien het een Nagra-server zou zijn.

De VM die als stroomverdeler fungeert, stuurt eenvoudig een lokaal opgeslagen videoclip, die uitloopt om een continue stroom te simuleren. cBR-8 heeft één op tafel gebaseerde (statische) sessie die voor deze simulatie is geconfigureerd en er is geen Set-Top Box (STB) of modem die de VoD-stream opvraagt, het is handmatig op de stroomlijning gestart.

Wanneer de stroom wordt ontvangen, probeert cBR-8 te communiceren met de geconfigureerde ECMG-server om de videostroom te versleutelen en de berichten uit te wisselen die in de callflow in het bovenstaande afbeelding zijn beschreven. Deze berichten worden in duidelijke bewoordingen uitgewisseld met de TSDuck, wat goed is om de inhoud van de berichten en uitvindingen te analyseren. Ook TSDuck antwoordt op alle verzonden verzoeken, zonder de juistheid van de parameters te controleren als ca-systeem-id, toegangscriteria, enz.

Als cBR-8 niet met het ECMG communiceert, wordt de stream duidelijk verstuurd vanwege de instructie niet-duidelijk.

In een reëel casescenario is er de noodzaak om STB's een "Entitlement Management Message" (EMM) te sturen, waarin de ontvanger wordt gemachtigd een specifiek Control Word (CW) te decrypteren. Het EMM kan via cBR-8 of via een afzonderlijk kanaal naar de ontvangers worden gestuurd, en TSDuck heeft ook de functie om de EMM Generator (EMMG) te simuleren

Configureren

cBR-8 videosessies

Hier is een voorbeeld van hoe u DVB-videosessies op cBR-8 kunt configureren. De toegangscriteria worden normaal gesproken geleverd door het Conditional Access System (CAS), in deze simulatiecase kunt u een willekeurig Hex-nummer genereren, evenals voor de CA-systeem-id.

De Virtual-edge-input-ip is de IP-bestemming van de stroom, die in dit geval geen echte bestemming is, maar het moet dezelfde IP zijn die wordt gebruikt om de videostroom van de stroomverdeler te verzenden.

cable video

encryption

linecard 1/0 ca-system dvb scrambler dvb-csa

dvb

ecmg NAGRA_ELK id 1

mode tier-based

type nagra

ca-system-id 2775 3

auto-channel-id

ecm-pid-source auto 48 8190

connection id 1 priority 1 10.48.88.12 3337

overrule

min-cp-duration 300000

tier-based

ecmg name NAGRA_ELK access-criteria c972bfd7701e6d28069ae85f5d701d63ac1aec4a

fail-to-clear

enable

service-distribution-group SDG-ACDC-LAB-TEST1 id 1

onid 100

rf-port integrated-cable 1/0/3

virtual-carrier-group VCG-ACDC-LAB-TEST1 id 1

encrypt

service-type narrowcast

rf-channel 32-35 tsid 42496-42499 output-port-number 1-4

bind-vcg

vcg VCG-ACDC-LAB-TEST1 sdg SDG-ACDC-LAB-TEST1

logical-edge-device LED-ACDC-LAB-TEST1 id 1

protocol table-based

virtual-edge-input-ip 10.10.10.10 input-port-number 1

vcg VCG-ACDC-LAB-TEST1

active

table-based

vcg VCG-ACDC-LAB-TEST1

rf-channel 32

session vod1 input-port 1 start-udp-port 65 num-sessions-per-qam 1 processing-type remap start-program 1

!

controller Integrated-Cable 1/0/3

max-carrier 44

base-channel-power 40

rf-chan 32 35

type VIDEO

frequency 850000000

rf-output NORMAL

power-adjust 0.0

qam-profile 3

Streamer

Op dit apparaat kunt u VLC eenvoudig vanaf de opdrachtregel installeren en een stream van een lokaal opgeslagen videobestand starten.

U kunt verwijzen naar de officiële documentatie.

Nadat VLC is geïnstalleerd, toont de opdrachtregel hieronder hoe een stream van het bestand met de naam cisco-tac-lab.mov kan worden gestart, specificeert u de bestemming IP en de poort, de datum en poort op cBR-8 en lus de video om een continue stroom te simuleren (-herhaling):

cvlc cisco-tac-lab.mov —sout '#duplicaat {dst=udp {mux=ts, dst=10.10.10:65,tsid=42496,port=65}' —herhaling &

ECMG

Download TSDuck van de officiële website: TSDuck, en verwijs naar de documentatie van de gebruikershandleiding om informatie over functies te installeren en te vinden.

Wanneer TSDuck is geïnstalleerd, kunt u de ECMG optie op een specifieke poort (-p), met breedband optie (-v) en het gewenste niveau van uiteinden (-d#) uitvoeren.

Voorbeeld:

sudo tsecmg -p 3337 -v -d7

Verifiëren

Op cBR-8

Nadat u de videosessie op cBR-8 hebt configureren kunt u controleren of de sessie wordt gemaakt, omdat dit een op tabel gebaseerde configuratie is, de sessie altijd aanwezig is en er geen invoerstroom wordt weergegeven:

acdc-cbr8-2#show cable video session all

Session    Output Frequency  Streaming   Sess Session Source                  UDP   Output  Input      Output  Input    Output   Encrypt  Encrypt        Low PMV   Session

Id         Port   Hz         Type        Type Ucast Dest IP/Mcast IP (S,G)    Port  Program State      State   Bitrate  Bitrate  Type     Status         Lat NUM   Name

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1048576    1      850000000  Remap       UDP  10.10.10.10                     65    1       OFF        ON      0        0        DVB      Pending        N   -     vod1.1.0.1.32.65

Als u de videostroom start, kunt u zien dat deze helder wordt verzonden (in overeenstemming met de instructies niet-duidelijk worden op cBR-8 als het ECMG nog niet is geïnstalleerd):

acdc-cbr8-2#show cable video sess logical-edge-device id 1

Session    Output Frequency  Streaming   Sess Session Source                  UDP   Output  Input      Output  Input    Output   Encrypt  Encrypt        Low PMV   Session

Id         Port   Hz         Type        Type Ucast Dest IP/Mcast IP (S,G)    Port  Program State      State   Bitrate  Bitrate  Type     Status         Lat NUM   Name

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1048576    1      850000000  Remap       UDP  10.10.10.10                     65    1       ACTIVE-PSI ON      15403951 15164562 DVB      Clear          N   -     vod1.1.0.1.32.65

Wanneer u ook ECMG start, kunt u zien dat de videosessie nu versleuteld is:

acdc-cbr8-2#sh cable video sess logical-edge-device id 1

Session    Output Frequency  Streaming   Sess Session Source                  UDP   Output  Input      Output  Input    Output   Encrypt  Encrypt        Low PMV   Session

Id         Port   Hz         Type        Type Ucast Dest IP/Mcast IP (S,G)    Port  Program State      State   Bitrate  Bitrate  Type     Status         Lat NUM   Name

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1048576    1      850000000  Remap       UDP  10.10.10.10                     65    1       ACTIVE-PSI ON      15353613 15476997 DVB      Encrypted      N   -     vod1.1.0.1.32.65

De gecodeerde sessie is gedetailleerd:

acdc-cbr8-2#sh cable video sess logical-edge-device id 1 session-id 1048576

Session Name        : vod1.1.0.1.32.65

Session Id          : 1048576

Creation Time       : Thu Dec  6 14:12:54 2018

Output Port         : 1

TSID                : 42496

ONID                : 100

Number of Sources   : 1

Destination IP    : 10.10.10.10

UDP Port          : 65

Config Bitrate      : not specified

Jitter              : 100 ms

Processing Type     : Remap

Stream Rate         : VBR

Program Number      : 1

Idle Timeout        : 2000 msec

Init Timeout        : 2000 msec

Off Timeout         : 60 sec

Encryption Type     : DVB

Encryption Status   : Encrypted

Input Session Stats:

====================

State: ACTIVE-PSI, Uptime: 0 days 00:31:33

IP Packets: In 899927, RTP 0, Drop 0

TP Packets: In 6299489, PCR 6408, PSI 4424, Null 0

Unreference 2212, Discontinuity 0

Errors: Sync loss 0, CC error 795, PCR Jump 7,

Underflow 215, Overflow 4, Block 0

Bitrate: Measured 16483732 bps, PCR 17930489 bps

Output Session Stats:

=====================

State: ON, Uptime: 0 days 00:31:33

TP Packets: In 6297330, PCR 6395, PSI 4416,

Drop 12801, Forward 6280113, Insert 6029

Errors: Info Overrun 0, Info Error 0, Block 0, Overdue 54210,

Invalid Rate 0, Underflow 0, Overflow 0

Bitrate: Measured 16433824 bps

PAT Info:

=========

Version 26, TSID 8724, len 16, section 0/0

Program 1: PMT 32

Input PMT Info:

===============

Program 1, Version 28, PCR 100, Info len 0

PID 100: Type 27, Info len 6, (lang eng)

Output PMT Info:

================

Program 1, Version 5, PCR 49, Info len 6, (CA SYS-ID 10101, PID 79)

PID 49: Type 27, Info len 6, (lang eng)

Output PID Map:

===============

PID 32 -> 48

PID 100 -> 49

En de opdracht om de ECMG verbindingsstatus weer te geven:

acdc-cbr8-2#show cable video encryption dvb ecmg id 1 connection

---------------------------------------------------------------------------------------------------------------------------------------------------

ECMG ECMG                 ECMG     CA Sys     CA Subsys  PID     Lower  Upper  Streams/   Open Streams/   Auto Chan  Slot  ECMG         ECMG

ID   Name                 Type     ID         ID         Source  limit  limit  ECMG       ECMG            ID               Connections  Application

---------------------------------------------------------------------------------------------------------------------------------------------------

1    NAGRA_ELK            nagra    0x2775     0x3        auto    48     8190   1          1               Enabled    RP    1            Tier-Based

ECMG Connections for ECMG ID = 1

-----------------------------------------------------------------

Conn Conn     IP               Port    Channel Conn       Open

-ID  Priority Address          Number  ID      Status     Streams

-----------------------------------------------------------------

1    1        10.48.88.12      3337    1       Open       1

-----------------------------------------------------------------

Opmerking: Zodra een ECM door cBR-8 is ontvangen, wordt het opgeslagen in de cache, en als de verbinding met het ECMG verloren gaat, wordt het gecached ECM gebruikt voor encryptie totdat een nieuw ECM wordt ontvangen.

over het ECMG

Dankzij de uitgangen die worden ingeschakeld, kunt u alle berichten zien die worden uitgewisseld tussen het ECMG en SCS (zie de gespreksstroom die in de oorspronkelijke afbeelding wordt weergegeven):

cisco@simulcrypt:~$ sudo tsecmg -p 3337 -v -d7

debug level set to 7

* Debug: setting socket reuse address to 1

* Debug: binding socket to 0.0.0.0:3337

* Debug: server listen, backlog is 5

* TCP server listening on 0.0.0.0:3337, using ECMG <=> SCS protocol version 2

* Debug: server accepting clients

* Debug: received connection from 88.88.88.89:56102

* Debug: server accepting clients

* 88.88.88.89:56102: 2018/12/06 14:38:35: session started

* Debug: received message from 88.88.88.89:56102

channel_setup (ECMG<=>SCS)

protocol_version = 0x02

message_type = 0x0001

ECM_channel_id = 0x0001

Super_CAS_id = 0x27750003

* Debug: sending message to 88.88.88.89:56102

channel_status (ECMG<=>SCS)

protocol_version = 0x02

message_type = 0x0003

ECM_channel_id = 0x0001

section_TSpkt_flag = 1

AC_delay_start = 200

AC_delay_stop = 200

delay_start = 200

delay_stop = 200

transition_delay_start = -500

transition_delay_stop = 0

ECM_rep_period = 100

max_streams = 0

min_CP_duration = 10

lead_CW = 1

CW_per_msg = 2

max_comp_time = 100

* Debug: received message from 88.88.88.89:56102

stream_setup (ECMG<=>SCS)

protocol_version = 0x02

message_type = 0x0101

ECM_channel_id = 0x0001

ECM_stream_id = 0x0001

ECM_id = 0x0001

nominal_CP_duration = 100

* Debug: sending message to 88.88.88.89:56102

stream_status (ECMG<=>SCS)

protocol_version = 0x02

message_type = 0x0103

ECM_channel_id = 0x0001

ECM_stream_id = 0x0001

ECM_id = 0x0001

access_criteria_transfer_mode = 0

* Debug: received message from 88.88.88.89:56102

CW_provision (ECMG<=>SCS)

protocol_version = 0x02

message_type = 0x0201

ECM_channel_id = 0x0001

ECM_stream_id = 0x0001

CP_number = 0

access_criteria (20 bytes) =

C9 72 BF D7 70 1E 6D 28 06 9A E8 5F 5D 70 1D 63 AC 1A EC 4A

CP = 0

CW (8 bytes) = 4E 0A 45 9D DC 10 4A 36

CP = 1

CW (8 bytes) = AB FF 00 AA 9C 4F 11 FC

* Debug: sending message to 88.88.88.89:56102

ECM_response (ECMG<=>SCS)

protocol_version = 0x02

message_type = 0x0202

ECM_channel_id = 0x0001

ECM_stream_id = 0x0001

CP_number = 0

ECM_datagram (188 bytes) =

47 5F FF 10 00 80 70 35 80 AA 03 00 30 00 10 00 08 4E 0A 45 9D DC

10 4A 36 00 11 00 08 AB FF 00 AA 9C 4F 11 FC 00 12 00 14 C9 72 BF

D7 70 1E 6D 28 06 9A E8 5F 5D 70 1D 63 AC 1A EC 4A FF FF FF FF FF

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

FF FF FF FF FF FF FF FF FF FF FF FF

* Debug: received message from 88.88.88.89:56102

channel_test (ECMG<=>SCS)

protocol_version = 0x02

message_type = 0x0002

ECM_channel_id = 0x0001

* Debug: sending message to 88.88.88.89:56102

channel_status (ECMG<=>SCS)

protocol_version = 0x02

message_type = 0x0003

ECM_channel_id = 0x0001

section_TSpkt_flag = 1

AC_delay_start = 200

AC_delay_stop = 200

delay_start = 200

delay_stop = 200

transition_delay_start = -500

transition_delay_stop = 0

ECM_rep_period = 100

max_streams = 0

min_CP_duration = 10

lead_CW = 1

CW_per_msg = 2

max_comp_time = 100

* Debug: received message from 88.88.88.89:56102

stream_test (ECMG<=>SCS)

protocol_version = 0x02

message_type = 0x0102

ECM_channel_id = 0x0001

ECM_stream_id = 0x0001

* Debug: sending message to 88.88.88.89:56102

stream_status (ECMG<=>SCS)

protocol_version = 0x02

message_type = 0x0103

ECM_channel_id = 0x0001

ECM_stream_id = 0x0001

ECM_id = 0x0001

access_criteria_transfer_mode = 0

Problemen oplossen

Op cBR-8 kunt u coderingsproblemen oplossen met de corresponderende sporen van het Supervisor platform die zijn ingesteld om te bug of ruis niveau (vergeet niet het notice level aan het eind te herstellen):

Hiermee stelt u sup-veman rp actief scs debug in

Een correcte uitwisseling van berichten tussen cBR-8 en ECMG ziet er als volgt uit:

show platform software trace message sup-veman rp active reverse

12/07 15:34:43.963 [scs]: [47872]: (debug): ECMG Send channel_setup for channel_id 1

12/07 15:34:43.965 [scs]: [47872]: (debug): ECMG Received channel_status for channel_id 1

12/07 15:34:43.965 [scs]: [47872]: (info): ECMG Channel 0 setup to ip 10.48.88.12 port 3337

12/07 15:34:43.965 [scs]: [47872]: (debug): Open stream 1

12/07 15:34:43.965 [scs]: [47872]: (debug): ECMG Send stream_setup for channel_id 1, stream_id 1

12/07 15:34:43.965 [scs]: [47872]: (debug): ECMG Received stream_status for channel_id 1, stream_id 1

12/07 15:34:43.965 [scs]: [47872]: (info): ECMG Stream 1 setup to ip 10.48.88.12 port 3337

12/07 15:34:43.965 [scs]: [47872]: (debug): Request ECM for CP 0

12/07 15:34:43.965 [scs]: [47872]: (debug): ECMG Send CW_provision with 20 AC bytes for channel_id 1, stream_id 1

12/07 15:34:43.966 [scs]: [47872]: (debug): Received ECM_response for channel_id 1, stream_id 1

12/07 15:34:43.966 [scs]: [47872]: (debug): ECMGp: Forward ECM pkts to SCS

12/07 15:34:43.966 [scs]: [47872]: (debug): Received ECM for CP 0

12/07 15:34:56.015 [scs]: [47872]: (debug): ECMG Send channel_test for channel_id 1

12/07 15:34:56.016 [scs]: [47872]: (debug): ECMG Received channel_status for channel_id 1

12/07 15:35:18.039 [scs]: [47872]: (debug): ECMG Send stream_test for channel_id 1, stream_id 1

12/07 15:35:18.042 [scs]: [47872]: (debug): ECMG Received stream_status for channel_id 1, stream_id 1

Gerelateerde informatie

- de technische specificatie van DVB Simulcrypt, uiterlijk op het tijdstip van invoering van dit artikel: ETSI TS 103 197 V1.5.1 (2008-2010)

- Technische ondersteuning en documentatie – Cisco Systems