Generador de expresiones de normas SIP

El generador de subexpresiones sirve para generar condiciones complejas de normas utilizando AND, OR y NOT así como la agrupación con paréntesis. El generador de normas valida la norma al aplicar los cambios y avisa si hay paréntesis desemparejados u operadores lógicos a los que no se les da soporte.

Si desea ver esta página de la consola administrativa, pulse Servidores > Direccionadores On Demand > nombre_odr> Propiedades de direccionador On Demand SIP > Normas SIP de política de direccionamiento > Añadir > Generador de generación de subexpresiones.

Hay que poseer privilegios administrativos de administrador para poder modificar normas con el generador de normas.

Seleccionar operando

Operandos de política de servicio y de direccionamiento

Dependiendo del protocolo seleccionado, se mostrarán distintos operandos. En la siguiente tabla se indican los nombres de los operandos tal como se muestran en la consola, el operando tal como aparecerá realmente en la expresión, los protocolos válidos para cada operando y la descripción de cada operando.

Tabla 1. Operandos
Variable de solicitud Protocolos válidos Descripción

application

IIOP El nombre de la aplicación de empresa donde está contenido el EJB.
clienthost

HTTP

SOAP

IIOP

SIP

El nombre completo del sistema principal del cliente. Éste es el valor del nombre del host de mandatos de protocolo de Internet (IP). Este operando no da soporte a operadores numéricos como >, >=, <, <=.

clientport

IIOP El nombre de puerto del cliente.
clientipv4

HTTP

SOAP

SIP

La dirección IP del sistema cliente utilizando el tipo de dirección cuádruple con puntos n.n.n.n de Internet Protocol versión 4 (IPv4).
clientipv6

HTTP

SOAP

SIP

El tipo de dirección de 128 bits x:x:x:x:x:x:x:x de Internet Protocol versión 6 (IPv6) que sigue a la solicitud de comentarios 1924 (RFC 1924) del sistema cliente.
Cabecera de contacto

SIP

El campo Cabecera de contacto.

URI de contacto

SIP

El URI del campo Cabecera de contacto.

cookie$<nombre>

HTTP

SOAP

Un nombre de cookie. Por ejemplo, la expresión cookie$My_Cookie_Name='My_Cookie_Value' comprueba si una solicitud contiene un cookie denominado My_Cookie_Name con el valor My_Cookie_Value. Para comprobar si falta o no un cookie determinado, utilice una de las siguientes expresiones:
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL

ejbmodule

IIOP El nombre de módulo de un EJB.

ejbname

IIOP El nombre de un EJB.

ejbmethod

IIOP El nombre de un método en el EJB.
Desde cabecera

SIP

El campo Desde cabecera.

Nombre de visualización de cabecera de

SIP

El nombre de visualización en el campo Desde cabecera.

Desde URI

SIP

El URI del campo Desde cabecera.

De host URI

SIP

El host en el campo Desde cabecera.

De puerto URI

SIP

El puerto en el URI del campo Desde cabecera.

De usuario URI

SIP

El usuario en el campo Desde cabecera.

header$<nombre>

HTTP

SOAP

SIP

Un valor y nombre de cabecera. Por ejemplo, la expresión header$Host='localhost' comprueba si una solicitud contiene la cabecera de host HTTP con un valor de localhost. Para comprobar si falta o no la cabecera de host, utilice una de las siguientes expresiones:
header$Host IS NOT NULL 
header$Host IS NULL
HTTPMethod

HTTP

SOAP

El método HTTP para la solicitud. Los valores posibles son POST, GET, PUT y DELETE.
MIMEType

HTTP

SOAP

El tipo MIME de la solicitud.
operation SOAP El nombre de una operación de servicio web.
percentage$<val>

HTTP

SOAP

IIOP

SIP

El porcentaje percentage se evalúa en true, un porcentaje fijo del tiempo. Por ejemplo, percentage$50 se evalúa en true de promedio el 50% del tiempo.
port

HTTP

SOAP

IIOP

SIP

El puerto de escucha en el que se ha recibido la solicitud.
protocol

HTTP

SOAP

El protocolo de comunicaciones que transmite la solicitud. Los protocolos soportados actualmente son HTTP, HTTPS, SOAP y SOAPS.
queryparm$<nombre>

HTTP

SOAP

Un valor y nombre de cabecera. Por ejemplo, la expresión queryparm$timezone='EST' comprueba una solicitud para ver si la solicitud contiene un parámetro de consulta HTTP con el nombre timezone y un valor EST. Para comprobar si existe o no un parámetro de consulta, utilice uno de los siguientes formatos:
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL
rampup$<startTime>$<completionTime>

HTTP

SOAP

IIOP

SIP

