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

SMS 게이트웨이 서버 구성

이 절에서는 ETM(Email-To-Mobile) 및 MTE(Mobile-To-Email) 기능을 모두 사용하도록 SMS 게이트웨이 서버를 설정하는 방법에 대해 설명합니다. 이 절은 다음 내용으로 구성되어 있습니다.

양방향 SMS 라우팅 설정

MTA와 SMSC 간에 양방향 전자 메일 및 SMS 라우팅을 설정하려면 다음 3단계 과정을 수행하는 것이 좋습니다.

SMS 주소 접두어 설정

MTA SMS 채널에 의해 생성되는 소스 SMS 주소는 선택된 SMS 주소 접두어와 일치하도록 설정해야 합니다. 그러려면 다음을 설정합니다.

게이트웨이 프로필 설정

릴레이된 모든 SMS 소스 주소가 고유하도록 SMS 게이트웨이 서버의 게이트웨이 프로필을 설정해야 합니다. 이것은 기본 설정이지만 게이트웨이 프로필 옵션 MAKE_SOURCE_ADDRESSES_UNIQUE=1을 지정하여 명시적으로 설정할 수 있습니다. 결과적으로 다음 형식의 중계된 SMS 소스 주소가 만들어집니다.

prefixnnnnnnnnnn

여기서 nnnnnnnnnn은 고유한 10자리 십진수가 됩니다.

SMSC 구성

마지막으로 접두어(단순히 접두어만 또는 접두어와 10자리 숫자)와 일치하는 모든 SMS 대상 주소를 SMS 게이트웨이 서버의 SMPP 서버로 라우팅하도록 SMSC를 구성해야 합니다. 이러한 라우팅을 위한 정규식은 다음과 유사합니다.

prefix([0-9]{10,10}){0,1}

여기서 prefixDEFAULT_SOURCE_ADDRESS의 값이고 [0-9]는 10자리 숫자에 허용되는 값이며 {10, 10}은 최소한 10자리 및 최대한 10자리 숫자가 존재한다는 것을 지정하고 마지막으로 {0, 1}은 0개 또는 1개의 10자리 숫자가 존재할 수 있다는 것을 지정합니다.

SMS 게이트웨이 서버 활성화/비활성화

SMS 게이트웨이 서버 시작 및 중지

SMS 게이트웨이 서버가 사용 가능하게 된 후 다음 명령을 사용하여 서버를 시작 및 중지할 수 있습니다.

# start-msg sms

# stop-msg sms

SMS 게이트웨이 서버 구성 파일

SMS 게이트웨이 서버가 작동하려면 구성 파일이 필요합니다. 구성 파일은 UTF-8을 사용하여 인코딩되는 유니코드 텍스트 파일이며 ASCII 텍스트 파일이 될 수 있습니다. 구성 파일의 이름은 다음과 같아야 합니다.

installation-directory/config/sms_gateway.cnf

구성 파일의 각 옵션 설정은 다음 형식을 가집니다.

option-name=option-value

옵션 그룹의 일부인 옵션은 다음 형식으로 표시됩니다.

[group-type=group-name]
option-name-1=option-value-1
option-name-2=option-value-2
...
option-name-n=option-value-n

게이트웨이 서버에서 ETM(Email-To-Mobile) 구성

양방향 SMS의 ETM(Email-To-Mobile) 부분을 구현하려면 다음을 구성해야 합니다.

게이트웨이 프로필

ETM(Email-To-Mobile) 게이트웨이 프로필을 구성하려면 다음 단계를 수행합니다.

ProcedureETM(Email-To-Mobile) 게이트웨이 프로필 구성 방법

단계
  1. 게이트웨이 프로필을 SMS 게이트웨이 서버 구성 파일에 추가합니다.

    옵션 그룹을 추가하려면 다음 형식을 사용합니다.


    [GATEWAY_PROFILE=profile_name]
    option-name-1=option-value-1
    option-name-2=option-value-2a
    ...
    option-name-n=option-value-n

    위 형식에서 게이트웨이 프로필 이름 profile_name의 길이는 11바이트를 초과해서는 안 됩니다. 이 이름은 SMS 채널 옵션 파일의 GATEWAY_PROFILE 채널 옵션에 대한 이름과 동일해야 합니다. 이 이름은 대소문자를 구분하지 않습니다. 유효한 채널 옵션 목록은 사용 가능한 옵션을 참조하십시오.

  2. 게이트웨이 프로필 옵션(예: SMSC_DEFAULT_CHARSET)을 원격 SMSC의 특성과 일치하도록 설정합니다.

  3. 다른 게이트웨이 프로필 옵션을 SMS 채널의 전자 메일 특성과 일치하도록 설정합니다.

    게이트웨이 프로필 옵션에 대한 자세한 내용은 게이트웨이 프로필 옵션을 참조하십시오.

  4. CHANNEL 옵션을 설정합니다.

    해당 값을 MTA SMS 채널 이름으로 설정합니다.

    게이트웨이를 통해 알림이 전자 메일로 보내지면 이 채널 이름을 사용하여 결과 전자 메일이 MTA의 대기열에 포함됩니다.

SMPP 중계

SMPP 중계를 구성하려면 다음 단계를 완료합니다.

ProcedureSMPP 릴레이 구성 방법

