SIP 규칙 표현식 빌더

AND, OR, NOT 및 괄호로 묶기를 사용하여 하위 표현식에서 복합 규칙 조건을 빌드하려면 하위 표현식 빌더를 사용하십시오. 규칙 빌더는 변경사항을 적용할 때 규칙을 유효성 검증하며 불일치하는 괄호 및 지원되지 않는 논리 연산자에 대해 경고합니다.

이 관리 콘솔 페이지를 보려면 서버 > On Demand Router > odr_name> SIP On Demand Router 특성 > 라우팅 정책 SIP 규칙 > 추가 > 하위 표현식 빌더를 클릭하십시오.

규칙 빌더를 사용하여 규칙을 수정하려면 관리자 관리 권한을 가지고 있어야 합니다.

피연산자 선택

라우팅 및 서비스 정책 피연산자

선택하는 프로토콜에 따라 다른 피연산자가 표시됩니다. 다음 테이블에는 콘솔에 표시되는 피연산자 이름, 표현식에 나타나는 실제 피연산자, 피연산자당 올바른 프로토콜 및 각 피연산자에 대한 설명이 포함됩니다.

표 1. 피연산자
요청 변수 유효한 프로토콜 설명

application

IIOP EJB가 포함된 엔터프라이즈 응용프로그램의 이름
clienthost

HTTP

SOAP

IIOP

SIP

완전한 클라이언트 호스트 이름. 이는 IP(Internet Protocol) 명령 호스트 이름의 값입니다. 이 피연산자는 숫자 연산자(예: >, >=, <, <=)를 지원하지 않습니다.

clientport

IIOP 클라이언트 포트 이름
clientipv4

HTTP

SOAP

SIP

IPv4(Internet Protocol version 4) 점분리 4 주소 유형 n.n.n.n을 사용하는 클라이언트 컴퓨터의 IP 주소
clientipv6

HTTP

SOAP

SIP

클라이언트 컴퓨터의 RFC 1924(RFC 1924)에 대한 요청 뒤에 IPv6(Internet Protocol version 6) 128비트 주소 유형 x:x:x:x:x:x:x:x
Contact header

SIP

문의 헤더 필드

Contact URI

SIP

문의 헤더 필드의 URI

cookie$<name>

HTTP

SOAP

쿠키 이름. 예를 들어, cookie$My_Cookie_Name='My_Cookie_Value' 표현식은 값이 My_Cookie_ValueMy_Cookie_Name 쿠키가 들어 있는지 확인하기 위해 요청을 테스트합니다. 특정 쿠키의 존재 여부를 테스트하려면 다음 표현식 중 하나를 사용하십시오.
cookie$MyCookieName IS NOT NULL 
cookie$MyCookieName IS NULL

ejbmodule

IIOP EJB의 모듈 이름

ejbname

IIOP EJB의 이름

ejbmethod

IIOP EJB 내의 메소드 이름
발신 헤더

SIP

발신 헤더 필드

발신 헤더 표시 이름

SIP

발신 헤더 필드의 표시 이름

발신 URI

SIP

발신 헤더 필드의 URI

발신 URI 호스트

SIP

발신 헤더 필드의 호스트

발신 URI 포트

SIP

발신 헤더 필드 URI의 포트

발신 URI 사용자

SIP

발신 헤더 필드의 사용자

header$<name>

HTTP

SOAP

SIP

헤더 이름 및 값. 예를 들어, header$Host='localhost' 표현식은 값이 localhost인 HTTP 호스트 헤더가 들어 있는지 확인하기 위해 요청을 테스트합니다. 호스트 헤더의 존재 여부를 테스트하려면 다음 표현식 중 하나를 사용하십시오.
header$Host IS NOT NULL 
header$Host IS NULL
HTTPMethod

HTTP

SOAP

요청에 대한 HTTP 메소드. 가능한 값은 POST, GET, PUT 및 DELETE입니다.
MIMEType

HTTP

SOAP

요청에 대한 MIME 유형
operation SOAP 웹 서비스 조작의 이름
percentage$<val>

HTTP

SOAP

IIOP

SIP

percentage 피연산자는 시간의 고정 백분율, true로 평가합니다. 예를 들면, percentage$50은 시간의 평균 50%에 대해 true로 평가합니다.
port

HTTP

SOAP

IIOP

SIP

요청이 수신된 수신 대기 포트.
protocol

HTTP

SOAP

요청을 전송하는 통신 프로토콜. 현재 지원되는 프로토콜은 HTTP, HTTPS, SOAP 및 SOAPS입니다.
queryparm$<name>

HTTP

SOAP

헤더 이름 및 값. 예를 들어, queryparm$timezone='EST' 표현식은 요청에 값이 EST인 HTTP 조회 매개변수 timezone이 들어 있는지 확인하기 위해 요청을 테스트합니다. 조회 매개변수의 존재 여부를 테스트하려면 다음 양식 중 하나를 사용하십시오.
queryparm$timezone IS NOT NULL 
queryparm$timezone IS NULL
rampup$<startTime>$<completionTime>

HTTP

