Regulă builder de expresie SIP

Utilizaţi builderul de subexpresii pentru a construi condiţii cu reguli complexe din subexpresii utilizând AND, OR, NOT şi gruparea în paranteze. Builderul de reguli validează regula atunci când aplicaţi modificările, şi vă avertizează cu privire la parantezele nepotrivite, şi operatorii logici neacceptaţi.

Pentru a vizualiza această pagină a consolei administrative, faceţi clic pe Servere > Tipuri de servere > Rutere la cerere > odr_name > Setări rutere la cerere SIP > Reguli SIP pentru politici de rutare > Adăugare > Builder subexpresii.

Pentru a modifica regulile cu builderul de reguli, trebuie să aveţi privilegii administrative de administrator.

Selectare operand

Rutare şi serviciul de politică operanzi

În funcţie de protocolul pe care l-aţi selectat, sunt afişaţi diferiţi operanzi. Tabelul următor include numele operandului aşa cum este afişat în consolă, operandul real aşa cum va apărea in expresie, protocoalele valide pe operand şi descrierea pentru fiecare operand.

Tabelul 1. Operanzi. Tabelul următor descrie numele de operanzi afişate în consolă
Operand Sintaxă Descriere
Metoda SIP request.method

Metoda SIP pentru cerere. Valorile posibile sunt INVITE, TRYING, RINGING, ACK, OK, şi BYE. Dacă mesajul nu este o cerere, acest operand returnează null.

Cod de răspuns SIP response.code

Codul de răspuns al răspunsului. Dacă mesajul nu este un răspuns, acest operand returnează -1.

Schema antetului Către to.uri.scheme

Schema câmpului antet Către.

Schemă URI request.uri.scheme

Schema URI-ului.

Schema antetului De la request.from.uri.scheme

Schema din câmpul antet De la.

URI cerere request.uri

URI-ul cererii.

URI La request.to.uri

URI-ul câmpului antet Către.

URI De la request.from.uri

URI-ul câmpului antet De la.

Antet De la request.from

Câmpul antet De la.

Antet Către request.to

Câmpul antet Către.

Nume afişare antet Către request.to.display-name

Numele afişat in câmpul antet Către.

Nume afişare antet De la request.from.display-name

Numele afişat în câmpul antet De la.

Gazdă URI Către request.to.uri.host

Portul din URI-ul câmpului antet Către.

Gazdă server serverhost Numele complet calificat al gazdei serverului. Acest operand nu suportă operatori numerici cum ar fi >, >=, <, <=.
Port port Portul de ascultare pentru care a fost primită cererea.
Antet contact request.contact

Câmpul de antet Contact.

URI contact request.contact.uri

URI-ul câmpului de antet Contact.

Gazdă client clienthost Nume complet calificat gazdă client. Aceasta este valoarea pentru numele de gazdă comandă protocol internet (IP). Acest operand nu suportă operatori numerici cum ar fi >, >=, <, <=.
clientipv4 clientipv4 Adresa IP a calculatorului client folosind Internet Protocol versiunea 4 (IPv4) punctată adresă tip quadn.n.n.n.
clientipv6 clientipv6 Versiunea 6 de Internet Protocol (IPv6) 128-bit tip adresă de x:x:x:x:x:x:x:x cerere pentru următoarele comentarii 1924 (RFC 1924) de la computerul client.
serveripv4 serveripv4 Adresa IP a calculatorului server folosind tipul de adresă cuadruplă punctată IPv4 n.n.n.n.
serveripv6 serveripv6 Tipul de adresă de 128 de biţi IPv6 pentru următoarele RFC 1924 x:x:x:x:x:x:x:x ale computerului server.
Transport cerere request.transport

Transportul cererii.

Utilizator URI cerere request.uri.user

Utilizatorul în URI cerere.

Utilizator URI De la request.from.uri.user

Utilizatorul în câmpul antet De la.

Utilizator URI Către request.to.uri.user

Utilizatorul din câmpul antet Către.

Gazdă URI cerere request.uri.host

Gazda din URI cerere.

Gazdă URI De la request.from.uri.host

Gazda din câmpul antet De la.

Port URI cerere request.uri.port

Portul din URI cerere.

Port URI De la request.from.uri.port

Portul din URI-ul de câmp de antet De la.

Gazdă URI Către request.to.uri.host

Gazda din câmpul antet Către.

Nume antet header $<name> Un nume de antet şi o valoare. De exemplu expresia header$Host='localhost' testează o cerere pentru a vedea dacă conţine un antet gazdă HTTP cu o valoare de localhost. Pentru a testa prezenţa sau absenţa headerului gazdă, folosiţi una din expresiile următoare:
header$Host IS NOT NULL 
header$Host IS NULL
Ora time

Acest operand este utilizat pentru a defini data şi ora din zi în care o anumită cerere să fie operată. Două câmpuri opţionale sunt StartTime şi EndTime. Dacă o cerere este primită în afara ferestrei definite, cererea nu va fi procesată.

Câmpurile Oră de începere şi Oră de sfârşit, au fiecare următorul format: dayOfWeek/dayOfMonth/month/year::hour:minute:second.

De exemplu Joi 11 Aprilie anul 2007 la 1:03:45 PM este specificat ca:

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

Orice câmp poate utiliza metacaractere cu valoarea *. De exemplu, data de 1 a fiecărei luni este specificată ca */1.

Valorile dayofWeek sunt Duminică, Luni, Marţi, Miercuri, Joi, Vineri, Sâmbătă şi valorile dayOfMonth sunt cuprinse între 1-31.

