Regulă builder de expresie SIP

Utilizaţi builderul de subexpresii pentru a construi condiţii cu reguli complexe din subexpresii utilizând AND, OR, NOT şi gruparea în paranteze. Builderul de reguli validează regula atunci când aplicaţi modificările, şi vă avertizează cu privire la parantezele nepotrivite, şi operatorii logici neacceptaţi.

Pentru a vizualiza această pagină a consolei administrative, faceţi clic pe Servere > Tipuri de servere > Rutere On Demand > odr_name > Setări rutere On Demand SIP > Reguli SIP pentru politici de rutare > Adăugare > Builder subexpresii.

Pentru a modifica regulile cu builderul de reguli, trebuie să aveţi privilegii administrative de administrator.

Selectare operand

Rutare şi serviciul de politică operanzi

În funcţie de protocolul pe care l-aţi selectat, sunt afişaţi diferiţi operanzi. Tabelul următor include numele operandului aşa cum este afişat în consolă, operandul real aşa cum va apărea in expresie, protocoalele valide pe operand şi descrierea pentru fiecare operand.

Tabelul 1. Operanzi. Tabelul următor descrie numele de operanzi afişate în consolă
Cerere variabilă Protocoale valide Descriere

aplicaţie

IIOP Numele aplicaţiei Enterprise când EJB este inclusă.
clienthost

HTTP

SOAP

IIOP

SIP

Nume gazdă client complet calificat. Aceasta este valoarea pentru protocol internet (IP) comandă nume gazdă. Acest operand nu suportă operatori numerici cum ar fi >, >=, <, <=.

clientport

IIOP Numele portului de client.
clientipv4

HTTP

SOAP

SIP

Adresa IP a calculatorului client folosind Internet Protocol versiunea 4 (IPv4) punctată adresă tip quadn.n.n.n.
clientipv6

HTTP

SOAP

SIP

Versiunea 6 de Internet Protocol (IPv6) 128-bit tip adresă de x:x:x:x:x:x:x:x cerere pentru următoarele comentarii 1924 (RFC 1924) de la computerul client.
Contact header

SIP

Câmpul de contact header.

Contact URI

SIP

URI-ul câmpului de contact header.

cookie$<nume>

HTTP

SOAP

Nume cookie-ului. De exemplu, expresia cookie$My_Cookie_Name='My_Cookie_Value' testează o cerere pentru a vedea dacă conţine un cookie numit My_Cookie_Name cu valoarea My_Cookie_Value. Pentru a testa prezenţa sau absenţa unui anumit cookie, folosiţi una din următoarele expresii:
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL

ejbmodule

IIOP Numele modulului unui EJB.

ejbname

IIOP Numele unui EJB.

ejbmethod

IIOP Numele unei metode în EJB.
De la header

SIP

Din câmpul antet.

Numele afişat din header

SIP

Numele afişat în câmpul header.

de la URI

SIP

URI-ul de la câmpul header.

de la gazdă URI

SIP

Gazda în câmpul header.

de la portul URI

SIP

Portul în URI de la câmpul header.

de la utilizatorul URI

SIP

Utilizatorul în câmpul header.

header$<nume>

HTTP

SOAP

SIP

Un nume header şi valoare. De exemplu expresia header$Host='localhost' testează o cerere pentru a vedea dacă conţine un header gazdă HTTP cu o valoare de localhost. Pentru a testa prezenţa sau absenţa headerului gazdă, folosiţi una din expresiile următoare:
header$Host IS NOT NULL 
header$Host IS NULL
HTTPMethod

HTTP

SOAP

Metoda HTTP pentru cererea. Valori posibile sunt Postează, Obţine, Pune, şi Şterge.
MIMEType

HTTP

SOAP

Tipul MIME al cererii.
operaţie SOAP Numele unui serviciu Web de operaţii.
procentaj$<val>

HTTP

SOAP

IIOP

SIP

Procentajul operandului evaluează la adevărat, un procent corect din timp. De exemplu, procentaj$50 evaluează la adevărat în medie 50% din timp.
port

HTTP

SOAP

IIOP

SIP

Portul de ascultare pentru care cerere a fost primită.
protocol

HTTP

SOAP

Protocolul de comunicare care transmite cererea. Protocoalele suportate în prezent sunt HTTP, HTTPS, SOAP, şi SOAPS.
queryparm$<nume>

HTTP

SOAP

Un nume header şi valoare. De exemplu, expresia queryparm$timezone='EST' testează o cerere pentru a vedea dacă cererea conţine un parametru de interogare HTTP numit fus orar cu o valoare de EST. Pentru a testa prezenţa sau absenţa unui parametru de interogare, utilizaţi una din următoarele forme:
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL
rampup$<startTime>$<completionTime>

HTTP

SOAP

IIOP

SIP

