Saltar al contenido principal

Carga en Línea (Interfaz Ro)

📖 Volver a la Documentación Principal

Detalles de configuración y operación para la interfaz Diameter Ro (Carga en Línea).

Documentación Relacionada

Documentación Principal

Integración de Procesamiento de Llamadas

Interfaces Relacionadas

  • 👥 Interfaz Sh - Interfaz de datos del suscriptor (también utiliza Diameter)
  • 📡 SS7 MAP - Alternativa para el enrutamiento de suscriptores

Monitoreo


Configuración de Ro

Si se va a utilizar Ro (Carga en Línea), debe estar habilitado en la configuración.

Por supuesto, necesitará un par Diameter conectado que pueda manejar Ro o un DRA que tenga uno.

periodic_ccr_time_seconds establece con qué frecuencia durante una sesión se envía un Credit-Control-Request tipo 2 (Actualización). Esto probablemente necesitará ser ajustado según las necesidades del OCS.

Si el Credit-Control-Request tipo 1 (Inicial) devuelve los segundos de uso máximo para todo el saldo, podemos establecer un colgado programado para ese tiempo. Esto se controla mediante la bandera schedule_hangup_auth, que si está habilitada, obtendrá los segundos asignados en el CCR-I y programará la llamada para colgar en ese momento.

skipped_regex (opcional) le permite especificar patrones de expresiones regulares para coincidir con números de destino que deben evitar la carga en línea. Las llamadas a destinos que coincidan con estos patrones serán autorizadas sin contactar al OCS. Esto es útil para servicios internos, correo de voz, números de emergencia u otros destinos que no deben ser cobrados. Si se omite o se establece en una lista vacía, todas las llamadas pasarán por la carga en línea cuando esté habilitada. Los patrones utilizan la sintaxis de expresiones regulares de Elixir (por ejemplo, "^2222" coincide con números que comienzan con 2222, "^344[4-6]" coincide con números que comienzan con 3444, 3445 o 3446).

config :tas,
...
online_charging: %{
enabled: true,
periodic_ccr_time_seconds: 10,
schedule_hangup_auth: true,
skipped_regex: ["^2222", "^2223", "^8999", "^344[4-6]"] # Opcional
},

Comportamiento Operacional de Carga en Línea

Cómo Funciona la Carga Periódica:

Cuando se responde una llamada originada por móvil (MO):

  1. El sistema envía un CCR-I inicial (Solicitud de Control de Crédito Inicial) para autorizar la llamada
  2. Si hay crédito disponible, el OCS devuelve el tiempo asignado (p.ej., 120 segundos)
  3. Un proceso en segundo plano comienza a ejecutarse cada periodic_ccr_time_seconds para reautorizar la llamada
  4. Este proceso envía solicitudes CCR-U (Actualización) para verificar si el suscriptor aún tiene crédito
  5. Cada CCR-U exitoso extiende la llamada y concede tiempo adicional
  6. Cuando la llamada termina, se envía un CCR-T (Terminar) para la contabilidad final

Valores de Tipo de Solicitud:

  • 1 = Inicial (CCR-I) - enviado cuando la llamada es autorizada por primera vez
  • 2 = Actualización (CCR-U) - enviado al responder y periódicamente durante la llamada
  • 3 = Terminar (CCR-T) - enviado cuando la llamada termina
  • 4 = Evento - utilizado para SMS o carga de eventos únicos

Qué Ocurre Cuando se Agota el Crédito:

Si un CCR-U periódico devuelve cero segundos o un error:

  • El proceso de carga periódica se detiene automáticamente
  • Si schedule_hangup_auth está habilitado, la llamada se terminará cuando expire el tiempo asignado
  • La llamada del suscriptor termina y recibe la notificación correspondiente

Ajustando periodic_ccr_time_seconds:

Elija el intervalo según sus necesidades operativas:

  • Valores más bajos (5-10 segundos): Más receptivos a la agotamiento de crédito, detecta rápidamente situaciones de falta de crédito, pero crea una mayor carga en el OCS
  • Valores más altos (30-60 segundos): Menor carga en el OCS y tráfico de red, pero los suscriptores pueden consumir ligeramente más crédito del disponible entre verificaciones
  • Recomendado: Comenzar con 10-30 segundos según su incremento mínimo de crédito y capacidad del OCS

Monitoreo de la Carga Periódica:

Observe estas métricas para asegurarse de que la carga periódica esté funcionando correctamente:

  • online_charging_events_total{event_type="reauth"} - rastrea solicitudes CCR-U periódicas
  • online_charging_events_total{event_type="reauth",result="success"} - reautorizaciones exitosas
  • online_charging_events_total{event_type="reauth",result="nocredit"} - suscriptores que se quedan sin crédito durante la llamada
  • Altas tasas de fallos de reautorización indican problemas de conectividad o rendimiento del OCS

Resolución de Problemas de Carga Periódica:

Si las llamadas no están siendo reautorizadas correctamente:

  1. Verifique los registros para mensajes "Enviando CCR-U periódico para <call_id>" - confirma que el proceso en segundo plano está en ejecución
  2. Busque advertencias "CCR periódico fallido - Deteniendo trabajo" - indica agotamiento de crédito o errores del OCS
  3. Verifique que la métrica ocs_authorization_duration_milliseconds muestre tiempos de respuesta razonables
  4. Confirme que el OCS está devolviendo respuestas CCA-U válidas con unidades de tiempo concedidas
  5. Verifique que periodic_ccr_time_seconds no esté configurado demasiado agresivamente para la capacidad de su OCS