Un set-top box in un impianto cavo DOCSIS (Data-over-Cable Service Interface Specifications) è un caso speciale di modem via cavo (CM). Il set-top box utilizza le stesse procedure per connettersi e ricevere la connettività di rete. Tuttavia, un set-top box in genere presenta livelli di funzionalità aggiuntivi rispetto ai CM standard, ad esempio servizi televisivi, pay-per-view e guida elettronica di programmi.
Per questo motivo, un set-top box può richiedere che il sistema di provisioning fornisca ulteriori informazioni per l'inizializzazione o la configurazione delle funzionalità aggiuntive.
In questo documento viene descritto l'esempio di set-top box Motorola DCT5000. Quando il dispositivo ottiene un lease DHCP dal sistema di provisioning, deve inoltre essere fornito con un URL che funga da pagina iniziale per il dispositivo. In caso contrario, questa particolare marca di set-top box non utilizza correttamente tutti i livelli di funzionalità.
Nota: non utilizzare questo documento come riferimento per il provisioning di un set-top box Motorola DCT5000. Fare riferimento alla documentazione di Motorola come riferimento canonico.
In questo documento, il sistema server DHCP in uso è Cisco Network Registrar (CNR) versione 5.06. È possibile usare le versioni precedenti di CNR, ma il processo è diverso. È necessario immettere le informazioni in formato ASCII, una procedura che può richiedere molto tempo e risultare complessa.
Nota: si consiglia di utilizzare la procedura descritta in questo documento anziché definire manualmente il valore dell'opzione 43, come mostrato nelle versioni precedenti di CNR.
Nessun requisito specifico previsto per questo documento.
Le informazioni fornite in questo documento si basano sulla versione 5.06 di CNR.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
L'identificatore della classe del fornitore (opzione 60) può essere utilizzato dai client DHCP per identificare il fornitore e la funzionalità di un client DHCP. Le informazioni sono costituite da una stringa di caratteri o ottetti di lunghezza variabile con un significato specificato dal fornitore del client DHCP.
Un metodo con cui un client DHCP può comunicare che sta utilizzando un determinato tipo di hardware o firmware è impostare un valore nelle richieste DHCP denominato VCI (Vendor Class Identifier) (opzione 60). Ad esempio, i CM basati su DOCSIS 1.0 devono impostare il valore di questa opzione DHCP sulla stringa docsis1.0, mentre i CM basati su DOCSIS 1.1 impostano questo valore su docsis1.1. Questo metodo prevede che il server DHCP distingua tra i due tipi di CM ed elabori le richieste provenienti dai due tipi di modem in modo appropriato.
Alcuni tipi di set-top box consentono inoltre di impostare il VCI (opzione 60) per informare il server DHCP sul tipo di hardware e sulle funzionalità del dispositivo. Il valore impostato per questa opzione fornisce al server DHCP un suggerimento su eventuali informazioni aggiuntive necessarie al client per una risposta DHCP.
Codice | Len | Identificatore classe fornitore | ||
---|---|---|---|---|
60 | n | i1 | i2 | ............. |
Nota: l'opzione 60 è definita nella RFC 2132 .
L'opzione più comune in base alla quale i set-top box si aspettano che vengano restituite informazioni aggiuntive specifiche del fornitore, in base al VCI inviato, è tramite un'opzione DHCP chiamata Vendor Specific Information Option (opzione 43). Il formato di questa opzione è definito nella RFC 2132 . Tuttavia, la definizione dei valori restituiti da questa opzione è specificata dal fornitore interessato.
In base alla sezione 8.4 della RFC 2132 , questa opzione è in genere formattata in base a uno stile tipo, lunghezza, valore (TLV), in cui diverse informazioni possono essere rappresentate da diversi tipi di opzioni secondarie. Il significato del campo value è definito dal produttore del dispositivo terminale.
Codice | Len | Elemento dati | Codice | Len | Elemento dati | ||||
---|---|---|---|---|---|---|---|---|---|
T1 | n | d1 | d2 | ......... | T2 | n | D1 | D2 | ........ |
Quando un set-top box Motorola DCT5000 invia una richiesta DHCP, imposta il VCI (opzione 60) sul valore dct500.008X. La X può essere una cifra esadecimale compresa tra 0 e F a seconda delle funzionalità del set-top box. CNR utilizza queste informazioni per stabilire che un client DHCP è effettivamente un set-top box DCT5000.
Quando il CNR riconosce che una richiesta DHCP proviene da un DCT5000, il CNR deve restituire un URL iniziale nella risposta DHCP per consentire la corretta inizializzazione di un Motorola DCT5000. Motorola ha deciso che l'URL iniziale deve essere inviato come opzione secondaria di tipo 2 nell'opzione Vendor Specific Information Option (opzione 43).
Codice | Len | Elemento dati |
---|---|---|
2 | 61 | http://172.16.1.10/dtv/app/servicemanager/servicemanager.html |
Il primo passo che deve essere compiuto all’interno di CNR è quello di fornire a CNR informazioni sui VCI utilizzati dal set-top box. A tal fine, usare il comando nrcmd nell'utility dell'interfaccia della riga di comando CNR: vendor-option <vendor-option-name> crea <Vendor-class-identifier> .
Nota: questa configurazione può essere eseguita solo utilizzando il comando nrcmd. Non è possibile usare l'interfaccia GUI per questi comandi.
Dove:
vendor-option-name: l'identificativo che rappresenta il tipo di client che invia il VCI.
Vendor-class-identifier: il valore impostato dall'opzione Vendor Information Option (opzione 60) per un particolare tipo di dispositivo.
Nota: il campo vendor-option-name nel comando deve essere scritto in lettere minuscole. Se si utilizzano lettere maiuscole, queste vengono convertite in minuscole. Il campo Vendor-class-identifier (identificatore classe fornitore) può contenere lettere maiuscole e minuscole.
Nel caso dei set-top box DCT5000, queste sono le opzioni definite dal fornitore che riflettono i diversi tipi di DCT5000:
Vendor-option dct5000_80 create dct5000.0080 vendor-option dct5000_81 create dct5000.0081 vendor-option dct5000_82 create dct5000.0082 vendor-option dct5000_83 create dct5000.0083 vendor-option dct5000_84 create dct5000.0084 vendor-option dct5000_85 create dct5000.0085 vendor-option dct5000_86 create dct5000.0086 vendor-option dct5000_87 create dct5000.0087 vendor-option dct5000_88 create dct5000.0088 vendor-option dct5000_89 create dct5000.0089 vendor-option dct5000_8a create dct5000.008A vendor-option dct5000_8b create dct5000.008B vendor-option dct5000_8c create dct5000.008C vendor-option dct5000_8d create dct5000.008D vendor-option dct5000_8e create dct5000.008E vendor-option dct5000_8f create dct5000.008F
Se in futuro verranno installati altri tipi di set-top box nella rete e questi set-top box utilizzeranno VCI diversi, sarà possibile definirli in seguito.
Attualmente, la CNR non offre soluzioni per amalgamare questi diversi VCI in un'unica voce. CNR li tratta come entità completamente separate.
Il passaggio successivo è quello di definire il tipo di opzione secondaria 2 come tipo valido per ciascuno di questi VCI.
I tipi di opzione secondaria vengono creati utilizzando il comando nrcmd, vendor-option <vendor-option-name> definesuboption<suboption-name> <suboption-type-number> <option-data-type> .
Dove:
vendor-option-name: l'identificatore scelto per rappresentare il tipo di client.
suboption-name: il nome dell'opzione secondaria creata. Tale valore deve essere rappresentativo della funzione dell'opzione secondaria.
suboption-type-number: il numero del tipo di opzione secondaria per questa opzione secondaria.
option-data-type: il tipo di dati utilizzato da questa opzione secondaria. Ad esempio, IPADDR, STRING, BYTE_ARRAY. Altri tipi possono essere visualizzati utilizzando il comando nrcmd, option-datatype list.
Nota: i campi vendor-option-name e suboption-name di questo comando devono essere tutti specificati in lettere minuscole. Se si utilizzano lettere maiuscole, queste vengono convertite in minuscole. Il campo option-data-type può contenere lettere maiuscole e minuscole.
Nell'esempio, è necessario definire l'opzione secondaria con numero 2 per l'URL iniziale. Poiché l'URL è una stringa di testo, utilizzare il comando type STRING come opzione-data-type.
Vendor-option dct5000_80 definesuboption start_url 2 STRING vendor-option dct5000_81 definesuboption start_url 2 STRING vendor-option dct5000_82 definesuboption start_url 2 STRING vendor-option dct5000_83 definesuboption start_url 2 STRING vendor-option dct5000_84 definesuboption start_url 2 STRING vendor-option dct5000_85 definesuboption start_url 2 STRING vendor-option dct5000_86 definesuboption start_url 2 STRING vendor-option dct5000_87 definesuboption start_url 2 STRING vendor-option dct5000_88 definesuboption start_url 2 STRING vendor-option dct5000_89 definesuboption start_url 2 STRING vendor-option dct5000_8a definesuboption start_url 2 STRING vendor-option dct5000_8b definesuboption start_url 2 STRING vendor-option dct5000_8c definesuboption start_url 2 STRING vendor-option dct5000_8d definesuboption start_url 2 STRING vendor-option dct5000_8e definesuboption start_url 2 STRING vendor-option dct5000_8f definesuboption start_url 2 STRING
Se in futuro verranno definite funzionalità aggiuntive sul set-top box e sarà necessario definire altre opzioni secondarie, queste potranno essere specificate in modo simile in un secondo momento.
Il passaggio finale del processo consiste nell'associare l'opzione fornitore definita a un criterio e nel specificare i valori che le singole opzioni secondarie devono assumere. Questa operazione viene eseguita con il comando nrcmd, policy <nome-criterio> setvendoroption <nome-opzione-fornitore> <nome-opzione-secondaria> <valore-opzione-secondaria> .
Dove:
policy-name: il nome del criterio DHCP da cui i set-top box ricevono le opzioni. Questa opzione è stata configurata in precedenza.
vendor-option-name: l'identificatore scelto per rappresentare il tipo di client.
suboption-name: il nome dell'opzione secondaria.
suboption-value: il valore assegnato all'opzione secondaria nelle risposte DHCP. Questa opzione deve essere immessa in base al tipo di dati dell'opzione specificato durante la definizione dell'opzione secondaria.
Nota: nei campi nome opzione fornitore e nome opzione secondaria viene fatta distinzione tra maiuscole e minuscole. È importante assicurarsi che questi campi siano specificati in lettere minuscole. Il campo suboption-value (valore opzione secondaria) può essere specificato in lettere maiuscole o minuscole. Il campo suboption-value rileva la distinzione tra maiuscole e minuscole solo se il client che riceve l'opzione secondaria deve rilevare la distinzione tra maiuscole e minuscole.
Nell'esempio si supponga che sia stato creato un criterio per i set-top box denominato STB_policy. Inoltre, specificare un URL iniziale per ciascuno di questi tipi di set top box come http://172.16.1.10/dtv/app/servicemanager/servicemanager.htmlhttp://www.lookuptables.com/.
Questa operazione viene eseguita con i seguenti comandi nrcmd:
policy STB_policy setvendoroption dct5000_80 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_81 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_82 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_83 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_84 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_85 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_86 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_87 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_88 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_89 start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_8a start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_8b start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_8c start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_8d start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_8e start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html policy STB_policy setvendoroption dct5000_8f start_url http://172.16.1.10/dtv/app/ servicemanager/servicemanager.html
Se vengono specificati altri tipi di opzioni secondarie dei VCI, possono essere associati a policy e valori assegnati in modo simile.
In questa fase, le modifiche alla configurazione vengono salvate e il server DHCP può essere ricaricato per applicare le modifiche. A tal fine, è possibile usare il comando nrcmd con i seguenti comandi: salvataggio e ricaricamento del dhcp.
Nelle versioni precedenti di CNR, la funzionalità avanzata di informazioni specifiche del fornitore non era disponibile. Al contrario, l'opzione specifica del fornitore (opzione 43) doveva essere configurata manualmente in un criterio. Questa operazione non può essere eseguita in CNR 5.0. Se è necessario ricevere un valore nell'opzione 43, usare la suite di comandi vendor-option e policy setvendoroption.
Nelle versioni CNR precedenti alla 5.0, per configurare una policy in modo che fornisca un valore per l'opzione Vendor Specific Information Option (opzione 43), usare il comando policy <policy-name> setoption vendor-encapsulated-option <value-byte-array> .
Dove:
policy-name: il nome del criterio DHCP da cui Set Top Boxes riceve le opzioni. Questa opzione è stata configurata in precedenza.
value-byte-array: il valore assunto dall'intera opzione Vendor Specific Information Option (opzione 43) restituita, specificata come matrice di byte esadecimali.
Poiché il valore contenuto nell'opzione Vendor Specific Information Option (opzione 43) è elencato come una matrice di byte esadecimali e non sono presenti definizioni di sottotipo, l'intero campo richiesto deve essere decodificato nei codici ASCII appropriati.
Utilizzando una tabella di conversione esadecimale da testo a ASCII, come quella in http://www.lookuptables.com/ , è possibile convertire l'URL http://172.16.1.10/dtv/app/servicemanager/servicemanager.html in valori esadecimali equivalenti.
L'URL diventa il seguente valore:
68:74:74:70:3a:2f:2f:31:37:32:2e:31:36:2e:31:2e:31:30:2f:64: 74:76:2f:61:70:70:2f:73:65:72:76:69:63:65:6d:61:6e:61:67:65: 72:2f:73:65:72:76:69:63:65:6d:61:6e:61:67:65:72:2e:68:74:6d:6c
Per formattare correttamente l'opzione Vendor Specific Information (opzione 43), è necessario aggiungere i campi type and length all'inizio dell'array.
Codice | Len | Elemento dati |
---|---|---|
2 | 61 | http://172.16.1.10/dtv/app/servicemanager/servicemanager.html |
Codice | Len | Elemento dati |
---|---|---|
02 | 3D | 68:74:74:70:3a:2f:2f:31:37:32:2e:31:36:2e:31:2e:31:30:2f:64:74: 76:2f:61:70:70:2f:73:65:72:76:69:63:65:6d:61:6e:61:67:65:72:2f: 73:65:72:76:69:63:65:6d:61:6e:61:67:65:72:2e:68:74:6d:6c |
Come mostrato nella tabella, i byte esadecimali 61:3d devono essere anteposti alla stringa esadecimale che rappresenta l'URL iniziale. È possibile specificare l'intero valore dell'opzione Vendor Specific Information (opzione 43) usando questo comando nrcmd:
policy STB_policy setoption-vendor-encapsulated-option
02:3d:68:74:74:70:3a:2f:2f:31:37:32:2e:31:36:2e:31:2e:31:30:2f:64:74:76:2f:61:70:70:2f:73:65:72:76:69:63:65:6d:61:
6e:61:67:65:72:2f:73:65:72: 76:69:63:65:6d:61:6e:61:67:65:72:2e:68:74:6d:6c
Nota: l'intero comando viene eseguito su una riga.
Per verificare che i comandi di configurazione siano stati immessi correttamente, è possibile utilizzare i comandi nrcmd.
Il primo comando è vendor-option list. Come mostrato nell'output, l'output di questo comando fornisce un elenco delle opzioni del fornitore, assegnando al nome dell'opzione, all'ID della classe del fornitore e alla funzione dell'opzione del fornitore il valore read_only.
nrcmd> vendor-option list 100 Ok dct5000_80: name = dct5000_80 read-only = disabled vendor-class-id = dct5000.0080 dct5000_81: name = dct5000_81 read-only = disabled vendor-class-id = dct5000.0081 dct5000_82: name = dct5000_82 read-only = disabled vendor-class-id = dct5000.0082 dct5000_83: name = dct5000_83 read-only = disabled vendor-class-id = dct5000.0083 dct5000_84: name = dct5000_84 read-only = disabled vendor-class-id = dct5000.0084 dct5000_85: name = dct5000_85 read-only = disabled vendor-class-id = dct5000.0085 dct5000_86: name = dct5000_86 read-only = disabled vendor-class-id = dct5000.0086 dct5000_87: name = dct5000_87 read-only = disabled vendor-class-id = dct5000.0087 dct5000_88: name = dct5000_88 read-only = disabled vendor-class-id = dct5000.0088 dct5000_89: name = dct5000_89 read-only = disabled vendor-class-id = dct5000.0089 dct5000_8a: name = dct5000_8a read-only = disabled vendor-class-id = dct5000.008A dct5000_8b: name = dct5000_8b read-only = disabled vendor-class-id = dct5000.008B dct5000_8c: name = dct5000_8c read-only = disabled vendor-class-id = dct5000.008C dct5000_8d: name = dct5000_8d read-only = disabled vendor-class-id = dct5000.008D dct5000_8e: name = dct5000_8e read-only = disabled vendor-class-id = dct5000.008E dct5000_8f: name = dct5000_8f read-only = disabled vendor-class-id = dct5000.008F
Nota: per impostazione predefinita, la funzione di sola lettura dell'opzione fornitore è disabilitata. Per abilitare questa funzione, usare il comando vendor-option name enable in sola lettura. È necessario abilitare la funzionalità di sola lettura dell'opzione DHCP specifica del fornitore prima di usare l'opzione in un comando setVendoroption per impostare i dati per l'opzione.
Per verificare l'elenco delle opzioni secondarie fornite a ciascuna opzione del fornitore, usare il comando vendor-option vendor-option-name listsuboptions. Con questo comando, è possibile visualizzare il tipo di opzione secondaria e il valore. In questo output, è di tipo stringa e il valore è start_url.
nrcmd> vendor-option dct5000_80 listsuboptiovns 100 OK start_url(2) : string nrcmd> vendor-option dct5000_81 listsuboptions 100 OK start_url(2) : string
Per verificare che i valori corretti per l'opzione Vendor Specific Information Option (opzione 43) vengano restituiti ai client finali, è possibile attivare il debug esteso in CNR per visualizzare il contenuto delle opzioni DHCP nelle risposte DHCP ai client. Per ulteriori informazioni sull'attivazione del debug esteso in CNR, fare riferimento a Risoluzione dei problemi DHCP nelle reti via cavo con i debug di Cisco Network Registrar.