Softphones y el SBC: registro, recorrido de NAT y medios seguros para voz remota

Una laptop conectada a un cubo ProSBC mediante un cable holográfico brillante, representando el registro seguro de softphones y el acceso de voz remota a través de un Session Border Controller

Un softphone convierte una laptop o un smartphone en una extensión empresarial, y para el personal de oficina conectado a la LAN corporativa funciona sin mayor complicación. El problema empieza cuando el usuario se mueve. Desde una oficina en casa, un hotel o una red móvil, ese mismo softphone tiene que registrarse y transportar audio a través de firewalls, traducción de direcciones de red (NAT) y la internet pública, y de pronto los registros se pierden y las llamadas se escuchan en un solo sentido.

En este artículo le explicamos qué es realmente un softphone, cómo se registra, por qué las redes remotas rompen SIP y cómo un Session Border Controller (SBC) en el borde de acceso mantiene funcionando el registro, el recorrido de NAT y la seguridad de medios para la voz remota.

Términos y conceptos clave
Un glosario de referencia rápida para los términos utilizados a lo largo de este artículo.
SoftphoneUn cliente SIP por software que se ejecuta en un dispositivo de escritorio o móvil y realiza las mismas funciones de registro, señalización y llamada que un teléfono físico de escritorio.
Agente de usuario SIP (UA)El terminal SIP que origina y termina solicitudes SIP. Un softphone es un agente de usuario implementado en software en lugar de como hardware dedicado.
RegistrarEl servidor que registra dónde se puede localizar a un usuario, almacenando la vinculación entre su identidad SIP y su dirección de contacto actual. En un despliegue remoto, este es el IP-PBX o la plataforma de voz alojada, no el SBC.
SIP REGISTERLa solicitud SIP que un cliente envía para vincular su dirección de registro a una dirección de contacto. La vinculación tiene una duración definida por el valor Expires y debe renovarse antes de que expire.
NAT (Network Address Translation)La función del router que mapea direcciones privadas a una pública. NAT es lo que oculta la dirección real del softphone al resto de la red y rompe SIP a menos que la ruta se gestione correctamente.
Detección de NAT remoto (far-end NAT detection)Una técnica del SBC que utiliza la dirección desde la que realmente llegó un paquete, en lugar de la dirección privada escrita dentro del mensaje SIP, para que el tráfico de retorno llegue al terminal.
RTP simétricoEnviar medios de vuelta a la misma dirección y par de puertos desde donde se recibieron, lo que permite que el audio llegue a través de la apertura NAT que el softphone ya había creado.
SIP ALGUn SIP Application Layer Gateway integrado en muchos routers domésticos que intenta reescribir SIP y normalmente lo corrompe. La recomendación estándar es desactivarlo.
TLS (Transport Layer Security)El protocolo de cifrado que protege la señalización SIP, transportado por el puerto predeterminado 5061.
SRTP (Secure Real-time Transport Protocol)La versión cifrada y autenticada de RTP, utilizada para proteger los medios de voz en tránsito.
Reenvío de registros SIPUna función del SBC que retransmite los registros desde los terminales hacia un registrar en el nivel superior, permitiendo que el SBC se posicione delante del registrar sin ser uno en sí mismo.

¿Qué es un softphone?

Un softphone es un agente de usuario (UA) SIP por software: un programa que realiza las mismas funciones de registro, señalización de llamadas y manejo de medios que un teléfono de escritorio, implementado completamente en software sobre un dispositivo de propósito general. El Protocolo de Inicio de Sesión define al agente de usuario como el terminal que origina y termina solicitudes SIP, y un softphone es simplemente ese terminal ejecutándose como aplicación en lugar de como hardware dedicado (RFC 3261).

Los softphones se presentan en tres formas comunes: aplicaciones de escritorio en computadoras; marcadores móviles en iOS y Android; y clientes basados en navegador o WebRTC integrados dentro de una aplicación de comunicaciones unificadas. Sin importar el dispositivo, la función es la misma. El softphone se registra ante un registrar para que la red sepa dónde localizar al usuario, envía y recibe mensajes INVITE para establecer llamadas, negocia códecs en el Protocolo de Descripción de Sesión y luego envía y recibe medios mediante el Protocolo de Transporte en Tiempo Real (RTP).

