fiberhome: add prelimunary add ONU support
Signed-off-by: Rodrigo Bertoldo de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
600555596d
commit
ee22ecf693
4 files changed
+724
No files matched your search
@@ -0,0 +1,250 @@
|
||||
# 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)"
|
||||
Reference in new issue
Block a user