단계
  1. SMPP 중계 인스턴스화(옵션 그룹)를 SMS 게이트웨이 서버의 구성 파일에 추가합니다.

    옵션 그룹을 추가하려면 다음 형식을 사용합니다.


    [SMPP_RELAY=relay_name]
    option-name-1=option-value-1
    option-name-2=option-value-2
    ...
    option-name-n=option-value-n

    임의의 이름을 릴레이 이름으로 사용할 수 있습니다. 단, 해당 이름이 동일한 구성 파일 내의 다른 SMPP 중계 인스턴스화에 사용되어서는 안 됩니다.

  2. LISTEN_PORT 옵션을 설정합니다.

    SMS 채널의 SMPP_PORT 옵션에 사용되는 값은 릴레이의 LISTEN_PORT 옵션에 사용되는 것과 일치해야 합니다. LISTEN_PORT의 경우 다른 SMPP 중계 또는 서버 인스턴스화에 사용되지 않으며 동일한 컴퓨터에서 실행 중인 다른 서버에서도 사용되지 않는 TCP 포트 번호를 선택합니다.

  3. SERVER_HOST 옵션을 설정합니다.

    릴레이의 SERVER_HOST 옵션은 원격 SMSC의 SMPP 서버에 대한 호스트 이름을 제공해야 합니다. 호스트 이름 대신에 IP 주소를 사용할 수 있습니다.

  4. SERVER_PORT 옵션을 설정합니다.

    릴레이의 SERVER_PORT 옵션은 원격 SMSC의 SMPP 서버에 대한 TCP 포트를 제공해야 합니다.

    모든 SMPP 릴레이 옵션에 대한 자세한 내용은 SMPP 중계 옵션을 참조하십시오.

SMPP 서버

SMPP 서버를 구성하려면 다음 단계를 완료합니다.

ProcedureSMPP 서버 구성 방법

단계
  1. SMPP 서버 인스턴스화(옵션 그룹)를 SMS 게이트웨이 서버의 구성 파일에 추가합니다.

    옵션 그룹을 추가하려면 다음 형식을 사용합니다.


    [SMPP_SERVER=server_name]
    option-name-1=option-value-1
    option-name-2=option-value-2...
    option-name-n=option-value-n

    임의의 이름을 서버 이름으로 사용할 수 있습니다. 단, 해당 이름이 동일한 구성 파일 내의 다른 SMPP 서버 인스턴스화에 사용되어서는 안 됩니다.

  2. LISTEN_PORT 옵션을 설정합니다.

    다른 서버나 중계 인스턴스화에 사용되지 않는 TCP 포트 번호를 선택합니다. 또한 이 포트 번호는 동일한 컴퓨터의 다른 서버에 사용되면 안 됩니다.

    이 TCP 포트를 사용하여 SMPP를 통해 알림을 SMS 게이트웨이 서버 시스템으로 라우팅하도록 원격 SMSC를 구성해야 합니다.

    모든 SMPP 서버 옵션에 대한 자세한 내용은 SMPP 서버 옵션을 참조하십시오.

MTE(Mobile-To-Email) 작업 구성

MTE(Mobile-To-Email) 기능을 구성하려면 다음 두 가지 구성 단계를 수행해야 합니다.

여러 게이트웨이 프로필을 동일한 SMPP 서버 인스턴스화를 사용할 수 있습니다. 실제로 동일한 SMPP 서버 인스턴스화를 ETM(Email-To-Mobile) 및 MTE(Mobile-To-Email) 응용 프로그램에 모두 사용할 수 있습니다.

MTE(Mobile-To-Email) 게이트웨이 프로필 구성

모바일 원본의 경우 게이트웨이 프로필은 두 가지 주요 정보 즉, 해당 프로필을 대상으로 하는 SMS 메일을 식별하는 방법과 이러한 메일을 전자 메일로 변환하는 방법을 제공합니다. 이 프로필은 SELECT_RE 옵션을 추가할 경우 ETM(Email-To-Mobile)에 사용되는 프로필과 동일할 수 있습니다.

게이트웨이 프로필을 구성하려면 다음 단계를 수행합니다.

Procedure게이트웨이 프로필 구성 방법

단계
  1. 게이트웨이 프로필(옵션 그룹)을 SMS 게이트웨이 서버의 구성 파일에 추가합니다.

    옵션 그룹을 추가하려면 다음 형식을 사용합니다.


    [GATEWAY_PROFILE=profile_name]
    option-name-1=option-value-1
    option-name-2=option-value-2
    ...
    option-name-n=option-value-n

    11자 이하의 모든 이름을 프로필 이름으로 사용할 수 있습니다. 단, 해당 이름을 동일한 구성 파일 내의 다른 게이트웨이 프로필에서 사용해서는 안 됩니다.

  2. 각 게이트웨이 프로필에 대해 지정해야 하는 SELECT_RE 옵션을 설정합니다.

    이 옵션 값은 SMS 대상 주소가 비교되는 ASCII 정규 표현식입니다. SMS 대상 주소가 정규 표현식과 일치할 경우 일치하는 프로필에 설명된 특성을 사용하여 SMS 메일이 게이트웨이를 통해 전자 메일로 보내집니다.

    겹치는 SMS 주소 집합을 가진 여러 게이트웨이 프로필(예: 주소 000과 일치하는 프로필과 다른 모든 3자리 주소와 일치하는 또 다른 프로필)을 구성할 수 있습니다. 그러나 SMS 메일이 하나의 게이트웨이 프로필(일치하는 첫 번째 것)로만 전달되므로 여러 게이트웨이 프로필을 구성하는 것을 피해야 합니다. 또한 이러한 프로필이 비교되는 순서는 정의되지 않습니다.

  3. CHANNEL 옵션을 설정합니다.

    해당 값은 MTA SMS 채널의 이름이어야 합니다.

    모든 모바일 원본 옵션에 대한 자세한 내용은 게이트웨이 프로필 옵션을 참조하십시오.

