Llamadas a Móvil
{{ getDestStats('movil').llamadas }}
Venta:
${{ getDestStats('movil').total_venta }}
Costo:
${{ getDestStats('movil').total_costo }}
Utilidad:
${{ getDestStats('movil').total_utilidad }}
Llamadas a Fijo
{{ getDestStats('fijo').llamadas }}
Venta:
${{ getDestStats('fijo').total_venta }}
Costo:
${{ getDestStats('fijo').total_costo }}
Utilidad:
${{ getDestStats('fijo').total_utilidad }}
Total Consolidado
{{ getTotalStats().llamadas }} llamadas
Ingresos Totales:
${{ getTotalStats().total_venta }}
Utilidad Neta:
${{ getTotalStats().total_utilidad }}
Análisis de Finalización de Llamadas (Causas)
| Causa (Hangup Cause) | Cantidad de Llamadas |
|---|---|
| {{ cause.hangup_cause || 'Desconocido' }} | {{ cause.cantidad }} |
Resumen Detallado por Cliente
| Cliente | Llamadas | Minutos | Min. Móvil | Min. Fijo | Venta Móvil | Venta Fijo | Total Venta | Total Costo | Utilidad |
|---|---|---|---|---|---|---|---|---|---|
| {{ cs.client_name }} | {{ cs.llamadas }} | {{ cs.total_minutos }}m | {{ cs.minutos_movil }}m | {{ cs.minutos_fijo }}m | ${{ cs.venta_movil }} | ${{ cs.venta_fijo }} | ${{ cs.total_venta }} | ${{ cs.total_costo }} | ${{ cs.total_utilidad }} |
Registros Detallados (CDR)
| Fecha / Hora | Cliente | Destino | Troncal | Tipo | T. Total | T. Hablado | Code | Causa | Precio Venta | Costo | Utilidad |
|---|---|---|---|---|---|---|---|---|---|---|---|
|
{{ String(cdr.fecha).substring(0,10) }}
{{ cdr.hora }}
|
{{ cdr.client_name || 'Desconocido' }} | {{ cdr.dialed_number }} | {{ cdr.trunk_name || '--' }} | {{ cdr.dest_type }} | {{ cdr.total_time }}s | {{ cdr.talk_time }}s | {{ cdr.hangup_code }} | {{ cdr.hangup_cause }} | ${{ Number(cdr.sale_price).toFixed(2) }} | ${{ Number(cdr.cost_price).toFixed(2) }} | ${{ Number(cdr.profit).toFixed(2) }} |
Directorio de Clientes
| RUT / DNI | Nombre | Venta Móvil | Venta Fijo | Estado | Acciones | |
|---|---|---|---|---|---|---|
| {{ c.rut_dni }} | {{ c.name }} | {{ c.email }} | ${{ Number(c.sale_mobile).toFixed(2) }} | ${{ Number(c.sale_fixed).toFixed(2) }} | Activo Inactivo |
Troncales de Clientes
| Cliente | Prefijo In | Autenticación (IP/User) | Proveedor Asignado | Estado Lógico | Enlace SIP | Acciones |
|---|---|---|---|---|---|---|
| {{ t.client_name }} | {{ t.prefix }} | {{ t.ip || t.username || '--' }} | {{ t.provider_name || 'Balanceo Automático' }} Prefijo Add: {{t.provider_prefix}} | Activa Inactiva |
Reachable ({{ getTrunkRealtime(t.trunk_name).ping }}ms)
Unreachable
-
|
|
| No hay troncales de clientes | ||||||
Troncales de Proveedor (Salida)
| Proveedor | Host / IP | Auth SIP | Compra Movil | Compra Fijo | Estado Lógico | Enlace SIP | Acciones |
|---|---|---|---|---|---|---|---|
| {{ t.provider_name }} | {{ t.ip }} | {{ t.username || '--' }} | ${{ Number(t.buy_mobile).toFixed(2) }} | ${{ Number(t.buy_fixed).toFixed(2) }} | Activa Inactiva |
Reachable ({{ getTrunkRealtime(t.trunk_name).ping }}ms)
Unreachable
-
|
|
| No hay troncales de proveedor | |||||||
Historial de Estado de Troncales
| Fecha / Hora | Nombre de Troncal | Estado Detectado | Latencia (Ping) |
|---|---|---|---|
|
{{ String(log.fecha).substring(0,10) }}
{{ log.hora }}
|
{{ log.trunk_name }} | {{ log.status }} | {{ log.ping_ms ? log.ping_ms + ' ms' : '--' }} |
| No hay logs de estado en la tabla | |||