Program budujący podwyrażenia służy do budowania złożonych warunków reguł na podstawie podwyrażeń przy użyciu operatorów I, LUB oraz Nie, a także grupowania za pomocą nawiasów. Program budujący reguły sprawdza poprawność reguły po wprowadzeniu zmiany i informuje o występowaniu brakujących nawiasów i nieobsługiwanych operatorów logicznych.
Aby wyświetlić tę stronę Konsoli administracyjnej, należy kliknąć opcję
.Aby móc modyfikować reguły przy użyciu programu budującego reguły, należy mieć uprawnienia administratora.
W zależności od wybranego protokołu wyświetlane są różne operandy. W poniższej tabeli uwzględniono nazwy operandów wyświetlane w konsoli, rzeczywisty operand w postaci, w jakiej zostanie wyświetlony w wyrażeniu, poprawne protokoły dla poszczególnych operandów oraz opis każdego operandu.
Operand | Składnia | Opis |
---|---|---|
Metoda SIP | request.method | Metoda SIP żądania. Możliwe wartości to: INVITE, TRYING, RINGING, ACK, OK i BYE. Jeśli komunikat nie jest żądaniem, ten operand zwraca wartość NULL. |
Kod odpowiedzi SIP | response.code | Kod odpowiedzi. Jeśli komunikat nie jest odpowiedzią, ten operand zwraca wartość -1. |
Schemat nagłówka celu | to.uri.scheme | Schemat pola Nagłówek celu. |
Schemat identyfikatora URI | request.uri.scheme | Schemat identyfikatora URI. |
Schemat nagłówka źródła | request.from.uri.scheme | Schemat pola Nagłówek źródła. |
Identyfikator URI żądania | request.uri | Identyfikator URI żądania. |
Identyfikator URI celu | request.to.uri | Identyfikator URI pola Nagłówek celu. |
Identyfikator URI źródła | request.from.uri | Identyfikator URI pola Nagłówek źródła. |
Nagłówek źródła | request.from | Pole Nagłówek źródła. |
Nagłówek celu | request.to | Pole Nagłówek celu. |
Nazwa wyświetlana nagłówka celu | request.to.display-name | Nazwa wyświetlana w polu Nagłówek celu. |
Nazwa wyświetlana nagłówka źródła | request.from.display-name | Nazwa wyświetlana w polu Nagłówek źródła. |
Host identyfikatora URI celu | request.to.uri.host | Port w identyfikatorze URI pola Nagłówek celu. |
Host serwera | serverhost | Pełna nazwa hosta serwera. Ten operand nie obsługuje operatorów liczbowych, takich jak >, >=, < i <=. |
Port | port | Port nasłuchiwania, na którym odebrano żądanie. |
Nagłówek kontaktu | request.contact | Pole Nagłówek kontaktu. |
Identyfikator URI kontaktu | request.contact.uri | Identyfikator URI pola Nagłówek kontaktu. |
Host klienta | clienthost | Pełna nazwa hosta klienta. Jest to wartość nazwy hosta komend protokołu IP (Internet Protocol). Ten operand nie obsługuje operatorów liczbowych, takich jak >, >=, < i <=. |
clientipv4 | clientipv4 | Adres IP komputera klienckiego używającego protokołu Internet Protocol w wersji 4 (IPv4) w postaci czterech grup cyfr oddzielonych kropkami: n.n.n.n. |
clientipv6 | clientipv6 | Adres komputera klienckiego w postaci 128-bitowego adresu protokołu Internet Protocol w wersji 6 (IPv6) w formacie x:x:x:x:x:x:x:x zgodnego z dokumentem Request for Comments 1924 (RFC 1924). |
serveripv4 | serveripv4 | Adres IP serwera używającego protokołu IPv4 w postaci czterech grup cyfr oddzielonych kropkami: n.n.n.n. |
serveripv6 | serveripv6 | Adres serwera w postaci 128-bitowego adresu protokołu IPv6 w formacie x:x:x:x:x:x:x:x zgodnym z dokumentem Request for Comments 1924 (RFC 1924). |
Transport żądania | request.transport | Transport żądania. |
Użytkownik identyfikatora URI żądania | request.uri.user | Użytkownik w identyfikatorze URI żądania. |
Użytkownik identyfikatora URI źródła | request.from.uri.user | Użytkownik w polu Nagłówek źródła. |
Użytkownik identyfikatora URI celu | request.to.uri.user | Użytkownik w polu Nagłówek celu. |
Host identyfikatora URI żądania | request.uri.host | Host w identyfikatorze URI żądania. |
Host identyfikatora URI źródła | request.from.uri.host | Host w polu Nagłówek źródła. |
Port identyfikatora URI żądania | request.uri.port | Port w identyfikatorze URI żądania. |
Port identyfikatora URI źródła | request.from.uri.port | Port w identyfikatorze URI pola Nagłówek źródła. |
Host identyfikatora URI celu | request.to.uri.host | Host w polu Nagłówek celu. |
Nazwa nagłówka | header $<nazwa> | Nazwa i wartość nagłówka. Na przykład wyrażenie header$Host='localhost'
testuje żądanie, aby sprawdzić, czy zawiera nagłówek HTTP hosta o wartości
localhost.
W celu
przeprowadzenia testu wykrywającego obecność nagłówka hosta należy użyć
jednego z następujących wyrażeń:
|
Czas | time | Ten operand służy do definiowania daty i godziny, o której dane żądanie musi być uznane. Dwa opcjonalne pola to Czas rozpoczęcia i Czas zakończenia. Jeśli żądanie odebrano poza tym zdefiniowanym oknem, nie będzie ono przetwarzane. Pola Czas rozpoczęcia i Czas zakończenia mają następujący format: dzień_tygodnia/dzień_miesiąca/miesiąc/rok::godzina:minuta:sekunda. Na przykład godzina 13:03:45 w czwartek 11 kwietnia 2007 jest określana następująco: czw/11/kwi/2007::13:03:45 W dowolnym polu można użyć znaku wieloznacznego (*). Na przykład wartość określająca pierwszy dzień każdego miesiąca to */1. Możliwe wartości pola dzień_tygodnia to nie, pon, wto, śro, czw, pią i sob, a pola dzień_miesiąca to liczby z zakresu od 1 do 31. Wartość pola miesiąc to wartość nieliczbowa reprezentująca jeden z dwunastu miesięcy: sty, lut, mar, kwi, maj, cze, lip, sie, wrz, paź, lis lub gru. Wartość pola rok to cztery cyfry reprezentujące rok. Na przykład: 2007. Wartość pola godzina to godzina w formacie zegara 24-godzinnego. Na przykład godzina 8 przed południem jest reprezentowana jako wartość ::8. Wartości pól minuta i sekunda to liczby całkowite z zakresu od 0 do 59. Ukośnik (/) służy do oddzielania parametrów daty. Podwójny dwukropek (::) oddziela wartości daty i godziny, natomiast dwukropek (:) jest używany do oddzielania parametrów godziny. Należy zauważyć, że wykonywane działanie kierowania jest określane przez wynik boolowski całej reguły, w której użyto operandu time. |
Procent | percentage$<wartość> | Operand percentage przyjmuje wartość true dla procentu przypadków określonych za pomocą wartości. Na przykład wyrażenie percentage$50 przyjmuje wartość true średnio dla 50% przypadków. |
Zwiększanie | rampup$<startTime> $<completionTime> |
Operand rampup przyjmuje wartość true dla zmiennego procentu czasu. Ten operand zawsze przyjmuje wartość
false przed czasem określonym za pomocą parametru
<czas_rozpoczęcia> oraz wartość
true po czasie określonym za pomocą parametru
<czas_zakończenia>.
Wraz z upływem czasu od momentu reprezentowanego przez parametr
<czas_rozpoczęcia> do momentu
określonego za pomocą parametru
<czas_zakończenia> operand rampup
przyjmuje wartość true dla zwiększanego liniowo
procentu przypadków. Format parametrów <czas_rozpoczęcia> i <czas_zakończenia>: dzień/miesiąc/rok::godzina:minuta:sekunda. gdzie dzień to dzień miesiąca, miesiąc jest jednym z 12 miesięcy: sty, lut, mar, kwi, maj, cze, lip, sie, wrz, paź, lis, gru, rok jest rokiem w postaci 4-cyfrowej, godzina oznacza 2-cyfrową godzinę z zegara 24-godzinnego, a minuta i sekunda są 2-cyfrowymi wartościami odpowiednio dla minuty i sekundy.Na przykład: Operand rampup$01/sty/2007::08:00:00$01/sty/2007::17:00:00 zaczyna sporadycznie przyjmować wartość true o godzinie 8 pierwszego stycznia 2007, a o godzinie 17 tego samego dnia oznaczającej koniec zwiększania procentu zawsze przyjmuje wartość true. |
Operator | Opis |
---|---|
Jest równe (nie jest rozróżniana wielkość liter) (EQUALSIGNORECASE) | Operator równości (bez rozróżniania wielkości liter). Wielkość liter w łańcuchach jest ignorowana. 'ABC' EQUALSIGNORECASE 'abc' ma wartość true. ('ABC' = 'abc') ma wartość false. |
Nie jest równe (< >) | Operator nierówności wyraża, że wartość operandu nie jest równa wprowadzonej wartości. |
Zawiera się (IN) |
|
Jest podobne do (LIKE) | Oznacza dopasowywanie wzorca dla łańcuchowych wartości operandu. Wartość musi zawierać znak wieloznaczny (%) w miejscu, w którym ma się rozpocząć dopasowywanie wzorca. Na przykład wyrażenie:
host LIKE %blancadopasowuje słowo blanca i wszelkie inne słowa, które kończą się na blanca, gdy wyrażenie: host LIKE blanca%dopasowuje słowo blanca i wszelkie inne słowa rozpoczynające się łańcuchem blanca. Wyrażenie: host LIKE %blanca%dopasowuje słowo blanca i wszystkie słowa, które mają osadzony leksem blanca. |
Jest podobne do (nie jest rozróżniana wielkość liter)(LIKEIGNORECASE) | Ten operator oznacza dopasowywanie wzorca dla łańcuchowych wartości operandu. Wielkość liter w łańcuchach jest ignorowana. |
Nie jest puste (IS NOT NULL) | Sprawdzanie poprawności danego zapytania wskazuje, że żądany parametr istnieje. |
Konkatenacja (+) | Ten operator zwraca wartość wyrażenia 'abc'+'def' jako 'abcdef'. |
Jest podobne do i zawiera się (LIKEIN) | Wyrażenia z tym operatorem łańcuch likein (łańcuch1, łańcuch2, łańcuch3,...) przyjmują wartość true, gdy łańcuch po lewej stronie operatora likein pasuje do jednego lub większej liczby łańcuchów (łańcuchN). |
Jest puste (IS NULL) | Sprawdzanie poprawności danego zapytania wskazuje, że żądany parametr nie istnieje. Testy dla operandu, który ma wartość NULL. |
Jest równe ( = ) | Operator równości wyraża zgodność w dopasowaniu, w którym rozróżniana jest wielkość liter. |
Większe niż (>) | Przyjmuje wartość standardowego wyniku logicznego. |
Jest większe lub równe (>=) | Przyjmuje wartość standardowego wyniku logicznego. |
Mniejsze niż (<) | Przyjmuje wartość standardowego wyniku logicznego. |
Jest mniejsze lub równe (<=) | Przyjmuje wartość standardowego wyniku logicznego. |
Pomiędzy (BETWEEN) | Używany z operatorem AND do wybierania zakresu wartości włącznie z pierwszą (najniższą) oraz ostatnią (najwyższą) wartością. Razem te operatory działają w przypadku liczb i wartości dat. |
Zależnie od wybranego operatora należy wpisać wartość dla podwyrażenia, które ma zostać utworzone.
Generuje podwyrażenie jako wynik określonego operandu, operatora i wartości.
Tę opcję należy kliknąć, aby dodać podwyrażenie do pola na panelu reguł.