Sun Java System Messaging Server 6 2005Q4 관리 설명서

사이트 정의 주소 유효성 검사 및 변환

사이트는 전자 메일을 채널로 전송에 설명된 수신자 전자 메일 주소로 인코딩되는 SMS 대상 주소에 유효성 검사 또는 변환을 적용할 수 있습니다. 예를 들어, 사이트에서 다음을 수행할 수 있습니다.

처음 두 개의 작업은 특히 DESTINATION_ADDRESS_NUMERIC DESTINATION_ADDRESS_PREFIX 채널 옵션으로 수행할 수 있습니다. 일반적으로 이 세 작업 및 기타 작업은 매핑테이블(다시 쓰기 규칙의 매핑 테이블 콜아웃 또는 FORWARD 매핑 테이블)을 사용하여 구현할 수 있습니다. 다시 쓰기 규칙의 매핑 테이블 콜아웃을 사용하면 사이트 정의 오류 응답으로 주소를 거부하는 기능을 비롯하여 가장 뛰어난 유연성이 제공됩니다. 이 절의 나머지 부분에서는 다시 쓰기 규칙의 매핑 테이블 콜아웃을 사용하는 이러한 방식에 대해 설명합니다.

대상 주소가 10 또는 11자리의 숫자로만 되고 문자열 "+1"을 접두어로 붙여야 하는 것으로 가정합니다. 이는 다음 다시 쓰기 규칙을 사용하여 수행할 수 있습니다.

sms.siroe.com      ${X-REWRITE-SMS-ADDRESS,$U}@sms.siroe.com
sms.siroe.com       $?Invalid SMS address

위에서 첫 번째 다시 쓰기 규칙은 X-REWRITE-SMS-ADDRESS라는 사이트 정의 매핑 테이블로 콜아웃됩니다. 검사를 위해 전자 메일 주소의 로컬 부분이 이 매핑 테이블로 전달됩니다. 매핑 프로세스에서 로컬 부분을 허용할 경우에는 주소가 수락되어 SMS 채널에 다시 기록됩니다. 매핑 프로세스가 로컬 부분을 허용하지 않을 경우에는 다음 다시 쓰기 규칙이 적용됩니다. 다음 다시 쓰기 규칙이 $? 다시 쓰기 규칙이므로 "Invalid SMS address"라는 오류 텍스트와 함께 주소가 거부됩니다.

아래에는 X-REWRITE-SMS-ADDRESS 매핑 테이블이 나와 있습니다. 이 매핑 테이블은 속성값 쌍 목록 형식이나 단순히 원시 SMS 대상 주소로 되어 있는 로컬 부분에 대한 필수 검증 단계를 수행합니다.

X-VALIDATE-SMS-ADDRESS

! Iteratively strip any non-numeric characters 
   $_*$[$ -/:-~]%*  $0$2$R
! Accept the address if it is of the form 1nnnnnnnnnn or nnnnnnnnnn
! In accepting it, ensure that we output +1nnnnnnnnnn
   1%%%%%%%%%%      +1$0$1$2$3$4$5$6$7$8$9$Y
   %%%%%%%%%%       +1$0$1$2$3$4$5$6$7$8$9$Y
! We didn’t accept it and consequently it’s invalid
   *                $N

X-REWRITE-SMS-ADDRESS
    */id=$_*/*       $C$0/id=$|X-VALIDATE-SMS-ADDRESS;$1|/$2$Y$E
    */id=$_*/*       $N
    *                $C$|X-VALIDATE-SMS-ADDRESS;$0|$Y$E
    *                $N

위와 같이 설정된 경우 DESTINATION_ADDRESS_NUMERIC 옵션 값이 0(기본값)인지 확인합니다. 그렇지 않을 경우 "+"가 SMS 대상 주소에서 제거됩니다.