Valoarea lună este o valoare non-numerică reprezentând cele douăsprezece luni: Ian, Feb, Mar, Apr, Mai, Iun, Iul, Aug, Sep, Oct, Noe, Dec.

Valoarea an este compusă din cele patru caractere ale anului. De exemplu 2007.

Valoarea oră este ora din zi în cadrul celor 24 de ore. De exemplu, 8am este reprezentat ca şi ::8. minut şi secundă sunt numere întregi între 0-59.

Bara oblică (/) este utilizată pentru a separa parametrii de date, două puncte duble (::) este folosit pentru a separa valorile data şi oră, şi două puncte (:) este utilizat pentru a separa parametrii din cadrul zilei. Reţineţi că acesta este rezultatul boolean al regulii în care operandul timp este utilizat în determinarea acţiunii întreprinse de rutare.

Procentaj percentage$<val> Procentajul operandului evaluează la true, un procentaj fixat de timp. De exemplu, percentage$50 evaluează la true în medie 50% din timp.
Rampup rampup$<startTime>

  $<completionTime>

Operandul rampup evaluează la true un procentaj variabil de timp. Întotdeauna se evaluează la false înainte de <startTime> şi la true după <completionTime>. Pe măsură ce se înaintează în timp de la <startTime> la <completionTime>, se evaluează la true, un procentaj în creştere liniară.

Formatul <startTime> şi <completionTime> este day/month/year::hour:min:sec.

unde day este ziua din lună, month este una di cele 12 luni: Ian, Feb, Mar, Apr, Mai, Iun, Iul, Aug, Sep, Oct, Noe, Dec, year este anul în cifre cu 4 digiţi, hour este ora în 2-digiţi a ceasului de 24 ore şi min şi sec sunt valori cu 2-digiţi pentru minute şi secunde, respectiv.

De exemplu,

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00 începe să evalueze ocazional la adevărat la ora 8 pe 1 ianuarie 2007 şi evaluează mereu la adevărat de la ora 17 din aceeaşi zi.

Operator

Tabelul 2. Urmărire operatori de specificare
Operator Descriere
Este egal cu ignorarea majusculelor (EQUALSIGNORECASE) Operatorul Este egal cu ignorarea majusculelor. Se ignoră majusculele şirurilor. 'ABC' EQUALSIGNORECASE 'abc' este adevărat. ('ABC' = 'abc') este fals.
Inegal (< >) Operatorul de inegalitate arată dacă valoarea operandului nu este egală cu valoarea pe care o introduceţi.
În (IN)
  • Pentru string IN lista de şiruri evaluează la adevărat dacă şirul din stângs se potriveşte exact (sensibil la majuscule) cu un şir listat în dreapta. De exemplu:
    • ’adrian’ în ('keith','eric','kalyan','david', 'adrian şi etc') este fals.
    • 'adrian' în ('tom','adrian') este adevărat.
    • ’adrian’ în ('Tom','Adrian') este fals.
  • integer IN list of integers :
    • 1 în (1,2,3,4,5) este adevărat.
    • 6 în (1,2,3,4,5) este fals.
Asemănător cu (LIKE)

Arată potrivirea unui model pentru valorile de operand şir. Valoarea trebuie să conţină metacaracterul (%) în poziţia unde se aşteaptă să înceapă potrivirea de tipar.

De exemplu, expresia:
host LIKE %blanca
potriveşte cuvântul blanca cu orice alt cuvânt care se termină în blanca, în timp ce expresia:
host LIKE blanca%
potriveşte cuvântul blanca şi orice alt cuvânt care începe cu blanca. Expresia:
host LIKE %blanca%
potriveşte cuvântul blanca şi orice alt cuvânt care are jetonul blanca înglobat în el.
Asemănător cu ignorarea majusculelor (LIKEIGNORECASE) Acest operator arată potrivirea unui model pentru valorile de operand şir. Se ignoră majusculele şirurilor.
Nu este null (IS NOT NULL) Validarea unei interogări anunţă că parametrul cerut există.
Concatenare (+) Acest operator evaluează 'abc'+'def' la 'abcdef'.
Ca în (LIKEIN) Acest operator exprimă string ca (string1, string2, string3,...) evaluează la adevărat dacă şirul din stânga lui likein se potriveşte cu unul sau mai multe şiruri (stringN).
Este null (IS NULL) Validarea unei interogări anunţă că parametrul cerut nu există. Testează un operand care are o valoare NULL.
Egal cu ( = ) Operatorul de egalitate arată o potrivire sensibilă la majuscule.
Mai mare decât (>) Evaluează la rezultatul logic standard.
Mai mare sau egal cu (>=) Evaluează la rezultatul logic standard.
Mai mic decât(<) Evaluează la rezultatul logic standard.
Mai mic sau egal decât (<=) Evaluează la rezultatul logic standard.
Între (BETWEEN) Utilizat cu AND pentru a selecta un interval de valori care include prima (cea mai mică) valoare şi ultima (cea mai mare) valoare. Împreună, operează asupra numerelor şi valorilor de dată.

Valoare

In funcţie de operatorul pe care doriţi să îl alegeţi, tastaţi o valoare pentru subexpresia pe care doriţi să o creaţi.

Generare subexpresie

Generează subexpresie ca rezultat al operandului, operatorului, şi valorilor pe care le-aţi specificat.

Adăugare la sfârşit

Apăsaţi pentru adăugarea la sfârşitul casetei de pe panoul cu reguli.



Nume fişier: sip_rulebuilder_detail.html