SOAP

IIOP

SIP

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자리 시간, minsec은 분 및 초의 2자리 값을 각각 나타냅니다.

예를 들면,

rampup$01/Jan/2007::08:00:00$01/Jan/2007::17:00:00은 2007년 1월 1일 오전 8시에 때때로 true로 평가하기 시작하고 같은 날 오후 5시로 완료 시간을 설정하여 항상 true로 평가합니다.
Request transport

SIP

요청의 전송

URI 요청

SIP

요청 URI

요청 URI 호스트

SIP

요청 URI의 호스트

요청 URI 포트

SIP

요청 URI의 포트

요청 URI 사용자

SIP

요청 URI의 사용자

Scheme of From header

SIP

발신 헤더 필드의 설계

Scheme of To header

SIP

수신 헤더 필드의 설계

URI의 설계

SIP

URI의 설계

serverhost

HTTP

SOAP

IIOP

SIP

서버의 완전한 호스트 이름. 이 피연산자는 숫자 연산자(예 >, >=, <, <=)를 지원하지 않습니다.
serveripv4

HTTP

SOAP

SIP

IPv4 점분리 4 주소 유형 n.n.n.n을 사용하는 서버 컴퓨터의 IP 주소
serveripv6

HTTP

SOAP

SIP

서버 컴퓨터의 RFC 1924 뒤에 IPv6 128비트 주소 유형 x:x:x:x:x:x:x:x
service

SOAP

웹 서비스의 이름
SIP method

SIP

요청에 대한 SIP 메소드. 가능한 값은 INVITE, TRYING, RINGING, ACK, OK 및 BYE입니다. 메시지가 요청이 아닌 경우 이 요청는 널을 리턴합니다.

SIP response code

SIP

응답의 응답 코드. 메시지가 응답이 아닌 경우 이 피연산자는 -1을 리턴합니다.

time

HTTP

SOAP

IIOP

이 피연산자는 지정된 요청을 수행해야 하는 날의 날짜 및 시간을 정의하는 데 사용됩니다. 두 개의 선택적 필드는 시작 시간 및 종료 시간입니다. 정의된 해당 기간 외부에서 요청이 수신되는 경우 해당 요청은 처리되지 않습니다.

시작 시간 및 종료 시간 필드의 형식은 각각 다음과 같습니다. dayOfWeek/dayOfMonth/month/year::hour:minute:second.

예를 들어, 2007년 4월 11일 목요일 오후 1:03:45는 다음과 같이 지정됩니다.

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

모든 필드에 * 값의 와일드 카드를 사용할 수 있습니다. 예를 들어, 각 월의 1일은 */1과 같이 지정됩니다.

dayofWeek 값은 Sun, Mon, Tue, Wed, Thu, Fri, Sat이고 dayOfMonth 값의 범위는 1-31입니다.

month 값은 12달을 나타내는 숫자가 아닌 값입니다(Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec).

year 값은 4자리 연도로 구성됩니다. 예를 들면, 2007입니다.

hour 값은 24시간 단위의 하루 중 시간입니다. 예를 들어, 오전 8시는 ::8과 같이 표시됩니다. minutesecond는 0-59 사이의 정수입니다.

슬래시(/)는 날짜 매개변수를 구분하는 데 사용되고, 더블 콜론(::)은 날짜 및 시간 값을 구분하는 데 사용되며, 콜론(:)은 하루 중 시간 매개변수를 구분하는 데 사용합니다. 라우팅 조치를 취할 것인지 여부를 결정하는 데 time 피연산자를 사용하는 전체 규칙의 부울 결과입니다.

To client host

SIP

수신 헤더 필드의 클라이언트 호스트

수신 헤더

SIP

수신 헤더 필드

수신 헤더 표시 이름

SIP

수신 헤더 필드의 표시 이름

수신 URI

SIP

수신 헤더 필드의 URI

수신 URI 호스트

SIP

수신 헤더 필드 URI의 포트

수신 URI 사용자

SIP

수신 헤더 필드의 사용자

가상 호스트

HTTP

SOAP

가상 포털은 WebSphere® Portal Server 내에서 작성되며 WebSphere Extended Deployment가 WebSphere Portal Server와 통합되도록 이 피연산자를 지원합니다. 가상 포트는 요청 URL에서 WebSphere Portal 응용프로그램의 웹 모듈에 대한 컨텍스트 루트를 제외한 것입니다. 지정된 요청이 정의된 가상 포털과 일치하면 해당 규칙에 대해 정의된 라우팅 조치를 취합니다.
xpathexpr

SOAP

XPath 문자열 표현식은 XPath 표현식을 포함하는 데 사용되는 필수 필드 및 로컬 네임 스페이스를 위한 선택적 필드를 가집니다. XPath 표현식에 포함된 모든 네임 스페이스가 표준인 경우 두 번째 필드는 선택적일 수 있습니다. 다중 로컬 네임 스페이스가 있는 경우 각각을 쉼표(,)로 분리하십시오. 다음은 하나의 로컬 네임 스페이스 정의를 갖는 xpathexpr의 예제입니다.
xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL

이전 표현식에서 XPath 표현식은 /soap:Envelope/soap:Body/n:getTimeZone/n:clientId입니다. 여기에는 로컬 네임 스페이스 n이 포함됩니다. 따라서 두 번째 필드 xpathexpr은 n \\=http://test.classify.ws.ibm.com으로 정의됩니다. 달러 부호($)는 필드 정의 시작을 나타내는 데 사용됩니다. 이중 백슬래시는 이 예제의 이스케이프 순서입니다. 첫 번째 등호(=)는 로컬 네임 스페이스 정의의 일부이므로 이스케이프되지만 두 번째 등호(=)는 분류 표현식의 연산자이므로 이스케이프되면 안됩니다.

다음은 두 개의 로컬 네임 스페이스를 갖는 xpathexpr의 예제입니다.

xpathexpr$/soap:Envelope/soap:Body/m:getTimeZone/n:clientId$m\\=http://test.classify.ws.ibm.com,n\\=http://test2.classify.ws.ibm.com = \\'1000\\' or operation IS NOT NULL

다음은 xpathexpr에 대한 표준 네임 스페이스 목록입니다.

표 1. 네임 스페이스
네임 스페이스 URL
soap http://schemas.xmlsoap.org/soap/envelope/
soap-env http://schemas.xmlsoap.org/soap/envelope/
soapenc http://schemas.xmlsoap.org/soap/encoding/
soapbind http://schemas.xmlsoap.org/wsdl/soap/
xsd http://www.w3.org/2001/XMLSchema
xsi http://www.w3.org/2001/XMLSchema-instance
xsi http://ws-i.org/schemas/conformanceClaim/
wsdl http://schemas.xmlsoap.org/wsdl/
연산자
  • = 같음 연산자는 대소문자 구분 일치를 표시합니다.
  • <> 같지 않음 연산자는 피연산자 값과 입력한 값이 같지 않음을 표시합니다.
  • > 보다 큼 연산자는 숫자와 함께 사용됩니다.
  • >= 이상 연산자는 숫자와 함께 사용됩니다.
  • < 미만 연산자는 숫자와 함께 사용됩니다.
  • <= 이하 연산자는 숫자와 함께 사용됩니다.
  • AND: xx AND yy의 경우 xx, yy가 모두 포함된 일치를 표시합니다.
  • BETWEEN: 이 연산자는 AND와 함께 사용되어 첫 번째(낮음), 값 및 마지막(높음), 값을 포함하는 값 범위를 선택합니다. 숫자 및 날짜와 함께 연산됩니다.
  • EXISTS: 이 부울 연산자는 특정 HTTP 헤더 요소 속성을 검사하는 경우와 같이 복합 하위 표현식의 결과 또는 피연산자를 검사합니다.
  • IN: 이 연산자는 단일 표현식에서 다중값이 있는 피연산자를 표시합니다. 예를 들어, port라는 피연산자의 경우, 9080, 9090, 9091 같은 값이 될 수 있는 포트 값을 표현하려면 표현식 단편이 port IN (9080,9090,9091)이 됩니다. 대괄호 안의 값이 표현되는 방법은 포트의 데이터 유형에 따라 다릅니다. 포트가 정수인 경우, 정확한 구문은 따옴표 없는 값입니다. 포트가 문자열인 경우 정확한 구문은 port IN (‘9080’, ‘9090’, ‘9091’)입니다.
  • IS NULL: 이 연산자는 조회의 유효성 검증에서 요청된 매개변수가 없음을 표시하도록 나타냅니다.
  • IS NOT NULL: 이 연산자는 조회의 유효성 검증에서 요청된 매개변수가 있음을 표시하도록 합니다.
  • LIKE: 이 연산자는 문자열 피연산자 값에 대한 패턴 일치를 표시합니다. 값에는 패턴 일치가 시작될 위치에 와일드카드 문자인 퍼센트 부호(%)를 포함해야 합니다. 예를 들어, host LIKE %blanca라는 표현식은 blanca라는 단어 또는 blanca로 끝나는 단어와 일치하는 반면, host LIKE blanca%라는 표현식은 blanca라는 단어 또는 blanca로 시작하는 단어와 일치하며 host LIKE %blanca%라는 표현식은 blanca라는 단어 또는 그 안에 blanca가 포함되어 있는 단어와 일치합니다.
  • NOT: NOT xx의 경우, 이 연산자는 xx를 포함하지 않는 일치를 표시합니다.
  • OR: xx OR yy의 경우, 이 연산자는 xx, yy 중 하나가 포함되는 일치를 표시합니다.

선택하는 연산자에 따라 작성할 하위 표현식의 값을 입력하십시오.

하위 표현식 생성

지정한 피연산자, 연산자 및 값의 결과로서 하위 표현식을 생성하십시오.

추가

규칙 패널의 상자에 추가하려면 클릭하십시오.




WebSphere Virtual Enterprise Information Center(온라인)

관련 정보
라우팅 정책 SIP 규칙
서비스 정책 SIP 규칙

sip_rulebuilder_detail