# TEMPLATE: AGREGAR NUEVO SERVICIO
# Fecha: _____________
# Servicio: _____________
# Tipo: [ ] TipoTarot [ ] TipoVisaT [ ] Otro: _____________

## DATOS DEL SERVICIO

- Número: _______________ (ej: 918123456)
- Alias/Nombre comercial: _______________
- Tipo número: [ ] Geográfico [ ] Móvil [ ] 806 [ ] 900
- Locución bienvenida: _______________ (nombre archivo sin extensión)
- Máximo llamadas simultáneas: _______________
- CLI permitido (vacío = todos): _______________

## CONFIGURACIÓN DE AGENTES

### Opción A: Lista de agentes específicos
Agentes asignados (separados por comas): _______________
Ejemplo: 350,324,355

### Opción B: Grupo/Cola
Nombre de cola: _______________

## HORARIOS (Opcional)

[ ] 24x7
[ ] Horario específico:
  - Lunes a Viernes: ___:___ a ___:___
  - Sábados: ___:___ a ___:___
  - Domingos: [ ] Cerrado [ ] ___:___ a ___:___
  - Festivos: [ ] Cerrado [ ] Como domingo

## PASOS A EJECUTAR

### 1. BACKUP
```bash
# Ejecutado por: _______________ Fecha/Hora: _______________
mysqldump -u asteriskuser -p asterisk > backup_asterisk_$(date +%Y%m%d_%H%M%S).sql
mysqldump -u asteriskuser -p panel_tarot > backup_panel_$(date +%Y%m%d_%H%M%S).sql
```

### 2. CONFIGURAR EN BASE DE DATOS
```sql
-- NOTA: Verificar tabla correcta de configuración de servicios
-- La tabla numeros_empresa no existe, buscar alternativa

INSERT INTO [TABLA_SERVICIOS] (
    numero,
    tipo_numero,
    alias,
    locucion,
    prio1,
    prio2,
    maxllamadas,
    allowed_cli,
    activo
) VALUES (
    '_______________',     -- Número del servicio
    '_______________',     -- Tipo
    '_______________',     -- Alias
    '_______________',     -- Locución
    '_______________',     -- TipoTarot/TipoVisaT/Default
    '_______________',     -- Lista de agentes
    _______________,      -- Max llamadas
    '_______________',     -- CLI permitido o NULL
    1                     -- Activo
);
```

### 3. SUBIR ARCHIVO DE AUDIO
```bash
# Archivo origen: _______________
# Convertir a formato Asterisk
sox _______________.mp3 -r 8000 -c 1 /var/lib/asterisk/sounds/es/_______________.wav

# Establecer permisos
chown asterisk:asterisk /var/lib/asterisk/sounds/es/_______________.wav
chmod 644 /var/lib/asterisk/sounds/es/_______________.wav

# Verificar
ls -la /var/lib/asterisk/sounds/es/_______________.wav
```

### 4. CONFIGURAR HORARIOS (Si aplica)
```sql
-- Si se implementó tabla de horarios
INSERT INTO service_hours (service_number, day_of_week, start_time, end_time)
VALUES 
    ('_______________', 1, '___:___:00', '___:___:00'),  -- Lunes
    ('_______________', 2, '___:___:00', '___:___:00'),  -- Martes
    ('_______________', 3, '___:___:00', '___:___:00'),  -- Miércoles
    ('_______________', 4, '___:___:00', '___:___:00'),  -- Jueves
    ('_______________', 5, '___:___:00', '___:___:00');  -- Viernes
```

### 5. PRUEBAS

#### Test 1: Verificar configuración
```sql
SELECT * FROM [TABLA_SERVICIOS] WHERE numero = '_______________';
```

#### Test 2: Llamada de prueba manual
```bash
# Desde CLI Asterisk
asterisk -rx "originate PJSIP/[EXTENSION_PRUEBA] extension _______________@from-trunk"

# O desde coordinador
asterisk -rx "originate PJSIP/200 extension _______________@from-trunk"
```

#### Test 3: Verificar logs
```bash
tail -f /var/log/asterisk/python_call_system.log | grep _______________
```

#### Test 4: Verificar que se reproduce locución
- [ ] Se escucha archivo de bienvenida
- [ ] Audio con calidad correcta
- [ ] Duración apropiada

#### Test 5: Verificar asignación de agentes
- [ ] Llama al primer agente disponible
- [ ] Si no hay agentes, mensaje apropiado
- [ ] Respeta orden de prioridad

### 6. DOCUMENTACIÓN

#### Actualizar CHANGELOG
```bash
echo "## [$(date +%Y-%m-%d)] - Agregado servicio _______________
- Número: _______________
- Tipo: _______________
- Agentes asignados: _______________
- Locución: _______________" >> /var/www/html/CHANGELOG.md
```

#### Notificar al equipo
- [ ] Email a operaciones
- [ ] Actualizar wiki/documentación
- [ ] Informar a agentes asignados

## VERIFICACIÓN POST-IMPLEMENTACIÓN

### A las 24 horas verificar:
- [ ] Llamadas entrando correctamente
- [ ] CDR registrando bien
- [ ] Sin errores en logs
- [ ] Agentes recibiendo llamadas

### Métricas a revisar:
- Total llamadas recibidas: _______________
- Llamadas contestadas: _______________
- Llamadas perdidas: _______________
- Tiempo promedio espera: _______________

## ROLLBACK (Si necesario)

```sql
-- Desactivar servicio
UPDATE [TABLA_SERVICIOS] SET activo = 0 WHERE numero = '_______________';

-- O eliminar completamente
DELETE FROM [TABLA_SERVICIOS] WHERE numero = '_______________';
```

## NOTAS/OBSERVACIONES

_________________________________
_________________________________
_________________________________
_________________________________

## FIRMAS

Implementado por: _______________ Fecha: _______________
Revisado por: _______________ Fecha: _______________
Aprobado por: _______________ Fecha: _______________