El operando rampup se evalúa en true, un porcentaje variable del tiempo. Siempre se evalúa en false antes <startTime> y en true después de <completionTime>. A medida que el tiempo pasa de <startTime> a <completionTime>, se evalúa en true, un porcentaje que aumenta de forma lineal.

El formato de <startTime> y <completionTime> es día/mes/año::hora:min:seg.

donde día es el día del mes, mes es uno de doce meses: Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic, año es el año en formato de 4 dígitos, hora es la hora en formato de 2 dígitos del reloj de 24 horas y min y sec son valores de 2 dígitos para minuto y segundo, respectivamente.

Por ejemplo,

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 empieza de vez en cuando a evaluarse en true a las 8:00 el 1 Ene, 2007 y siempre se evalúa en true por la hora de finalización de la devolución incremental a las 17:00 del mismo día.
Transporte de solicitud

SIP

El transporte de la solicitud.

URI de solicitud

SIP

El URI de la solicitud.

Host URI de solicitud

SIP

El host en el URI de la solicitud.

Puerto URI de solicitud

SIP

El puerto en el URI de la solicitud.

Usuario URI de solicitud

SIP

El usuario en el URI de la solicitud.

Esquema de desde cabecera

SIP

El esquema del campo Desde cabecera.

Esquema de a cabecera

SIP

El esquema del campo A cabecera.

Esquema de URI

SIP

El esquema del URI.

serverhost

HTTP

SOAP

IIOP

SIP

El nombre completo del sistema principal del servidor. Este operando no da soporte a operadores numéricos como >, >=, <, <=.
serveripv4

HTTP

SOAP

SIP

La dirección IP del sistema servidor utilizando el tipo de dirección cuádruple con puntos IPv4 n.n.n.n.
serveripv6

HTTP

SOAP

SIP

El tipo de dirección de 128 bits de IPv6 x:x:x:x:x:x:x:x después de RFC 1924 del sistema servidor.
service

SOAP

El nombre de un servicio web.
Método SIP

SIP

El método SIP para la solicitud. Los valores posibles son INVITE, TRYING, RINGING, ACK, OK y BYE. Si el mensaje no es una solicitud, este operando devuelve un valor nulo.

Código de respuesta SIP

SIP

El código de la respuesta. Si el mensaje no es una respuesta, este operando devuelve -1.

time

HTTP

SOAP

IIOP

Este operando se utiliza para definir la fecha y la hora del día en que debe satisfacerse una solicitud dada. Dos campos opcionales son StartTime y EndTime. Si se recibe una solicitud fuera de este intervalo definido, la solicitud no se procesará.

Los campos Hora de inicio y Hora de finalización tienen el siguiente formato: díadelasemana/díadelmes/mes/año::hora:minuto:segundo.

Por ejemplo, Jueves, 11 de abril, año 2007 a las 13:03:45 se especifica tal como se indica a continuación:

Jue/11/Abr/2007::13:03:45

Cualquier campo puede utilizar un comodín con el valor *. Por ejemplo, el primero de cada mes se especifica como */1.

Los valores díadelasemana son Lun, Mar, Mié, Jue, Vie, Sáb y Dom, y los valores de díadelmes oscilan entre 1 y 31.

El valor mes es un valor no numérico que representa los doce meses: Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dec.

El valor año consta de los cuatro dígitos del año. Por ejemplo, 2007.

El valor hora es la hora del día en el reloj de 24 horas. Por ejemplo, 8:00 se representa como ::8. El minuto y segundo son enteros que oscilan entre 0 y 59.

La barra inclinada hacia delante (/) se utiliza para separar los parámetros de fecha, los dos puntos dobles (::) se utilizan para separar los valores de la fecha y la hora del día y los dos puntos (:) se utilizan para separar los parámetros de la hora del día. Observe que es el valor booleano resultante de toda la norma en que se utiliza el operando time es lo que determina la acción de direccionamiento que se toma.

Host de cliente de A cabecera

SIP

El host de cliente en el campo A cabecera.

A cabecera

SIP

El campo A cabecera.

Nombre de visualización de cabecera para

SIP

El nombre de visualización en el campo A cabecera.

A URI

SIP

El URI del campo A cabecera.

A host URI

SIP

El puerto del URI del campo A cabecera.

A usuario URI

SIP

El usuario en el campo A cabecera.

host virtual

HTTP

SOAP

Los portales virtuales se crean dentro de WebSphere® Portal Server y WebSphere Extended Deployment da soporte a este operando para una mejor integración con WebSphere Portal Server. El puerto virtual es el URL de solicitud menos la raíz de contexto para el módulo web de la aplicación de WebSphere Portal. Si una solicitud dada coincide con el portal virtual que se define, se lleva a cabo la acción de direccionamiento definida para dicha norma.
xpathexpr

