# SIP szabály kifejezés összeállító

A részkifejezés összeállító használatával összetett szabály feltételek építhetők össze részkifejezésekből AND, OR, NOT és zárójeles csoportosítással. A szabály összeállító érvényesíti a szabályt a módosítások alkalmazásakor és figyelmeztet a hibásan párosított zárójelekre és a nem támogatott logikai operátorokra.

Az adminisztrációs konzol oldal megjelenítéséhez kattintson a Kiszolgálók > Kiszolgálótípusok > Igény szerinti útválasztók > odr_neve > SIP igény szerinti útválasztó beállításai > Útválasztási irányelv SIP szabályok > Hozzáadás > Részkifejezés-készítő lehetőségre.

A szabály összeállítóval a szabályok módosításához adminisztrátori adminisztrációs jogosultságokra van szüksége.

## Operandus kiválasztása

### Továbbítási és szolgáltatási irányelv operandusok

A kijelölt protokolltól függően eltérő operandusok jelennek meg. A következő tábla a konzolon megjelenített operandus neveket, a tényleges operandust, amint az a kifejezésben megjelenik, az operandusonkénti érvényes protokollokat és az egyes operandusok leírását tartalmazza.

1. táblázat: Operandusok Az alábbi táblázat a konzolon megjelenő operandusneveket írja le
Operandus | Szintaxis | Leírás
--- | --- | ---
SIP metódus | `request.method` | A kérés SIP metódusa. A lehetséges értékek az INVITE, TRYING, RINGING, ACK, OK és a BYE. Ha az üzenet nem kérés, akkor az operandus null értéket ad vissza.
SIP válaszkód | `response.code` | A válasz válaszkódja. Ha az üzenet nem válasz, akkor az operandus -1 értéket ad vissza.
Címzett fejléc sémája | `to.uri.scheme` | A Címzett fejléc mező sémája.
URI sémája | `request.uri.scheme` | Az URI sémája.
Küldő fejléc sémája | `request.from.uri.scheme` | Feladó fejléc mező sémája.
Kérés URI | `request.uri` | A kérés URI azonosítója.
Címzett URI | `request.to.uri` | A Címzett fejléc mező URI azonosítója.
Küldő URI | `request.from.uri` | A Feladó fejléc mező URI azonosítója.
Küldő fejléc | `request.from` | A Feladó fejléc mező.
Címzett fejléc | `request.to` | A Címzett fejléce mező.
Címzett fejléc megjelenő neve | `request.to.display-name` | A Címzett fejléc mező megjelenő neve.
Küldő fejléc megjelenő neve | `request.from.display-name` | A Feladó fejléc mező megjelenő neve.
Címzett URI hoszt | `request.to.uri.host` | A port a Címzett fejléc mező URI címében.
Kiszolgáló gazda | `serverhost` | A kiszolgáló teljes képzésű állomásneve. Ez az operandus nem támogatja az olyan numerikus operátorokat, mint a `>, >=, <, <=`.
Port | `port` | A figyelőport, amelyen a kérés érkezett.
Kapcsolattartó fejléc | `request.contact` | A Kapcsolat fejléce mező.
Kapcsolattartó URI | `request.contact.uri` | A Kapcsolat fejléce mező URI címe.
Ügyfélhoszt | `clienthost` | A teljes képzésű ügyfél állomásnév. Ez az internet protokoll (IP) parancs állomásnév értéke. Ez az operandus nem támogatja az olyan numerikus operátorokat, mint a `>, >=, <, <=`.
clientipv4 | `clientipv4` | Az ügyfél számítógép IP címe a 4. változatú internet protokoll (IPv4) pontozott négyes címtípusának használatával: `n.n.n.n`.
clientipv6 | `clientipv6` | Az internet protokoll 6. változatának (IPv6) 128-bites címtípusa: `x:x:x:x:x:x:x:x` az ügyfél számítógép Megjegyzések kérése 1924 (RFC 1924) követésével.
serveripv4 | `serveripv4` | A kiszolgáló számítógép IP címe az IPv4 `n.n.n.n` pontozott címtípus használatával.
serveripv6 | `serveripv6` | Az IPv6 `x:x:x:x:x:x:x:x` típusú 128-bites címe a kiszolgáló számítógép RFC 1924 kérése után.
Kérésszállítás | `request.transport` | A kérés szállítása.
Kérés URI felhasználó | `request.uri.user` | A felhasználó a kérés URI azonosítóban.
Küldő URI felhasználó | `request.from.uri.user` | A felhasználó a Feladó fejlécmezőben.
Címzett URI felhasználó | `request.to.uri.user` | A felhasználó a Címzett fejlécmezőben.
Kérés URI hoszt | `request.uri.host` | A kérés URI hosztja.
Küldő URI hoszt | `request.from.uri.host` | A Feladó fejléc mező hosztja.
Kérés URI port | `request.uri.port` | A kérés URI portja.
Küldő URI port | `request.from.uri.port` | A port a Feladó fejléc mező URI címében.
Címzett URI hoszt | `request.to.uri.host` | A hoszt a Címzett fejlécmezőben.
Fejlécnév | `fejléc $<név>` | A fejléc neve és értéke. Például, a `header$Host='localhost'` kifejezés egy kérést tesztel, hogy lássa, hogy tartalmaz-e HTTP hosztfejlécet `localhost` értékkel. A hosztfejléc jelenlétének vagy hiányának teszteléséhez használja a következő kifejezések egyikét:
    header$Host IS NOT NULL
    header$Host IS NULL