Softphone vs. teléfono SIP

Un teléfono SIP, o hardphone, o teléfono de escritorio, es el auricular que se conecta a la red. Un softphone hace el mismo trabajo SIP, simplemente vive en un dispositivo que el usuario ya posee. El comportamiento del protocolo es idéntico, por lo que un registrar trata el registro de un softphone de la misma manera que el de un hardphone. La diferencia que importa en esta discusión es la ubicación: un teléfono de escritorio normalmente se encuentra en una red administrada detrás de un firewall conocido, mientras que un softphone sigue al usuario a cualquier red en la que se encuentre.

Por qué los softphones cambiaron el problema de despliegue

Cuando los terminales estaban en la LAN, la ruta de registro y medios permanecía dentro de un perímetro de confianza. Los softphones sacaron el terminal de ese perímetro por defecto. Ahora un registro llega desde una conexión de banda ancha residencial detrás de NAT doméstico, los medios tienen que atravesar la internet pública y la red no tiene control sobre el firewall intermedio. El lado del cliente es sencillo. La ruta es la parte difícil.

Cómo se registra un softphone

El registro es la manera en que la red aprende a dónde enviar las llamadas de un usuario determinado. El softphone envía una solicitud SIP REGISTER que vincula su dirección de registro (la identidad SIP del usuario) a una dirección de contacto (donde puede ser localizado actualmente). El registrar solicita credenciales mediante un desafío, normalmente con una respuesta 401 o 407, el softphone reenvía la solicitud con una respuesta de autenticación digest, y el registrar devuelve 200 OK junto con un valor Expires (RFC 3261).

Ese valor Expires establece la duración de la vinculación. El softphone tiene que enviar un nuevo REGISTER antes de que el temporizador se agote, o la red lo considera inalcanzable y las llamadas entrantes dejan de llegar. La renovación del registro es, por lo tanto, un latido constante, no un evento único, y el intervalo de renovación tiene consecuencias directas para los terminales remotos porque interactúa con los tiempos de expiración de las vinculaciones NAT, tema que abordaremos a continuación.

Para la voz remota, el punto arquitectónico es dónde se ubica el SBC. El softphone no se registra directamente ante la PBX a través de internet. Se registra hacia el SBC en el borde de la red, que es el punto de contacto público, y el SBC reenvía ese registro al registrar real. Un SBC realiza el reenvío de registros SIP, retransmitiendo y actuando como proxy de los registros hacia el registrar en el nivel superior en lugar de actuar como registrar por sí mismo. El registrar sigue siendo su IP-PBX o plataforma de voz alojada, ya sea FreePBX, Asterisk, NetSapiens o 3CX. El SBC es el guardián que se interpone delante.

Qué reescribe el SBC en el camino

A medida que el registro y luego la señalización de la llamada pasan a través del SBC, este reescribe las direcciones contenidas en los encabezados SIP y el cuerpo SDP para que el registrar vea una dirección de contacto alcanzable y los medios de retorno lleguen al lugar correcto. Esa reescritura es la base del recorrido de NAT, que es el siguiente problema a resolver.

Softphones remotos detrás de NAT registrándose a través de un SBC de acceso ante un registrar, con señalización SIP sobre TLS y medios SRTP en el borde

Los softphones remotos en redes no confiables se registran a través del SBC de acceso, que realiza la detección de NAT remoto, SIP sobre TLS y SRTP en el borde, y reenvía cada registro al registrar (IP-PBX). El SBC es el guardián, no el registrar. Haga clic para ampliar.

Por qué NAT rompe los softphones y teléfonos SIP remotos