MTE(Mobile-To-Email) SMPP 서버 구성

SMPP 서버 추가는 ETM(Email-To-Mobile) SMPP 서버의 경우와 같습니다( SMPP 서버 참조).

SMS 트래픽을 게이트웨이 SMPP 서버로 라우팅하도록 원격 SMSC를 구성해야 합니다. 이렇게 하려면 MTE(Mobile-To-Email) 트래픽을 라우팅하기 위해 SMSC가 사용하는 SMS 대상 주소가 게이트웨이 프로필 옵션 SELECT_RE에 설정된 값이어야 합니다.

예를 들어, SMS 주소 000이 MTE(Mobile-To-Email) 트래픽에 사용될 경우 SMS 대상 주소 000에 대한 트래픽을 게이트웨이 SMPP 서버로 라우팅하도록 SMSC를 구성해야 합니다. 게이트웨이 프로필은 옵션 설정 SELECT_RE=000을 사용해야 합니다.

구성 옵션

이 절에서는 SMS 게이트웨이 서버 구성 파일 옵션에 대해 자세히 설명합니다. 이 절에 나오는 표에는 사용 가능한 모든 구성 옵션이 간단한 설명과 함께 나열되어 있습니다. 전역 옵션, SMPP 중계 옵션, SMPP 서버 옵션 및 SMS 게이트웨이 서버 프로필 옵션에 대한 표가 제공됩니다.

이 절은 사용 가능한 모든 구성 옵션에 대한 자세한 설명을 제공하는다음 하위 절로 구성되어 있습니다.

전역 옵션

SMS 게이트웨이 서버에는 현재 다음 세 가지 범주의 전역 옵션이 있습니다.

모든 전역 옵션은 지정된 모든 옵션 그룹의 앞에 오도록 구성 파일의 맨 위에 지정해야 합니다. 표 D–20에는 모든 전역 구성 옵션이 나열되어 있습니다.

표 D–20 전역 옵션

옵션 

기본값 

설명 

DEBUG

6

생성된 진단 출력의 유형을 선택합니다. 

HISTORY_FILE_DIRECTORY

 

기록 데이터 파일의 절대 디렉토리 경로입니다. 

HISTORY_FILE_MODE

0770

기록 데이터 파일에 대한 권한입니다. 

HISTORY_FILE_ROLLOVER_PERIOD

30분

기록 데이터의 동일한 파일에 쓸 수 있는 최대 시간입니다. 

LISTEN_CONNECTION_MAX

 

모든 SMPP 중계 및 서버 인스턴스화에서의 최대 동시 인바운드 연결 수입니다. 

RECORD_LIFETIME

3일

기록 데이터 아카이브에 있는 레코드의 수명입니다. 

THREAD_COUNT_INITIAL

10개

작업자 스레드의 초기 수입니다. 

THREAD_COUNT_MAXIMUM

50개

작업자 스레드의 최대 수입니다. 

THREAD_STACK_SIZE

64KB

각 작업자 스레드의 스택 크기입니다. 

스레드 조정 옵션

각 인바운드 TCP 연결은 SMPP 세션을 나타냅니다. 세션 처리는 스레드 풀의 작업자 스레드에 의해 수행됩니다. 세션 처리가 I/O 요청이 완료되기를 기다려야 할 경우 작업 스레드는 세션을 대기시키며 수행할 다른 작업이 작업 스레드에 제공됩니다. I/O 요청이 완료되면 풀의 사용 가능한 작업자 스레드에 의해 세션이 다시 시작됩니다.

다음 옵션을 사용하여 이 작업자 스레드 프로세스 풀을 조정할 수 있습니다. THREAD_COUNT_INITIAL, THREAD_COUNT_MAXIMUM, THREAD_STACK_SIZE

THREAD_COUNT_INITIAL

(정수, > 0) 초기에 작업자 스레드 풀에 대해 만들어지는 스레드 수입니다. 메모리 내장 기록 데이터를 관리하는 데 사용되는 전용 스레드(두 개의 스레드) 및 받는 TCP 연결을 수신하는 데 사용되는 전용 스레드(SMS 게이트웨이 서버가 수신하는 TCP 포트/인터페이스 주소 쌍마다 스레드 하나씩)는 이 수에 포함되지 않습니다. THREAD_COUNT_INITIAL의 기본값은 10개입니다.

THREAD_COUNT_MAXIMUM

(정수, >= THREAD_COUNT_INITIAL ) 작업자 스레드 풀에 허용되는 최대 스레드 수입니다. 기본값은 50개입니다.

THREAD_STACK_SIZE

(정수, > 0) 작업자 스레드 풀의 각 작업자 스레드에 대한 스택 크기(바이트)입니다. 기본값은 65,536바이트(64KB)입니다.

기록 데이터 조정

SMS 메일이 중계되면 원격 수신 SMPP 서버에 의해 생성된 메일 아이디가 메모리 내장 해시 테이블에 저장됩니다. 또한 이 메일 아이디와 함께 원래 전자 메일에 대한 정보가 저장됩니다. 그 후에 메일 아이디가 SMS 알림에 의해 참조될 경우 이 정보를 검색할 수 있습니다. 이어서 검색된 정보를 사용하여 SMS 알림을 적절한 전자 메일 수신자에게 보낼 수 있습니다.

