Construtor de Expressões de Regras de SIP

Utilize o construtor de subexpressões para construir condições de regras complexas de subexpressões utilizando AND, OR, NOT e agrupamento parentético. O construtor de regras valida a regra quando você aplica as alterações e o alerta para os parênteses não correspondidos e os operadores de lógica não suportados.

Para visualizar essa página do console administrativo, clique em Servidores > On Demand Routers > odr_name> Propriedades do On Demand Router do SIP > Regras de SIP da Política de Roteamento > Incluir > Construtor de Subexpressões.

Para modificar regras com o construtor de regras, você deve ter privilégios administrativos de administrador.

Selecionar Operando

Operandos de Política de Roteamento e Serviço

Dependendo do protocolo selecionado, são exibidos operandos diferentes. A tabela a seguir inclui os nomes dos operandos, como exibidos no console, o operando real como aparecerá na expressão, os protocolos válidos por operando e a descrição para cada operando.

Tabela 1. Operandos
Variável do Pedido Protocolos Válidos Descrição

application

IIOP O nome do Aplicativo Corporativo no qual o EJB está contido.
clienthost

HTTP

SOAP

IIOP

SIP

O nome completo do host cliente. Este é o valor do nome do host do comando IP (Internet Protocol). Esse operando não suporta operadores numéricos, como >, >=, <, <=.

clientport

IIOP O nome da porta do cliente.
clientipv4

HTTP

SOAP

SIP

O endereço IP do computador cliente que utiliza o tipo de endereço quadrangular pontilhado IPv4 (Internet Protocol version 4) n.n.n.n.
clientipv6

HTTP

SOAP

SIP

O tipo de endereço IPv6 (Internet Protocol version 6) de 128 bits de x:x:x:x:x:x:x:x seguindo o RFC 1924 (Pedido de Comentários 1924) do computador cliente.
Cabeçalho de contato

SIP

O campo Cabeçalho de Contato.

URI de contato

SIP

O URI do campo Cabeçalho de Contato.

cookie$<name>

HTTP

SOAP

O nome de um cookie. Por exemplo, a expressão cookie$My_Cookie_Name='My_Cookie_Value' testa um pedido para ver se ele contém um cookie denominado My_Cookie_Name com um valor de My_Cookie_Value. Para testar a presença ou a ausência de um determinado cookie, utilize uma das expressões a seguir:
cookie$MyCookieName IS NOT NULL
cookie$MyCookieName IS NULL

ejbmodule

IIOP O nome do módulo de um EJB.

ejbname

IIOP O nome de um EJB.

ejbmethod

IIOP O nome de um método no EJB.
Cabeçalho de origem

SIP

O campo Cabeçalho de Origem.

Nome de exibição do cabeçalho de origem

SIP

O nome de exibição no campo Cabeçalho de Origem.

URI de origem

SIP

O URI do campo Cabeçalho de Origem.

Host do URI de origem

SIP

O host no campo Cabeçalho de Origem.

Porta do URI de origem

SIP

A porta no URI do campo Cabeçalho de Origem.

Usuário do URI de origem

SIP

O usuário no campo Cabeçalho de Origem.

header$<name>

HTTP

SOAP

SIP

O nome e o valor de um cabeçalho. Por exemplo, a expressão header$Host='localhost' testa um pedido para ver se ele contém um cabeçalho do host HTTP com um valor de host local. Para testar a presença ou ausência do cabeçalho do host, utilize uma das seguintes expressões:
header$Host IS NOT NULL
header$Host IS NULL
HTTPMethod

HTTP

SOAP

O método HTTP para o pedido. Os possíveis valores são POST, GET, PUT e DELETE.
MIMEType

HTTP

SOAP

O tipo MIME do pedido.
operação SOAP O nome de uma operação de serviço da Web.
percentage$<val>

HTTP

SOAP

IIOP

SIP

O operando de porcentagem é avaliado como true, uma porcentagem fixa do tempo. Por exemplo, percentage$50 é avaliado como true na média de 50% do tempo.
port

HTTP

SOAP

IIOP

SIP

A porta de atendimento na qual o pedido foi recebido.
protocolo

HTTP

SOAP

O protocolo de comunicações que transmite o pedido. Os protocolos suportados atualmente são HTTP, HTTPS, SOAP e SOAPS.
queryparm$<name>

HTTP

SOAP

O nome e o valor de um cabeçalho. Por exemplo, a expressão queryparm$timezone='EST' testa um pedido para ver se ele contém um parâmetro de consulta HTTP denominado fuso horário com um valor EST. Para testar a presença ou a ausência de um parâmetro de consulta, utilize uma das formas a seguir:
queryparm$timezone IS NOT NULL
queryparm$timezone IS NULL
rampup$<startTime>$<completionTime>