SIP lleva direcciones IP dentro de sus mensajes. Un softphone detrás de NAT consulta su propia dirección y escribe una privada, algo como 192.168.x.x, en el encabezado Via, el encabezado Contact y la descripción de medios SDP. El lado remoto lee esa dirección privada e intenta enviar respuestas de señalización y RTP de vuelta a ella, y los paquetes no llegan a ningún lado porque una dirección privada no es enrutable a través de internet. Los síntomas son conocidos: registros que no se mantienen, llamadas que se conectan pero reproducen audio en un solo sentido, o sin audio en absoluto.

Detección de NAT remoto

Un SBC resuelve esto confiando en lo que observa en lugar de lo que el terminal declara. Compara la dirección escrita dentro del mensaje SIP con la dirección de origen real desde la que llegó el paquete y, cuando difieren, utiliza la dirección pública y el puerto reales para el tráfico de retorno. Esta es la detección de NAT remoto (far-end NAT detection), y es lo que permite que un softphone remoto se registre y reciba llamadas sin que el usuario toque su router doméstico.

RTP simétrico

El mismo principio se aplica a los medios. Con RTP simétrico, el SBC envía audio de vuelta a la misma dirección IP y par de puertos desde donde realmente recibió audio, en lugar de confiar en la dirección anunciada en el SDP (RFC 3550). Dado que el dispositivo NAT abrió ese puerto cuando el softphone envió su primer paquete de medios hacia afuera, responder al mismo puerto exacto permite que el audio pase por la apertura NAT abierta. Esta única técnica resuelve la mayoría de las quejas de audio en un solo sentido de los trabajadores remotos.

Keep-alives y la vinculación NAT

Las aperturas NAT no permanecen abiertas para siempre. El router cierra un mapeo inactivo después de un tiempo de espera, y una vez que se cierra, las llamadas entrantes ya no pueden llegar al terminal. Dos mecanismos mantienen la apertura activa: la renovación del registro, vinculada al valor Expires mencionado anteriormente, y los keep-alives periódicos de SIP o RTP que envían un paquete pequeño con la frecuencia suficiente para reiniciar el temporizador NAT. Ajustar el intervalo de renovación por debajo del tiempo de expiración NAT es lo que mantiene a un softphone remoto permanentemente localizable.

SIP ALG, la solución contraproducente

Muchos routers domésticos vienen con un SIP Application Layer Gateway (ALG) activado, que intenta reescribir SIP por su cuenta y normalmente lo corrompe, actuando en contra del manejo correcto del SBC. La recomendación estándar es desactivarlo, y de hecho viene desactivado en muchos modelos de oficina doméstica u oficina. Explicamos por qué un ALG en un firewall causa más problemas de los que resuelve en nuestra guía de seguridad del SBC.

Protección de la voz remota

El tráfico de softphones remotos cruza redes que usted no controla, por lo que debe cifrarse de extremo a borde. La señalización se transporta sobre SIP con Transport Layer Security (TLS) en el puerto predeterminado 5061, y los medios se transportan sobre el Protocolo de Transporte Seguro en Tiempo Real (SRTP), que agrega cifrado y autenticación a los flujos RTP ordinarios (RFC 3711). El softphone negocia ambos con el SBC en el borde de acceso.

El SBC actúa como la frontera de cifrado para el tramo remoto. Termina TLS y SRTP provenientes del softphone y luego presenta lo que el registrar o el troncal SIP requiera, incluyendo la retransmisión de SRTP y la conversión entre medios cifrados y no cifrados cuando ambos lados difieren. Para conocer cómo se configura un SBC para terminar TLS y presentar SRTP en cada tramo, consulte nuestra guía de configuración de TLS y SRTP.

Softphones a escala

Los modelos híbridos y de trabajo desde casa convirtieron al softphone de una conveniencia ocasional en el terminal principal para fuerzas laborales completas. Un solo proveedor o empresa puede ahora mantener miles de registros de softphones, cada uno una vinculación persistente desde una red diferente y no confiable. El caso de uso de seguridad de acceso SaaS de ProSBC está diseñado exactamente para este patrón: SIP sobre TLS y SRTP para usuarios remotos y de trabajo desde casa que acceden a aplicaciones de voz alojadas, con capacidad de nivel de operador de hasta 350,000 registros de terminales y 60,000 sesiones por servidor.

