![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
Intelligent Management: Operandos SIP
É possível usar os operandos SIP e seus protocolos associados no construtor de utilitário de subexpressão, uma ferramenta opcional que ajuda a construir condições de regras complexas a partir de subexpressões usado AND, OR, NOT e agrupamento parentético.
Regras
Cada classe de trabalho contém uma lista ordenada opcional de regras que são avaliadas para um pedido específico para determinar a política para tal pedido. Cada regra consiste em uma expressão booleana e em um valor de política. Se a expressão for avaliada como verdadeira para um determinado pedido, a política associada a essa regra será utilizada.
A sintaxe e as semânticas de uma expressão booleana para uma regra são semelhantes à cláusula WHERE de uma expressão SQL (Linguagem de consulta estruturada). Mais precisamente, a sintaxe de uma expressão é definida pela especificação JMS (Java™ Message Service) 1.1. Para obter mais informações sobre sintaxe e semântica de expressões, leia sobre classificação de solicitação baseada em regra.
Na especificação JMS, os identificadores referem-se a vários atributos que podem ser associados a um pedido, por exemplo, um parâmetro de consulta específico, um cookie ou um cabeçalho HTTP. Um identificador JMS pode ser visto como uma variável, ou operando, do pedido. Esses operandos podem ser específicos de um protocolo. Por exemplo, o nome do serviço SOAP é um operando que é válido somente em um classe de trabalho de SOAP.
clienthost LIKE '%.ibm.com'
'%.ibm.com' é um literal que é utilizado para comparação com o nome do host do cliente para um pedido.
Essa expressão é verdadeira para todos os pedidos que se originam de um computador no domínio ibm.com.
Coloque os literais da cadeia entre aspas
simples. Não delimite literais numéricos com aspas simples. Os parênteses, juntamente com os operadores AND, OR e NOT, podem ser usados também para formar expressões booleanas compostas. Consulte a especificação JMS 1.1 para obter uma descrição detalhada.Operandos SIP
Operando | Sintaxe | Description |
---|---|---|
Host do cliente |
clienthost | O nome completo do host cliente. Este é o valor do nome do host do comando IP (Internet Protocol). Este operando não suporta operadores numéricos tais como >, >=, <, <=. |
Cliente IPV4 |
clientipv4 | O endereço IP do cliente que usa o o tipo de endereço quadrangular pontilhado do Internet Protocol versão 4 (IPv4) n.n.n.n. |
Cliente IPV6 |
clientipv6 | O tipo de endereço IPv6 (Internet Protocol versão 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 |
request.contact | O campo Cabeçalho de Contato. |
URI de contato |
request.contact.uri | O URI do campo Cabeçalho de Contato. |
Cabeçalho de origem |
request.from | O campo Cabeçalho de Origem. |
Nome de exibição do cabeçalho de origem |
request.from.display-name | O nome de exibição no campo Cabeçalho de Origem. |
URI de origem |
request.from.uri | O URI do campo Cabeçalho de Origem. |
Host do URI de origem |
request.from.uri.host | O host no campo Cabeçalho de Origem. |
Porta do URI de origem |
request.from.uri.port | A porta no URI do campo Cabeçalho de Origem. |
Usuário do URI de origem |
request.from.uri.user | O usuário no campo Cabeçalho de Origem. |
Nome do cabeçalho |
header $<nome> | O nome e do 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:
|
Porcentagem |
percentage$<val> | 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 |
port | A porta de atendimento na qual a solicitação foi recebida. |
Rampup |
rampup$<startTime> $<completionTime> |
O operando rampup é avaliado como true, uma
porcentagem variável do tempo. Ele sempre avalia como falso antes de <startTime> e como verdadeiro depois de <completionTime>.
Conforme o tempo progride de <startTime> para <completionTime>,
ele avalia como verdadeiro, uma porcentagem linearmente crescente. 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 |
request.transport | O transporte do pedido. |
URI do pedido |
request.uri | O URI do pedido. |
Host do URI do pedido |
request.uri.host | O host no URI do pedido. |
Porta do URI do pedido |
request.uri.port | A porta no URI do pedido. |
Usuário do URI do pedido |
request.uri.user | O usuário no URI do pedido. |
Esquema do Cabeçalho de origem |
request.from.uri.scheme | O esquema do campo Cabeçalho de Origem. |
Esquema do Cabeçalho de destino |
to.uri.scheme | O esquema do campo Cabeçalho de Destino. |
Esquema do URI |
request.uri.scheme | O esquema do URI. |
Host do servidor |
serverhost | O nome completo do host do servidor. Este operando não suporta operadores numéricos tais como >, >=, <, <=. |
Servidor IPV4 |
serveripv4 | O endereço IP do computador servidor que utiliza o tipo de endereço quadrangular pontilhado IPv4 n.n.n.n. |
Servidor IPV6 |
serveripv6 | 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. |
Método SIP |
request.method | 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 |
response.code | O código da resposta. Se a mensagem não for uma resposta, esse operando retornará -1. |
Host do cliente de destino |
clienthost | O host do cliente no campo Cabeçalho de Destino. |
Cabeçalho de destino |
request.to | O campo Cabeçalho de Destino. |
Nome de exibição do cabeçalho de destino |
request.to.display-name | O nome de exibição no campo Cabeçalho de Destino. |
URI de destino |
request.to.uri | O URI do campo Cabeçalho de Destino. |
Host do URI de destino |
request.to.uri.host | A porta no URI do campo Cabeçalho de Destino. |
Usuário do URI de destino |
request.to.uri.user | O usuário no campo Cabeçalho de Destino. |
Operadores
O Intelligent Management suporta os operadores na seguinte tabela nas expressões de regras. Esses operadores são referidos também como predicados na terminologia SQL porque comparecem dentro de uma cláusula WHERE ou HAVING. Os operadores não fazem distinção entre maiúsculas e minúsculas.
Operador | Description |
---|---|
OR | O operador lógico OR. |
AND | O operador lógico AND. |
NOT | O operador de negação. |
IN | Expressa um operando com vários valores em uma única
expressão. Seu significado é consistente com o significado padrão
do SQL do operador. Por exemplo, se você desejar expressar que o valor da porta seja qualquer um ou todos os valores, como 9080, 9090, 9091, use o fragmento da expressão:
No SQL, o modo como os valores dentro dos parênteses são expressos, depende do tipo de dado da porta. Se a porta for um número inteiro, os valores sem as aspas simples serão sintaticamente corretos. Se a porta for uma cadeia, a expressão correta será:
|
LIKE | Expressa a correspondência de padrões para valores do operando de sequência. O valor deve conter o caractere curinga (%) na posição em que a correspondência de padrões é esperada iniciar. Por exemplo,
a expressão:
host LIKE %blancacorresponde à palavra blanca e a qualquer outra palavra que termine em blanca, enquanto a expressão: host LIKE blanca%corresponde à palavra blanca e a qualquer outra palavra que inicie com blanca. A expressão: host LIKE %blanca%corresponde à palavra blanca e a qualquer palavra que tenha o token blanca integrado nela. A classe java.util.regex.Pattern é usada. |
= | O operador de igualdade expressa uma correspondência na correspondência que faz distinção entre maiúsculas e minúsculas. |
> | O operador Greater-than para utilização com operandos numéricos. |
>= | Operador Greater-than ou equal para utilização com operandos numéricos. |
< | Operador Less-than para utilização com operandos numéricos. |
<= | Operador Less-than ou equal para utilização com operandos numéricos. |
< > | Operador Não igual. |
BETWEEN | Utilizado com AND para selecionar um intervalo de valores incluindo o primeiro (baixo) e o último (alto) valores. Juntos, eles operam sobre valores de números e datas. |
IS NULL | Testa um operando que tenha um valor NULL. |
IS NOT NULL | Testa um operando que tenha um valor diferente de NULL. |