Cómo equilibrar la carga y crear servicios SIP y PBX de alta disponibilidad.

PUBLICADO EL 6 marzo, 2019

Descripción

VoIP representa Voz sobre Protocolo de Internet, que cubre todas las llamadas telefónicas realizadas a través de Internet, pero con el fin de hacer realidad el SIP Se definió el protocolo.

SIP or protocolo de Iniciacion de Sesion es el protocolo que gestiona las sesiones de comunicación multimedia, incluidas las llamadas (voz y video), por lo que podemos decir que SIP Es uno de los protocolos específicos que VoIP se basa en.

En una sesión de comunicación con los medios, el SIP El protocolo se encarga de las operaciones de señalización, como el inicio y la terminación de llamadas de voz o video. Las comunicaciones que SIP Se pueden establecer unicast, con dos partes, o multicast, múltiples partes. A través de SIP protocolo, las llamadas existentes se pueden modificar, por ejemplo, invitando a otro miembro. los SIP está diseñado de una manera que es independiente del protocolo de la capa de transporte subyacente, y se puede utilizar con UDP, TCP y SCTP (Protocolo de transmisión de control de flujo). SIP También puede trabajar junto con otros protocolos, que pueden especificar el formato de los medios, y llevar los medios después de SIP configura la llamada. El enrutamiento de llamadas telefónicas también es posible desde PBX sistema telefónico a la red externa, donde PBX (Centralita privada) es un sistema de conmutación telefónica que se instala en una organización privada con varios dispositivos internos.

Esta guía es útil para configurar servicios SIP populares como asterisco, Websphere SIP proxy, Fundicion SIP, Elastix, FreeSWITCH, OpenPBX de Voicetronix, PBXInAFlash, FreePBX, OpenSIPs, Kamailio, 3CX, Servidor SIP de Office, etc, todos ellos en alta disponibilidad y listos para escalar.

¿Cómo funciona el protocolo SIP?

Supongamos que tenemos dos personas que llaman, Bonnie y Clyde. Bonnie está llamando a Clyde. En primer lugar, los teléfonos de Bonnie y Clyde deben registrarse en un servidor SIP. El proceso de registro entre los clientes y el servicio de registro es:

1. El cliente de softphone envía un REGISTRARE mensaje al servidor SIP.
2. El servidor SIP responde con una 401 no autorizado mensaje que incluye un encabezado WWW-Autenticación.
3. Luego el cliente reenvía el REGISTRARE solicitud al servidor SIP incluyendo el Autorización cabecera.
4. Si la autenticación es correcta, el servidor SIP devuelve un 200 OK Respuesta al cliente. En esta etapa, el cliente puede recibir e iniciar llamadas.

Este proceso de registro también estará altamente disponible a través del balanceador de carga proxy que proponemos en este artículo.

Para comprender mejor cómo se realiza una llamada entre Bonnie y Clyde, vea a continuación los pasos definidos en el protocolo.

1. Bonnie comienza una llamada a Clyde enviando un INVITACIÓN mensaje
2. Servidor SIP A pasa el INVITACIÓN mensaje al servidor SIP del destinatario B
3. Mientras tanto, el servidor SIP A respuestas 100 TRYING mensaje a Bonnie
4. Servidor SIP B pasa el INVITACIÓN mensaje a Clyde
5. Mientras tanto, un 100 TRYING mensaje al servidor SIP A
6. El dispositivo de Clyde ahora ANILLO 180 y lo transmite al servidor SIP B
7. Servidor SIP B envía esto ANILLO 180 al servidor SIP A
8. Servidor SIP A transmite esto ANILLO 180 a Bonnie
9. Clyde recibe la llamada y envía. 200 OK mensaje
10. Y lo transmite 200 OK mensaje al servidor SIP B
11. Servidor SIP A transmite esto 200 OK mensaje a Bonnie
12. Se establece una conexión entre Bonnie y Clyde, donde Bonnie envía directamente ACK a Clyde, y tanto Bonnie como Clyde se comunican entre sí directamente
13. Cualquiera de las partes se desconecta de la llamada con un ADIÓS
14. La otra parte devuelve el acuse de recibo. 200 OK

SIP entorno de equilibrio de carga

Al conocer las características específicas del protocolo SIP, el escenario que queremos lograr en este artículo es poder escalar los servidores SIP para poder manejar un mayor número de softphones registrados y administrar un mayor número de llamadas. El siguiente diagrama muestra la arquitectura del servicio en un centro de datos.

Veamos a continuación cómo configurarlo.

Configuración de balanceo de carga SIP

Antes de configurar el servicio virtual, necesitamos crear un dedicado IP virtual, ya que esta dirección IP podrá recibir TCP or UDP marcos Para lograrlo, ve a Red> Interfaces virtuales. Luego haga clic en Acción> Crear interfaz virtual.

Luego, selecciona Interfaz principal, interfaz Nombre y su IP Dirección:

Ahora es el momento de configurar fácilmente el servicio virtual SIP en los puertos estándar utilizados por los servicios SIP TCP y/o UDP 5060 or 5061. Puerto 5060 Se usa comúnmente para el tráfico y el puerto de señalización no cifrados. 5061 se utiliza normalmente para el tráfico cifrado con TLS (Transport Layer Security).