메모리 내장 해시 테이블은 전용 스레드에 의해 디스크에 저장됩니다. 결과 디스크 파일은 "기록 파일"이라고 합니다. 이러한 기록 파일은 SMS 게이트웨이 서버를 다시 시작한 후 메모리 내장 해시 테이블을 복원하는 데 필요한 데이터를 비휘발성 형태로 저장하고 잠재적으로 긴 데이터를 디스크에 저장하여 가상 메모리를 절약하는 두 가지 역할을 수행합니다. 각 기록 파일은 HASH_FILE_ROLLOVER_PERIOD(초) 동안만 데이터가 기록되며 이 기간 후에는 파일이 닫히고 새 기록 파일이 만들어집니다. 기록 파일은 RECORD_LIFETIME(초)을 초과할 경우 디스크에서 삭제됩니다.

다음 옵션을 사용하여 기록 파일을 조정할 수 있습니다. HISTORY_FILE_DIRECTORY, HISTORY_FILE_MODE, HISTORY_FILE_ROLLOVER_PERIOD, RECORD_LIFETIME

HISTORY_FILE_DIRECTORY

(문자열, 절대 디렉토리 경로) 기록 파일을 기록할 디렉토리의 절대 경로입니다. 디렉토리 경로는 존재하지 않을 경우 새로 만들어집니다. 이 옵션의 기본값은 다음과 같습니다.

msg_svr_base/data/sms_gateway_cache/

사용할 디렉토리는 충분한 속도의 디스크 시스템에 존재하며 예상 저장소에 충분한 여유 공간을 가져야 합니다. 저장소 계획 정보에 대해서는 SMS 게이트웨이 서버 저장소 요구 사항을 참조하십시오.

HISTORY_FILE_MODE

(정수, 8진수 값) 기록 파일과 연관된 파일 권한입니다. 기본값은 0770(8진수)입니다.

HISTORY_FILE_ROLLOVER_PERIOD

(정수, 초) HASH_FILE_ROLLOVER_PERIOD(초)마다 현재 기록 파일이 닫히고 새 기록 파일이 만들어집니다. 기본값은 1800초(30분)입니다.

RECORD_LIFETIME

(정수, 초 > 0) 기록 레코드의 수명(초)입니다. 이 수명보다 오래된 레코드는 메모리에서 제거됩니다. 즉, 이 수명보다 오래된 기록 파일은 디스크에서 삭제됩니다. 기본값은 259,200초(3일)입니다. 메모리에 저장된 레코드는 메모리 내장 데이터를 관리하는 전용 스레드에 의해 완전히 제거됩니다. 이러한 제거는 HASH_FILE_ROLLOVER_PERIOD(초)마다 발생합니다. 디스크의 파일은 새 기록 파일을 여는 것이 필요할 때 제거됩니다.

기타

두 개의 기타 옵션으로 DEBUG LISTEN_CONNECTION_MAX가 있습니다.

DEBUG

(정수, 비트 마스크) 디버그 출력을 사용 가능하게 합니다. 기본값은 경고 및 오류 메시지를 선택하는 6입니다.

표 D–21에는 DEBUG 비트 마스크의 비트 값이 정의되어 있습니다.

표 D–21 DEBUG 비트 마스크

비트 

값 

설명 

0-31 

-1

매우 자세한 출력 

1

정보 메시지 

2

경고 메시지 

4

오류 메시지 

8

서브루틴 호출 추적 

16

해시 테이블 진단 

32

I/O 진단, 수신 

64

I/O 진단, 전송 

128

SMS에서 전자 메일로의 변환 진단(모바일 원본 및 SMS 알림) 

256

PDU 진단, 헤더 데이터 

512

PDU 진단, 본문 데이터 

10 

1024

PDU 진단, 유형 길이 값 데이터 

11 

2048 

옵션 처리(모든 옵션 설정을 로그 파일로 보냄) 

LISTEN_CONNECTION_MAX

(정수, >= 0) 모든 SMPP 중계 및 서버 인스턴스화에서 허용할 최대 동시 인바운드 TCP 연결 수입니다. 값 0은 연결 수에 전역 제한이 없음을 나타냅니다. 그러나 지정된 중계 또는 서버 인스턴스화에 의해 중계 또는 서버별 제한이 있을 수 있습니다.

SMPP 중계 옵션

SMS 게이트웨이 서버는 해당 SMPP 중계의 여러 인스턴스화를 가질 수 있으며 각 인스턴스화는 수신되는 TCP 포트 및 인터페이스에 대해 다른 특성 부분을 가집니다. SMPP 중계가 수신하는 각 네트워크 인터페이스 및 TCP 포트 쌍에 대해 다르게 지정함으로써 고유한 특성을 포함시킬 수 있습니다. 이러한 특성은 이 절에 설명된 옵션을 사용하여 지정합니다.

각 인스턴스화는 다음 형식의 옵션 그룹 안에 포함되어야 합니다.


[SMPP_RELAY=relay-name]
option-name-1=option-value-1
option-name-2=option-value-2
...
option-name-n=option-value-n

문자열 relay-name은 단순히 이 인스턴스화를 다른 인스턴스화와 구별하는 역할을 수행합니다.

표 D–22에는 SMPP 릴레이 구성 옵션이 나열되어 있습니다.

표 D–22 SMPP 중계 옵션

옵션 

기본값 

설명 

LISTEN_BACKLOG

255

인바운드 SMPP 클라이언트 연결의 연결 백로그입니다. 

LISTEN_CONNECTION_MAX

 

동시 인바운드 연결의 최대 수입니다. 

LISTEN_INTERFACE_ADDRESS

 

인바운드 SMPP 클라이언트 연결의 네트워크 인터페이스입니다. 

LISTEN_PORT

 

인바운드 SMPP 클라이언트 연결의 TCP 포트입니다. 

LISTEN_RECEIVE_TIMEOUT

600 s

인바운드 SMPP 클라이언트 연결의 읽기 시간 초과입니다. 

