7.7 KiB
Funcionalidade: Adicionar ONU
Descrição
Nova funcionalidade implementada para adicionar ONUs automaticamente nas OLTs, incluindo descoberta de slot, determinação de ONU ID disponível, configuração de VLAN e criação de service-port.
Como Usar
Comando de Texto
adicionar onu SERIAL_DA_ONU
add onu SERIAL_DA_ONU
cadastrar onu SERIAL_DA_ONU
criar onu SERIAL_DA_ONU
registrar onu SERIAL_DA_ONU
Exemplos
adicionar onu FHTT12345678add onu DACM91569513cadastrar onu ABCD12345678
Fluxo de Operação
1. Comando Inicial
O usuário digita o comando com o serial da ONU que deseja adicionar.
2. Seleção da OLT
O bot apresenta uma lista das OLTs disponíveis para o usuário escolher onde adicionar a ONU.
3. Descoberta do Slot
O sistema executa show interface gpon discovered-onus para encontrar o slot onde a ONU foi descoberta.
4. Análise de ONU IDs
O sistema executa show interface gpon SLOT onu | nomore para descobrir quais ONU IDs (0-127) estão em uso.
5. Determinação da VLAN
Com base na OLT e slot, o sistema determina automaticamente o VLAN ID usando o mapeamento pré-configurado.
6. Confirmação
Antes de adicionar, o bot exibe todas as informações e pede confirmação:
- Serial da ONU
- Slot descoberto
- ONU ID que será usado
- VLAN ID
- Configurações que serão aplicadas
7. Adição Automática
Após confirmação, o sistema executa automaticamente todos os comandos necessários.
Comandos SSH Executados
Descoberta do Slot
show interface gpon discovered-onus
Verificação de ONU IDs em Uso
show interface gpon 1/1/3 onu | nomore
Configuração da ONU
config
interface gpon 1/1/3 # Slot descoberto
onu 42 # Próximo ID disponível
line-profile DM986-100
serial-number FHTT12345678
ethernet 1
native vlan vlan-id 603 # VLAN baseada na OLT/slot
top
service-port new
gpon 1/1/3 onu 42 gem 1 match vlan vlan-id 603 action vlan replace vlan-id 603
commit
top
exit
exit
Mapeamento de VLANs
OLT DITO
| Slot | VLAN |
|---|---|
| 1/1/1 | 601 |
| 1/1/2 | 602 |
| 1/1/3 | 603 |
| 1/1/4 | 604 |
OLT COLMEIA
| Slot | VLAN |
|---|---|
| 1/1/1 | 605 |
| 1/1/2 | 606 |
| 1/1/3 | 607 |
| 1/1/4 | 608 |
| 1/1/5 | 609 |
| 1/1/6 | 610 |
| 1/1/7 | 611 |
| 1/1/8 | 612 |
| 1/1/9 | 613 |
| 1/1/10 | 614 |
| 1/1/11 | 608 |
| 1/1/12 | 616 |
| 1/1/13 | 617 |
| 1/1/14 | 618 |
| 1/1/15 | 619 |
| 1/1/16 | 620 |
OLT CANAA
| Slot | VLAN |
|---|---|
| 1/1/1 | 605 |
| 1/1/2 | 606 |
| 1/1/3 | 607 |
| 1/1/4 | 608 |
| 1/1/5 | 609 |
| 1/1/6 | 610 |
| 1/1/7 | 611 |
| 1/1/8 | 612 |
OLT CANAA 2
| Slot | VLAN |
|---|---|
| 1/1/1 | 621 |
| 1/1/2 | 622 |
| 1/1/3 | 623 |
| 1/1/4 | 624 |
| 1/1/5 | 625 |
| 1/1/6 | 626 |
| 1/1/7 | 627 |
| 1/1/8 | 628 |
OLT PEDRO AFONSO 1
| Slot | VLAN |
|---|---|
| 1/1/1 | 301 |
| 1/1/2 | 302 |
| 1/1/3 | 303 |
| 1/1/4 | 304 |
| 1/1/5 | 305 |
| 1/1/6 | 306 |
| 1/1/7 | 307 |
| 1/1/8 | 308 |
| 1/1/9 | 309 |
| 1/1/10 | 310 |
| 1/1/11 | 311 |
| 1/1/12 | 312 |
| 1/1/13 | 313 |
| 1/1/14 | 314 |
| 1/1/15 | 315 |
| 1/1/16 | 316 |
OLT CANAVIEIRAS
| Slot | VLAN |
|---|---|
| 1/1/1 | 601 |
| 1/1/2 | 602 |
| 1/1/3 | 603 |
| 1/1/4 | 604 |
| 1/1/5 | 605 |
| 1/1/6 | 606 |
| 1/1/7 | 607 |
| 1/1/8 | 608 |
| 1/1/9 | 609 |
| 1/1/10 | 610 |
| 1/1/11 | 611 |
| 1/1/12 | 612 |
| 1/1/13 | 613 |
| 1/1/14 | 614 |
| 1/1/15 | 615 |
| 1/1/16 | 616 |
Recursos de Segurança
Confirmação Obrigatória
- Sistema exige confirmação explícita antes de adicionar
- Exibe todas as configurações que serão aplicadas
- Mostra ONU IDs já em uso no slot
Validação de Dados
- Verifica se a ONU está na lista de discovered-onus
- Encontra automaticamente o próximo ONU ID disponível
- Valida se existe VLAN configurada para a OLT/slot
Processo Controlado
- Usa shell interativo para manter contexto
- Timeout de segurança (90 segundos)
- Logging detalhado de todas as operações
Tratamento de Erros
ONU Não Descoberta
- Mensagem clara informando que a ONU não está na lista discovered-onus
- Sugestão para verificar se a ONU está ligada
Slot Lotado
- Informa quando todos os ONU IDs (0-127) estão em uso
- Sugere usar outro slot ou remover ONUs não utilizadas
VLAN Não Configurada
- Alerta quando não há VLAN mapeada para a OLT/slot
- Informa as configurações necessárias
Timeout
- Processo é interrompido após 90 segundos
- Conexão é fechada adequadamente
Resultados
Sucesso
✅ ONU Adicionada com Sucesso!
📱 Serial: FHTT12345678
📍 Localização: Slot 1/1/3, ONU 42
🏷️ VLAN: 603
🔌 Service-port: 1234
🏢 OLT: DITO
✅ Configurações aplicadas:
• Line-profile: DM986-100
• Serial number: FHTT12345678
• Ethernet: porta 1
• Native VLAN: 603
• Service-port: criado e configurado
• Configuração commitada
🎉 A ONU está pronta para uso!
Erro
❌ Não foi possível adicionar a ONU
📱 Serial: FHTT12345678
🏢 OLT: DITO
❌ Erro: ONU FHTT12345678 não encontrada na lista de discovered-onus
💡 Dica: Verifique se a ONU está ligada e descoberta pela OLT.
Use o comando: show interface gpon discovered-onus
Arquivos Modificados
1. src/ssh/manager.js
getVlanMapping()- Mapeamento de VLANs por OLT/slotdiscoverOnuSlot()- Descobre slot da ONU na lista discovered-onusgetUsedOnuIds()- Lista ONU IDs já em uso em um slotfindNextAvailableOnuId()- Encontra próximo ID disponíveladdOnu()- Adiciona ONU completa (shell interativo)addOnuBySerial()- Processo completo por serial
2. src/nlp/processor.js
- Adicionado 'adicionar_onu' aos actionSynonyms
- Novos padrões regex para comandos de adição
- Suporte para variações de comando (add, criar, cadastrar, registrar)
3. src/bot/handler.js
handleAdicionarOnu()- Interface para comando adicionarhandleAddOnuCallback()- Callback para seleção de OLT e análisehandleConfirmAddCallback()- Callback para confirmação e execução- Atualização da mensagem de help
Considerações Técnicas
Performance
- Processo otimizado em etapas bem definidas
- Uso de shell interativo para operações complexas
- Timeout de 90 segundos para operações da OLT
Confiabilidade
- Validação em todas as etapas
- Descoberta automática de configurações
- Logs detalhados para troubleshooting
Usabilidade
- Interface intuitiva com botões
- Mensagens claras e informativas
- Confirmação visual antes da ação
Limitações
- Dependência de Discovered-onus: ONU deve estar na lista discovered-onus
- Mapeamento Fixo: VLANs são pré-configuradas no código
- Timeout: Operações longas podem exceder 90s
- Dependência SSH: Requer conectividade estável
Próximas Melhorias
- VLAN Configurável: Permitir definir VLAN customizada
- Line-profile Dinâmico: Detectar modelo da ONU automaticamente
- Validação Pós-adição: Verificar se ONU subiu corretamente
- Adição em Lote: Adicionar múltiplas ONUs de uma vez
Teste da Funcionalidade
Cenário de Teste
- Certifique-se que há uma ONU na lista discovered-onus
- Digite:
adicionar onu SERIAL_DA_ONU - Selecione uma OLT na lista
- Verifique as informações exibidas
- Confirme a adição
- Aguarde conclusão da operação
Comandos de Teste
adicionar onu TESTE123456add onu TESTE123456cadastrar onu TESTE123456criar TESTE123456
Verificação Manual
# Verificar se ONU está discovered
show interface gpon discovered-onus
# Verificar ONU IDs em uso
show interface gpon 1/1/3 onu | nomore
# Após adição, verificar se ONU subiu
show interface gpon 1/1/3 onu ONUID
# Verificar service-port criado
show running-config service-port