Um decodificador de sinais em uma planta de cabos DOCSIS (Data-over-Cable Service Interface Specifications) é um caso especial de um modem a cabo (CM). O decodificador de sinais usa os mesmos procedimentos para ficar on-line e receber conectividade de rede. No entanto, um decodificador de sinais geralmente tem níveis extras de funcionalidade que os CMs padrão não têm, como serviços de televisão, pay-per-view e um guia eletrônico de programas.
Por esse motivo, um decodificador de sinais pode exigir que o sistema de provisionamento forneça informações adicionais para ajudá-lo a inicializar ou configurar a funcionalidade extra.
Neste documento, o exemplo de um decodificador de caixa Motorola DCT5000 é descrito. Quando esse dispositivo obtém um aluguel de DHCP do sistema de provisionamento, ele também precisa ser fornecido com um URL que atue como uma página inicial do dispositivo. Caso contrário, essa marca específica de decodificador de sinais não usa corretamente todos os níveis de funcionalidade.
Observação: não use este documento como referência para provisionar um decodificador de caixa Motorola DCT5000. Consulte a documentação do Motorola como referência canônica.
Neste documento, o sistema de servidor DHCP usado é o Cisco Network Registrar (CNR) versão 5.06. É possível usar versões anteriores do CNR, mas o processo é diferente. Você deve inserir as informações no formato ASCII, que pode ser um procedimento demorado e complexo.
Observação: é recomendável usar o processo descrito neste documento em vez de definir manualmente o valor para a Opção 43, conforme visto em versões anteriores do CNR.
Não existem requisitos específicos para este documento.
As informações neste documento são baseadas na versão 5.06 do CNR.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
O Vendor Class Identifier (Opção 60) pode ser usado por clientes DHCP para identificar o fornecedor e a funcionalidade de um cliente DHCP. As informações são uma string de comprimento variável de caracteres ou octetos que tem um significado especificado pelo fornecedor do cliente DHCP.
Um método que um cliente DHCP pode comunicar que está usando um determinado tipo de hardware ou firmware é definir um valor em suas solicitações DHCP chamado VCI (Vendor Class Identifier) (Identificador de classe de fornecedor) (Opção 60). Por exemplo, CMs baseados em DOCSIS 1.0 devem definir o valor dessa opção de DHCP para a string docsis1.0, enquanto CMs baseados em DOCSIS 1.1 definem esse valor como docsis1.1. Esse método tem um servidor DHCP diferenciando os dois tipos de CMs e processando as solicitações dos dois tipos de modems de forma apropriada.
Alguns tipos de decodificadores de sinais também definem a VCI (Opção 60) para informar o servidor DHCP sobre o tipo de hardware e a funcionalidade do dispositivo. O valor que esta opção está definida para dá ao servidor DHCP uma dica sobre qualquer informação extra necessária que este cliente precisa em uma resposta DHCP.
Code | Len | Identificador de classe de fornecedor | ||
---|---|---|---|---|
60 | n | i1 | i2 | ............. |
Observação: a opção 60 é definida na RFC 2132 .
A opção mais comum que os decodificadores esperam que informações adicionais específicas do fornecedor, baseadas no VCI enviado, sejam retornadas, é através de uma opção DHCP chamada Opção de Informações Específicas do Fornecedor (Opção 43). O formato para esta opção está definido no RFC 2132 . No entanto, a definição dos valores retornados por esta opção é especificada pelo fornecedor envolvido.
De acordo com a Seção 8.4 do RFC 2132 , esta opção é tipicamente formatada em um estilo tipo, comprimento, valor (TLV), onde diferentes informações podem ser representadas por diferentes tipos de subopção. O significado do campo value é definido pelo fabricante do dispositivo final.
Code | Len | Item de dados | Code | Len | Item de dados | ||||
---|---|---|---|---|---|---|---|---|---|
T1 | n | d1 | d2 | ......... | T2 | n | D1 | D2 | ........ |
Quando um decodificador de caixa do Motorola DCT5000 envia uma solicitação DHCP, ele define o VCI (Opção 60) como um valor dct5000.008X. O X pode ser um dígito hexadecimal de 0 a F, dependendo dos recursos do decodificador de sinais. O CNR usa essas informações para determinar se um cliente DHCP é realmente um decodificador de caixa DCT5000.
Quando o CNR reconhece que uma solicitação DHCP é de um DCT5000, o CNR precisa retornar uma URL inicial na resposta DHCP para que um Motorola DCT5000 seja inicializado corretamente. O Motorola decidiu que esse URL inicial precisa ser enviado como uma subopção tipo 2 na Opção de Informações Específicas do Fornecedor (Opção 43).
Code | Len | Item de dados |
---|---|---|
2 | 61 | http://172.16.1.10/dtv/app/servicemanager/servicemanager.html |
A primeira etapa que precisa ocorrer dentro do CNR é informar ao CNR sobre os VCIs usados pelo decodificador de sinais. Isso é feito emitindo o comando nrcmd no utilitário de interface de linha de comando CNR: opção de fornecedor <nome-opção-fornecedor> criar <Identificador-classe-fornecedor> .
Observação: essa configuração só pode ser executada usando o comando nrcmd. Não é possível usar a interface GUI para esses comandos.
Where:
nome-opção-fornecedor — O identificador que representa o tipo de cliente que envia o VCI.
Vendor-class-identifier — O valor que a opção de informações do fornecedor (opção 60) é definida por um tipo específico de dispositivo.
Observação: o campo nome da opção do fornecedor no comando deve ser especificado em letras minúsculas. Se forem usadas letras maiúsculas, elas serão convertidas para minúsculas. O campo Vendor-class-identifier pode ter letras maiúsculas e minúsculas.
No caso das caixas set-top DCT5000, essas são as opções de fornecedor definidas que refletem os diferentes tipos de DCT5000s:
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 outros tipos de decodificadores de sinais forem implantados na sua rede no futuro, e se esses decodificadores de sinais usarem VCIs diferentes, eles poderão ser definidos posteriormente.
Atualmente, não há solução no CNR para amalgamar esses diferentes VCIs em uma entrada. O CNR os trata como entidades completamente separadas.
A próxima etapa é definir a subopção tipo 2 como um tipo válido para cada um desses VCIs.
Os tipos de subopção são criados usando o comando nrcmd, opção de fornecedor <nome-opção-fornecedor> definesuboption <nome-subopção> <número-tipo-subopção> <tipo-dados-opção> .
Where:
nome-opção-fornecedor — O identificador escolhido para representar o tipo de cliente.
suboption-name —O nome da subopção que está sendo criada. Isso deve ser representativo da função da subopção.
suboption-type-number — O número do tipo de subopção para esta subopção.
option-data-type —O tipo de dados que esta subopção usa. Por exemplo, IPADDR, STRING, BYTE_ARRAY. Outros tipos podem ser vistos usando o comando nrcmd, option-datatype list.
Observação: o campo nome da opção do fornecedor e nome da subopção desse comando deve ser especificado em letras minúsculas. Se as letras maiúsculas forem usadas, elas serão convertidas para minúsculas. O campo option-data-type pode ter letras maiúsculas e minúsculas.
Para este exemplo, você precisa definir a subopção número 2 para o URL inicial. Como a URL é uma string de texto, emita o comando type STRING como option-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 a funcionalidade extra for definida no decodificador no futuro, e outras subopções precisarem ser definidas, elas poderão ser especificadas de maneira semelhante em um estágio posterior.
A etapa final no processo é associar a opção de fornecedor definida a uma política e especificar os valores que as subopções individuais devem tomar. Isso é executado com o comando nrcmd, policy <policy-name> setvendoroption <nome-opção-fornecedor> <nome-subopção> <valor-subopção> .
Where:
policy-name — O nome da política DHCP a partir da qual os decodificadores recebem opções. Isso foi configurado anteriormente.
nome-opção-fornecedor — O identificador escolhido para representar o tipo de cliente.
suboption-name — O nome da subopção.
suboption-value — O valor fornecido à subopção nas respostas DHCP. Isso deve ser inserido de acordo com o tipo option-data especificado ao definir a subopção.
Observação: os campos nome da opção do fornecedor e nome da subopção diferenciam maiúsculas de minúsculas. É importante certificar-se de que esses campos estejam especificados em letras minúsculas. O campo suboption-value pode ser especificado em maiúsculas ou minúsculas. O campo de valor de subopção somente diferencia maiúsculas e minúsculas se o cliente que está recebendo a subopção precisa que seja assim.
Para este exemplo, suponha que uma política para caixas set-top foi criada e é chamada de STB_policy. Além disso, especifique um URL inicial para cada um desses tipos de Set Top Boxes como http://172.16.1.10/dtv/app/servicemanager/servicemanager.htmlhttp://www.lookuptables.com/.
Isso é executado com estes comandos 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 outros tipos de subopção de VCIs forem especificados, eles poderão ser associados a políticas e valores atribuídos de maneira semelhante.
Neste estágio, as alterações de configuração são salvas e o servidor DHCP pode ser recarregado para aplicar as alterações. Isso pode ser feito ao emitir nrcmd com estes comandos: dhcp save and reload.
Em versões anteriores do CNR, a funcionalidade de opção de informações específicas do fornecedor avançado não estava disponível. Em vez disso, era preciso configurar manualmente a Opção Específica do Fornecedor (Opção 43) em uma política. Isso não pode ser feito no CNR 5.0. Se um valor na Opção 43 precisar ser recebido, você deve emitir o conjunto de comandos opção de fornecedor e definição de política.
Nas versões CNR anteriores à 5.0, para configurar uma política para fornecer um valor para a Opção de Informações Específicas do Fornecedor (Opção 43), você emite o comando policy <policy-name> setoption: encapsulated-option <value-byte-array> .
Where:
policy-name — O nome da política DHCP da qual as Set Top Boxes recebem opções. Isso foi configurado anteriormente.
value-byte-array — O valor obtido por todo o Vendor Specific Information Option (Opção 43) retornado especificado como uma matriz de bytes hexadecimais.
Como o valor contido na Opção de Informações Específicas do Fornecedor (Opção 43) é listado como uma matriz de bytes hexadecimais e como nenhuma definição de subtipo é estabelecida, todo o campo obrigatório deve ser decodificado em códigos ASCII apropriados.
Usando um texto para a tabela de conversão hexadecimal ASCII, como a em http://www.lookuptables.com/ , você pode converter o URL, http://172.16.1.10/dtv/app/servicemanager/servicemanager.html, em valores hexadecimais equivalentes.
Este URL torna-se este valor:
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
Para formatar corretamente a Opção de Informações Específicas do Fornecedor (Opção 43), é necessário adicionar os campos tipo e comprimento no início deste storage.
Code | Len | Item de dados |
---|---|---|
2 | 61 | http://172.16.1.10/dtv/app/servicemanager/servicemanager.html |
Code | Len | Item de dados |
---|---|---|
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 |
Como visto nesta tabela, os bytes hexadecimais 61:3d precisam ser precedidos na string hexadecimal que representa o URL inicial. Você pode especificar o valor inteiro para a Opção de Informações Específicas do Fornecedor (Opção 43) emitindo este comando nrcmd:
policy STB_policy setoption-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 0: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
Observação: todo este comando é executado em uma linha.
Para verificar se os comandos de configuração foram inseridos corretamente, você pode emitir comandos nrcmd.
O primeiro comando é lista de opções de fornecedor. Como visto nesta saída, a saída deste comando fornece uma lista das opções do fornecedor, dando nome de opção do fornecedor, o ID da classe do fornecedor e o recurso da opção do fornecedor somente de leitura.
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
Observação: o recurso de opção de fornecedor somente leitura está desabilitado por padrão. Se quiser habilitar isso, emita o comando vendor-option name enable read-only. O recurso somente de leitura do opcional de DHCP específico do fornecedor deve ser ativado antes de utilizar o opcional em um comando a policy name setVendoroption para configurar os dados para o opcional.
Para verificar a lista de subopções fornecidas a cada opção de fornecedor, emita o comando opção fornecedor fornecedor-opção-nome-opção listsubopções. Com esse comando, você pode ver o tipo e o valor da subopção. Nesta saída, é o tipo string e o valor é 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
Para verificar se os valores corretos para a Opção de Informações Específicas do Fornecedor (Opção 43) estão sendo retornados aos clientes finais, é possível ativar a depuração estendida no CNR para exibir o conteúdo das opções DHCP nas respostas DHCP aos clientes. Consulte Troubleshooting de DHCP Problems in Cable Networks using Cisco Network Registrar Debugs para obter mais informações sobre como ativar a depuração estendida no CNR.