Tvůrce výrazů pravidel SIP

Pomocí tvůrce podvýrazů je možné sestavovat z podvýrazů podmínky komplexních pravidel pomocí operátorů AND, OR, NOT a seskupování do závorek. Když změny použijete, nástroj pro tvorbu pravidel ověří pravidlo a upozorní vás na nesoulad mezi kulatými závorkami a nepodporovanými logickými operátory.

Chcete-li zobrazit tuto stránku administrativní konzoly, klepněte na volbu Servery > Typy serverů > Směrovače ODR > název_směrovače_odr > Nastavení směrovače ODR SIP > Pravidla protokolu SIP pro zásady směrování > Přidat > Tvůrce podvýrazů.

Chcete-li upravit pravidla pomocí nástroje pro tvorbu pravidel, musíte mít oprávnění k administraci pro roli administrátora.

Vybrat operand

Operandy zásad služeb a směrování

V závislosti na vybraném protokolu se zobrazí různé operandy. Následující tabulka zahrnuje názvy operandů zobrazené v konzole, skutečný operand, jak bude zobrazen ve výrazu, platné protokoly pro jednotlivé operandy a popis jednotlivých operandů.

Tabulka 1. Operandy. Následující tabulka popisuje názvy operandů v konzole
Operand Syntaxe Popis
Metoda protokolu SIP request.method

Metoda protokolu SIP pro daný požadavek. Přípustné hodnoty jsou INVITE, TRYING, RINGING, ACK, OK a BYE. Pokud zpráva není požadavek, vrací tento operand hodnotu Null.

Kód odezvy protokolu SIP response.code

Kód odpovědi příčiny. Pokud zpráva není odpověď, vrací tento operand hodnotu -1.

Schéma záhlaví Komu to.uri.scheme

Schéma pole záhlaví Komu.

Schéma identifikátoru URI request.uri.scheme

Schéma identifikátoru URI.

Schéma záhlaví Od request.from.uri.scheme

Schéma pole záhlaví Od.

Identifikátor URI požadavku request.uri

Identifikátor URI požadavku.

Identifikátor To URI request.to.uri

Identifikátor URI pole záhlaví Komu.

Identifikátor From URI request.from.uri

Identifikátor URI pole záhlaví Od.

Záhlaví Od request.from

Pole záhlaví Od.

Záhlaví Komu request.to

Pole záhlaví Komu.

Zobrazovaný název záhlaví Komu request.to.display-name

Zobrazovaný název v poli záhlaví Komu.

Zobrazovaný název záhlaví Od request.from.display-name

Zobrazovaný název pole záhlaví Od.

Hostitel URI Komu request.to.uri.host

Port v identifikátoru URI pole záhlaví Komu.

Hostitel serveru serverhost Úplný název hostitele serveru. Tento operand nepodporuje číselné operátory, jako jsou >, >=, <, <=.
Port port Port naslouchání, na kterém byl přijat požadavek.
Záhlaví kontaktu request.contact

Pole záhlaví Kontakt.

URI kontaktu request.contact.uri

Pole záhlaví Identifikátor URI kontaktu.

Hostitel klienta clienthost Úplný název hostitele klienta. Jedná se o hodnotu názvu hostitele příkazů protokolu IP (Internet Protocol). Tento operand nepodporuje číselné operátory, jako jsou >, >=, <, <=.
Klient IPV4 clientipv4 Adresa IP počítače klienta s použitím adresy protokolu IPv4 (Internet Protocol verze 4) čtyřmístného typu odděleného tečkami n.n.n.n.
Klient IPv6 clientipv6 Adresa IPv6 (Internet Protocol verze 6) 128bitového typu x:x:x:x:x:x:x:x následující po dokumentu RFC 1924 (Request for Comments 1924) počítače klienta.
Server IPv4 serveripv4 Adresa IP počítače serveru s použitím adresy protokolu IPv4 čtyřmístného typu odděleného tečkami n.n.n.n.
Server IPv6 serveripv6 Adresa IPv6 128bitového typu x:x:x:x:x:x:x:x následující po dokumentu RFC 1924 počítače serveru.
Přenos požadavku request.transport

Přenos požadavku.

Uživatel identifikátoru URI požadavku request.uri.user

Uživatel v identifikátoru URI požadavku.

Uživatel URI Od request.from.uri.user

Uživatel v poli záhlaví Od.

Uživatel URI Komu request.to.uri.user

Uživatel v poli záhlaví Komu.

Hostitel URI požadavku request.uri.host

Hostitel v identifikátoru URI požadavku.

Hostitel URI Od request.from.uri.host

Hostitel v poli záhlaví Od.

Port URI požadavku request.uri.port

Port v identifikátoru URI požadavku.

Port URI Od request.from.uri.port

Port v identifikátoru URI pole záhlaví Od.

Hostitel URI Komu request.to.uri.host

Hostitel v poli záhlaví Komu.

Název záhlaví header $<name> Název a hodnota záhlaví. Například výraz header$Host='localhost' testuje, zda požadavek obsahuje záhlaví hostitele HTTP s hodnotou localhost. Chcete-li otestovat přítomnost či nepřítomnost záhlaví hostitele, použijte jeden z těchto výrazů:
header$Host IS NOT NULL 
header$Host IS NULL
Čas time

Tento operand je používá k definování data a času, kdy musí být daný požadavek splněn. Dvě nepovinná pole jsou Čas zahájení a Čas ukončení. Pokud je požadavek přijat mimo toto definované časové okno, nebude zpracován.

Pole Čas zahájení a Čas ukončení mají následující formát: den_v_týdnu/den_v_měsíci/měsíc/rok::hodina:minuta:sekunda.

Například čtvrtek 11. dubna roku 2007 ve 13:03:45 bude uveden takto:

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