Operandul rampup se evaluează la adevărat un procent variabil de timp. Întotdeauna se evaluează la fals înainte de <startTime> şi la adevărat după <completionTime>. Pe măsură ce se înaintează în timp de la <startTime> la <completionTime>, se evaluează la adevărat, un procent în creştere liniară.

Formatul <startTime> şi <completionTime> este zi/lună/an::oră:min:sec.

Unde zi este ziua din lună, lună este una dintre cele douăsprezece luni: Ian, Feb, Mar, Apr, Mai, Iun, Iul, Aug, Sep, Oct, Nov, Dec, an este anul din 4 cifre, oră este ora din 2 cifre a ceasului de 24 de ore, iar min şi sec sunt 2 valori pentru minute şi secunde.

De exemplu,

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 începe să evalueze ocazional la adevărat la ora 8 pe 1 ianuarie 2007 şi evaluează mereu la adevărat de la ora 17 din aceeaşi zi.
Cerere transport

SIP

Transportul cererii.

URI cerere

SIP

Cerere URI.

Cerere gazdă URI

SIP

Gazdă în câmpul URI.

Cerere port URI

SIP

Portul în cererea URI.

Cerere utilizator URI

SIP

Utilizatorul în cererea URI.

schema de la header

SIP

Schema de la câmpul header.

Schemă de header

SIP

Schema de la câmpul header.

Schema URI

SIP

Schema URI-ului.

serverhost

HTTP

SOAP

IIOP

SIP

Numele gazdă al serverului complet calificat. Acest operand nu suportă operatori numerici cum ar fi >, >=, <, <=.
serveripv4

HTTP

SOAP

SIP

Adresa IP a calculatorului server folosind IPv4 punctată adresă tip quadn.n.n.n.
serveripv6

HTTP

SOAP

SIP

IPv6 128-bit tip adresă de x:x:x:x:x:x:x:x următoarele RFC 1924 ale computerului server.
serviciu

SOAP

Numele unui serviciu Web.
metoda SIP

SIP

Metoda SIP pentru cererea. Valorile posibile sunt INVITE, TRYING, RINGING, ACK, OK, şi BYE. Dacă mesajul nu este o cerere, acest operand returnează null.

Cod de răspuns SIP

SIP

Codul de răspuns al răspunsului. Dacă mesajul nu este un răspuns, acest operand returnează -1.

timp

HTTP

SOAP

IIOP

Acest operand este utilizat pentru a defini data şi ora din zi în care o anumită cerere să fie operată. Două câmpuri opţionale sunt StartTime şi EndTime. Dacă o cerere este primită în afara ferestrei definite, cererea nu va fi procesată.

Câmpurile oră de începere şi oră de sfârşit, au fiecare următorul format: dayOfWeek/dayOfMonth/lună/an::oră:minut:secundă.

De exemplu Joi 11 Aprilie anul 2007 la 1:03:45 PM este specificat ca:

Joi/11/Apr/2007::13:03:45

Orice câmp poate utiliza metacaractere cu valoarea *. De exemplu, data de 1 a fiecărei luni este specificată ca */1.

Valorile dayofWeek sunt Duminică, Luni, Marţi, Miercuri, Joi, Vineri, Sâmbătă şi valorile dayOfMonth sunt cuprinse între 1-31.

Valoarea lună este o valoare non-numerică reprezentând cele douăsprezece luni: Ian, Feb, Mar, Apr, Mai, Iun, Iul, Aug, Sep, Oct, Nov, Dec.

Valoarea an este compusă din cele patru caractere ale anului. De exemplu 2007.

Valoarea oră este ora din zi în cadrul celor 24 de ore. De exemplu, 8am este reprezentat ca şi ::8. minut şi secundă sunt numere întregi între 0-59.

Bara oblică (/) este utilizată pentru a separa parametrii de date, două puncte duble (::) este folosit pentru a separa valorile data şi oră, şi două puncte (:) este utilizat pentru a separa parametrii din cadrul zilei. Reţineţi că acesta este rezultatul boolean al regulii în care operandul timp este utilizat în determinarea acţiunii întreprinse de rutare.

La client gazdă

SIP

Clientul gazdă din câmpul header.

la header

SIP

către câmpul header.

Numele afişat din header

SIP

Numele afişat in câmpul antet.

la URI

SIP

URI-ul de la câmpul header.

la gazda URI

SIP

Portul din URI de la câmpul gazdă.

la utilizatorul URI

SIP

Utilizatorul din câmpul header.

gazdă virtuală

HTTP

SOAP

Portalurile virtuale sunt create în cadrul WebSphere® Portal Server, iar WebSphere Extended Deployment suportă acest operand pentru o mai bună integrare cu WebSphere Portal Server. Portul virtual este URL-ul cerut minus rădăcina context pentru modulul aplicaţiei web WebSphere Portal. În cazul în care o cerere dată se potriveşte cu portalul virtual definit, atunci este aleasă acţiunea de rutare definită pentru acea regulă.
xpathexpr

