Ausdruckserstellungsprogramm für SIP-Regeln

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 > Servertypen > On Demand Router > ODR-Name > Einstellungen für SIP On Demand Router > 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.

Operanden auswählen

Operanden für Routing- und Servicerichtlinien

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.

Tabelle 1. Operanden. In der folgenden Tabelle sind die in der Konsole angezeigten Operandennamen beschrieben.
Operand Syntax Beschreibung
SIP-Methode request.method

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 response.code

Der Antwortcode der Antwort. Wenn die Nachricht keine Antwort ist, gibt dieser Operand -1 zurück.

Schema des Empfängerheaders to.uri.scheme

Das Schema aus dem Headerfeld für den Empfänger.

Schema des URI request.uri.scheme

Das Schema des URI.

Schema des Absenderheaders request.from.uri.scheme

Das Schema aus dem Headerfeld für den Absender.

Anforderungs-URI request.uri

Der Anforderungs-URI.

Empfänger-URI request.to.uri

Der URI des Headerfelds für den Empfänger.

Absender-URI request.from.uri

Der URI des Headerfelds für den Absender.

Absender-Header request.from

Das Headerfeld für den Absender.

Empfängerheader request.to

Das Headerfeld für den Empfänger.

Anzeigename des Empfängerheaders request.to.display-name

Der Anzeigename des Headerfelds für den Empfänger.

Anzeigename des Absenderheaders request.from.display-name

Der Anzeigename des Headerfelds für den Absender.

Host aus Empfänger-URI request.to.uri.host

Der Port im URI des Headerfelds für den Empfänger.

Serverhost serverhost Der vollständig qualifizierte Hostname des Servers. Dieser Operand unterstützt keine numerischen Operatoren wie >, >=, <, <=.
Port port Der Empfangsport, an dem die Anforderung empfangen wurde.
Kontakt-Header request.contact

Das Headerfeld für den Kontakt.

Kontakt-URI request.contact.uri

Der URI des Headerfelds für den Kontakt.

Clienthost clienthost 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 >, >=, <, <=.
clientipv4 clientipv4 Die IP-Adresse des Clientcomputers im IPv4-Adressformat (Internet Protocol Version 4): n.n.n.n.
clientipv6 clientipv6 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).
serveripv4 serveripv4 Die IP-Adresse des Servercomputers im IPv4-Adressformat n.n.n.n.
serveripv6 serveripv6 Die IP-Adresse des Servercomputers im 128-Bit-IPv6-Adressformat x:x:x:x:x:x:x:x gemäß RFC 1924.
Anforderungstransport request.transport

Der Transport der Anforderung.

Benutzer aus Anforderungs-URI request.uri.user

Der Benutzer im Anforderungs-URI.

Benutzer aus Absender-URI request.from.uri.user

Der Benutzer im Headerfeld für den Absender.

Benutzer aus Empfänger-URI request.to.uri.user

Der Benutzer im Headerfeld für den Empfänger.

Host aus Anforderungs-URI request.uri.host

Der Host im Anforderungs-URI.

Host aus Absender-URI request.from.uri.host

Der Host im Headerfeld für den Absender.

Port aus Anforderungs-URI request.uri.port

Der Port im Anforderungs-URI.

Port aus Absender-URI request.from.uri.port

Der Port im URI des Headerfelds für den Absender.

Host aus Empfänger-URI request.to.uri.host

Der Clienthost im Headerfeld für den Empfänger.

Headername header $<Name> Ein Headername 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
Zeit time

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.

Prozentsatz percentage$<Wert> 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.
Anlauf rampup$<Startzeit>

  $<Endzeit>

Der Operand rampup wird bei einer variablen Zeit in Prozent mit true ausgewertet. Vor der <Startzeit> wird er immer mit false und nach der <Endzeit> immer mit true ausgewertet. 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 steht für den Tag des Monats, Monat für einen der 12 Monate (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec), Jahr für das vierstellige Jahr, Stunde für die zweistellige Stunde im 24-Stunden-Format, min für den zweistelligen Wert der Minute und Sek für den zweistelligen Wert für die Sekunde.

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.

Operator