HTTP

SOAP

IIOP

SIP

O operando rampup é avaliado como true, uma porcentagem variável do tempo. Ele é sempre avaliado como false antes de <startTime> e como true depois de <completionTime>. Conforme o tempo progride de <startTime> para <completionTime>, ele é avaliado como true, uma porcentagem de aumento linear.

O formato de <startTime> e <completionTime> é day/month/year::hour:min:sec.

em que day é o dia do mês, month é um dos doze meses: jan, fev, mar, abr, mai, jun, jul, ago, set, out, nov, dez, year é o ano de 4 dígitos, hour é a hora de 2 dígitos do formato de 24 horas e min e sec são valores de 2 dígitos para minuto e segundo, respectivamente.

Por exemplo,

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 começa a ser avaliado ocasionalmente como true às 8h de 1 de jan de 2007 e é sempre avaliado como true pela hora de conclusão de ramp up às 17h do mesmo dia.
Transporte de pedido

SIP

O transporte do pedido.

URI do pedido

SIP

O URI do pedido.

Host do URI do pedido

SIP

O host no URI do pedido.

Porta do URI do pedido

SIP

A porta no URI do pedido.

Usuário do URI do pedido

SIP

O usuário no URI do pedido.

Esquema do Cabeçalho de origem

SIP

O esquema do campo Cabeçalho de Origem.

Esquema do Cabeçalho de destino

SIP

O esquema do campo Cabeçalho de Destino.

Esquema do URI

SIP

O esquema do URI.

serverhost

HTTP

SOAP

IIOP

SIP

O nome completo do host do servidor. Esse operando não suporta operadores numéricos, como >, >=, <, <=.
serveripv4

HTTP

SOAP

SIP

O endereço IP do computador servidor que utiliza o tipo de endereço quadrangular pontilhado IPv4 n.n.n.n.
serveripv6

HTTP

SOAP

SIP

O tipo de endereço IPv6 de 128 bits de x:x:x:x:x:x:x:x seguindo o RFC 1924 do computador servidor.
service

SOAP

O nome de um serviço da Web.
Método SIP

SIP

O método SIP do pedido. Os valores possíveis são INVITE, TRYING, RINGING, ACK, OK e BYE. Se a mensagem não for um pedido, esse operando retornará nulo.

Código de resposta do SIP

SIP

O código da resposta. Se a mensagem não for uma resposta, esse operando retornará -1.

time

HTTP

SOAP

IIOP

Esse operando é utilizado para definir a data e a hora do dia que um determinado pedido deve ser cumprido. Dois campos adicionais são StartTime e EndTime. Se um pedido for recebido fora daquela janela definida, o pedido não será processado.

Os campos Start Time e End Time têm o seguinte formato: dayOfWeek/dayOfMonth/month/year::hour:minute:second.

Por exemplo, Quinta-feira, 11 de abril de 2007 às 13:03:45 é especificado como:

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

Qualquer campo pode utilizar um curinga com o valor *. Por exemplo, o primeiro dia de cada mês é especificado como */1.

Os valores dayofWeek são dom, seg, ter, qua, qui, sex, sáb e os valores dayOfMonth variam de 1 a 31.

O valor month é um valor não-numérico que representa os doze meses: Jan, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez.

O valor year é composto de quatro dígitos do ano. Por exemplo, 2007.

O valor hour é a hora do dia no relógio de 24 horas. Por exemplo, 8h é representado como ::8. O minute e second são representados como inteiros que variam de 0-59.

A barra (/) é utilizada para separar parâmetros de data, os dois-pontos duplos (::) são utilizados para separar os valores de data e hora, e os dois-pontos (:) são utilizados para separar a hora dos parâmetros do dia. Observe que esse é o resultado booleano da regra inteira no qual o operando time é utilizado para determinar a ação de roteamento adotada.

Host do cliente de destino

SIP

O host do cliente no campo Cabeçalho de Destino.

Cabeçalho de destino

SIP

O campo Cabeçalho de Destino.

Nome de exibição do cabeçalho de destino

SIP

O nome de exibição no campo Cabeçalho de Destino.

URI de destino

SIP

O URI do campo Cabeçalho de Destino.

Host do URI de destino

SIP

A porta no URI do campo Cabeçalho de Destino.

Usuário do URI de destino

SIP

O usuário no campo Cabeçalho de Destino.

host virtual

HTTP

SOAP