LISTEN_TRANSMIT_TIMEOUT

120 s

인바운드 SMPP 클라이언트 연결의 쓰기 시간 초과입니다. 

MAKE_SOURCE_ADDRESSES_UNIQUE

1

중계된 SMS 소스 주소를 고유하게 만들고 응답 가능하게 합니다. 

SERVER_HOST

 

중계할 SMPP 서버의 호스트 이름 또는 IP 주소입니다. 

SERVER_PORT

 

중계할 SMPP 서버의 TCP 포트입니다. 

SERVER_RECEIVE_TIMEOUT

600 s

아웃바운드 SMPP 서버 연결의 읽기 시간 초과입니다. 

SERVER_TRANSMIT_TIMEOUT

120 s

아웃바운드 SMPP 서버 연결의 쓰기 시간 초과입니다. 

LISTEN_BACKLOG

([0,255]의 정수) TCP 스택이 허용하는 인바운드 SMPP 클라이언트 연결의 연결 백로그입니다. 기본값은 255입니다.

LISTEN_CONNECTION_MAX

(정수, >= 0) 이 SMPP 중계 인스턴스화에 허용되는 동시 인바운드 TCP 연결의 최대 수입니다. 이 값은 전역 LISTEN_CONNECTION_MAX 설정을 초과할 경우 무시됩니다.

LISTEN_INTERFACE_ADDRESS

문자열, "INADDR_ANY" 또는 점으로 구분된 십진수 IP 주소) 인바운드 SMPP 클라이언트 연결의 수신할 네트워크 인터페이스에 대한 IP 주소입니다. 문자열 "INADDR_ANY"(사용 가능한 모든 인터페이스)나 점으로 구분된 십진수 형식의 IP 주소(예: 193.168.100.1)가 될 수 있습니다. 기본값은 "INADDR_ANY"입니다. 클러스터된 HA 구성은 이 값을 HA 논리 IP 주소에 해당하도록 설정해야 합니다.

LISTEN_PORT

(정수, TCP 포트 번호) 인바운드 SMPP 클라이언트 연결을 수락하기 위해 바인드할 TCP 포트입니다. 이 옵션 지정은 필수 사항이며 기본값은 없습니다. 또한 이 서비스에 대한 IANA(Internet Assigned Numbers Authority) 할당이 없습니다.

LISTEN_RECEIVE_TIMEOUT

(정수, 초 > 0) SMPP 클라이언트로부터 데이터를 읽는 동안 기다릴 때 허용되는 시간 초과입니다. 기본값은 600초(10분)입니다.

LISTEN_TRANSMIT_TIMEOUT

(정수, 초 > 0) 데이터를 SMPP 클라이언트로 보낼 때 허용되는 시간 초과입니다. 기본값은 120초(2분)입니다.

MAKE_SOURCE_ADDRESSES_UNIQUE

(0 또는 1) 기본적으로 SMPP 중계는 고유한 10자리 문자열을 각 SMS 소스 주소에 추가합니다. 그런 다음 결과 SMS 소스 주소는 다른 기록 데이터와 함께 저장됩니다. 결과는 SMS 사용자가 응답할 수 있는 고유한 SMS 주소입니다. SMPP 서버는 SMS 대상 주소로 사용될 때 이 주소를 감지한 다음 SMS 메일을 올바른 전자 메일 발송자에게 보냅니다.

단방향 SMS에 대해 이러한 고유한 SMS 소스 주소가 생성되지 않게 하려면 이 옵션의 값으로 0을 지정합니다.

SERVER_HOST

(문자열, TCP 호스트 이름 또는 점으로 구분된 십진수 IP 주소) SMPP 클라이언트 트래픽을 중계할 SMPP 서버입니다. 호스트 이름이나 IP 주소를 지정할 수 있습니다. 이 옵션 지정은 필수 사항이며 기본값은 없습니다.

SERVER_PORT

(정수, TCP 포트 번호) 중계할 원격 SMPP 서버의 TCP 포트입니다. 이 옵션 지정은 필수 사항이며 기본값은 없습니다. 이 서비스에 대한 IANA 할당은 없습니다. 따라서 SNPP에 대한 IANA 할당과 혼동하지 않도록 주의합니다.

SERVER_RECEIVE_TIMEOUT

(정수, 초 > 0) SMPP 서버로부터 데이터를 읽는 동안 기다릴 때 허용되는 시간 초과입니다. 기본값은 600초(10분)입니다.

SERVER_TRANSMIT_TIMEOUT

(정수, 초 > 0) 데이터를 SMPP 서버로 보낼 때 허용되는 시간 초과입니다. 기본값은 120초(2분)입니다.

SMPP 서버 옵션

SMS 게이트웨이 서버는 해당 SMPP 서버의 여러 인스턴스화를 가질 수 있으며 각 인스턴스화는 수신되는 TCP 포트 및 인터페이스에 대해 다른 특성 부분을 가집니다. SMPP 서버가 수신하는 각 네트워크 인터페이스 및 TCP 포트 쌍에 대해 다르게 지정함으로써 고유한 특성을 포함할 수 있습니다. 이러한 특성은 이 절에 설명된 옵션을 사용하여 지정합니다.

각 인스턴스화는 다음 형식의 옵션 그룹 안에 포함되어야 합니다.


[SMPP_SERVER=server-name]
option-value-1=option-value-1
option-value-2=option-value-2
...
option-name-n=option-value-n

문자열 server-name은 단순히 이 인스턴스화를 다른 인스턴스화와 구별하는 역할을 수행합니다.

표 D–23에는 SMPP 서버 구성 옵션이 나열되어 있습니다.

