Introducción
Este documento describe el modus operandi utilizado por Cisco Unified Communications Manager para decidir qué nodos CUCM se utilizan para enviar llamadas a través de Trunks basados en protocolo de inicio de sesión (SIP) o H.323.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento previo de estos temas:
- Conceptos básicos de routing de llamadas de Cisco Unified Communications Manager (CUCM)
Componentes Utilizados
La información de este documento se basa en Cisco Unified Communications Manager (CUCM) 8.x y posteriores.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
Los troncales SIP y los gateways H.323 no se registran en CUCM (a diferencia de los Gateways MGCP). En su lugar, el grupo CUCM asociado al conjunto de dispositivos conectado al troncal o la puerta de enlace determina dónde estarán activos. Por ejemplo, si están activos en 2 ó 3 nodos, qué mecanismo utiliza CUCM para decidir qué servidor enviar la llamada.
El objetivo de este documento es explicar cómo se toman las decisiones de ruteo de llamadas y cómo se puede lograr el balanceo de carga para las llamadas salientes a través de troncales SIP o H.323.
Mecanismo de enrutamiento de llamadas Pre-CUCM 8.5 (no se utiliza la función Ejecutar en todos los nodos activos de Unified CM)
Lógica general: En el caso de una llamada saliente, una vez que CUCM ha pasado por el análisis de dígitos, extiende la llamada a RouteList o al dispositivo final. (RouteList se registra en un nodo determinado, que depende del grupo CUCM)
El control RouteList identifica la lista de dispositivos y consulta al administrador de dispositivos.
El administrador de dispositivos proporciona ID de proceso (PID) del dispositivo (ejemplo: (2,100,25,45), en este ejemplo el dispositivo está activo en el nodo 2)
El control RouteList verifica el estado del dispositivo (es el dispositivo de destino activo, inactivo u ocupado) y extiende la llamada al troncal o la puerta de enlace.
Dado que los troncales SIP / los gateways H.323 pueden estar activos en varios nodos, la pregunta ahora indica qué nodo está seleccionado como PID activo por el administrador de dispositivos.
Estos escenarios de casos prácticos arrojan más luz sobre esto:
Caso práctico 1: Teléfonos IP Registrados en el Nodo 1. No se ha configurado ninguna lista de rutas.
En este troncal SIP está activo en los nodos 1 y 4.
- La lógica general sigue siendo la misma, CUCM realiza un análisis de dígitos en el nodo 1 donde se registra el teléfono. Dado que no se ha configurado ninguna lista de rutas, el patrón de ruta está directamente asociado al troncal SIP.
- CUCM en el nodo 1 consulta al administrador de dispositivos en el nodo 1.
- El administrador de dispositivos (DM) siempre comprueba primero la tabla local y devuelve el dispositivo local si existe, para evitar el tráfico/la comunicación innecesaria entre clústeres.
En este caso, el troncal SIP está activo en el nodo 1 donde se registra el teléfono, por lo que CUCM extiende la llamada desde el nodo 1 (cada vez). La lógica aleatoria no se aplica aquí y no hay equilibrio de carga, ya que la llamada se extiende desde el Nodo 1 en todos los casos.
Caso de uso 2: Teléfonos IP Registrados en el Nodo 1. RouteList registrado en el nodo 2.
En este troncal SIP está activo en los nodos 2 y 4.
- Después de los resultados del análisis de dígitos (DA), el nodo 1 de CUCM extiende la llamada al control RouteList en el nodo 2.
- El control RouteList en el nodo 2 consulta al administrador de dispositivos en el nodo 2.
- DM siempre verifica primero la tabla local y devuelve un dispositivo local si hay uno, en este caso el troncal SIP es local al nodo 2.
Como resultado, independientemente de dónde esté registrado el teléfono, dado que RouteList está registrado en el nodo 2 y el troncal Sip está activo en el mismo nodo, todas las llamadas son de origen desde el nodo 2. Una vez más, no se aplica la lógica aleatoria.
Caso de uso 3: Teléfonos IP Registrados en el Nodo 1. RouteList registrado en el nodo 2.
En esta gateway H323 está activa en los nodos 1 y 4.
- Después de los resultados de DA, CUCM en el nodo 1 extiende la llamada al control RouteList en el nodo 2.
- El control RouteList en el nodo 2 consulta al administrador de dispositivos en el nodo 2.
- El administrador de dispositivos (DM) siempre comprueba primero la tabla local y devuelve el dispositivo local ninguno.
- El administrador de dispositivos busca RemoteTable y ve el gateway H.323 activo en los nodos 1 y 4.
Aplica la lógica aleatoria y da un PID activo aleatoriamente al control RouteList. Dado que se envía aleatoriamente entre los nodos 1 y 4, las llamadas se equilibran en carga en CUCM.
Conclusión
CUCM verifica si el troncal SIP/H.323 Gateway está activo en el mismo nodo que el dispositivo de llamada. Si es así, siempre utiliza el nodo local para enviar la llamada.
Si el troncal SIP/H.323 Gateway no está activo en el mismo nodo que el dispositivo de llamada, se origina aleatoriamente desde los nodos donde el tronco/dispositivo está activo.
Nota: El dispositivo de llamada puede ser un teléfono o un RouteList. Si el patrón de ruta coincide con un RouteList, la parte que llama es RouteList. Si el patrón de ruta se asocia directamente al dispositivo SIP/H.323, la parte que llama será el teléfono.
Balanceo de Carga
Si se desea lograr el equilibrio de carga, no se recomienda ubicar el RouteList o el teléfono con los nodos CUCM a los que se asocian las gateways SIP/H.323, es decir, si ambos están activos en el mismo nodo, las llamadas se enviarán desde el nodo local (siempre) .
En otras palabras, el troncal SIP/H.323 Gateway debe configurarse de modo que no estén activos en los nodos donde se registran el RouteList o los teléfonos.
A partir de la versión 8.6 de CUCM, CUCM introdujo una nueva característica llamada Ejecutar en todos los nodos activos de Unified CM para los enlaces troncales RouteList/SIP.
Esta es otra manera de equilibrar la carga de manera eficiente de las llamadas salientes y reducir el número de señales intercambiadas dentro del clúster.
Mecanismo de enrutamiento de llamadas posterior a CUCM 8.5 (ejecución en todas las funciones activas de nodos de Unified CM que se utilizan)
En CUCM 8.5 y versiones posteriores, Cisco introdujo una nueva función en los trunks sip y en la lista de rutas denominada Ejecutar en todos los nodos activos de Unified CM. Esto básicamente eliminó la dependencia del troncal SIP y la lista de rutas del grupo CUCM que se les asignó. Esto implica que puede tener más de tres servidores CUCM que originan y terminan llamadas desde y hacia un troncal SIP.
Enlaces troncales SIP: se ejecutan en todos los nodos y la regla local de ruta
Cuando se marca la opción Ejecutar en todos los nodos activos de Unified CM en un troncal SIP, Unified CM crea una instancia del demonio troncal SIP en cada suscriptor de procesamiento de llamadas dentro del clúster, permitiendo así que se realice o reciba una llamada troncal SIP en cualquier suscriptor de procesamiento de llamadas. (Antes de esta función, se podían seleccionar hasta tres nodos por tronco mediante grupos Unified CM).
Con Ejecutar en todos los nodos activos de Unified CM habilitados, las llamadas troncales SIP salientes se originan en el mismo nodo en el que se recibe la llamada entrante (por ejemplo, desde un teléfono o un tronco) (según la regla local de ruta). La función Ejecutar en todos los nodos activos de Unified CM reemplaza la configuración del grupo de Unified CM del tronco.
Para los troncales SIP, así es como funciona la regla local de ruta:
En el caso de las llamadas troncales SIP salientes, cuando llega una llamada de un teléfono registrado o de un troncal entrante a un nodo de Unified CM, Unified CM comprueba si existe una instancia del troncal saliente seleccionado en el mismo nodo en el que llegó la llamada entrante. Si es así, Unified CM utiliza este nodo para establecer la llamada troncal saliente.
Para habilitar Ejecutar en todos los nodos activos de Unified CM en los troncales SIP se recomienda encarecidamente porque esta función permite que las llamadas salientes se originen y se reciban en cualquier nodo de procesamiento de llamadas dentro del clúster. Ejecutar en todos los nodos activos de Unified CM también puede eliminar la configuración de llamadas entre los nodos de procesamiento de llamadas dentro del mismo clúster antes de establecerse en el troncal SIP saliente.
Al igual que con todos los troncales SIP de Unified CM, los demonios SIP asociados al troncal aceptan llamadas entrantes sólo de sistemas finales con direcciones IP definidas en los campos de dirección de destino del tronco.
Cuando varios troncales SIP a los mismos destinos utilizan los mismos nodos de procesamiento de llamadas, se debe definir un número de puerto de destino y de entrada único por tronco para permitir que cada tronco se identifique de forma única.
Listas de rutas: se ejecutan en todos los nodos y la regla local de ruta
Aunque no se trata específicamente de una función troncal SIP, la ejecución de listas de rutas en todos los nodos proporciona ventajas para los troncales en las listas de rutas y los grupos de rutas. La ejecución de listas de rutas en todos los nodos mejora la distribución de llamadas salientes mediante la regla de ruta local para evitar el tráfico innecesario de configuración de llamadas dentro del clúster.
Para las listas de rutas, así es como funciona la regla local de ruta:
En el caso de las llamadas salientes que utilizan listas de rutas (y grupos de rutas y enlaces asociados), cuando una llamada de un teléfono registrado o de un troncal entrante llega al nodo con la instancia de lista de rutas, Unified CM comprueba si existe una instancia del troncal saliente seleccionado en el mismo nodo que la lista de rutas. Si es así, Unified CM utiliza este nodo para establecer la llamada troncal saliente.
- Si tanto la lista de rutas como el tronco tienen Ejecutar en todos los nodos activos de Unified CM habilitados, la distribución de llamadas salientes viene determinada por el nodo en el que llega la llamada entrante.
- Si el troncal saliente seleccionado utiliza grupos de Unified CM en lugar de ejecutarse en todos los nodos, Unified CM aplica la regla local de ruta si existe una instancia del troncal saliente seleccionado en el mismo nodo en el que llega la llamada entrante.
- Si no existe una instancia del tronco en este nodo, Unified CM reenvía la llamada (dentro del clúster) a un nodo en el que el tronco está activo.
- Si la lista de rutas no tiene activada la opción Ejecutar en todos los nodos activos de Unified CM, una instancia de la lista de rutas estará activa en un nodo del clúster (el nodo principal del grupo Unified CM de la lista de rutas).
- Si el troncal saliente seleccionado también está activo en el nodo principal del grupo Unified CM de la lista de rutas, se aplica la regla local de ruta, lo que resulta en una distribución de llamadas salientes subóptima porque todas las llamadas troncales salientes se originan desde este nodo.
Cisco recomienda encarecidamente habilitar Ejecutar en todos los nodos activos de Unified CM en todas las listas de rutas y líneas troncales SIP.