Verwenden Sie das Erstellungsprogramm für Unterausdrücke, um mit AND, OR, NOT und Gruppierungen in Klammern komplexe Regelbedingungen aus Unterausdrücken zu erstellen. Das Regelerstellungsprogramm validiert die Regeln, wenn Sie die Änderungen anwenden, und gibt Warnungen aus, wenn Klammern nicht korrekt gesetzt sind oder nicht unterstützte logische Operationen verwendet werden.
Klicken Sie zum Anzeigen dieser Seite der Administrationskonsole auf Server > On Demand Router > ODR-Name> Eigenschaften des SIP-ODR > SIP-Regeln für Routing-Richtlinie > Hinzufügen > Erstellungsprogramm für Unterausdrücke.
Wenn Sie Regeln mit dem Regelerstellungsprogramm ändern möchten, benötigen Sie Verwaltungsberechtigungen.
Je nach ausgewählten Protokoll werden unterschiedliche Operanden angezeigt. Die folgende Tabelle enthält die Operandennamen, wie sie in der Konsole angezeigt werden, den tatsächlichen Operanden, wie er im Ausdruck verwendet wird, die gültigen Protokolle für jeden Operanden und die Beschreibung jedes Operanden.
Anforderungsvariable | Gültige Protokolle | Beschreibung | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
application |
IIOP | Der Name der Unternehmensanwendung, die die EJB enthält. | ||||||||||||||||||
clienthost | HTTP SOAP IIOP SIP |
Der vollständig qualifizierte Name des Clienthosts. Dies ist der Wert für den Hostnamen im IP-Befehl (Internet Protocol). Dieser Operand unterstützt keine numerischen Operatoren wie >, >=, <, <=. | ||||||||||||||||||
clientport |
IIOP | Der Portname des Clients. | ||||||||||||||||||
clientipv4 | HTTP SOAP SIP |
Die IP-Adresse des Clientcomputers im IPv4-Adressformat (Internet Protocol Version 4): n.n.n.n. | ||||||||||||||||||
clientipv6 | HTTP SOAP SIP |
Die IP-Adresse des Clientcomputers im 128-Bit-IPv6-Adressformat (Internet Protocol Version 6) x:x:x:x:x:x:x:x gemäß RFC 1924 (Request for Comments). | ||||||||||||||||||
Kontakt-Header | SIP |
Das Header-Feld für den Kontakt. |
||||||||||||||||||
Kontakt-URI | SIP |
Der URI des Header-Felds für den Kontakt. |
||||||||||||||||||
cookie$<Name> | HTTP SOAP |
Ein Cookie-Name. Der Ausdruck cookie$My_Cookie_Name='My_Cookie_Value prüft beispielsweise, ob eine Anforderung ein Cookie mit dem Namen
My_Cookie_Name und dem Wert My_Cookie_Value enthält. Mit den folgenden Ausdrücken können Sie prüfen, ob ein bestimmtes Cookie vorhanden ist bzw. fehlt:
cookie$MyCookieName IS NOT NULL cookie$MyCookieName IS NULL |
||||||||||||||||||
ejbmodule |
IIOP | Der Modulname einer EJB. | ||||||||||||||||||
ejbname |
IIOP | Der Name einer EJB. | ||||||||||||||||||
ejbmethod |
IIOP | Der Name einer Methode in der EJB. | ||||||||||||||||||
Absender-Header | SIP |
Das Header-Feld für den Absender. |
||||||||||||||||||
Anzeigename des Absender-Headers | SIP |
Der Anzeigename des Header-Felds für den Absender. |
||||||||||||||||||
Absender-URI | SIP |
Der URI des Header-Felds für den Absender. |
||||||||||||||||||
Host aus Absender-URI | SIP |
Der Host im Header-Feld für den Absender. |
||||||||||||||||||
Port aus Absender-URI | SIP |
Der Port im URI des Header-Felds für den Absender. |
||||||||||||||||||
Benutzer aus Absender-URI | SIP |
Der Benutzer im Header-Feld für den Absender. |
||||||||||||||||||
header$<Name> | HTTP SOAP SIP |
Ein Header-Name und -Wert. Mit dem Ausdruck header$Host='localhost' wird beispielsweise geprüft, ob eine Anforderung einen HTTP-Host-Header
mit dem Wert localhost enthält. Verwenden Sie einen der folgenden Ausdrücke, um festzustellen, ob der Host-Header vorhanden ist oder nicht:
header$Host IS NOT NULL header$Host IS NULL |
||||||||||||||||||
HTTPMethod | HTTP SOAP |
Die HTTP-Methode für die Anforderung. Die gültigen Werte sind POST, GET, PUT und DELETE. | ||||||||||||||||||
MIMEType | HTTP SOAP |
Der MIME-Typ der Anforderung. | ||||||||||||||||||
Operation | SOAP | Der Name einer Web-Service-Operation. | ||||||||||||||||||
percentage$<Wert> | HTTP SOAP IIOP SIP |
Der Operand percentage wird mit true ausgewertet, einem festen Prozentsatz an Zeit. percentage$50 wird beispielsweise mit true ausgewertet, wenn die Zeit durchschnittlich 50 % beträgt. | ||||||||||||||||||
Port | HTTP SOAP IIOP SIP |
Der Empfangsport, an dem die Anforderung empfangen wurde. | ||||||||||||||||||
Protokoll | HTTP SOAP |
Das Kommunikationsprotokoll, mit dem die Anforderung übertragen wird. Die derzeit unterstützten Protokolle sind HTTP, HTTPS, SOAP und SOAPS. | ||||||||||||||||||
queryparm$<Name> | HTTP SOAP |
Ein Header-Name und -Wert. Beispielsweise können Sie mit dem Ausdruck queryparm$timezone='EST'
eine Anforderung
daraufhin prüfen, ob sie einen HTTP-Abfrageparameter mit dem Namen timezone gund dem Wert
EST enthält. Verwenden Sie eines der folgenden Formate, um festzustellen, ob ein bestimmter Abfrageparameter vorhanden ist oder nicht:
queryparm$timezone IS NOT NULL queryparm$timezone IS NULL |
||||||||||||||||||
rampup$<Startzeit>$<Endzeit> | HTTP SOAP IIOP SIP |
Der Operand "rampup" wird bei einer variablen Zeit in Prozent mit
true ausgewertet.
Vor der <Startzeit> ist er immer false und nach
der <Endzeit> immer true.
Je weiter die Zeit von der <Startzeit> zur <Endzeit>
voranschreitet, ist der Operand true (ein linear ansteigender Prozentsatz). <Startzeit> und <Endzeit> haben das Format Tag/Monat/Jahr::Stunde:Min:Sek. Tag ist der Tag des Monats, Monat einer der zwölf Monate (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec), Jahr ist die vierstellige Jahresangabe, Stunde die zweistellige Stundenangabe im 24-Stunden-Format, Min und Sek die zweistelligen Werte für Minuten bzw. Sekunden.Beispiel: rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 wird ab dem 1. Januar 2007, 8:00 Uhr morgens mit true ausgewertet, und ist nach der Endzeit um 17:00 Uhr desselben Tags immer true. |
||||||||||||||||||
Anforderungstransport | SIP |
Der Transport der Anforderung. |
||||||||||||||||||
Anforderungs-URI | SIP |
Der Anforderungs-URI. |
||||||||||||||||||
Host aus Anforderungs-URI | SIP |
Der Host im Anforderungs-URI. |
||||||||||||||||||
Port aus Anforderungs-URI | SIP |
Der Port im Anforderungs-URI. |
||||||||||||||||||
Benutzer aus Anforderungs-URI | SIP |
Der Benutzer im Anforderungs-URI. |
||||||||||||||||||
Schema aus Absender-Header | SIP |
Das Schema aus dem Header-Feld für den Absender. |
||||||||||||||||||
Schema des Empfänger-Headers | SIP |
Das Schema aus dem Header-Feld für den Empfänger. |
||||||||||||||||||
Schema des URI | SIP |
Das Schema des URI. |
||||||||||||||||||
serverhost | HTTP SOAP IIOP SIP |
Der vollständig qualifizierte Hostname des Servers. Dieser Operand unterstützt keine numerischen Operatoren wie >, >=, <, <=. | ||||||||||||||||||
serveripv4 | HTTP SOAP SIP |
Die IP-Adresse des Servercomputers im IPv4-Adressformat n.n.n.n. | ||||||||||||||||||
serveripv6 | HTTP SOAP SIP |
Die IP-Adresse des Servercomputers im 128-Bit-IPv6-Adressformat x:x:x:x:x:x:x:x gemäß RFC 1924. | ||||||||||||||||||
Service | SOAP |
Der Name eines Web-Service. | ||||||||||||||||||
SIP-Methode | SIP |
Die SIP-Methode für die Anforderung. Die gültigen Werte sind INVITE, TRYING, RINGING, ACK, OK und BYE. Wenn die Nachricht keine Anforderung ist, gibt dieser Operand null zurück. |
||||||||||||||||||
SIP-Antwortcode | SIP |
Der Antwortcode der Antwort. Wenn die Nachricht keine Antwort ist, gibt dieser Operand -1 zurück. |
||||||||||||||||||
Zeit | HTTP SOAP IIOP |
Dieser Operand wird verwendet, um das Datum inklusive Tageszeit zu definieren, an dem eine bestimmte Anforderung bearbeitet werden muss. Die beiden Wahlfelder sind "Startzeit" und "Endzeit". Wenn eine Anforderung außerhalb dieses definierten Fensters empfangen wird, wird die Anforderung nicht verarbeitet. Die Felder "Startzeit" und "Endzeit" haben das folgende Format: Tag_der_Woche/Tag_des_Monats/Monat/Jahr::Stunde:Minute:Sekunde. Donnerstag, der 11. April des Jahres 2007, 1:03:45 PM wird beispielsweise wie folgt angegeben: Thu/11/Apr/2007::13:03:45 In allen Feldern kann ein Platzhalterzeichen mit dem Stern (*) verwendet werden. Der 1. jedes Monats wird beispielsweise mit */1 angegeben. Die Werte für Tag_der_Woche sind Sun, Mon, Tue, Wed, Thu, Fri, Sat, und die gültigen Werte für Tag_des_Monats sind 1-31. Die gültigen Werte für Monat sind die nicht numerischen Wert, die die zwölf Monate darstellen: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec. Für Jahr muss ein vierstelliger Jahreswert angegeben werden, z. B. 2007. Der Wert für Stunde muss im 24-Stunden-Format angegeben werden. 8 AM wird beispielweise mit ::8 angegeben. Die Werte für Minute und Sekunde sind ganze Zahlen aus dem Bereich 0-59. Der Schrägstrich (/) wird verwendet, um Datumsparameter zu trennen, der doppelte Doppelpunkt (::), um die Datums- und Zeitwerte zu trennen, und der Doppelpunkt (:), um die Uhrzeitparameter zu trennen. Das boolesche Ergebnis der gesamten Regel, in der der Operand Zeit verwendet wird, bestimmt die Routing-Aktion, die ausgeführt wird. |
||||||||||||||||||
An Clienthost | SIP |
Der Clienthost im Header-Feld für den Adressaten. |
||||||||||||||||||
Empfänger-Header | SIP |
Das Header Feld für den Empfänger. |
||||||||||||||||||
Anzeigename des Empfänger-Headers | SIP |
Der Anzeigename des Header-Felds für den Empfänger. |
||||||||||||||||||
Empfänger-URI | SIP |
Der URI des Header-Felds für den Empfänger. |
||||||||||||||||||
Host aus Empfänger-URI | SIP |
Der Port im URI des Header-Felds für den Empfänger. |
||||||||||||||||||
Benutzer aus Empfänger-URI | SIP |
Der Benutzer im Header-Feld für den Empfänger. |
||||||||||||||||||
Virtueller Host | HTTP SOAP |
Virtuelle Portale werden in WebSphere Portal Server erstellt, und WebSphere Extended Deployment unterstützt diesen Operanden für eine bessere Integration in WebSphere Portal Server. Der virtuelle Port ist der Anforderungs-URL ohne das Kontextstammverzeichnis für das Webmodul der WebSphere-Portal-Anwendung. Wenn eine Anforderung dem definierten virtuellen Portal entspricht, wird die für diese Regel definierte Routing-Aktion ausgeführt. | ||||||||||||||||||
xpathexpr | SOAP |
Der XPath-Zeichenfolgeausdruck enthält ein erforderliches Feld für den
XPath-Ausdruck und ein optionales Feld für die Definition lokaler Namespaces.
Wenn alle im XPath-Ausdruck enthaltenen Namespaces Standard-Namespaces sind, ist das zweite Feld optional.
Wenn mehrere lokale Namespaces vorhanden sind, müssen sie durch Kommata (,) getrennt werden.
Im Folgenden sehen Sie ein Beispiel für einen XPath-Ausdruck (xpathexpr) mit der Definition eines lokalen Namespace:
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 Im vorherigen Ausdruck ist der /soap:Envelope/soap:Body/n:getTimeZone/n:clientId der XPath-Ausdruck. Er enthält den lokalen Namespace von n. Deshalb wird das zweite Feld des XPath-Ausdrucks mit n \\=http://test.classify.ws.ibm.com definiert. Das Dollarzeichen ($) wird verwendet, um den Anfang einer Felddefinition zu kennzeichnen. Die doppelten Backslashes sind die Escape-Zeichenfolge in diesem Beispiel. Dem ersten Gleichheitszeichen (=) wird ein Escape-Zeichen vorangestellt, weil es zur Definition des lokalen Namespace gehört, während das zweite Gleichheitszeichen (=) der Operator im Klassifizierungsausdruck ist, dem kein Escape-Zeichen vorangestellt werden muss. Im Folgenden sehen Sie ein Beispiel für einen XPath-Ausdruck mit zwei lokalen Namespaces: 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 Eine Liste mit Standard-Namespaces für XPath-Ausdrücke folgt:
|
Geben Sie je nach ausgewähltem Operator einen Wert für den Unterausdruck ein, den Sie erstellen möchten.
Generiert den Unterausdruck mit dem Operanden, dem Operator und den Werten, die Sie angegeben haben.
Klicken Sie auf diese Option, um den Unterausdruck dem Feld in der Regelanzeige hinzuzufügen.