표 D–23 SMPP 서버 옵션

옵션 

기본값 

설명 

LISTEN_BACKLOG

255

인바운드 SMPP 서버 연결의 연결 백로그입니다. 

LISTEN_CONNECTION_MAX

 

동시 인바운드 연결의 최대 수입니다. 

LISTEN_INTERFACE_ADDRESS

 

인바운드 SMPP 서버 연결의 네트워크 인터페이스입니다. 

LISTEN_PORT

 

인바운드 SMPP 서버 연결의 TCP 포트입니다. 

LISTEN_RECEIVE_TIMEOUT

600 s

인바운드 SMPP 서버 연결의 읽기 시간 초과입니다. 

LISTEN_TRANSMIT_TIMEOUT

120 s

인바운드 SMPP 서버 연결의 쓰기 시간 초과입니다. 

LISTEN_BACKLOG

([0,255]의 정수) TCP 스택이 허용하는 인바운드 SMPP 클라이언트 연결의 연결 백로그입니다. 기본값은 255입니다.

LISTEN_CONNECTION_MAX

(정수, >= 0) 이 SMPP 서버 인스턴스화에 허용되는 동시 인바운드 TCP 연결의 최대 수입니다. 이 값은 전역 LISTEN_CONNECTION_MAX 설정을 초과할 경우 무시됩니다.

LISTEN_INTERFACE_ADDRESS

(문자열, "INADDR_ANY" 또는 점으로 구분된 십진수 IP 주소) 인바운드 SMPP 클라이언트 연결의 수신할 네트워크 인터페이스에 대한 IP 주소입니다. 문자열 "INADDR_ANY"(사용 가능한 모든 인터페이스)나 점으로 구분된 십진수 형식의 IP 주소(예: 193.168.100.1)가 될 수 있습니다. 기본값은 "INADDR_ANY"입니다.

LISTEN_PORT

(정수, TCP 포트 번호) 인바운드 SMPP 클라이언트 연결을 수락하기 위해 바인드할 TCP 포트입니다. 이 옵션 지정은 필수 사항이며 기본값은 없습니다. 이 서비스에 대한 IANA 할당이 없습니다.

LISTEN_RECEIVE_TIMEOUT

(정수, 초 > 0) SMPP 클라이언트로부터 데이터를 읽는 동안 기다릴 때 허용되는 시간 초과입니다. 기본값은 600초(10분)입니다.

LISTEN_TRANSMIT_TIMEOUT

(정수, 초 > 0) 데이터를 SMPP 클라이언트로 보낼 때 허용되는 시간 초과입니다. 기본값은 120초(2분)입니다.

게이트웨이 프로필 옵션

0개 이상의 게이트웨이 프로필이 존재할 수 있습니다. SMS 게이트웨이 서버의 구성 파일에서 각 게이트웨이 프로필은 옵션 그룹 내에서 다음 형식으로 선언됩니다.


[GATEWAY_PROFILE=profile-name]
option-name-1=option-value-1
option-name-2=option-value-2
...
option-name-n=option-value-n

문자열 profile-name은 단순히 해당 프로필을 다른 원본 프로필과 구별하는 역할을 수행합니다.

표 D–24에는 SMS 게이트웨이 서버 프로필 옵션이 나열되어 있습니다.

표 D–24 SMS 게이트웨이 서버 프로필 옵션

옵션 

기본값 

설명 

CHANNEL

sms

메일을 대기열에 포함하는 채널입니다. 

EMAIL_BODY_CHARSET

US-ASCII

전자 메일 본문의 문자 세트입니다. 

EMAIL_HEADER_CHARSET

US-ASCII

전자 메일 헤더의 문자 세트입니다. 

FROM_DOMAIN

 

전자 메일을 다시 SMS로 라우팅하기 위한 도메인 이름입니다. 

PARSE_RE_0, PARSE_RE_1, ..., PARSE_RE_9

 

SMS 메일 텍스트를 구문 분석하기 위한 정규 표현식입니다. 

PROFILE

GSM

GSM, TDMA 또는 CDMA에서 작동하는SMS 프로필입니다. 

SELECT_RE

 

플러그 인을 선택하기 위한 정규 표현식입니다. 

SMSC_DEFAULT_CHARSET로 변환

US-ASCII

SMSC의 기본 문자 세트입니다. 

USE_SMS_PRIORITY

0

전자 메일에 대한 게이트웨이 SMS 우선 순위 플래그입니다. 

USE_SMS_PRIVACY

0

전자 메일에 대한 게이트웨이 SMS 개인 정보 표시기입니다. 

CHANNEL

(문자열, 1-40자) 전자 메일을 대기열에 포함시키는 데 사용되는 MTA 채널의 이름입니다. 지정하지 않을 경우 “sms”가 사용됩니다. 지정된 채널은 MTA의 구성에 정의되어야 합니다.

EMAIL_BODY_CHARSET

(문자열, 문자 세트 이름) 전자 메일 메시지의 본문에 삽입하기 전에 SMS 텍스트를 변환하기 위한 문자 세트입니다. 필요한 경우 변환된 텍스트는 MIME 인코딩됩니다. 기본값은 US-ASCII입니다. SMS 메일이 charset에서 사용할 수 없는 도형 문자를 포함할 경우 이러한 도형 문자는 수신자에게 의미가 있거나 없을 수 있는 니모닉 문자로 변환됩니다.

MTA에 알려진 문자 세트 목록은 다음 파일에서 확인할 수 있습니다.

installation-directory/config/charsets.txt

EMAIL_HEADER_CHARSET