SOAP

Expresia şir XPath are un câmp utilizat obligatoriu ce conţine expresia XPath şi un câmp opţional pentru definirea de nume spaţii locale. Dacă toate alocările unui spaţiu conţinute în expresia XPath sunt standard, atunci al doilea câmp poate fi opţional. Dacă există multiple alocări de spaţii nume locale, atunci se separă fiecare cu virgulă (,). Urmează un exemplu de xpathexpr cu definiţia unui spaţiu nume:
xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com
= \\'1000\\' sau operatorul IS NOT NULL

În expresia anterioară, expresia XPath este /soap:Envelope/soap:Body/n:getTimeZone/n:clientId. Conţine spaţiu nume local de n. Deci, al doilea câmp din xpathexpr este definit ca n \\=http://test.classify.ws.ibm.com. Semnul dolar ($) este utilizat pentru a denota începutul unei definiţii câmp. Barele oblice inverse duble sunt secvenţa escape din acest exemplu. Primul semn egal (=) este escaped deoarece este parte componentă din definiţia spaţiu nume local, întrucât al doilea semn egal (=) este operatorul în expresia de clasificare şi nu trebuie să fie escaped.

Urmează un exemplu de xpathexpr cu două spaţii nume locale:

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

Urmează o listă cu spaţii nume standard pentru xpathexpr:

Tabelul 1. Spaţii de nume. Spaţiile de nume standard sunt descrise în tabelul următor
Spaţiu nume URL
soap http://schemă.xmlsoap.org/soap/envelope/
soap-env http://schemă.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/

Operator

  • = Operatorul de egalitate exprimă potrivirea sensibilităţii la majuscule.
  • <> Operatorul de inegalitate exprimă faptul că valoarea operandului nu este egală cu valoarea pe care aţi introdus-o.
  • >Operatorul mai_mare_de se utilizează cu numere.
  • >= Operatorul mai_mare_de sau egal se utilizează cu numere.
  • < Operatorul mai_mic_de se utilizează cu numere.
  • <= Operatorul mai_mic_de sau egal se utilizează cu numere.
  • AND: Pentru expresia xx AND yy, potrivirile care conţin ambele xx, yy.
  • BETWEEN: Acest operator este utilizat cu AND pentru a selecta un interval de valori de la cea mai mică valoare până la cea mai mare. Împreună acestea operează în numere şi date.
  • EXISTS: Acest operator boolean verifică un operand sau rezultatul unei subexpresii compuse, de exemplu, în timpul verificării unor anumite elemente atribute header HTTP.
  • IN: Acest operator exprimă un operand cu valori multiple într-o singură expresie. De exemplu, dacă, pentru un operand numit port, doriţi să se exprime faptul că valoare portului poate fi oricare sau toate valorile cum ar fi 9080, 9090, 9091, fragmentul expresiei este port IN (9080,9090,9091). Cum valorile din interiorul parantezelor sunt exprimate în funcţie de tipul de dată al portului. Dacă portul este un întreg, sintaxa corectă este valoarea fără ghilimele. Dacă portul este un şir, sintaxa corectă este port IN (‘9080’,‘9090’,‘9091’).
  • IS NULL: Acest operator exprimă faptul că o validare a unei interogări arată că parametrul cerut nu există.
  • IS NOT NULL: Acest operator exprimă faptul că o validare a unei interogări arată că parametrul cerut există.
  • LIKE: Acest operator exprimă potrivirea de model pentru valoarea operandului de tip şir. Valoarea trebuie să conţină metacaracterul procent (%) în poziţia unde începe potrivirea de model. De exemplu expresia, host LIKE %blanca, potriveşte cuvântul blanca, sau orice alt cuvânt care se termină cu blanca, în timp ce expresia host LIKE blanca% potriveşte cuvântul blanca sau orice alt cuvânt care începe cu blanca, şi expresia host LIKE %blanca% potriveşte cuvântul blanca cu orice alt cuvânt care înglobează blanca în el.
  • NOT: Pentru NOT xx, acest operator exprimă potriviri care nu conţin xx.
  • OR: Pentru xx OR yy, acest operator exprimă egalităţile care conţin fie xx, yy.

Valoare

In funcţie de operatorul pe care doriţi să îl alegeţi, tastaţi o valoare pentru subexpresia pe care doriţi să o creaţi.

Generare subexpresie

Generează subexpresie ca rezultat al operandului, operatorului, şi valorilor pe care le-aţi specificat.

Adăugare la sfârşit

Apăsaţi pentru adăugarea la sfârşitul casetei de pe panoul cu reguli.



Nume fişier: sip_rulebuilder_detail.html