SIP 규칙 표현식 빌더

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

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

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

피연산자 선택

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

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

표 1. 피연산자. 다음 표에서는 콘솔에 표시된 피연산자 이름에 대해 설명합니다.
피연산자 구문 설명
SIP 메소드 request.method

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

SIP 응답 코드 response.code

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

수신 헤더의 설계 to.uri.scheme

수신 헤더 필드의 설계

URI의 설계 request.uri.scheme

URI의 설계

발신 헤더의 설계 request.from.uri.scheme

발신 헤더 필드의 설계

URI 요청 request.uri

요청 URI

수신 URI request.to.uri

수신 헤더 필드의 URI

발신 URI request.from.uri

발신 헤더 필드의 URI

발신 헤더 request.from

발신 헤더 필드

수신 헤더 request.to

수신 헤더 필드

수신 헤더 표시 이름 request.to.display-name

수신 헤더 필드의 표시 이름

발신 헤더 표시 이름 request.from.display-name

발신 헤더 필드의 표시 이름

수신 URI 호스트 request.to.uri.host

수신 헤더 필드 URI의 포트

서버 호스트 serverhost 서버의 완전한 호스트 이름. 이 피연산자는 숫자 연산자(예 >, >=, <, <=)를 지원하지 않습니다.
포트 port 요청이 수신된 수신 대기 포트.
문의 헤더 request.contact

문의 헤더 필드

문의 URI request.contact.uri

문의 헤더 필드의 URI

클라이언트 호스트 clienthost 완전한 클라이언트 호스트 이름. 이는 IP(Internet Protocol) 명령 호스트 이름의 값입니다. 이 피연산자는 숫자 연산자(예: >, >=, <, <=)를 지원하지 않습니다.
clientipv4 clientipv4 IPv4(Internet Protocol version 4) 점분리 4 주소 유형 n.n.n.n을 사용하는 클라이언트 컴퓨터의 IP 주소
clientipv6 clientipv6 클라이언트 컴퓨터의 RFC 1924(RFC 1924)에 대한 요청 뒤에 IPv6(Internet Protocol version 6) 128비트 주소 유형 x:x:x:x:x:x:x:x
serveripv4 serveripv4 IPv4 점분리 4 주소 유형 n.n.n.n을 사용하는 서버 컴퓨터의 IP 주소
serveripv6 serveripv6 서버 컴퓨터의 RFC 1924를 따르는 IPv6 128비트 주소 유형 x:x:x:x:x:x:x:x
요청 전송 request.transport

요청의 전송

요청 URI 사용자 request.uri.user

요청 URI의 사용자

발신 URI 사용자 request.from.uri.user

발신 헤더 필드의 사용자

수신 URI 사용자 request.to.uri.user

수신 헤더 필드의 사용자

요청 URI 호스트 request.uri.host

요청 URI의 호스트

발신 URI 호스트 request.from.uri.host

발신 헤더 필드의 호스트

요청 URI 포트 request.uri.port

요청 URI의 포트

발신 URI 포트 request.from.uri.port

발신 헤더 필드 URI의 포트

수신 URI 호스트 request.to.uri.host

수신 헤더 필드의 호스트입니다.

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

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

시작 시간 및 종료 시간 필드의 형식은 각각 다음과 같습니다. 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 피연산자를 사용하는 전체 규칙의 부울 결과입니다.

백분율 percentage$<val> percentage 피연산자는 시간의 고정 백분율, true로 평가합니다. 예를 들면, percentage$50은 시간의 평균 50%에 대해 true로 평가합니다.
Ramp up 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자리 시간, minsec은 각각 분 및 초의 2자리 값입니다.

예를 들면,

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

연산자

표 2. 추적 스펙 연산자
연산자 설명
Equals Ignore Case (EQUALSIGNORECASE) Equals ignore case 연산자입니다. 문자열의 대소문자가 무시됩니다. 'ABC' EQUALSIGNORECASE 'abc'는 true입니다. ('ABC' = 'abc')는 false입니다.
Not Equals (< >) Not Equal 연산자는 피연산자 값과 입력한 값이 같지 않음을 표시합니다.
IN
  • string IN list of strings는 왼쪽 문자열이 오른쪽에 있는 문자열과 정확하게 일치(대소문자 구분)할 경우 true로 평가됩니다. 예를 들면 다음과 같습니다.
    • ’adrian’ in ('keith','eric','kalyan','david', 'adrian 및 etc')는 false입니다.
    • 'adrian' in ('tom','adrian')은 true입니다.
    • ’adrian’ in ('Tom','Adrian')은 false입니다.
  • integer IN list of integers:
    • 1 in (1,2,3,4,5)은 true입니다.
    • 6 in (1,2,3,4,5)은 false입니다.
LIKE

이 연산자는 문자열 피연산자 값에 대한 패턴 일치를 표시합니다. 값에는 패턴 일치가 시작될 위치에 와일드카드 문자인 퍼센트 부호(%)를 포함해야 합니다.

예를 들어, 다음의 표현식
host LIKE %blanca
blanca 단어와 blanca로 끝나는 다른 단어가 일치하는 반면, 다음의 표현식
host LIKE blanca%
blanca 단어와 blanca로 시작하는 다른 단어가 일치합니다. 다음의 표현식
host LIKE %blanca%
blanca 단어와 이 단어 안에 포함된 blanca 토큰을 가진 단어가 일치합니다.
Like Ignore Case (LIKEIGNORECASE) 이 연산자는 문자열 피연산자 값에 대한 패턴 일치를 표시합니다. 문자열의 대소문자가 무시됩니다.
IS NOT NULL 이 연산자는 조회의 유효성 검증에서 요청된 매개변수가 있음을 표시합니다.
Concatenate (+) 이 연산자는 'abc'+'def''abcdef'로 평가합니다.
LIKEIN 이 연산자는 (string1, string2, string3,...)과 같은 string을 표시하며 likein 왼쪽에 있는 문자열이 하나 이상의 문자열(stringN)과 일치할 경우 true로 평가됩니다.
IS NULL 이 연산자는 조회의 유효성 검증에서 요청된 매개변수가 없음을 표시합니다. NULL 값을 가진 피연산자를 테스트합니다.
Equals ( = ) 같음 연산자는 대소문자 구분 일치를 표시합니다.
Greater Than (>) 표준 논리 결과를 평가합니다.
Greater Than 또는 Equals (>=) 표준 논리 결과를 평가합니다.
Less Than (<) 표준 논리 결과를 평가합니다.
Less Than 또는 Equals (<=) 표준 논리 결과를 평가합니다.
사이(BETWEEN) AND와 함께 사용되어 첫 번째 값(낮은 값)과 마지막 값(높은 값)을 포함하는 값 범위를 선택합니다. 이 두 개의 연산자를 함께 사용하면 숫자 및 날짜 값으로 작동합니다.

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

하위 표현식 생성

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

추가

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



파일 이름: sip_rulebuilder_detail.html