(문자열, 문자 세트 이름) RFC 822 Subject: 헤더 행에 삽입하기 전에 SMS 텍스트를 변환하기 위한 문자 세트입니다. 필요한 경우 변환된 문자열은 MIME 인코딩됩니다. 기본값은 US-ASCII입니다. SMS 메일이 charset에서 사용할 수 없는 도형 문자를 포함할 경우 이러한 도형 문자는 수신자에게 의미가 있거나 없을 수 있는 니모닉 문자로 변환됩니다.

FROM_DOMAIN

(문자열, IP 호스트 이름, 1-64자) 봉투를 생성할 때 SMS 소스에 추가되는 도메인 이름 전자 메일의 봉투 From: 주소를 생성할 때 SMS 소스 주소에 추가할 도메인 이름입니다. 지정된 이름은 전자 메일을 다시 SMS로 라우팅하기 위한 올바른이름이어야 합니다(예: MTA SMS 채널과 연관된 호스트 이름). 지정하지 않을 경우 CHANNEL 옵션으로 지정된 채널의 공식 호스트 이름이 사용됩니다.

PARSE_RE_0, PARSE_RE_1, ..., PARSE_RE_9

(문자열, UTF-8 정규 표현식) 전자 메일의 모바일 원본의 경우 게이트웨이 프로필은 SMS 메일의 텍스트에서 대상 전자 메일 주소를 추출해야 합니다. 이것은 하나 이상의 POSIX 호환 정규 표현식(RE)으로 수행됩니다. 대상 전자 메일 주소를 생성하는 일치하는 항목이 발견되거나 정규 표현식 목록이 모두 사용될 때까지 각 정규 표현식은 SMS 메일의 텍스트를 평가합니다.


주 –

PARSE_RE_*ROUTE_TO 옵션을 동시에 사용할 수 없습니다. 동일한 게이트웨이 프로필에서 두 옵션을 함께 사용하는 것은 구성 오류입니다.


각 정규 표현식은 POSIX와 호환되어야 하며 UTF-8 문자 세트로 인코딩되어야 합니다. 정규 표현식은 문자열 0을 대상 주소로 출력해야 합니다. 선택적으로 Subject: 헤더 행에 사용할 텍스트를 문자열 1로 출력하고, 메일 본문에 사용할 텍스트를 문자열 2로 출력할 수 있습니다. 정규 표현식에서 "사용"하지 않는 모든 텍스트는 문자열 2로 출력된 텍스트에 이어서 메일 본문에 사용될 수 있습니다.

정규 표현식은 PARSE_RE_0, PARSE_RE_1, ...PARSE_RE_9의 순서로 시도됩니다. 지정된 정규 표현식이 없을 경우 다음 기본 정규 표현식이 사용됩니다.