V libovolném poli lze použít zástupný znak s hodnotou *. Například 1. den každého měsíce je určen jako */1.

Hodnota pro den_v_týdnu jsou Sun, Mon, Tue, Wed, Thu, Fri, Sat a pro den_v_měsíci 1-31.

Hodnota pole měsíc je nečíselná hodnota představující dvanáct měsíců: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec.

Hodnota pole rok je tvořena čtyřmi číslicemi daného roku. Například 2007.

Hodnota pole hodina je hodina dne na 24hodinové časomíře. Například 8 hodin ráno představuje hodnota ::8. Minuta a sekunda jsou celá čísla v rozsahu 0-59.

Dopředné lomítko (/) se používá k oddělení parametrů data, dvojitá dvojtečka (::) k oddělení hodnot data a času a dvojtečka (:) k oddělení parametrů času. Všimněte si, že akci směrování, která se provede, určuje logický výsledek celého pravidla, v němž se používá operand time.

Procentní část percentage$<val> Operand percentage se vyhodnotí jako true v pevně určené procentní části případů. Například percentage$50 se vyhodnotí jako true v průměru v 50 % případů.
Náběh rampup$<čas_zahájení>

  $<čas_dokončení>

Operand rampup se vyhodnotí jako true v proměnné procentní části případů. Vždy se vyhodnotí jako false před časem zahájení <startTime> a jako true po čase dokončení <completionTime>. Jak plyne čas od času zahájení <startTime> k času dokončení <completionTime>, vyhodnocuje se jako true s lineárně rostoucí pravděpodobností.

Formát času zahájení <startTime> a času dokončení <completionTime> je den/měsíc/rok::hodina:minuta:sekunda.

kde den je den v měsíci, měsíc je jeden z 12 měsíců: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, rok je čtyřciferný rok, hodina je dvouciferná hodina na 24hodinové časomíře a minuta a sekunda jsou dvouciferné hodnoty minut a sekund.

Příklad:

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 začíná občasným vyhodnocením jako true v 8 hodin ráno 1. ledna 2007 a vždy se vyhodnotí jako true od času dokončení náběhu v 5 hodin odpoledne téhož dne.

Operátor

Tabulka 2. Operátory specifikace trasování
Operátor Popis
Je rovno, ignorovat velká/malá písmena (EQUALSIGNORECASE) Operátor je rovno, ignorovat velká/malá písmena. Je ignorována velikost písmen řetězců. 'ABC' EQUALSIGNORECASE 'abc' je true. ('ABC' = 'abc') je false.
Nerovná se (< >) Operátor nerovnosti vyjadřuje, že hodnota operandu není rovna zadané hodnotě.
V (IN)
  • Řetězec IN seznam řetězců se vyhodnocuje na true, pokud řetězec nalevo přesně odpovídá (rozlišují se malá a velká písmena) nějakému řetězci v seznamu napravo. Příklad:
    • ’adrian’ in ('keith','eric','kalyan','david', 'adrian atd.') je false.
    • 'adrian' in ('tom','adrian') je true.
    • ’adrian’ in ('Tom','Adrian') je false.
  • celé číslo IN seznam celých čísel :
    • 1 in (1,2,3,4,5) je true.
    • 6 in (1,2,3,4,5) je false.
Je jako (LIKE)

Vyjadřuje porovnání vzorků u hodnot řetězcových operandů. Hodnota musí obsahovat zástupný znak (%) na pozici, kde se očekává začátek porovnání vzorků.

Například výraz
host LIKE %blanca
odpovídá slovu blanca a jakémukoli jinému slovu, které končí řetězcem blanca, zatímco výraz
host LIKE blanca%
odpovídá slovu blanca a jakémukoli jinému slovu, které začíná řetězcem blanca. Výraz
host LIKE %blanca%
odpovídá slovu blanca a jakémukoli slovu, ve kterém je vložen token blanca.
Je jako, ignorovat velká/malá písmena (LIKEIGNORECASE) Tento operátor vyjadřuje vzorek hledající shodu s hodnotou operandu typu řetězec. Je ignorována velikost písmen řetězců.
Není null (IS NOT NULL) Ověření dotazu ukazuje existenci požadovaného parametru.
Zřetězit (+) Tento operátor vyhodnocuje 'abc'+'def' na 'abcdef'.
Jako v (LIKEIN) Tento operátor vyjadřuje, že řetězec likein (řetězec1, řetězec2, řetězec3,...) se vyhodnocuje na true, pokud řetězec nalevo od operátoru likein odpovídá minimálně jednomu z řetězců (řetězecN).
Je null (IS NULL) Ověření dotazu ukazuje neexistenci požadovaného parametru. Testuje na operand, který má hodnotu NULL.
Je rovno (=) Operátor rovnosti vyjadřuje shodu s rozlišováním malých a velkých písmen.
Větší než (>) Vyhodnocuje se na standardní logický výsledek.
Větší nebo rovno (>=) Vyhodnocuje se na standardní logický výsledek.
Menší než (<) Vyhodnocuje se na standardní logický výsledek.
Menší nebo rovno (<=) Vyhodnocuje se na standardní logický výsledek.
Mezi (BETWEEN) Používá se společně s operátorem AND k výběru rozsahu hodnot včetně první (nejnižší) a poslední (nejvyšší) hodnoty. Společně se používají pro čísla a hodnoty data.

Hodnota

V závislosti na vámi zvoleném operátoru zadejte hodnotu podvýrazu, který jste se rozhodli vytvořit.

Generovat podvýraz

Generovat podvýraz jako výsledek vámi zadaného operandu, operátoru a hodnot.

Připojit

Klepnutím připojíte do rámečku na panelu pravidel.



Název souboru: sip_rulebuilder_detail.html