Idő | `time` | Ez az operandus azon dátum és a nap időpontjának megadására használható, amelyet egy adott kérésnek tisztelnie kell. A két elhagyható mező a StartTime és a EndTime. Ha egy kérés a megadott időablakon kívül érkezik, akkor a kérés nem kerül feldolgozásra. A kezdeti idő és a befejezési idő is egyaránt a következő formátummal rendelkezik: `HétNapja/HónapNapja/hónap/év::óra:perc:másodperc`. Például a 2007. április 11. (csütörtök) 13:03:45 időpont a következő módon van megadva: Thu/11/Apr/2007::13:03:45 Bármely mezőbe írható helyettesítő érték * értékkel. Például minden egyes hónap elseje */1 értékkel adható meg. A HétNapja értéke a Sun, Mon, Tue, Wed, Thu, Fri, Sat lehet és a HónapNapja értéke 1-31 között van. A hónap érték egy nem numerikus érték, amely a 12 hónapot képviseli: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec. Az év érték az évszám négy számjegyéből áll. Például, 2007. Az óra érték a nap órája 24 órás felbontásban. Például, a reggel 8 óra ::8 értékként ábrázolható. A perc és a másodperc egész számok 0 és 59 között. Az osztásjel (/) dátum paraméterek elválasztására használható, a dupla kettőspont (::) a dátum- és időértékek elválasztására, és a kettőspont (:) egy adott nap idejét meghatározó paraméterek elválasztására szolgál. Jegyezze meg, hogy ez annak a teljes szabálynak a logikai eredménye, amely a time operandust használja és meghatározza a továbbítási tevékenységet.
Százalék | `percentage$<érték>` | A százalék operandus `true` értékre kerül kiértékelésre, az idő rögzített százalékára. Például a `percentage$50` `true` értékű lesz az idő 50%-ában.
Fokozás | `rampup$<KezdésiIdő>` `$<befejezésiIdő>` | A `rampup` operandus `true` értékre kerül kiértékelésre az idő változó százalékára. Mindig `false` értékre kerül kiértékelésre a `<kezdőIdő>` előtt és `true` értékre a `<befejezésiIdő>` után. Amint az idő halad a `<kezdőIdő>` és a `<befejezésiIdő>` között `true` értéket vesz fel lineárisan növekvő százalékos arányban. A `<kezdőIdő>` és `<befejezésiIdő>` formátuma: `nap/hónap/év::óra:perc:másodperc`. ahol a `nap` a hónap napja, a `hónap` a 12 hónap egyike: Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec, az `év` a négyszámjegyű év, `óra` a nap 24 órájának kétszámjegyű értéke, a `perc` és a `másodperc` a perc és a másodperc kétjegyű értékei, értelemszerűen. Például, A `rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00` elkezdi alkalmanként `true` értéket felvenni 2007.jan.1. reggel 8 óra után és mindig `true` értéket vesz fel a növekedési idő befejezése után, ugyanazon nap este 5-kor.

## Operátor