[ \t]*([^\( ]*)[ \t]*(?:\(([^\)]*\))?[ \t]*(.*)

이 기본 정규 표현식은 다음 구성 요소로 나뉩니다.

[ \t]*

선행 공백 문자(SPACETAB)를 무시합니다.

([^\( ]*)

대상 전자 메일 주소입니다. 첫 번째로 보고되는 문자열입니다.

[ \t]*

공백 문자를 무시합니다.

(?:\(([^\)]*)$1\))?

괄호로 묶인 선택적 제목 텍스트입니다. 두 번째로 보고되는 문자열입니다. ?:는 바깥쪽 괄호가 문자열을 보고하지 않게 합니다. 이러한 괄호는 단순히 후행 ?에 대해 해당 내용을 단일 RE로 그룹화하는 데 사용됩니다. 후행 ?는 RE 구성 요소가 0번 또는 1번만 일치하도록 하며 표현식 {0,1}과 같습니다.

[ \t]*

공백 문자를 무시합니다.

(.*)

메일 본문에 대한 나머지 텍스트입니다. 세 번째로 보고되는 문자열입니다.

예를 들어, 위 정규 표현식을 사용할 경우 다음 샘플 SMS 메일은

dan@sesta.com(Testing)This is a test

다음 전자 메일을 생성합니다.


To: dan@sesta.com
Subject: Testing

This is a test

두 번째 예로 다음 SMS 메일은

sue@sesta.com This is another test

다음을 생성합니다.

To: sue@sesta.com

This is another test

SMS 메일은 이러한 정규 표현식으로 평가되기 전에 유니코드의 UTF-16 인코딩으로 변환됩니다. 그런 다음 변환된 텍스트는 이전에 UTF-8에서 UTF-16으로 변환된 정규 표현식으로 평가됩니다. 이어서 평가 결과는 Subject: 텍스트의 대상 전자 메일 주소 EMAIL_HEADER_CHARSET(있을 경우)와 메일 본문의 EMAIL_BODY_CHARSET(있을 경우)에 대한 US-ASCII로 변환됩니다.

PROFILE

(문자열, “GSM”, “TDMA” 또는 “CDMA”) 사용할 SMS 프로필입니다. 현재 이 정보는 SMS 우선 순위 플래그를 RFC 822 Priority: 헤더 행으로 매핑하기 위해 사용됩니다. 결과적으로 USE_SMS_PRIORITY가 기본값인 0일 경우 이 옵션은 아무 효과가 없습니다.

SELECT_RE

(문자열, US-ASCII 정규 표현식) 각 SMS 메일의 SMS 대상 주소와 비교할 US-ASCII POSIX 호환 정규 표현식입니다. SMS 메일의 대상 주소가 이 RE와 일치할 경우 SMS 메일은 이 게이트웨이 프로필에 따라 게이트웨이를 통해 전자 메일로 보내집니다.

SMS 메일의 대상 주소가 US-ASCII 문자 세트로 지정되므로 이 정규 표현식도 US-ASCII로 표현되어야 합니다.

SMSC_DEFAULT_CHARSET로 변환

(문자열, 문자 세트 이름) 원격 SMSC에 사용되는 기본 문자 세트의 이름입니다. 이 옵션에는 일반적으로 US-ASCII 및 UTF-16-BE(USC2)가 지정됩니다. 지정하지 않을 경우 US-ASCII가 사용됩니다.

USE_SMS_PRIORITY

(정수, 0 또는 1) 기본적으로 USE_SMS_PRIORITY=0이며 이 경우 SMS 메일의 우선 순위 플래그가 무시되어 전자 메일과 함께 보내지지 않습니다. 우선 순위 플래그를 전자 메일과 함께 전달하려면 USE_SMS_PRIORITY=1을 지정합니다. 표 D–25에는 우선 순위 플래그가 전자 메일과 함께 전달될 경우의 SMS에서 전자 메일로의 매핑이 나와 있습니다.

표 D–25 SMS에서 전자 메일로의 우선 순위 플래그 매핑

SMS 프로필 

SMS 우선 순위 플래그 

전자 메일 우선 순위헤더행 

GSM 

0(낮음)

1, 2, 3(우선 순위)

헤더 행 없음(Normal을 의미)

Urgent

TDMA 

0(대량)

1(중간)

2(높음)

3(매우 높음)

Nonurgent

헤더 행 없음(Normal을 의미)

Urgent

Urgent

CDMA 

0(중간)

1(대화식)

2(높음)

3(긴급)

헤더 행 없음(Normal을 의미)

Urgent

Urgent

Urgent

전자 메일 Priority: 헤더 행 값은 Nonurgent, NormalUrgent입니다.

USE_SMS_PRIVACY

(정수, 0 또는 1) 기본적으로 USE_SMS_PRIVACY=0이며 이 경우 SMS 개인 정보 표시가 무시되어 전자 메일과 함께 보내지지 않습니다. 이 정보를 전자 메일과 함께 전달하려면 USE_SMS_PRIVACY=1을 지정합니다. 표 D–26에는 개인 정보 플래그가 전자 메일과 함께 전달될 경우 SMS에서 전자 메일로의 매핑이 나와 있습니다.

표 D–26 SMS에서 전자 메일로의 개인 정보 플래그 매핑

SMS 개인 정보 플래그 

전자메일헤더행 

0(제한되지 않음)

헤더 행 없음 

1(제한됨)

Personal

2(기밀)

Private

3(비밀)

Company-confidential

전자 메일 Sensitivity: 헤더 행 값은 Personal, PrivateCompany-confidential입니다.

양방향 SMS의 구성 예

동작에 대한 가정

이 예에서는 다음 동작을 원한다고 가정합니다.

이 동작을 수행하기 위해 다음 가정과 지정이 적용됩니다.

추가 가정 및 지정

SMS 채널 구성

위 동작을 적용하기 위해 imta.cnf 파일에서 다음 SMS 채널 구성을 사용할 수 있습니다(다음 행을 파일의 맨 아래에 추가).

(blank line)
sms
sms.domain.com

SMS 채널 옵션 파일

그런 다음 채널 옵션 파일 sms_option은 다음 설정을 포함합니다.

SMPP_SERVER=gateway.domain.com
SMPP_PORT=503
USE_HEADER_FROM=0
DEFAULT_SOURCE_ADDRESS=000
GATEWAY_PROFILE=sms1
SMSC_DEFAULT_CHARSET=UCS2

SMS 게이트웨이 서버 구성

마지막으로 게이트웨이 서버 구성 파일 sms_gateway.cnf는 다음과 같이 표시되어야 합니다.


HISTORY_FILE_DIRECTORY=/sms_gateway_cache/
[SMPP_RELAY=relay1]
LISTEN_PORT=503SERVER_HOST=smpp.domain.com
SERVER_PORT=377

[SMPP_SERVER=server1]
LISTEN_PORT=504

[GATEWAY_PROFILE=sms1]
SELECT_RE=000([0-9]{10,10}){0,1}
SMSC_DEFAULT_CHARSET=UCS2

이 구성 테스트

테스트할 SMSC가 없을 경우 약간의 루프백 테스트를 수행할 수 있습니다. sms_option 파일에서 몇 가지 추가 설정을 사용하면 위 구성에 대해 간단한 루프백 테스트를 수행할 수 있습니다.

추가 sms_option 파일 설정

sms_option 파일의 추가 설정은 다음과 같습니다.

! So that we don’t add text to the body of the SMS message
FROM_FORMAT=
SUBJECT_FORMAT=
CONTENT_PREFIX=

이러한 설정이 없으면 다음을 포함하는 전자 메일은

user@domain.com (Sample subject) Sample text

다음 SMS 메일로 변환됩니다.

From:user@domain.com Subject:Sample Subject Msg:Sample text

이것은 다음과 같은 ETM(Email-To-Mobile) 코드에서 예상한 형식이 아닙니다.

user@domain.com (Sample subject) Sample text

따라서 루프백 테스트를 위해서는 FROM_FORMAT, SUBJECT_FORMATCONTENT_PREFIX 옵션에 빈 문자열을 지정해야 합니다.

루프백 테스트 수행

다음과 같이 000@sms.domain.com으로 주소 지정된 테스트 전자 메일을 보냅니다.

user@domain.com (Test message) This is a test message which should loop back

그 결과 이 전자 메일을 전자 메일 수신자 user@domain.com으로 다시 라우팅해야 합니다. 테스트를 위해 DNS 또는 호스트 테이블에 sms.domain.com을 추가했는지 확인합니다.