Con Zevenet Load Balancer, logramos esta configuración creando una LSLB perfil de la granja L4xNAT con los puertos 5060 or 5061. En el servicio virtual, las comunicaciones cifradas y no cifradas se admiten al mismo tiempo si los puertos se enumeran en el servicio virtual.

Para hacerlo, ve a LSLB> Granjas y cree uno nuevo como se muestra a continuación.

Después de crear, haga clic en , Seleccione SIP as Tipo de protocolo. En esta etapa, la capa 4 SIP proxy se habilitará en el servicio virtual actual para equilibrar la carga de manera adecuada el registro y las llamadas de los usuarios. Además, recomendamos NAT as Tipo NAT pero DTA también se puede utilizar para obtener la IP de origen del cliente. Finalmente, haga clic en Actualizar Para aplicar los cambios.

Finalmente, configura los backends, haz click en PARA EMPRESAS, y bajo el Backends sección haga clic en Acción> Agregar backend.

Llena la IP, Puerto, Peso y haga clic en el a Salvar Acción para aplicar los cambios.

Agregue tantos servidores SIP que necesite para escalar su servicio. Ahora puedes usar el IP virtual como el servicio virtual SIP en sus softphones y clientes de una manera altamente disponible, confiable y escalable.

Comprobaciones de salud SIP avanzadas

En las últimas versiones de Zevenet, puede usar una comprobación de estado avanzada específicamente para servicios SIP donde el equilibrador de carga realiza llamadas SIP ficticias a todos los servidores SIP que están configurados como backends para garantizar que los servicios de lectura SIP estén funcionando correctamente.

En caso de que no haya ya creado un check_sip Comando del guardián de la granja, luego créalo en Monitoreo> Farmguardian sección como se muestra a continuación.

Para entender mejor las opciones incluidas en el check_sip comando, por favor consulte la ayuda del comprobador de salud.

usage: ./check_sip [ options ] FROM TO
Makes SIP call from FROM to TO, sends voice from multiple
files to peer. Content in files need to be PCMU/8000 and
could be recorded with samples/invite_and_recv.pl

Options:
  -d|--debug                   Enable debugging
  -h|--help                    Help (this info)
  -P|--proxy host[:port]       use outgoing proxy, register there unless registrar given
  -R|--registrar host[:port]   register at given address
  -S|--send filename           send content of file, can be given multiple times
  -L|--leg ip[:port]           use given local ip[:port] for outgoing leg
  -T|--timeout T               timeout and cancel invite after T seconds, default 30
  --username name              username for authorization
  --password pass              password for authorization

Examples:
  ./check_sip -T 10 -S welcome.data -S announce.data sip:30@192.168.178.4 sip:31@192.168.178.1
  ./check_sip --username 30 --password secret --proxy=192.168.178.3
     -S holy.data sip:30@example.com 31

Dado nuestro ejemplo, podemos definir nuestro verificador de salud en el Guardián de la granja sección como se muestra a continuación.

./check_sip -T 9 -S welcome.data -S announce.data sip:Bonnie@192.168.56.201 sip:Clyde@HOST

Tenga en cuenta que el token HOST se cambiará en tiempo de ejecución con cada back-end SIP configurado en la granja.

Aplicación de SIP Clustering

Zevenet también ofrece la posibilidad de configurar el servicio de entrega escalable SIP en alta disponibilidad mediante un servicio de agrupación en clúster entre dos unidades redundantes. Despliegue otra unidad Zevenet y refiérase a la Sistema> Cluster Sección para configurarlo en alta disponibilidad.

Mejora de la seguridad SIP

Aplicar una capa de seguridad a un servicio público de SIP es bastante fácil utilizando el módulo IPDS, que permite listas negras, listas negras en tiempo real y protección DoS entre otras. por favor refiérase a IPDS Sección del menú principal para tener más detalles sobre la protección de un servicio público de SIP.

Configuración de clientes telefónicos VoIP

Una vez que nuestro servicio SIP esté listo para escalar, configurar alta disponibilidad y con seguridad mejorada, es hora de configurar el nuevo servicio en los softphones y clientes. En este caso, recomendamos configurar una entrada de DNS que se resuelva en la dirección VIP o una dirección IP pública para el servicio virtual. Tal DNS or FQDN El nombre de nuestro servicio SIP virtual será el que se usará en el lado del cliente, en lugar de tener una dirección IP SIP real configurada. Esta configuración proporciona la flexibilidad para equilibrar la carga de los clientes de forma fácil y automática.

Por otro lado, recomendamos configurar un tiempo de espera de vida útil más bajo en el lado de los clientes para forzar el registro más a menudo, en el caso de que se detecte un servidor SIP como inactivo, el cliente lo notifique y vuelva a intentarlo para volver a conectarse rápidamente a otro.

Ahora, solo disfruta de tu servicio escalable SIP!

Comparte en:

Documentación bajo los términos de la Licencia de Documentación Libre de GNU.

¿Le resultó útil este artículo?

Artículos Relacionados