Os portais virtuais são criados dentro do WebSphere® Portal Server e o WebSphere Extended Deployment suporta esse operando para melhor integração com o WebSphere Portal Server. A porta virtual é a URL de pedido menos a raiz de contexto para o módulo da Web do aplicativo WebSphere Portal. Se um determinado módulo corresponder ao portal virtual definido, então, a ação de roteamento definida para essa regra será utilizada.
xpathexpr

SOAP

A expressão de cadeia XPath possui um campo necessário, utilizado para conter a expressão XPath e um campo opcional para a definição do(s) espaço(s) de nomes local(is). Se todos os espaços de nomes contidos na expressão XPath forem padrão, então o segundo campo pode ser opcional. Se há vários espaços de nomes locais, então separe cada um com vírgula (,). A seguir há um exemplo de xpathexpr com uma definição de espaço de nomes 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\\' ou operação IS NOT NULL

Na expressão anterior, a expressão XPath é /soap:Envelope/soap:Body/n:getTimeZone/n:clientId. Ela contém o espaço de nomes local de n. Portanto, o segundo campo de xpathexpr é definido como n \\=http://test.classify.ws.ibm.com. O sinal de cifrão ($) é utilizado para indicar o início de uma definição de campo. As barras duplas invertidas são a seqüência de escape neste exemplo. O primeiro sinal de igual (=) recebe escape porque faz parte da definição de espaço de nomes local, enquanto o segundo sinal de igual (=) é o operador da expressão de classificação e não deve receber escape.

A seguir há um exemplo de um xpathexpr com dois espaços de nomes locais:

xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' ou operação IS NOT NULL

A seguir há uma lista de espaços de nomes padrão para xpathexpr:

Tabela 1. Espaços de Nomes
Espaço de nomes 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
  • = O operador de igualdade expressa uma correspondência que faz distinção entre maiúsculas e minúsculas.
  • <> O operador diferente de expressa que o valor do operando não é igual ao valor digitado.
  • > O operador maior que deve ser utilizado com números.
  • >= O operador maior que ou igual a deve ser utilizado com números.
  • < O operador menor que deve ser utilizado com números.
  • <= O operador menor que ou igual a deve ser utilizado com números.
  • AND: Para xx AND yy, expressa correspondências que contêm xx, yy.
  • BETWEEN: Esse operador é utilizado com AND para selecionar um intervalo de valores incluindo o primeiro valor ou inferior e o último valor ou superior. Juntos eles operam em números e datas.
  • EXISTS: Esse operador Booleano verifica um operando ou o resultado de uma subexpressão composta, por exemplo, enquanto verifica determinados atributos de elemento do cabeçalho HTTP.
  • IN: Esse operador expressa um operando com vários valores em uma única expressão. Por exemplo, se, para um operando chamado port, você desejar expressar que o valor da porta pode ser qualquer um ou todos os valores, como 9080, 9090, 9091, o fragmento da expressão será port IN (9080,9090,9091). Como os valores dentro dos suportes são expressos depende do tipo de dados da porta. Se a porta for um inteiro, a sintaxe correta será os valores sem aspas. Se a porta for uma cadeia, a sintaxe correta será port IN (‘9080’, ‘9090’, ‘9091’).
  • IS NULL: Esse operador expressa que a validação da consulta mostra que o parâmetro solicitado não existe.
  • IS NOT NULL: Esse operador expressa que a validação da consulta mostra que o parâmetro solicitado existe.
  • LIKE: Esse padrão expressa a correspondência padrão dos valores de operando de cadeia. O valor deve conter o caractere curinga de sinal de porcentagem (%) na posição em que iniciar a correspondência padrão. Por exemplo, a expressão host LIKE %blanca fará a correspondência da palavra blanca ou de qualquer outra palavra que termine em blanca, enquanto a expressão host LIKE blanca% fará a correspondência da palavra blanca ou de qualquer outra palavra que comece com blanca e a expressão host LIKE %blanca% fará a correspondência da palavra blanca ou de qualquer palavra que tenha blanca embutida nela.
  • NOT: Para NOT xx, esse operador expressa as correspondências não contêm xx.
  • OR: Para xx OR yy, esse operador expressa as correspondências que contêm xx, yy.
Valor

Dependendo do operador escolhido, digite um valor para a subexpressão que você optar por criar.

Gerar Subexpressão

Gere a subexpressão como resultado do operando, operador e valores especificados.

Anexar

Clique para anexar na caixa no painel de regras.




Centro de informações do WebSphere Virtual Enterprise (on-line)

Informações relacionadas
Regras de SIP da Política de Roteamento
Regras de SIP da Política de Serviço

sip_rulebuilder_detail