2. Táblázat: Nyomkövetés meghatározás operátorai
Operátor | Leírás
--- | ---
Kis-/nagybetűk figyelmen kívül hagyásával egyenlő (EQUALSIGNORECASE) | Kis-/nagybetűk figyelmen kívül hagyásával egyenlő operátor. A karaktersorozatokban a rendszer nem tesz különbséget a kis- és nagybetűk között. `'ABC' EQUALSIGNORECASE 'abc'` értéke true. `('ABC' = 'abc')` értéke false.
Nem egyenlő (< >) | A nem egyenlő operátor azt fejezi ki, hogy az operandus nem egyezik meg a megadott értékkel.
Tartalmazza (IN) | A `karaktersorozat IN karaktersorozat lista` kiértékelése trué értékű, ha a bal oldali karaktersorozat pontosan megegyezik (kis- és nagybetűk eltérőnek számítanak) a jobb oldalon felsorolt egyik karaktersorozattal. Például: ’adrian’ in `('keith','eric','kalyan','david', 'adrian and etc')` értéke false. `'adrian'` in `('tom','adrian')` kiértékelése true. ’adrian’ in `('Tom','Adrian')` kiértékelése false. `egész szám IN egész számok listája` : `1` in `(1,2,3,4,5)` értéke true. `6` in `(1,2,3,4,5)` értéke false.
Hasonló (LIKE) | Karaktersorozat típusú operandusértékek mintaillesztését fejezi ki. Az értéknek tartalmaznia kell a helyettesítő karaktert (`%`) azon a pozíción, ahol a mintaillesztés kezdete várható. Például a következő kifejezés:
    host LIKE %blanca
megfelel a `blanca` szónak és a `blanca` végződésű bármely szónak, míg a következő kifejezés:
    host LIKE blanca%
megfelel a `blanca` szónak és a `blanca` kezdetű bármely más szónak. A következő kifejezés:
    host LIKE %blanca%
megfelel a `blanca` szónak és minden olyan szónak, amelyben szerepel a `blanca` jelsor.
Kis-/nagybetűk figyelmen kívül hagyásával hasonló (LIKEIGNORECASE) | Ez az operátor karaktersorozat típusú operandusértékek mintaillesztését fejezi ki. A karaktersorozatokban a rendszer nem tesz különbséget a kis- és nagybetűk között.
Nem nullérték (IS NOT NULL) | A lekérdezés érvényesítése szerint a kért paraméter létezik.
Összefűzés (+) | Ez az operátor az `'abc'+'def'` kifejezést `'abcdef'` karaktersorozattá értékeli ki.
Tartalmaz hasonlót (LIKEIN) | Ez az operátor a `string likein (string1, string2, string3,...)` kifejezést true értékre értékeli ki, ha `likein` bal oldalán álló karaktersorozat legalább egynek megfelel a (stringN) karaktersorozatok közül.
Nullérték (IS NULL) | A lekérdezés érvényesítése szerint a kért paraméter nem létezik. Azt teszteli, hogy az operandus `NULL` értékű-e.
Egyenlő ( = ) | Az egyenlőség operátor olyan egyezést fejez ki, amelyben a kis- és nagybetűk eltérőnek számítanak.
Nagyobb, mint (>) | A hagyományos logikai eredményt értékeli ki.
Nagyobb vagy egyenlő (>=) | A hagyományos logikai eredményt értékeli ki.
Kisebb, mint (<) | A hagyományos logikai eredményt értékeli ki.
Kisebb vagy egyenlő (<=) | A hagyományos logikai eredményt értékeli ki.
Között (BETWEEN) | Az `AND` operátorral együtt használva értéktartományt jelöl ki az első (alacsony) és az utolsó (magas) érték között, beleértve a két határértéket. Együttesen szám- és dátumértékeken hajthatók végre.

## Érték

A választott operátortól függően írjon be egy értéket a létrehozni kívánt részkifejezéshez.

## Részkifejezés előállítása

A megadott operandus, operátor és értékek eredményeként állítsa elő a részkifejezést.

## Hozzáfűzés

A listához hozzáfűzéshez kattintson a szabályok panelre.

Kapcsolódó információk:
Útválasztási irányelv SIP szabályok
Szolgáltatás irányelv SIP szabályok

Fájlnév: sip_rulebuilder_detail.html