# Funcionalidade: Adicionar ONU Fiberhome via TL1 ## Descrição Esta funcionalidade permite adicionar ONUs Fiberhome via protocolo TL1, configurando automaticamente todos os parâmetros necessários através do UNM2000. ## Comando ``` adicionar onu fiberhome SERIAL ``` ou ``` fiberhome onu SERIAL ``` **Exemplo:** ``` adicionar onu fiberhome FHTT12345678 ``` ## Fluxo de Execução O processo de adição é **interativo** e coleta as seguintes informações: ### 1. Nome/Alias do Usuário - O bot solicita que você digite o nome ou alias do usuário - Este nome será usado como identificador da ONU no sistema - **Exemplo:** `joao_silva`, `cliente123` ### 2. Descoberta Automática da Porta PON - O sistema busca automaticamente em todas as portas PON (slots 1-20, portas 1-16) - Utiliza o comando `LST-UNREGONU` para encontrar a ONU descoberta - A ONU deve estar **ligada e descoberta** pela OLT ### 3. Tipo da ONU - Selecione o tipo da ONU via botões: - **AN5506-02-B** (2 portas Ethernet) - **AN5506-01-A** (1 porta Ethernet) ### 4. VLAN - Escolha entre: - **VLAN padrão 1002** (recomendado) - **VLAN customizada** (digite o número de 1 a 4094) ## Comandos TL1 Executados O sistema executa automaticamente a seguinte sequência de comandos TL1: ### 0. LST-UNREGONU - Descoberta da Porta PON ```tl1 LST-UNREGONU::OLTID=131.0.192.9,PONID=NA-NA-[slot]-[porta]:CTAG::; ``` - Busca em todas as portas PON (slots 1-20, portas 1-16) - Identifica em qual porta a ONU está descoberta ### 1. ADD-ONU - Autenticação da ONU ```tl1 ADD-ONU::OLTID=131.0.192.9,PONID=NA-NA-[portaalias]:CTAG::AUTHTYPE=MAC,ONUTYPE=[tipo],NAME=[usuario],ONUID=[serial]; ``` ### 2. SET-WANSERVICE - Configuração de WAN Services **Para ONU de 2 portas (AN5506-02-B):** ```tl1 SET-WANSERVICE::OLTID=131.0.192.9,PONID=NA-NA-[portaalias],ONUIDTYPE=MAC,ONUID=[serial]:CTAG::STATUS=1,MODE=2,CONNTYPE=1,VLAN=[vlan],COS=0,QOS=2,UPORT=1; SET-WANSERVICE::OLTID=131.0.192.9,PONID=NA-NA-[portaalias],ONUIDTYPE=MAC,ONUID=[serial]:CTAG::STATUS=1,MODE=2,CONNTYPE=1,VLAN=[vlan],COS=0,QOS=2,UPORT=2; ``` **Para ONU de 1 porta (AN5506-01-A):** ```tl1 SET-WANSERVICE::OLTID=131.0.192.9,PONID=NA-NA-[portaalias],ONUIDTYPE=MAC,ONUID=[serial]:CTAG::STATUS=1,MODE=2,CONNTYPE=1,VLAN=[vlan],COS=0,QOS=2,UPORT=1; ``` ### 3. CFG-WEBADMINISTRATOR - Configuração de Autenticação Web ```tl1 CFG-WEBADMINISTRATOR::OLTID=131.0.192.9,PONID=NA-NA-[portaalias],ONUIDTYPE=MAC,ONUID=[serial]:CTAG::WEBUSERNAME=admin,WEBPASSWORD=clicknet10; ``` ### 4. RESET-ONU - Reinicialização da ONU ```tl1 RESET-ONU::OLTID=131.0.192.9,PONID=NA-NA-[portaalias],ONUIDTYPE=MAC,ONUID=[serial]:CTAG::; ``` ## Parâmetros de Configuração ### Autenticação - **Tipo:** MAC (autenticação por endereço MAC) - **Serial:** Fornecido pelo usuário (formato: FHTTXXXXXXXX) ### WAN Service - **STATUS:** 1 (ativo) - **MODE:** 2 (INTERNET) - **CONNTYPE:** 1 (Bridge) - **VLAN:** Configurável (padrão: 1002) - **COS:** 0 - **QOS:** 2 (desabilitado) - **UPORT:** 1 ou 2 (dependendo da porta) ### Autenticação Web - **Username:** admin (fixo) - **Password:** clicknet10 (fixo) ## Mensagens de Retorno ### Sucesso ``` ✅ ONU Fiberhome Adicionada com Sucesso! 👤 Usuário: joao_silva 🏢 OLT: 131.0.192.9 📡 Porta descoberta: Slot 7, PON 1 📱 Serial: FHTT12345678 🔌 Tipo: AN5506-02-B 🏷️ VLAN: 1002 ⚙️ Portas configuradas: 2 🔐 Login Web: admin / clicknet10 ⚡ A ONU foi reiniciada e estará disponível em alguns instantes. ``` ### Erro ``` ❌ Erro ao adicionar ONU Fiberhome ⚠️ [Mensagem de erro detalhada] ``` ## Estrutura de Código ### Arquivos Modificados/Criados 1. **src/fiberhome/manager_tl1.js** - Método `descobrirPortaPON()`: Busca ONU nas portas PON - Método `adicionarOnuFiberhome()`: Executa sequência de comandos TL1 - Configuração da OLT única (131.0.192.9) 2. **src/nlp/processor.js** - Adicionado reconhecimento de padrões para comando Fiberhome 3. **src/bot/handler.js** - `handleAdicionarOnuFiberhome()`: Inicia processo interativo - `handleUserSessionInput()`: Processa inputs do usuário - `executarAdicaoOnuFiberhome()`: Executa adição da ONU - `handleFiberhomeOnuTypeCallback()`: Callback para tipo de ONU - `handleFiberhomeVlanCallback()`: Callback para VLAN ## Sessões de Usuário O sistema utiliza sessões para armazenar temporariamente os dados coletados: ```javascript { action: 'adicionar_onu_fiberhome_step1|2|3', serial: 'FHTT12345678', usuario: 'joao_silva', onuType: 'AN5506-02-B', vlan: 1002, timestamp: Date.now() } ``` ### Fluxo de Steps 1. **step1**: Aguardando nome do usuário 2. **step2**: Aguardando seleção do tipo de ONU e VLAN 3. **step3**: Aguardando VLAN customizada (se aplicável) ## Segurança - Apenas usuários autorizados podem executar o comando - Validação de VLAN (1-4094) - Timeout de sessão para evitar sessões orfãs - Logging detalhado de todas as operações ## Logs Todos os passos são registrados no logger: ```javascript logger.info('Iniciando adição de ONU Fiberhome via TL1', { nameOlt, portAlias, serial, usuario, vlan, onuType }); logger.debug('Executando ADD-ONU', { comando }); logger.warn('Aviso ao configurar WAN porta', { erro }); logger.error('Erro ao adicionar ONU Fiberhome', { erro }); ``` ## Exemplos de Uso ### Exemplo 1: ONU de 2 portas com VLAN padrão ``` Usuário: adicionar onu fiberhome FHTT12345678 Bot: 👤 Digite o nome/alias do usuário: Usuário: cliente_123 Bot: 🔌 Selecione o tipo da ONU: [Usuário seleciona: AN5506-02-B] Bot: 🏷️ VLAN: A VLAN padrão é 1002... [Usuário seleciona: Usar VLAN 1002 (padrão)] Bot: ⏳ Adicionando ONU Fiberhome... 🔍 Descobrindo porta PON automaticamente... Bot: ✅ ONU Fiberhome Adicionada com Sucesso! 📡 Porta descoberta: Slot 7, PON 1 ``` ### Exemplo 2: ONU de 1 porta com VLAN customizada ``` Usuário: fiberhome onu FHTT87654321 Bot: 👤 Digite o nome/alias do usuário: Usuário: empresa_xyz Bot: 🔌 Selecione o tipo da ONU: [Usuário seleciona: AN5506-01-A] Bot: 🏷️ VLAN: A VLAN padrão é 1002... [Usuário seleciona: Usar outra VLAN] Bot: Digite o número da VLAN (1-4094): Usuário: 603 Bot: ⏳ Adicionando ONU Fiberhome... 🔍 Descobrindo porta PON automaticamente... Bot: ✅ ONU Fiberhome Adicionada com Sucesso! 📡 Porta descoberta: Slot 3, PON 4 ``` ## Troubleshooting ### Erro: "Não foi possível conectar ao UNM2000" - Verificar conectividade de rede com 131.0.192.9:3337 - Verificar credenciais de login TL1 ### Erro: "ONU não encontrada em nenhuma porta PON" - Verificar se a ONU está **ligada** - Verificar se a ONU está **descoberta** pela OLT - Verificar se o serial está correto (formato: FHTTXXXXXXXX) - A ONU precisa estar no estado "unregistered" para ser descoberta ### Erro: "Falha ao adicionar ONU" - Verificar se a ONU já não está cadastrada - Verificar se há espaço disponível na porta PON - Verificar logs do UNM2000 ### Erro: "Sessão expirada" - Reiniciar o processo com o comando inicial - Não demorar muito entre as respostas - Completar o fluxo sem interrupções ## Referências - Manual TL1 Fiberhome: `material/fiberhometl1.txt` - Documentação UNM2000: Seção 5.1 "ONU Configuration (FTTH)"