SOAP

La expresión de la serie de texto XPath tiene un campo necesario que se utiliza para que contenga la expresión de XPath y un campo opcional para definir uno o varios espacios de nombres locales. Si todos los espacios de nombres en la expresión XPath son estándar, el segundo campo puede ser opcional. Si hay varios espacios de nombres locales, separe cada uno de ellos con una coma (,). A continuación se muestra un ejemplo de xpathexpr con una definición de espacio de nombres local:
xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL

En la expresión anterior, la expresión XPath es /soap:Envelope/soap:Body/n:getTimeZone/n:clientId. Contiene el espacio de nombres local n. Por lo tanto, el segundo campo de xpathexpr de define como n \\=http://test.classify.ws.ibm.com. El signo de dólar ($} se utiliza para indicar el principio de una definición de campo. Las barras inclinadas dobles son la secuencia de escape en este ejemplo. El primer signo igual (=) tiene un carácter de escape porque forma parte de la definición de espacio de nombres local, mientras que el segundo signo igual (=) es el operador en la expresión de clasificación y no debe indicarse un carácter de escape.

A continuación se muestra un ejemplo de xpathexpr con dos espacios de nombres locales:

xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL

A continuación se muestra una lista de espacios de nombres estándares para xpathexpr:

Tabla 1. Espacios de nombres
Espacio de nombres URL
soap http://schemas.xmlsoap.org/soap/envelope/
soap-env http://schemas.xmlsoap.org/soap/envelope/
soapenc http://schemas.xmlsoap.org/soap/encoding/
soapbind http://schemas.xmlsoap.org/wsdl/soap/
xsd http://www.w3.org/2001/XMLSchema
xsi http://www.w3.org/2001/XMLSchema-instance
xsi http://ws-i.org/schemas/conformanceClaim/
wsdl http://schemas.xmlsoap.org/wsdl/
Operador
  • =: el operador de equivalencia expresa una coincidencia sensible a las mayúsculas y minúsculas.
  • <>: el operador distinto que indica que el valor del operando no es igual al valor entrado.
  • >: el operador mayor que se utiliza con los números.
  • >= : el operador mayor que o igual a se utiliza con números.
  • < : el operador menor que se utiliza con números.
  • <=: el operador menor que o igual a se utiliza con números.
  • AND: para xx AND yy, expresa las coincidencias que contienen xx, yy.
  • BETWEEN: este operador se utiliza con AND para seleccionar un rango de valores incluido el primer valor, o inferior, y el último valor, o superior. Juntos, estos operadores se utilizan con números y fechas.
  • EXISTS: este operador booleano comprueba un operando o el resultado de una subexpresión compuesta, por ejemplo, mientras comprueba determinados atributos de elementos de cabecera HTTP.
  • IN: este operador expresa un operando con varios valores en una sola expresión. Por ejemplo, si, para un operando denominado port, desea expresar que el valor de puerto puede ser cualquier valor o todos los valores de tipo 9080, 9090, 9091, el fragmento de la expresión será port IN (9080,9090,9091). El modo de expresar los valores dentro de los paréntesis depende del tipo de datos del puerto. Si el puerto es un entero, la sintaxis correcta es especificar los valores sin comillas. Si el puerto es una serie, la sintaxis correcta es port IN (‘9080’,‘9090’,‘9091’).
  • IS NULL: este operador expresa que una validación de la consulta muestra que el parámetro no existe.
  • IS NOT NULL: este operador expresa que una validación de la consulta muestra que existe el parámetro requerido.
  • LIKE: este operador expresa la coincidencia de patrones para los valores de operando de la serie. El valor debe contener como carácter comodín el signo de porcentaje (%) en la posición en la que empieza la coincidencia del patrón. Por ejemplo, la expresión host LIKE %blanca coincide con la palabra blanca, o con cualquier otra palabra que finalice por blanca, mientras que la expresión host LIKE blanca% coincide con la palabra blanca o cualquier otra palabra que empiece por blanca, y la expresión host LIKE %blanca% coincide con la palabra blanca o con cualquier palabra que incluya la palabra blanca.
  • NOT: para NOT xx, este operador expresa las coincidencias que no contienen xx.
  • OR: para xx OR yy, este operador expresa las coincidencias que contienen o xx o yy.
Valor

Dependiendo del valor elegido, escriba un valor para la subexpresión que ha elegido crear.

Generar subexpresión

Genera la subexpresión como un resultado del operando, el operador y los valores especificados.

Agregar

Pulse para agregar al recuadro en el panel de normas.




Centro de información de WebSphere Virtual Enterprise (en línea)

Información relacionada
Normas SIP de política de direccionamiento
Normas SIP de política de servicio

sip_rulebuilder_detail