Tabelle 2. Operatoren für die Tracespezifikation
Operator Beschreibung
Gleich bei Ignorierung der Groß-/Kleinschreibung (EQUALSIGNORECASE) Gleichheitsoperator ohne Berücksichtigung der Groß-/Kleinschreibung. Die Groß-/Kleinschreibung der Zeichenfolgen wird ignoriert. 'ABC' EQUALSIGNORECASE 'abc' ist wahr (true). ('ABC' = 'abc') ist falsch (false).
Nicht gleich (< >) Der Nicht-gleich-Operator gibt an, dass der Wert des Operanden ungleich dem eingegebenen Wert ist.
In (IN)
  • For Zeichenfolge IN Liste von Zeichenfolgen wird mit wahr (true) ausgewertet, wenn die Zeichenfolge auf der linken Seite einer der auf der rechten Seite aufgelisteten Zeihenfolgen exakt entspricht (unter Beachtung der Groß-/Kleinschreibung. Beispiel:
    • ’adrian’ in ('keith','eric','kalyan','david', 'adrian and etc') is false.
    • 'adrian' in ('tom','adrian') ist wahr (true).
    • ’adrian’ in ('Tom','Adrian') ist falsch (false).
  • ganze Zahl IN Liste ganzer Zahlen:
    • 1 in (1,2,3,4,5) ist wahr (true).
    • 6 in (1,2,3,4,5) ist falsch (false).
Wie (LIKE)

Dieser Operator drückt eine Mustererkennung für Zeichenfolgeoperanden aus. Der Wert muss ein Prozentzeichen (%) als Platzhalterzeichen an der Position enthalten, an der die Mustererkennung beginnen soll.

Der Beispielausdruck
host LIKE %blanca
sucht beispielsweise das Wort blanca und alle anderen Wörter, die mit blanca enden, wohingegen der Ausdruck
host LIKE blanca%
das Wort blanca und alle anderen Wörter sucht, die mit blanca beginnen. Der Ausdruck
host LIKE %blanca%
sucht das Wort blanca und alle Wörter, in die das Token blanca integriert ist.
Wie bei Ignorierung der Groß-/Kleinschreibung (LIKEIGNORECASE) Dieser Operator drückt eine Mustererkennung für Zeichenfolgeoperanden aus. Die Groß-/Kleinschreibung der Zeichenfolgen wird ignoriert.
Ist nicht null (IS NOT NULL) Die Validierung der Abfrage muss ergeben, dass der angeforderte Parameter vorhanden ist.
Verketten (+) Dieser Operator wertet 'abc'+'def' in 'abcdef' aus.
Wie in (LIKEIN) Zeichenfolge likein (Zeichenfolge1, Zeichenfolge2, Zeichenfolge3,...) ist wahr (true), wenn die Zeichenfolge links von likein mit einer oder mehreren der Zeichenfolgen rechts von likein (ZeichenfolgeN) übereinstimmt.
Ist null (IS NULL) Die Validierung der Abfrage muss ergeben, dass der angeforderte Parameter nicht vorhanden ist. Prüft, ob ein Operand einen Nullwert enthält.
Gleich ( = ) Der Gleichheitsoperator drückt einen Abgleich aus, bei dem die Groß-/Kleinschreibung berücksichtigt wird.
Größer als (>) Wird in das logische Standardergebnis ausgewertet.
Größer-gleich (>=) Wird in das logische Standardergebnis ausgewertet.
Kleiner als (<) Wird in das logische Standardergebnis ausgewertet.
Kleiner-gleich (<=) Wird in das logische Standardergebnis ausgewertet.
Zwischen (BETWEEN) Wird mit AND verwendet, um einen Bereich von Werten auszuwählen, der den ersten (unteren) und den letzten (oberen) Wert des Bereichs einschließt. Diese Operationen werden für Zahlen und Datumsangaben verwendet.

Wert

Geben Sie je nach ausgewähltem Operator einen Wert für den Unterausdruck ein, den Sie erstellen möchten.

Unterausdruck generieren

Generiert den Unterausdruck mit dem Operanden, dem Operator und den Werten, die Sie angegeben haben.

Anfügen

Klicken Sie auf diese Option, um den Unterausdruck dem Feld in der Regelanzeige hinzuzufügen.



Dateiname: sip_rulebuilder_detail.html