El borde de acceso tiene que hacer varias cosas simultáneamente a este volumen: mantener una gran cantidad de registros persistentes, aplicar protección de escaneo de registros para bloquear los ataques de inundación de registros que apuntan a cualquier servicio de voz expuesto a internet, ejecutar la detección de NAT remoto por terminal y mantener TLS y SRTP en cada tramo remoto. Para los proveedores de servicios administrados (MSP) que entregan voz a múltiples sitios de clientes, esa carga se multiplica entre inquilinos.

Tormentas de registros

Cuando muchos terminales se re-registran al mismo tiempo, después de una interrupción de red o un evento de conmutación por error, el borde tiene que absorber la ráfaga sin perder vinculaciones. Dimensionar la capacidad de registro y el comportamiento de renovación para ese pico, no para el promedio, es lo que mantiene el servicio continuo. Para conocer cómo se manejan la redundancia y la conmutación por error, consulte nuestra guía de alta disponibilidad.

Preguntas frecuentes

¿Qué es un softphone en términos sencillos?

Un softphone es un teléfono que le sigue a donde vaya, ejecutándose como software en un dispositivo que usted ya posee, como una laptop o un smartphone, en lugar de como un auricular de escritorio independiente. Se registra en su sistema de voz y realiza y recibe llamadas por internet usando SIP.

¿Es un softphone lo mismo que un teléfono SIP?

Hacen el mismo trabajo SIP. La diferencia es el hardware: un teléfono SIP es un auricular físico, mientras que un softphone es una aplicación. Un registrar trata los registros de ambos de la misma manera.

¿Necesita un softphone un SBC para funcionar?

En una LAN de oficina confiable, no necesariamente. Para uso remoto seguro y de trabajo desde casa, un SBC es lo que hace que el registro y los medios funcionen de manera confiable a través de NAT y la internet pública, y lo que cifra el tráfico con TLS y SRTP.

¿Por qué mi softphone tiene audio en un solo sentido desde casa?

El audio en un solo sentido casi siempre se debe a NAT. El softphone anuncia una dirección privada que el lado remoto no puede alcanzar. Cuando un servidor STUN/TURN no es viable o el softphone no puede configurarse de esa manera, un SBC lo soluciona con la detección de NAT remoto y RTP simétrico, enviando los medios de vuelta a la dirección desde la que realmente llegaron los paquetes.

Conclusión

Un softphone en sí mismo es sencillo: un agente de usuario SIP en software, haciendo el mismo trabajo que un teléfono de escritorio. La dificultad nunca es el agente de usuario SIP, sino la ruta en el momento en que el terminal sale de la oficina. El registro tiene que sobrevivir a NAT y renovarse a tiempo, los medios tienen que encontrar su camino de vuelta a través de una apertura NAT, y todo lo que cruza la internet pública tiene que estar cifrado.

Un SBC en el borde de acceso es lo que resuelve los tres problemas: reenvía los registros a su registrar, maneja la detección de NAT remoto y RTP simétrico, y termina TLS y SRTP para cada tramo remoto.

Acceso remoto seguro de softphones con ProSBC

ProSBC es un SBC de acceso diseñado exactamente para este trabajo. Protege el acceso remoto y de trabajo desde casa de softphones a plataformas de voz alojadas con SIP sobre TLS y SRTP en el borde, recorrido de NAT remoto y reenvío de registros SIP a su registrar, ya sea FreePBX, Asterisk, NetSapiens o 3CX.

La protección de escaneo de registros resguarda el borde expuesto a internet contra ataques de inundación, y la capacidad escala para grandes fuerzas laborales remotas, con cifras de hasta 350,000 registros de terminales y 60,000 sesiones por servidor. Puede poner en funcionamiento una instancia operativa en unos veinte minutos con la licencia gratuita y permanente de ProSBC Lab.

¿Prefiere evaluar por su cuenta primero? Inicie su prueba gratuita de 30 días.