![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
지능형 관리: SIP 피연산자
AND, OR, NOT 및 괄호 그룹화를 사용하여 하위 표현식에서 복잡한 규칙 조건을 빌드하는 데 도움이 되는 선택적 도구인 하위 표현식 유틸리티 빌더에서 SIP 피연산자 및 연관된 해당 프로토콜을 사용할 수 있습니다.
규칙
각 작업 클래스는 해당 요청에 대한 정책을 판별하기 위해 특정 요청에 대해 평가되는 선택적 규칙 순서 목록을 포함합니다. 각 규칙은 부울 표현식과 정책 값으로 구성됩니다. 특정 요청에 대해 표현식이 true로 평가되면 해당 규칙과 연관된 정책이 사용됩니다.
규칙에 대한 부울 표현식 구문과 시맨틱은 SQL(Structured Query Language) 표현식의 WHERE 절과 유사합니다. 더 정확히 말하면 표현식 구문은 JMS(Java™ Message Service) 1.1 스펙에서 정의합니다. 표현식 구문과 시맨틱에 대한 자세한 정보는 규칙 기반 요청 분류에 대해 읽으십시오.
JMS 스펙에서 ID는 요청과 연관될 수 있는 다양한 속성(예: 특정 조회 매개변수, 쿠키 또는 HTTP 헤더)을 나타냅니다. JMS ID를 요청 변수 또는 피연산자로 간주할 수 있습니다. 이러한 피연산자는 프로토콜에 특정합니다. 예를 들어, SOAP 서비스 이름은 SOAP 작업 클래스에서만 유효한 피연산자입니다.
clienthost LIKE '%.ibm.com'
'%.ibm.com'은
요청의 클라이언트 호스트 이름을 비교하는 데 사용되는 리터럴입니다.
이 표현식은 ibm.com® 도메인의 컴퓨터에서 시작되는 모든 요청에 적용됩니다.
문자열 리터럴을 작은따옴표로 묶으십시오. 숫자 리터럴은 작은따옴표로 묶지 마십시오. AND, OR,
NOT 연산자와 함께 괄호를 사용하여 복합 부울 표현식을 형성할 수도 있습니다.
자세한 설명은 JMS 1.1 스펙을 참조하십시오. SIP 피연산자
피연산자 | 구문 | 설명 |
---|---|---|
클라이언트 호스트 |
clienthost | 완전한 클라이언트 호스트 이름입니다. 이는 IP(Internet Protocol) 명령 호스트 이름 값입니다. 이 피연산자는 >, >=, <, <=과 같은 숫자 연산자는 지원하지 않습니다. |
클라이언트 IPV4 |
clientipv4 | IPv4(Internet Protocol version 4) 점분리 4주소 유형(n.n.n.n)을 사용하는 클라이언트의 IP 주소입니다. |
클라이언트 IPV6 |
clientipv6 | 클라이언트 컴퓨터의 RFC 1924(Request for Comments 1924)를 따르는 IPv6(Internet Protocol version 6) 128비트 주소 유형(x:x:x:x:x:x:x:x)입니다. |
Contact 헤더 |
request.contact | Contact 헤더 필드입니다. |
Contact URI |
request.contact.uri | Contact 헤더 필드의 URI입니다. |
From 헤더 |
request.from | From 헤더 필드입니다. |
From 헤더 표시 이름 |
request.from.display-name | From 헤더 필드의 표시 이름입니다. |
From URI |
request.from.uri | From 헤더 필드의 URI입니다. |
From URI 호스트 |
request.from.uri.host | From 헤더 필드의 호스트입니다. |
From URI 포트 |
request.from.uri.port | From 헤더 필드의 URI 포트입니다. |
From URI 사용자 |
request.from.uri.user | From 헤더 필드의 사용자입니다. |
헤더 이름 |
header $<name> | 헤더 이름 및 값입니다. 예를 들어,
header$Host='localhost' 표현식은 요청을 테스트하여 값이 localhost인 HTTP 호스트 헤더를
포함하는지 여부를 확인합니다. 호스트 헤더의 존재 여부를 테스트하려면 다음 표현식 중 하나를 사용하십시오.
|
백분율 |
percentage$<val> | percentage 피연산자는 고정 시간 백분율에 대해 true로 평가됩니다.
예를 들어, percentage$50은 시간의 평균 50%에서 true로 평가됩니다. |
포트 |
port | 요청이 수신된 청취 포트입니다. |
램프업 |
rampup$<startTime> $<completionTime> |
rampup 피연산자는 가변 시간 백분율에 대해 true로 평가됩니다.
항상 <startTime> 앞에서는 false로 평가되고
<completionTime> 뒤에서는 true로 평가됩니다.
<startTime>에서 <completionTime>으로 시간이 지나면
선형 증가 백분율에 대해 true로 평가됩니다. <startTime> 및 <completionTime> 형식은 day/month/year::hour:min:sec입니다. 여기서 day는 일이고 month는 12개월 중 하나(Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)이며, year는 4자리 연도이고 hour는 24시간 시계의 2자리 시간이며, min 및 sec는 각각 분 및 초의 2자리 값입니다.예를 들어, rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00은 2007년 1월 1일 오전 8시에 때때로 true로 평가되기 시작하며 동일한 날 오후 5시에 램프업 완료 시간까지 항상 true로 평가됩니다. |
요청 전송 |
request.transport | 요청 전송입니다. |
요청 URI |
request.uri | 요청 URI입니다. |
요청 URI 호스트 |
request.uri.host | 요청 URI의 호스트입니다. |
요청 URI 포트 |
request.uri.port | 요청 URI의 포트입니다. |
요청 URI 사용자 |
request.uri.user | 요청 URI의 사용자입니다. |
From 헤더의 스킴 |
request.from.uri.scheme | From 헤더 필드의 스킴입니다. |
To 헤더의 스킴 |
to.uri.scheme | To 헤더 필드의 스킴입니다. |
URI 스킴 |
request.uri.scheme | URI 스킴입니다. |
서버 호스트 |
serverhost | 서버의 완전한 호스트 이름입니다. 이 피연산자는 >, >=, <, <=과 같은 숫자 연산자는 지원하지 않습니다. |
서버 IPV4 |
serveripv4 | IPv4 점분리 4주소 유형(n.n.n.n)을 사용하는 서버 컴퓨터의 IP 주소입니다. |
서버 IPV6 |
serveripv6 | 서버 컴퓨터의 RFC 1924를 따르는 IPv6 128비트 주소 유형(x:x:x:x:x:x:x:x)입니다. |
SIP 메소드 |
request.method | 요청에 대한 SIP 메소드입니다. 가능한 값은 INVITE, TRYING, RINGING, ACK, OK, BYE입니다. 메시지가 요청이 아닌 경우 이 피연산자는 널을 리턴합니다. |
SIP 응답 코드 |
response.code | 응답의 응답 코드입니다. 메시지가 응답이 아닌 경우 이 피연산자는 -1을 리턴합니다. |
To 클라이언트 호스트 |
clienthost | To 헤더 필드의 클라이언트 호스트입니다. |
To 헤더 |
request.to | To 헤더 필드입니다. |
To 헤더 표시 이름 |
request.to.display-name | To 헤더 필드의 표시 이름입니다. |
To URI |
request.to.uri | To 헤더 필드의 URI입니다. |
To URI 호스트 |
request.to.uri.host | To 헤더 필드의 URI 포트입니다. |
To URI 사용자 |
request.to.uri.user | To 헤더 필드의 사용자입니다. |
연산자
지능형 관리 는 규칙 표현식에서 다음 표의 연산자를 지원합니다. 이러한 연산자는 WHERE 또는 HAVING 절 내에 나타나기 때문에 SQL 용어로는 술어라고도 합니다. 연산자는 대소문자를 구분하지 않습니다.
연산자 | 설명 |
---|---|
OR | OR 논리 연산자입니다. |
AND | AND 논리 연산자입니다. |
NOT | 부정 연산자입니다. |
IN | 단일 표현식에서 다중 값을 포함하는 피연산자를 표현합니다. 이 연산자의 의미는 연산자의 SQL 표준 의미와
일치합니다. 예를 들어, port 값이 9080, 9090, 9091 같은 값이 될 수 있음을
표현하려면 다음 표현식 단편을 사용하십시오.
SQL에서
소괄호 안의 값이 표현되는 방법은 포트의 데이터 유형에 따라 다릅니다. 포트가 정수인 경우,
작은따옴표가 없는 값이 구문상 올바릅니다. 포트가 문자열인 경우, 올바른 표현식은 다음과 같습니다.
|
LIKE | 문자열 피연산자 값에 대한 패턴 일치를 표현합니다. 값은 패턴 일치가 시작될 것으로 예상되는 위치에 와일드카드 문자(%)를 포함해야 합니다. 예를 들어, 다음 표현식은
host LIKE %blancablanca라는 단어와 blanca로 끝나는 다른 단어와 일치하는 반면, 다음 표현식은 host LIKE blanca%blanca라는 단어와 blanca로 시작하는 다른 단어와 일치합니다. 다음 표현식은 host LIKE %blanca%blanca라는 단어와 그 안에 blanca 토큰이 임베드된 단어와 일치합니다. java.util.regex.Pattern 클래스가 사용됩니다. |
= | 등호 연산자는 대소문자 구분 일치에서 일치를 표현합니다. |
> | 숫자 피연산자와 함께 사용되는 보다 큼 연산자입니다. |
>= | 숫자 피연산자와 함께 사용되는 크거나 같음 연산자입니다. |
< | 숫자 피연산자와 함께 사용되는 보다 작음 연산자입니다. |
<= | 숫자 피연산자와 함께 사용되는 작거나 같음 연산자입니다. |
< > | 같지 않음 연산자입니다. |
BETWEEN | AND와 함께 사용되어 값 범위를 선택합니다(첫 번째 값(낮은 값)과 마지막 값(높은 값) 포함). 이 두 개의 연산자를 함께 사용하면 숫자 및 날짜 값으로 작동합니다. |
IS NULL | 피연산자에 NULL 값이 들어 있는지 테스트합니다. |
IS NOT NULL | 피연산자에 NULL 이외의 값이 들어 있는지 테스트합니다. |