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

부록 D SMS(Short Message Service)

이 장에서는 SunTM ONE Messaging Server에서 SMS(Short Message Service)를 구현하는 방법에 대해 설명합니다. 이 장은 다음 내용으로 구성되어 있습니다.

소개

Sun Java System Messaging Server는 SMS(Short Message Service)를 사용하여 ETM(Email-To-Mobile) 및 MTE(Mobile-To-Email) 메시징을 구현합니다. SMS는 단방향(ETM만 해당) 또는 양방향(ETM 및 MTE 모두)이 되도록 구성할 수 있습니다. 단방향 서비스만 사용하려면 SMS 채널을 추가 및 구성해야 합니다. 양방향 서비스를 사용하려면 SMS 채널을 추가 및 구성하는 것 외에도 SMS 게이트웨이 서버를 구성해야 합니다.

단방향 및 양방향 SMS의 경우 생성된 SMS 메일은 SMPP(Short Message Peer to Peer) 프로토콜을 사용하여 SMSC(Short Message Service Center)로 전송됩니다. 특히 SMSC는 TCP/IP를 지원하는 V3.4 이상의 SMPP 서버를 제공해야 합니다.

그림 D–1은 단방향 및 양방향 SMS의 논리적 메일 흐름을 보여 줍니다.

그림 D–1 단방향 및 양방향 SMS의 논리적 흐름

단방향 및 양방향 SMS의 논리적 데이터 흐름을 보여 주는 그래픽입니다.

단방향 SMS

단방향 서비스를 사용하기 위해 Messaging Server는 원격 SMSC와 통신하는 SMPP 클라이언트(MTA SMS 채널)를 구현합니다. SMS 채널은 전자 메일에서 SMS로의 변환 프로세스에 설명된 대로 대기열에 포함된 전자 메일을 SMS 메일로 변환합니다.

SMS 채널은 이러한 방식으로 작동하여(SMPP) ESME(External Short Message Entity)의 기능을 수행합니다.

양방향 SMS

양방향 SMS를 사용하여 메일 서버에서 원격 장치로 전자 메일을 보낼 뿐만 아니라 원격 장치로부터 그리고 원격 장치가 보낸 메일 응답을 받을 수 있습니다.

양방향 SMS 서비스를 사용하려면 이전 항목에 설명된 MTA SMS 채널(SMPP 클라이언트)과 SMS 게이트웨이 서버가 모두 필요합니다. Sun Java System Messaging Server는 일반 설치 프로세스의 일부로 SMS 게이트웨이 서버를 설치하며 사용자는 이 서버를 구성해야 합니다. SMS 게이트웨이 서버는 다음 두 가지 기능을 수행합니다.


주 –

Sun Java System Messaging Server는 Windows 플랫폼에서 양방향 SMS를 지원하지 않습니다.


요구 사항

이 설명서는 LogicaCMG의 SMPP 사양과 사용자 SMSC용 SMPP 설명서를 읽은 것으로 가정합니다.

SMS를 구현하려면 다음 요구 사항을 충족해야 합니다.

SMS 게이트웨이 서버에 대한 저장소 계획 정보는 SMS 게이트웨이 서버 저장소 요구 사항을 참조하십시오.

SMS 채널 작동 원리

SMS 채널은 대기 중인 전자 메일을 SMS 메일로 변환한 다음 전달을 위해 SMSC에 전송하는 멀티스레드 채널입니다.

이 절은 다음과 같은 채널 작업 항목으로 구성되어 있습니다.

전자 메일을 채널로 전송

SMS 채널 구성으로 SMS 채널이 구성되면 하나 이상의 호스트 이름이 해당 채널과 연관됩니다. 여기서는 설명을 위해 호스트 이름 sms.siroe.com을 채널과 연관된 호스트 이름으로 가정합니다. 이 경우 전자 메일은 다음 형식의 주소를 가진 채널로 전송됩니다.

local-part@sms.siroe.com

여기서 local-part는 SMS 대상 주소(예: 휴대폰 번호, 호출기 아이디 등) 또는 다음 형식의 속성 값 쌍 목록입니다.

/attribute1=value1/attribute2=value2/.../@sms.siroe.com

인식되는 속성 이름과 그 사용법은 표 D–1에 나와 있습니다. 이러한 속성은 일부 채널 옵션에 대한 수신자별 제어를 허용합니다.

표 D–1 SMS 속성

속성 이름 

속성 값 및 사용법 

ID

SMS 메일을 전송할 SMS 대상 주소(예: 휴대폰 번호, 호출기 아이디 등)입니다. 이 속성과 관련 값은 반드시 존재해야 합니다.  

FROM

SMS 소스 주소입니다. 옵션 USE_HEADER_FROM=0일 경우 무시됩니다.

FROM_NPI

지정된 NPI 값을 사용합니다. 옵션 USE_HEADER_FROM=0일 경우 무시됩니다.

FROM_TON

지정된 TON 값을 사용합니다. 옵션 USE_HEADER_FROM=0일 경우 무시됩니다.

MAXLEN

해당 수신자에 대해 생성된 SMS 메일에 포함할 최대 총 바이트(즉, 8비트 바이트)입니다. MAXLEN MAX_MESSAGE_SIZE 채널 옵션에 지정된 값 중에서 작은 값이 사용됩니다.

MAXPAGES

해당 수신자에 대해 전자 메일을 분할할 최대 SMS 메일 수입니다. MAXPAGES MAX_PAGES_PER_MESSAGE 채널 옵션에 지정된 값 중에서 작은 값이 사용됩니다.

NPI

ID 속성으로 지정된 대상 SMS 주소에 대한 NPI(Numeric Plan Indicator) 값을 지정합니다. 이 속성에 허용되는 값에 대한 자세한 내용은 DEFAULT_DESTINATION_NPI 채널 옵션의 설명을 참조하십시오. 이 속성을 사용할 경우 이 속성 값은 DEFAULT_DESTINATION_NPI 채널 옵션이 제공한 값보다 우선합니다.

PAGELEN

해당 수신자에 대해 단일 SMS 메일에 포함할 최대 바이트 수입니다. 이 값과 MAX_PAGE_SIZE 채널 옵션에 지정된 값 중에서 최소값이 사용됩니다.

TO

ID의 동의어입니다.  

TO_NPI

NPI의 동의어입니다.  

TO_TON

TON의 동의어입니다.  

TON

ID 속성으로 지정된 대상 SMS 주소에 대한 TON(Type of Number) 값을 지정합니다. 이 속성에 허용되는 값에 대한 자세한 내용은 DEFAULT_DESTINATION_TON 채널 옵션의 설명을 참조하십시오. 이 속성을 사용할 경우 이 속성 값은 DEFAULT_DESTINATION_TON 채널 옵션이 제공한 값보다 우선합니다.

다음은 몇 가지 주소 예입니다.


123456@sms.siroe.com
/id=123456/@sms.siroe.com
/id=123456/maxlen=100/@sms.siroe.com
/id=123456/maxpages=1/@sms.siroe.com

전자 메일 주소의 SMS 대상 주소 부분에 대해 변환, 유효성 검사 및 기타 작업을 수행하는 방법은 사이트 정의 주소 유효성 검사 및 변환을 참조하십시오.

전자 메일에서 SMS로의 변환 프로세스

전자 메일을 원격 사이트로 보내려면 전자 메일을 원격 SMSC가 이해할 수 있는 SMS 메일로 변환해야 합니다. 이 절에서는 SMS 채널의 대기열에 포함된 전자 메일을 하나 이상의 SMS 메일로 변환하는 과정에 대해 설명합니다. 아래에 설명된 것처럼 옵션을 사용하여 생성되는 SMS 메일의 최대 개수, 이러한 SMS 메일의 최대 총 길이, 모든 단일 SMS 메일의 최대 크기를 제어할 수 있습니다. 전자 메일의 텍스트 부분(즉, MIME 텍스트 컨텐트 유형)만 사용되며 변환되는 부분의 최대 개수를 제어할 수도 있습니다.

전자 메일의 헤더 행과 텍스트 부분에 사용된 문자 세트는 모두 유니코드로 변환된 다음 적절한 SMS 문자 세트로 변환됩니다.

SMS_TEXT 매핑 테이블( 사이트 정의 텍스트 변환 참조)이 없을 경우 SMS 채널의 대기열에 포함된 전자 메일은 그림 D–2에 설명된 처리를 거칩니다.

그림 D–2 SMS 채널 전자 메일 처리

이 순서도는 SMS 채널 전자 메일 처리를 보여 줍니다.

그림 D–3 SMS 채널 전자 메일 처리(계속)

이 순서도는 SMS 채널 전자 메일 처리를 보여 줍니다(계속).

다음 단계는 번호가 매겨진 그림 D–2의 상자에 해당합니다.

  1. 빈 출력 버퍼가 시작됩니다. 버퍼에 사용되는 문자 세트는 유니코드입니다.

  2. 전자 메일 발송자 주소를 선호하는 순서로 내림차순으로 나열한 다음 5개의 소스 중 하나에서 가져옵니다.


    1. Resent-from:
    2. From:
    3. Resent-sender:
    4. Sender:
    5. Envelope From:
    

    메일 발송자 주소가 빈 문자열일 경우 FROM_NONE 채널 옵션 값이 대신 버퍼에 추가됩니다.

    그러나 메일 발송자 주소가 빈 문자열이 아닐 경우 FROM_FORMAT 채널 옵션의 처리 결과와 LINE_STOP 채널 옵션 값이 출력 버퍼에 추가됩니다.

    Resent-from:Resent-sender: 헤더 행은 USE_HEADER_RESENT 옵션 값이 1인 경우에만 고려됩니다. 그렇지 않으면 Resent- 헤더 행은 무시됩니다.

  3. Subject: 헤더 행이 존재하지 않거나 비어 있을 경우 SUBJECT_NONE 옵션 값이 출력 버퍼에 추가됩니다.

    그렇지 않을 경우 SUBJECT_FORMAT 옵션의 처리 결과와 LINE_STOP 채널 옵션 값이 출력 버퍼에 추가됩니다.

  4. 텍스트 메일 부분이 없을 경우 NO_MESSAGE 채널 옵션 값이 출력 버퍼에 추가됩니다.

    텍스트 메일 부분이 없을 경우 CONTENT_PREFIX 채널 옵션 값이 출력 버퍼에 추가됩니다.

    텍스트 메일 부분이 아닌 부분은 무시됩니다.

  5. 각 텍스트 부분에 대해 MAX_MESSAGE_PARTS 한도에 도달하지 않은 동안에 텍스트 부분은 유니코드로 디코딩되고 LINE_STOP 채널 옵션 값과 함께 버퍼에 추가됩니다.

  6. 그런 다음 결과 출력 버퍼는 유니코드에서 SMSC의 기본 문자 세트 또는 UCS2(UTF-16)로 변환됩니다. SMSC의 기본 문자 세트는 SMSC_DEFAULT_CHARSET로 변환 옵션으로 지정합니다.

  7. 변환된 문자열은 MAX_MESSAGE_SIZE 바이트를 초과하지 않도록 잘립니다.

  8. 전자 메일에서 SMS로의 변환 프로세스에서 변환된 문자열은 하나 이상의 SMS 메일로 나뉘며 하나의 SMS 메일은 MAX_PAGE_SIZE 바이트를 초과하지 않습니다. 최대한 MAX_PAGES_PER_MESSAGE에 지정된 수만큼 SMS 메일이 생성됩니다.


    주 –

    전자 메일이 여러 수신자를 가질 수 있으므로 4페이지의 "전자 메일을 채널로 전송"에 설명된 MAXLEN, MAXPAGES 또는 PAGELEN 속성을 사용하는 각 수신자 주소에 대해 단계 6에서 단계 8까지 수행해야 할 수 있습니다.


샘플 전자 메일 처리

예를 들어, 채널의 기본 설정을 가진 전자 메일은 다음과 같습니다.


From: John Doe 
To: 1234567@sms.siroe.com
Subject: Today’s meeting
Date: Fri, 26 March 2001 08:17

The staff meeting is at 14:30 today in the big conference room.

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

jdoe@siroe.com (Today’s meeting) The staff meeting is at 14:30 today in the big conference room.

다음과 같이 일련의 옵션 집합 설정이 다른 경우에는


CONTENT_PREFIX=Msg:
FROM_FORMAT=From:${pa}
SUBJECT_FORMAT=Subj:$s

다음 결과가 생성됩니다.

From:John Doe Subj:Today’s meeting Msg:The staff meeting is at 14:30 today in the big conference room.

SMS 메일 전송 프로세스

전자 메일이 하나 이상의 SMS 메일로 변환된 후(각 수신자에 대해 다른 집합을 가질 수 있음) SMS 메일은 대상 SMSC로 전송됩니다. 이러한 전송은 TCP/IP를 통한 SMPP V3.4를 사용하여 수행됩니다. SMS 채널과 연관된 공식 호스트 이름으로 사용하기 위해 SMPP 서버의 호스트 이름(SMPP_SERVER)을 가져오며 사용할 TCP 포트(SMPP_PORT)가 port 채널 키워드를 통해 지정됩니다.

처리할 메일이 있으면 채널이 시작됩니다. 채널은 송신기로서 SMPP 서버에 바인드하여 SMPP 옵션에 설명된 ESME_ 채널 옵션으로 지정한 자격 증명을 제공합니다. 표 D–2에는 BIND_TRANSMITTER PDU(Protocol Data Unit)에서 설정되는 필드와 해당 값이 나열되어 있습니다.

표 D–2 BIND_TRANSMITTER PDU에서 생성되는 필드

필드 

값 

system_id

ESME_SYSTEM_ID 채널 옵션이며 기본값은 빈 문자열입니다.

password

ESME_PASSWORD 채널 옵션이며 기본값은 빈 문자열입니다.

system_type

ESME_SYSTEM_TYPE 채널 옵션이며 기본값은 빈 문자열입니다.

interface_version

SMPP V3.4를 나타내는 0x34입니다. 

addr_ton

ESME_ADDRESS_TON이며 기본값은 알 수 없는 TON을 나타내는 0x00입니다.

addr_npi

ESME_ADDRESS_NPI이며 기본값은 알 수 없는 NPI를 나타내는 0x00입니다.

addr_range

ESME_IP_ADDRESS 채널 옵션이며 기본값은 빈 문자열입니다.

채널이 다중 스레드되는 점에 주의하십시오. 보낼 메일의 수에 따라 대기열에서 제외 스레드가 채널에서 여러 개 실행 중일 수 있습니다(여러 채널 프로세스가 실행 중일 수도 있습니다). 각 스레드는 BIND_TRANSMITTER를 수행한 후 해당 TCP/IP 연결에서 전송해야 할 모든 SMS 메일을 보낸 다음 UNBIND를 보내고 연결을 닫습니다. 잠재적 재사용을 위해 유휴 기간 동안 연결을 열어두려는 시도는 수행되지 않습니다. 원격 SMPP 서버가 스로틀(throttle) 오류를 되돌려 보낼 경우 UNBIND가 실행되고 TCP/IP 연결이 닫힌 후에 새 연결과 BIND가 설정됩니다. 원격 SMPP 서버가 SMS 메일 전송이 끝나기 전에 UNBIND를 보낼 경우에도 비슷한 동작이 발생합니다.

그런 다음 SMPP SUBMIT_SM PDU가 사용되어 SMS 메일을 제출합니다. 영구 오류(예: ESME_RINVDSTADR)가 반환될 경우 전자 메일은 전달할 수 없는 것으로 반환됩니다. 임시 오류가 반환될 경우 전자 메일은 나중에 전달을 시도하기 위해 다시 대기열에 포함됩니다. 영구 오류는 SMS 대상 주소가 잘못된 경우처럼 특정 조건이 무한정 존재하며 반복된 전달 시도가 실제적인 효과가 없는 오류를 말합니다. 이와 달리 임시 오류는 서버 다운이나 서버 정체와 같이 특정 조건이 머지 않아 없어질 것으로 보이는 오류입니다.

USE_HEADER_FROM 옵션 값이 1일 경우 제출된 SMS 메일의 소스 주소가 설정됩니다. 사용되는 값은 원본 전자 메일에서 파생되며 모든 응답을 전송해야 할 가장 가능성 있는 (전자 메일) 주소가 선택됩니다. 이에 따라 선호하는 순서로 내림차순으로 나열한 다음 7개의 소스 중 하나에서 소스 주소를 가져옵니다.


1. Resent-reply-to:
2. Resent-from:
3. Reply-to:
4. From:
5. Resent-sender:
6. Sender:
7. Envelope From:

Resent-reply-to:Reply-to: 헤더 행은 USE_HEADER_REPLY_TO 옵션 값이 1인 경우에만 고려됩니다. Resent-reply-to:, Resent-from:Resent-sender: 헤더 행은 USE_HEADER_RESENT 옵션 값이 1인 경우에만 고려됩니다. 이것은 모든 옵션 값이 1이어야 Resent-reply-to: 헤더 행이 고려된다는 의미입니다.이러한 두 옵션의 기본값은 모두 0입니다. 따라서 4, 6 및 7 항목만 기본 구성에서 고려됩니다. 마지막으로 SMS 메일의 소스 주소가 20바이트로 제한되므로 선택된 소스 주소는 이 제한을 초과할 경우 잘립니다.

표 D–3SUBMIT_SM PDU에서 설정되는 필수 필드를 보여 줍니다.

표 D–3 SUBMIT_SM PDU에서 생성되는 필수 필드

필드 

값 

service_type

DEFAULT_SERVICE_TYPE채널 옵션이며 기본값은 빈 문자열입니다.

source_addr_ton

DEFAULT_SOURCE_TON 채널 옵션이며 USE_HEADER_FROM=1일 경우 이 필드는 일반적으로 영숫자 TON을 나타내는 값 0x05를 가집니다. 그렇지 않을 경우에는 국가별 TON을 나타내는 기본값 0x01이 사용됩니다.

source_addr_npi

DEFAULT_SOURCE_NPI 채널 옵션이며 기본값은 0x00입니다.

source_addr

USE_HEADER_FROM=0일 경우 DEFAULT_SOURCE_ADDRESS 채널 옵션입니다. 그렇지 않을 경우에는 전자 메일 발송자를 나타내는 영숫자 문자열입니다.

dest_addr_ton

TON 주소 지정 속성 또는 DEFAULT_DESTINATION_TON 채널 옵션입니다. 기본값은 국가별 TON을 나타내는 0x01입니다.

dest_addr_npi

NPI 주소 지정 속성 또는 DEFAULT_SOURCE_NPI 채널 옵션입니다. 기본값은 알 수 없는 NPI를 나타내는 0x00입니다.

dest_addr

전자 메일 봉투 To: 주소의 로컬 부분에서 파생된 대상 SMS 주소입니다. 전자 메일을 채널로 전송을 참조하십시오.

esm_class

단방향 SMS의 경우 기본 SMSC 메일 유형인 저장 및 전달 모드를 나타내는 0x03으로 설정되며 응답 경로를 설정하지 않습니다. 양방향 SMS 메일의 경우 0x83으로 설정됩니다. 

protocol_id

0x00이며 CDMA 및 TDMA에 사용되지 않습니다. GSM의 경우 0x00은 인터넷은 연결되어 있지 않지만 SME 간 프로토콜이 있음을 나타냅니다. 

priority_flag

GSM 및 CDMA의 경우 0x00이고 TDMA의 경우 0x01입니다. 모두 일반 우선 순위를 나타냅니다. DEFAULT_PRIORITY 채널 옵션에 대한 설명을 참조하십시오.

schedule_delivery_time

즉시 전달을 나타내는 빈 문자열입니다. 

validity_period

DEFAULT_VALIDITY_PERIOD 채널 옵션이며 기본값은 SMSC의 기본값을 사용해야 한다는 것을 나타내는 빈 문자열입니다.

registered_delivery

등록된 전달이 없음을 나타내는 0x00입니다. 

replace_if_present_flag

모든 이전 SMS 메일을 대체해야 한다는 것을 나타내는 0x00입니다. 

data_coding

SMSC 기본 문자 세트의 경우 0x00이며 UCS2 문자 세트의 경우 0x08입니다. 

sm_default_msg_id

미리 정의된 메일을 사용하지 않는다는 것을 나타내는 0x00입니다. 

sm_length

SMS 메일의 길이와 내용입니다. 자세한 내용은 전자 메일에서 SMS로의 변환 프로세스를 참조하십시오.

short_message

SMS 메일의 길이와 내용입니다. 자세한 내용은 전자 메일에서 SMS로의 변환 프로세스를 참조하십시오.

표 D–4SUBMIT_SM PDU의 선택적 필드를 보여 줍니다.

표 D–4 SUBMIT_SM PDU에서 생성되는 선택적 필드

필드 

값 

privacy

DEFAULT_PRIVACY 채널 키워드에 대한 설명을 참조하십시오. 기본값은 전자 메일에 Sensitivity: 헤더 행 값이 없으면 이러한 필드를 제공하지 않는 것입니다.

sar_refnum

USE_SAR 채널 키워드에 대한 설명을 참조하십시오. 기본값은 이러한 필드를 제공하지 않는 것입니다.

sar_total

위의 sar_refnum을 참조하십시오.

sar_seqnum

위의 sar_refnum을 참조하십시오.

전송할 SMS 메일이 더 이상 없거나(메일 대기열이 비어 있거나) MAX_PAGES_PER_BIND를 초과할 때까지 채널은 SMPP 서버에 바인드되어 있습니다. 후자의 경우 전송할 추가 SMS 메일이 남아 있으면 새 연결이 설정되고 바인드 작업이 수행됩니다.

SMS 채널이 다중 스레드되는 점에 주의하십시오. 채널의 각 처리 스레드는 SMPP 서버와의 고유한 TCP 연결을 유지 관리합니다. 예를 들어, 각각 전송할 SMS 메일을 가진 세 개의 처리 스레드가 있을 경우 채널은 SMPP 서버에 대한 세 개의 열린 TCP 연결을 가집니다. 각 연결은 송신기로 SMPP 서버에 바인드합니다. 또한 지정된 모든 처리 스레드는 미해결 SMS 전송을 한 번에 하나씩만 가집니다. 즉, 지정된 스레드는 SMS 메일을 전송한 다음 다른 SMS 메일을 전송하기 전에 전송 응답(즉, SUBMIT_SM_RESP PDU)을 기다립니다.

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

사이트는 전자 메일을 채널로 전송에 설명된 수신자 전자 메일 주소로 인코딩되는 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 대상 주소에서 제거됩니다.

사이트 정의 텍스트 변환

사이트는 변환 규칙 테이블을 사용하여 전자 메일에서 SMS로의 변환 프로세스에 설명된 단계 1- 6을 사용자 정의할 수 있습니다. 이러한 규칙은 MTA 매핑 파일의 매핑 테이블을 통해 지정됩니다.

매핑 테이블 이름은 SMS_Channel_TEXT여야 하며 여기에서 SMS_Channel은 SMS 채널의 이름입니다(예: 채널 이름이 sms인 경우 SMS_TEXT 또는 채널 이름이 sms_mway인 경우 SMS_MWAY_TEXT).

이 매핑 테이블에서 두 가지 유형의 항목을 만들 수 있습니다. 그러나 이러한 항목의 형식을 설명하기 전에 매핑 파일의 사용 방법을 이해하는 것이 중요합니다. 매핑 파일의 사용 방법을 아는 것은 이러한 항목을 생성 및 사용하는 방법을 이해하는 데 있어 필수적입니다. 이러한 두 유형의 항목이 설명된 후에는 매핑 테이블 예가 제공됩니다.

두 가지 유형의 항목은 다음과 같습니다.

메일 헤더 항목

이러한 항목은 SMS 메일에 포함해야 하는 메일 헤더 행과 이러한 메일 헤더 행을 축약 또는 변환하는 방법을 지정합니다. 헤더 행은 이러한 항목 중 하나에 의해 길이가 0이 아닌 문자열로 성공적으로 매핑된 경우에만 생성할 SMS 메일에 포함됩니다. 각 항목은 다음 형식을 가집니다.

H|pattern replacement-text

메일 헤더 행은 패턴과 일치할 경우 매핑 파일의 패턴 일치 및 문자열 교체 기능을 사용하여 교체 텍스트 replacement-text로 교체됩니다. 그런 다음 메타 문자 $Y가 교체 텍스트에 지정된 경우 헤더 행 매핑의 최종 결과는 SMS 메일에 포함됩니다. 헤더 행이 패턴 문자열과 일치하지 않거나 길이가 0인 문자열에 매핑되거나 교체 텍스트에 $Y 메타 문자가 지정되지 않은 경우 SMS 메일에서 헤더 행이 생략됩니다. 다음 두 항목은


H|From:* F:$0$Y 
H|Subject:* S:$0$Y

From:Subject: 헤더 행을 SMS 메일에 From:Subject:의 약어 F:S:로 포함시킵니다. 다음 항목은


H|Date:* H|D:$0$R$Y 
H|D:*,*%19%%*:*:* H|D:$0$ $5:$6$R$Y

Date: 헤더 행을 허용 및 매핑되도록 합니다. 예를 들어, 다음 헤더 행은

Date: Wed, 16 Dec 1992 16:13:27 -0700 (PDT)

다음과 같이 변환됩니다.

D: Wed 16:13

매우 복잡한 반복 매핑을 작성할 수 있습니다. 사용자 정의 필터를 설정하려는 사이트는 우선 매핑 파일의 작동 방법을 이해해야 할 수 있습니다. 항목의 오른쪽에 있는 H|는 원할 경우 생략할 수 있습니다. 반복 매핑 집합에 필요한 테이블 항목 수를 줄이기 위해 오른쪽에 H|가 허용됩니다.

메일 본문 항목

이러한 항목은 메일 본문의 각 행에 적용할 매핑을 설정합니다. 메일 본문의 각 행은 작성될 SMS 메일에 통합되기 전에 이러한 매핑을 통해 전달됩니다. 이러한 항목은 다음 형식을 가집니다.

B|pattern B| replacement-text

메일 본문의 행은 pattern 패턴과 일치할 경우 교체 텍스트 replacement-text로 교체됩니다. 마찬가지로 이 기능을 사용하여 매우 복잡한 반복 매핑을 생성할 수 있습니다. 항목의 오른쪽에 있는 B|는 원할 경우 생략할 수 있습니다.

SMS 매핑 테이블 예

예 D–1에는 SMS_TEXT 매핑 테이블 예가 나와 있습니다. 각 행의 끝에 있는 괄호 안의 숫자는 바로 뒤에 오는 설명 텍스트 절의 항목 번호에 해당합니다.


예 D–1 SMS_TEXT 매핑 테이블 예


SMS_TEXT

   H|From:*        H|F:$0$R$Y       (1)
   H|Subject:*     H|S:$0$R$Y       (1)
   H|F:*<*>*       H|F:$1$R$Y       ()
   H|F:*(*)*       H|F:$0$2$R$Y     (2)
   H|F:*"*"*       H|F:$0$2$R$Y     (3)
   H|F:*@*         H|F:$0$R$Y       (4)
   H|%:$ *         H|$0:$1$R$Y      (5)
   H|%:*$          H|$0:$1$R$Y      (5)
   H|%:*$ $ *      H|$0:$1$ $2$R$Y  (6)
   B|*--*          B|$0-$1$R        (7)
   B|*..*          B|$0.$1$R        (7)
   B|*!!*          B|$0!$1$R        (7)
   B|*??*          B|$0?$1$R        (7)
   B|*$ $ *        B|$0$ $1$R       (6)
   B|$ *           B|$0$R           (5)
   B|*$            B|$0$R           (5)

               

설명 텍스트

이 절에서는 위의 SMS_TEXT 매핑 테이블 예에 포함된 항목에 대해 설명합니다.

위 예에서는 매핑의 반복 적용을 구현 및 제어하기 위해 메타 문자 $R이 사용됩니다. 이러한 매핑을 반복함으로써 강력한 필터링이 수행됩니다. 예를 들어, 단일 선행 또는 후행 공백을 제거하거나(6) 두 개의 공백을 하나의 공백으로 줄이는(7) 간단한 매핑은 서로 결합되어 모든 선행 및 후행 공백을 스트라이프하고 연속된 여러 공백을 모두 하나의 공백으로 줄이는 필터가 됩니다. 이러한 필터링은 각 SMS 메일의 크기를 줄이는 데 도움이 됩니다.

  1. 이 두 항목은 From:Subject: 헤더 행을 SMS 메일에 포함시킵니다. From:Subject:는 각각 약어 F:S:로 표시됩니다. 일부 다른 항목이 From:Subject: 헤더 행에 영향을 줄 수 있습니다.

    이 항목은 <...> 패턴을 포함하는 From: 헤더 행을 대괄호 안의 텍스트만으로 줄입니다. 예를 들면 다음과 같습니다.

    F: "John C. Doe" <jdoe@siroe.com> (Hello)

    다음 행으로 교체됩니다.

    F: jdoe@siroe.com

  2. 이 항목은 From: 헤더 행의 (...) 패턴을 포함하여 그 안에 있는 모든 것을 제거합니다. 예를 들면 다음과 같습니다.

    F: "John C. Doe" <jdoe@siroe.com> (Hello)

    다음 행으로 교체됩니다.

    F: "John C. Doe" <jdoe@siroe.com>

  3. 이 항목은From: 헤더 행의 “...” 패턴을 포함하여 그 안에 있는 모든 것을 제거합니다. 예를 들면 다음과 같습니다.

    F: "John C. Doe" <jdoe@siroe.com> (Hello)

    다음 행으로 교체됩니다.

    F: <jdoe@siroe.com> (Hello)

  4. 이 항목은 From: 헤더 행의 at 기호(@)를 포함하여 그 오른쪽에 있는 모든 것을 제거합니다. 예를 들면 다음과 같습니다.

    F: "John C. Doe" <jdoe@siroe.com> (Hello)

    다음 행으로 교체됩니다.

    F: "John C. Doe" <jdoe@

  5. 이러한 네 개의 항목은 메일 헤더와 본문의 행에서 선행 및 후행 공백을 제거합니다.

  6. 이러한 두 개의 항목은 메일 헤더와 본문의 행에서 두 개의 공백을 하나의 공백으로 줄입니다.

  7. 이러한 네 개의 항목은 이중 대시, 마침표, 느낌표 및 물음표를 일치하는 문자 하나로 줄입니다. 마찬가지로 이것은 SMS 메일의 바이트를 줄이는 데 도움이 됩니다.

항목의 순서는 매우 중요합니다. 예를 들어, 순서가 정해진 메일에서 메일의 본문은 From: 헤더 행입니다.

From: "John C. Doe" (Hello)

다음과 같이 줄어듭니다.

jdoe

이 작업은 다음과 같은 단계로 수행됩니다.

  1. 다음과 같이 From: 헤더 행에서 시작합니다.

    From: "John C. Doe" (Hello)

    첫 번째 매핑 항목의 패턴이 일치하여 다음 결과를 생성합니다.

    F: "John C. Doe" (Hello)

    결과 문자열의 $R 메타 문자로 인해 결과 문자열이 다시 매핑됩니다.

  2. 마지막 단계의 결과 문자열에 매핑이 적용되어다음을 생성합니다.

    F: jdoe@siroe.com

    매핑의 $R로 인해 전체 매핑 세트가 이 단계의 결과에 다시 적용됩니다.

  3. 다음으로 매핑이 적용되어 다음이 생성됩니다.

    F: jdoe

    매핑의 $R로 인해 전체 매핑 세트가 이 단계의 결과에 다시 적용됩니다.

  4. 다음으로 매핑이 적용되어 다음이 생성됩니다.

    F:jdoe

    매핑의 $R로 인해 전체 매핑 세트가 이 단계의 결과에 다시 적용됩니다.

  5. 일치하는 다른 항목이 없으므로 다음 최종 결과 문자열이

    F:jdoe

    SMS 메일에 통합됩니다.


    주 –

    imsimta 테스트 매핑 유틸리티를 사용하여 매핑 테이블을 테스트할 수 있습니다. 예를 들면 다음과 같습니다.


    # imsimta test -mapping -noimage_file -mapping_file=test.txt
    Enter table name: SMS_TEXT
    Input string: H|From: "John C. Doe"  (Hello)
    Output string: H|F:jdoe
    Output flags: [0,1,2,89]
    Input string: ^D
    #

    imsimta test 유틸리티에 대한 자세한 내용은 Sun Java System Messaging Server 6 2005Q4 Administration Referenceimsimta test를 참조하십시오.


SMS 채널 구성

이 절에서는 단방향(Email-To-Mobile) 및 양방향(Email-To-Mobile 및 Mobile-To-Email) 기능을 모두 사용하도록 SMS 채널을 설정하는 방법에 대해 설명합니다. 양방향 SMS를 위한 SMS 채널 구성에 언급된 내용을 제외하고 SMS 채널은 단방향 및 양방향 기능 모두에 대해 동일하게 설정됩니다.

이 절은 다음 내용으로 구성되어 있습니다.

SMS 채널 추가

Messaging Server 구성에 SMS 채널을 추가하려면 다음 두 단계를 수행해야 합니다.

  1. 채널 정의 및 다시 쓰기 규칙 추가.

  2. SMS 채널 옵션 파일 만들기.

모든 상황에서 설정해야 하는 채널 옵션이 있는 것은 아니지만 ESME_PASSWORD, ESME_SYSTEM_ID, MAX_PAGE_SIZE, DEFAULT_SOURCE_TON DEFAULT_DESTINATION_TON 옵션 중 하나 이상을 설정해야 할 수도 있습니다. 또한 설명된 바와 같이 imta.cnf 파일의 채널 정의나 채널 옵션 파일을 통해 SMPP 서버의 호스트 이름 또는 IP 주소와 TCP 포트를 설정해야 합니다.

둘 이상의 SMS 채널을 구성하여 다른 SMS 채널에 다른 특성을 제공할 수 있습니다. 여러 SMS 채널 사용에 대한 자세한 내용은 SMS 채널 추가를 참조하십시오.

한 가지 주의해야 할 사항은 imta.cnf 파일을 변경할 경우 다시 컴파일해야 한다는 것입니다. 단순히 채널 옵션 파일을 변경할 경우에는 다시 컴파일할 필요가 없습니다.

또한 채널 변경 사항 적용 시간은 변경 사항에 따라 달라질 수 있다는 점에 주의하십시오. 대부분의 채널 옵션 변경 사항은 변경 이후에 시작된 모든 채널에서 적용되며 Job Controller에서 종종 새 채널을 시작하므로 이것은 거의 즉시 적용되는 것처럼 보일 수 있습니다. 일부 변경 사항은 재컴파일을 수행하고 SMTP 서버를 다시 시작할 때까지 적용되지 않습니다. 이러한 옵션은 채널 자체가 실행될 때가 아니라 메일이 채널의 대기열에 포함될 때 처리됩니다.

채널 정의 및 다시 쓰기 규칙 추가

채널 정의 및 다시 쓰기 규칙을 추가하려면 다음을 수행합니다.

Procedure채널 정의 및 다시 쓰기 규칙 추가 방법

단계
  1. SMS 채널을 MTA의 구성에 추가하기 전에 채널 이름을 선택해야 합니다. 채널 이름은 sms 또는 sms_x가 될 수 있으며 여기서 x는 1바이트에서 36바이트 사이의 길이를 가진 대소문자가 구분된 임의의 문자열입니다(예: sms_mway).

  2. 채널 정의를 추가하려면 installation-directory/config/ 디렉토리에 있는 imta.cnf 파일을 편집합니다. 파일의 맨 아래에 빈 행과 다음과 같은 두 행을 추가합니다.

    channel-name port p threaddepth t \ 
      backoff pt2m pt5m pt10m pt30m notices 1
    smpp-host-name
    

    여기서 channel-name은 사용자가 선택한 채널 이름이고 p는 SMPP 서버가 수신하는 TCP 포트이며 t는 각 전달 프로세스의 최대 동시 SMPP 서버 연결 수입니다. 마지막으로 smpp-host-name은 SMPP 서버를 실행하는 시스템의 호스트 이름입니다.

    예를 들어, 다음과 같이 채널 정의를 지정할 수 있습니다.


    sms_mway port 55555 threaddepth 20 \ 
    backoff pt2m pt5m pt10m pt30m notices 1
    smpp.siroe.com

    threaddepth를 계산하는 방법에 대한 지침은 동시 연결 수 제어를 참조하십시오.

    backoffnotices 채널 키워드에 대한 자세한 내용은 전달 재시도 빈도 조정을 참조하십시오.

    smpp-host-name에 호스트 이름 대신 IP를 지정하려면 도메인 리터럴을 지정합니다. 예를 들어, IP 주소가 127.0.0.1인 경우 smpp-host-name에 [127.0.0.1]을 지정합니다. 또는 SMPP_SERVER 채널 옵션을 사용할 것을 고려합니다.


    주 –

    Sun Java System Messaging Server 6.1의 경우 master 채널 키워드는 더 이상 사용되지 않습니다. 이 키워드가 있을 경우 무시됩니다.


  3. 채널 정의가 추가된 후에는 파일의 상단 부분으로 가서 다음 형식의 다시 쓰기 규칙을 추가합니다.

    smpp-host-name $u@smpp-host-name

    예를 들면 다음과 같습니다.

    smpp.siroe.com $u@smpp.siroe.com

  4. imta.cnf 파일을 저장합니다.

  5. imsimta cnbuild 명령을 사용하여 구성을 다시 컴파일합니다.

  6. imsimta restart dispatcher 명령을 사용하여 SMTP 서버를 다시 시작합니다.

  7. 위 구성에서는 전자 메일 주소를 id@smpp-host-name(예: 123456@smpp.siroe.com)으로 지정하여 전자 메일을 채널로 전송합니다. 주소 지정에 대한 자세한 내용은 전자 메일에서 SMS로의 변환 프로세스를 참조하십시오.

  8. 선택적으로 SMPP 서버의 호스트 이름을 사용자가 볼 수 없게 하거나 다른 호스트 이름을 동일한 채널과 연관시키려는 경우 다시 쓰기 규칙을 추가합니다. 예를 들어, host-name-1host-name-2를 채널과 연관시키려면 다음을 다시 쓰기 규칙에 추가합니다.


    host-name-1 $U%host-name-1@smpp-host-name
    host-name-2 $U%host-name-2@smpp-host-name

    예를 들어, SMPP 서버의 호스트 이름이 smpp.siroe.com이지만 사용자에게 전자 메일 주소를 id@sms.sesta.com으로 지정하게 하려면 다음 다시 쓰기 규칙을 추가합니다.

    sms.sesta.com $U%sms.sesta.com@smpp.siroe.com

    SMPP_SERVER SMPP_PORT 채널 옵션은 채널의 공식 호스트 이름과 port 채널 키워드 설정을 무시합니다. SMPP_PORT 옵션이 사용되면 또한 port 키워드를 사용할 필요가 없습니다. 이러한 두 옵션은 적용된 후에 구성을 다시 컴파일하지 않고도 변경할 수 있다는 이점이 있습니다. SMPP_SERVER 옵션의 추가 사용에 대해서는 SMS 채널 추가에 설명되어 있습니다.

동시 연결 수 제어

threaddepth 채널 키워드는 전달 프로세스 내의 각 전달 스레드에 할당할 메일 수를 제어합니다. 허용되는 총 동시 연결 수를 계산하려면SMPP_MAX_CONNECTIONS 옵션과 job_limit( SMPP_MAX_CONNECTIONS * job_limit) 옵션의 값을 곱합니다. SMPP_MAX_CONNECTIONS 옵션은 전달 프로세스의 최대 전달 스레드 수를 제어합니다. job_limit 옵션은 채널이 실행되는 Job Controller 처리 풀에 대해 최대 동시 전달 프로세스 수를 제어합니다.

총 동시 연결 수를 제한하려면 이러한 옵션 중 하나 또는 둘 다를 적절하게 조정해야 합니다. 예를 들어, 원격 SMPP 서버가 단일 연결만 허용할 경우 SMPP_MAX_CONNECTIONSjob_limit를 모두 1로 설정해야 합니다. 값을 조정할 때는 job_limit1을 초과하도록 허용하는 것이 좋습니다.

SMS 채널 옵션 파일 만들기

일반적으로 채널 옵션 파일은 채널 작업에 필요한 사이트별 매개 변수를 포함합니다. SMS에는 채널 옵션 파일이 필요하지 않습니다. 현재 설치에 채널 옵션 파일이 필요한 경우에는 installation-directory/config/ 디렉토리의 텍스트 파일에 이를 저장합니다. 다른 채널 옵션 파일과 마찬가지로 파일 이름의 형식은 다음과 같습니다.

channel_name_option

예를 들어, 채널 이름이 sms_mway인 경우 채널 옵션 파일은 다음과 같습니다.

installation-directory/config/sms_mway_option

각 옵션은 파일에서 다음 형식을 사용하여 단일 행에 포함됩니다.

option_name=option_value

예를 들면 다음과 같습니다.


PROFILE=GSM
SMSC_DEFAULT_CHARSET=iso-8859-1 
USE_UCS2=1

사용 가능한 SMS 채널 옵션 목록과 각 옵션에 대한 설명은 뒤에 나오는 사용 가능한 옵션을 참조하십시오.

사용 가능한 옵션

SMS 채널은 넓은 의미에서 다음과 같은 6개의 범주로 구분되는 여러 옵션을 포함합니다.

이러한 옵션은 아래 표에 요약되어 있으며 이후의 절에 보다 자세하게 설명되어 있습니다.

표 D–5 SMS 채널 옵션

 

 

 

전자 메일에서 SMS로의 변환 옵션 

옵션(페이지 번호) 

설명 

기본값 

GATEWAY_NOTIFICATIONS

전자 메일 알림 메시지를 SMS 메일로 변환할지 여부를 지정합니다.  

0

MAX_MESSAGE_PARTS

전자 메일에서 추출할 메일 부분의 최대 개수입니다. 

2

MAX_MESSAGE_SIZE

전자 메일에서 추출할 최대 바이트 수입니다. 

960

MAX_PAGE_SIZE

단일 SMS 메일에 포함할 최대 바이트 수입니다. 

160

MAX_PAGES_PER_MESSAGE

전자 메일을 분할할 최대 SMS 메일 수입니다. 

6

ROUTE_TO

SMS 메일을 지정된 IP 호스트 이름으로 라우팅합니다. 

 

SMSC_DEFAULT_CHARSET로 변환

SMSC에 사용되는 기본 문자 세트입니다. 

US-ASCII

USE_HEADER_FROM

SMS 소스 주소를 설정합니다. 

0

USE_HEADER_PRIORITY

전자 메일 헤더에서 우선 순위 정보의 사용을 제어합니다.  

1

USE_HEADER_REPLY_TO

SMS 소스 주소를 생성할 때 Reply-to: 헤더 행의 사용을 제어합니다.

0

USE_HEADER_RESENT

발송자 정보를 생성할 때 Resent-*: 헤더 행 사용을 제어합니다.

0

USE_HEADER_SENSITIVITY

전자 메일 헤더에서 개인 정보의 사용을 제어합니다.  

1

USE_UCS2

적용 가능한 경우 SMS 메일에서 UCS2 문자 세트를 사용합니다. 

1

     

SMS 게이트웨이 서버 옵션 

GATEWAY_PROFILE

SMS 게이트웨이 서버의 구성 파일 sms_gateway.cnf에 구성된 게이트웨이 프로필 이름과 일치합니다.

해당 없음 

     

SMS 필드 옵션 

DEFAULT_DESTINATION_NPI

SMS 대상 주소의 기본 NPI입니다. 

0x00

DEFAULT_DESTINATION_TON

SMS 대상 주소의 기본 TON입니다. 

0x01

DEFAULT_PRIORITY

SMS 메일의 기본 우선 순위 설정입니다. 

0=GSM, CDMA

1=TDMA

DEFAULT_PRIVACY

SMS 메일의 기본 개인 정보 값 플래그입니다. 

-1

DEFAULT_SERVICE_TYPE

전송된 SMS 메일과 연관된 SMS 응용 프로그램 서비스입니다. 

해당 없음 

DEFAULT_SOURCE_ADDRESS

기본 SMS 소스 주소입니다. 

0

DEFAULT_SOURCE_NPI

SMS 소스 주소의 기본 NPI입니다. 

0x00

DEFAULT_SOURCE_TON

SMS 소스 주소의 기본 TON입니다. 

0x01

DEFAULT_VALIDITY_PERIOD

SMS 메일의 기본 유효 기간입니다. 

해당 없음 

DESTINATION_ADDRESS_NUMERIC

대상 SMS 주소를 0 - 9개의 문자로만 구성되도록 줄입니다. 

0

DESTINATION_ADDRESS_PREFIX

대상 SMS 주소의 접두어로 사용할 텍스트 문자열입니다. 

해당 없음 

PROFILE

사용할 SMS 프로필입니다. 

GSM

USE_SAR

SMS sar_필드를 사용하는 여러 SMS 메일의 순서를 정합니다.

0

     

SMPP 프로토콜 옵션 

ESME_ADDRESS_NPI

SMPP 서버에 바인드할 때 지정할 ESME NPI입니다. 

0x00

ESME_ADDRESS_TON

SMPP 서버에 바인드할 때 지정할 ESME TON입니다. 

0x00

ESME_IP_ADDRESS

Sun Java System Messaging Server를 실행하는 호스트의 IP 주소입니다. 

해당 없음 

ESME_PASSWORD

SMPP 서버에 바인드할 때 제시할 비밀번호입니다. 

해당 없음 

ESME_SYSTEM_ID

바인드할 때 SMSC에 제시할 시스템 아이디입니다. 

해당 없음 

ESME_SYSTEM_TYPE

바인드할 때 SMSC에 제시할 시스템 유형입니다. 

해당 없음 

MAX_PAGES_PER_BIND

SMPP 서버와의 단일 세션 도중 전송할 최대 SMS 메일 수입니다. 

1024

REVERSE_ORDER

멀티파트 SMS 메일의 전송 시퀀스입니다. 

0

SMPP_MAX_CONNECTIONS

최대 동시 SMPP 서버 연결 수입니다. 

20

SMPP_PORT

단방향 SMS의 경우 SMPP 서버가 수신하는 TCP 포트입니다. 양방향 SMS의 경우 SMPP 중계를 위해 LISTEN_PORT에서 사용하는 것과 동일한 TCP 포트입니다.

해당 없음 

SMPP_SERVER

단방향 SMS의 경우 연결할 SMPP 서버의 호스트 이름입니다. 

양방향 SMS의 경우 SMS 게이트웨이 서버의 호스트 이름이나 IP 주소를 가리키도록 설정합니다. SMPP 릴레이의 LISTEN_INTERFACE_ADDRESS 옵션을 사용할 경우 지정된 네트워크 인터페이스 주소와 연관된 호스트 이름이나 IP 주소를 사용해야 합니다.

해당 없음 

TIMEOUT

SMPP 서버에서 읽기 및 쓰기 완료 시의 시간 초과입니다. 

30

     

현지화 옵션 

CONTENT_PREFIX

전자 메일의 내용을 소개하는 텍스트입니다. 

Msg:

DSN_DELAYED_FORMAT

전달 지연 알림에 대한 서식 지정 문자열입니다. 

빈 문자열 

DSN_FAILED_FORMAT

전달 실패 알림에 대한 서식 지정 문자열입니다. 

설명 참조 

DSN_RELAYED_FORMAT

중계 알림에 대한 서식 지정 문자열입니다. 

설명 참조 

DSN_SUCCESS_FORMAT

성공한 전달 알림에 대한 서식 지정 문자열입니다. 

설명 참조 

FROM_FORMAT

전자 메일 발송자를 나타내기 위해 표시할 텍스트입니다. 

$a

FROM_NONE

메일 발송자가 없을 경우 표시할 텍스트입니다. 

해당 없음 

LANGUAGE

(i-default) 텍스트 필드를 선택할 언어 그룹입니다. 

i-default

LINE_STOP

전자 메일에서 추출한 각 행의 끝에 포함할 텍스트입니다. 

공백 문자 

NO_MESSAGE

메일에 내용이 없음을 나타내는 텍스트입니다. 

]no message]

SUBJECT_FORMAT

전자 메일의 제목을 나타내기 위해 표시할 텍스트입니다. 

$s

SUBJECT_NONE

전자 메일의 제목이 없을 경우 표시할 텍스트입니다. 

해당 없음 

     

기타 옵션 

DEBUG

세부 정보 디버그 출력을 사용 가능하게 합니다. 

-1

전자 메일에서 SMS로의 변환 옵션

다음 옵션은 전자 메일에서 SMS 메일로의 변환을 제어합니다. 해당 옵션의 값 범위는 괄호 안에 있습니다. 일반적으로 지정된 전자 메일을 하나 이상의 SMS 메일로 변환할 수 있습니다. 전자 메일에서 SMS로의 변환 프로세스를 참조하십시오.

GATEWAY_NOTIFICATIONS

(0 또는 1) 전자 메일 알림을 SMS 알림으로 변환할지 여부를 지정합니다. 전자 메일 알림 메시지는 RFC 1892, 1893 및 1894를 준수해야 합니다. 기본값은 0입니다.

GATEWAY_NOTIFICATIONS=0일 경우 이러한 알림은 무시되며 SMS 알림으로 변환되지 않습니다.

알림을 SMS 알림으로 변환할 수 있게 하려면 GATEWAY_NOTIFICATIONS=1을 설정합니다. 이 옵션이 1로 설정되면 현지화 옵션(DSN_*_FORMAT)은 SMS 메일로 변환되고 게이트웨이를 통해 전송할 알림 유형(성공, 실패, 지연, 중계)을 제어합니다. 알림 유형의 값이 빈 문자열이면 해당 유형 알림이 SMS 메일로 변환되지 않습니다.

MAX_MESSAGE_PARTS

(정수) 멀티파트 전자 메일을 SMS 메일로 변환할 때 텍스트 부분 중에서 MAX_MESSAGE_PARTS만큼의 처음 부분만 변환됩니다. 나머지 부분은 무시됩니다. 기본적으로 MAX_MESSAGE_PARTS는 2입니다. 메일 부분의 개수를 제한하지 않으려면 -1을 지정합니다. 값이 0으로 지정되면 SMS 메일에 포함되는 메일 내용이 없습니다. 이것은 전자 메일의 헤더 행(예: Subject:)만 사용하여 SMS 메일을 생성하는 효과를 가집니다.

텍스트와 첨부 파일을 모두 포함하는 전자 메일은 일반적으로 두 부분으로 구성됩니다. 또한 일반 텍스트 메일 부분만 변환되며, 다른 모든 MIME 컨텐트 유형은 무시됩니다.

MAX_MESSAGE_SIZE

(정수, = 10) 이 옵션을 사용하면 전자 메일에서 생성되는 SMS 메일에 포함될 총 바이트 수의 상한값을 지정할 수 있습니다. 특히 하나 이상의 생성된 SMS 메일에 최대 MAX_MESSAGE_SIZE 바이트가 사용됩니다. 모든 추가 바이트는 무시됩니다.

기본적으로 960바이트의 상한값이 지정됩니다. 이것은 MAX_MESSAGE_SIZE=960에 해당합니다. 임의의 바이트 수를 허용하려면 값을 0으로 지정합니다.

사용되는 바이트 수는 전자 메일을 유니코드에서 SMSC의 기본 문자 세트나 UCS2로 변환한 후에 결정됩니다. 이것은 UCS2의 경우 각 UCS2 문자의 길이가 최소 2바이트 이상이므로 960바이트의 MAX_MESSAGE_SIZE는 최대 480개의 문자를 생성한다는 것을 의미합니다.

MAX_MESSAGE_SIZE MAX_PAGES_PER_MESSAGE 옵션은 모두 결과 SMS 메일의 전체 크기를 제한하는 동일한 목적으로 사용됩니다. 실제로 MAX_PAGE_SIZE=960 및 MAX_PAGE_SIZE=160은 MAX_PAGES_PER_MESSAGE=6을 나타냅니다. 서로 다른 두 개의 옵션이 존재하는 이유는 무엇입니까? 그것은 단일 SMS 메일의 최대 크기인 MAX_PAGE_SIZE를 고려할 필요 없이 페이지의 전체 크기나 수를 제어할 수 있어야 하기 때문입니다. 이 기능은 채널 옵션 파일에서는 중요하지 않을 수 있지만 전자 메일을 채널로 전송에 설명된 전자 메일을 채널로 전송 또는 전자 메일을 채널로 전송 주소 지정 속성을 사용하는 경우에는 중요합니다.

마지막으로 MAX_MESSAGE_SIZEMAX_PAGE_SIZE * MAX_PAGES_PER_MESSAGE의 두 제한값 중 보다 작은 값이 사용됩니다.

MAX_PAGE_SIZE

(정수, >= 10) 단일 SMS 메일에서 허용하는 최대 바이트 수는 MAX_PAGE_SIZE 옵션을 사용하여 제어합니다. 기본적으로 160바이트가 사용됩니다. 이것은 MAX_PAGE_SIZE=160에 해당합니다.

MAX_PAGES_PER_MESSAGE

(정수, 1 - 255) 주어진 전자 메일에 대해 생성할 최대 SMS 메일 수를 이 옵션을 사용하여 제어합니다. 실제로 이 옵션은 전자 메일을 잘라 MAX_PAGES_PER_MESSAGE SMS 메일에 들어가는 전자 메일의 해당 부분만 SMS 메일로 변환합니다. 자세한 내용은 MAX_PAGE_SIZE 옵션에 대한 설명을 참조하십시오.

기본적으로 MAX_PAGES_PER_MESSAGE MAX_MESSAGE_SIZE MAX_PAGE_SIZE로 나눈 값 이나 1보다 큰 값으로 설정됩니다.

ROUTE_TO

(문자열, IP 호스트 이름, 1-64바이트) 프로필을 대상으로 하는 모든 SMS 메일은 다음 형식의 전자 메일 주소를 사용하여 지정된 IP 호스트 이름으로 다시 라우팅됩니다.

SMS-destination-address@route-to

여기서 SMS-destination-address는 SMS 메일의 대상 주소이며 route-to는 이 옵션에서 지정되는 IP 호스트 이름입니다. SMS 메일의 전체 내용이 결과 전자 메일의 내용으로 보내집니다. PARSE_RE_* 옵션은 무시됩니다.


주 –

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


SMSC_DEFAULT_CHARSET로 변환

(문자열) 이 옵션을 사용하면 SMSC의 기본 문자 세트를 지정할 수 있습니다. 다음 파일에서 제공되는 문자 세트 이름을 사용합니다.

installation-directory/config/charsets.txt

이 옵션을 지정하지 않을 경우 US-ASCII가 사용됩니다. charsets.txt에 사용되는 니모닉 이름은 동일한 디렉토리의 charnames.txt에 정의됩니다.

전자 메일을 처리할 때 헤더 행과 텍스트 메일 부분은 우선 디코딩된 다음 유니코드로 변환됩니다. 그런 다음 USE_UCS2 옵션 값과 SMS 메일이 기본 SMSC 문자 세트에 없는 최소한 하나 이상의 도형 문자를 포함하는지 여부에 따라 데이터는 SMSC의 기본 문자 세트나 UCS2로 변환됩니다. UCS2 문자 세트는 유니코드의 16비트 인코팅으로 흔히 UTF-16으로 불립니다.

USE_HEADER_FROM

(정수, 0-2) From: 주소를 SMSC에 전달하려면 이 옵션을 설정합니다. 값은 From: 주소를 가져온 위치와 형식을 나타냅니다. 표 D–6에서는 허용 가능한 값과 해당 의미를 보여 줍니다.

표 D–6 USE_HEADER_FROM 값

값 

설명 

0

SMS 소스 주소가 From: 주소에서 설정되지 않습니다. 발견된 속성값 쌍을 사용합니다.

1

MS 소스 주소를 from-local@from-domain으로 설정합니다. 여기서 From: 주소는@from-route:from-local@from-domain입니다.

2

SMS 소스 주소를 from-local로 설정합니다. 여기서 From: 주소는@from-route:from-local@from-domain입니다.

USE_HEADER_PRIORITY

(0 또는 1) 이 옵션은 RFC 822 Priority: 헤더 행의 처리를 제어합니다. Priority: 헤더 행의 정보는 결과 SMS 메일의 우선 순위 플래그를 설정하여 DEFAULT_PRIORITY 옵션에서 지정된 기본 SMS 우선 순위를 무시하는 데 사용됩니다. 이 경우는 USE_HEADER_PRIORITY=1에 해당합니다. RFC 822 Priority: 헤더 행을 사용하지 않으려면 USE_HEADER_PRIORITY=0을 지정합니다.

SMS 우선 순위 플래그 처리에 대한 자세한 내용은 DEFAULT_PRIORITY 옵션에 대한 설명을 참조하십시오.

USE_HEADER_REPLY_TO

(0 또는 1) USE_HEADER_FROM =1인 경우 이 옵션은 Reply-to: 또는 Resent-reply-to: 헤더 행이 SMS 소스 주소를 사용되는지 여부를 제어합니다. 기본적으로 Reply-to:Resent-reply-to: 헤더 행은 무시됩니다. 이것은 옵션 값 0에 해당합니다. 이러한 헤더 행 사용을 고려하려면 옵션 값 1을 사용합니다.

RFC 2822에서는 Reply-to:Resent-reply-to: 헤더 행에 매핑하는 데만 사용됩니다.

USE_HEADER_RESENT

(0 또는 1) USE_HEADER_FROM =1이면 이 옵션은 Resent- 헤더 행을 SMS 소스 주소로 사용하도록 고려할지 여부를 제어합니다. 기본적으로 Resent- 헤더 행은 무시됩니다. 이것은 옵션 값 0에 해당합니다. 이러한 헤더 행 사용을 고려하려면 옵션 값 1을 사용합니다.

RFC 2822에서는 Resent- 헤더 행을 사용하지 않습니다.

USE_HEADER_SENSITIVITY

(0 또는 1) USE_HEADER_SENSITIVITY 옵션은 RFC 822 Sensitivity: 헤더 행의 처리를 제어합니다. 기본적으로, Sensitivity: 헤더 행의 정보는 결과 SMS 메일의 개인 정보 플래그를 설정하여 DEFAULT_PRIVACY 옵션에서 지정된 기본 SMS 개인 정보를 무시하는 데 사용됩니다. 이것은 기본값이며 USE_HEADER_SENSITIVITY=1에 해당합니다. RFC 822 Sensitivity: 헤더 행을 사용하지 않으려면 USE_HEADER_SENSITIVITY=0을 지정합니다.

SMS 개인 정보 플래그 처리에 대한 자세한 내용은 DEFAULT_PRIVACY 옵션에 대한 설명을 참조하십시오.

USE_UCS2

(0 또는 1) 채널은 생성되는 SMS 메일에서 적절한 경우 UCS2 문자 세트를 사용합니다. 이것은 기본 동작이며 USE_UCS2=1에 해당합니다. UCS2 문자 세트를 사용하지 않으려면 USE_UCS2=0을 지정합니다. 문자 세트 문제에 대한 자세한 내용은 SMSC_DEFAULT_CHARSET로 변환 옵션에 대한 설명을 참조하십시오.

표 D–7 USE_UCS2에 대해 유효 값

USE_UCS2 값 

결과 

1(기본값) 

가능한 경우 SMSC 기본 문자 세트가 사용됩니다. 원본 전자 메일이 SMSC 기본 문자 세트에 도형 문자를 포함하지 않을 경우 UCS2 문자 세트가 사용됩니다. 

항상 SMSC 기본 문자 세트가 사용됩니다. 해당 문자 세트에서 사용할 수 없는 도형 문자는 니모닉으로 나타납니다(예: AE-ligature의 경우 "AE"). 

SMS 게이트웨이 서버 옵션

GATEWAY_PROFILE

SMS 게이트웨이 서버 구성 파일 sms_gateway.cnf에 있는 게이트웨이 프로필의 이름입니다.

SMS 옵션

다음 옵션을 사용하면 생성된 SMS 메일에서 SMS 필드를 지정할 수 있습니다.

DEFAULT_DESTINATION_NPI

(정수, 0 - 255) 기본적으로 대상 주소에는 NPI(Numeric Plan Indicator) 값으로 0이 할당됩니다. 이 옵션을 사용하면 0부터 255까지 범위의 대체 정수 값이 할당될 수 있습니다. 다음 표 D–8에서는 일반적인 NPI 값을 보여 줍니다.

표 D–8 Numeric Plan Indicator 값

값 

설명 

알 수 없음 

ISDN (E.163, E.164) 

데이터(X.121) 

텔렉스(F.69) 

육상 이동 통신(E.212) 

국가 

Private 

10 

ERMES 

14 

IP 주소(인터넷) 

18 

WAP 클라이언트 아이디 

>= 19 

정의되지 않음 

이 옵션 값은 다음 세 가지 방법 중 하나로 지정할 수 있습니다.

DEFAULT_DESTINATION_TON

(정수, 0 - 255) 기본적으로 대상 주소에는 TON(Type of Number) 지정자 값으로 0이 할당됩니다. 이 옵션을 사용하면 0부터 255까지 범위의 대체 정수 값이 할당될 수 있습니다. 다음 표 D–9에서는 일반적인 TON 값을 보여 줍니다.

표 D–9 일반 TON 값

값 

설명 

알 수 없음 

국제 

국가 

네트워크별 

가입자 번호 

영숫자 

축약 

>=7 

정의되지 않음 

이 옵션 값은 다음 세 가지 방법 중 하나로 지정할 수 있습니다.

DEFAULT_PRIORITY

(정수, 0 - 255) SMS 메일은 필수 우선 순위 필드를 가집니다. 다음 표 D–10에서는 SMS 우선 순위 값이 해석되는 방법을 보여 줍니다.

표 D–10 각 SMS 프로필 유형에 대해 해석되는 SMS 우선 순위 값

값 

GSM 

TDMA 

CDMA 

낮음 

대량 

중간 

우선 순위 

중간 

대화식 

우선 순위 

Urgent 

Urgent 

우선 순위 

매우 높음 

긴급 

이 옵션을 사용하면 SMS 메일에 할당되는 기본 우선 순위를 지정할 수 있습니다. 값을 지정하지 않을 경우 기본 우선 순위 0이 PROFILE=GSMCDMA에 사용되며 우선 순위 1 PROFILE=TDMA에 사용됩니다.

USE_HEADER_PRIORITY=1이고 전자 메일에 RFC 822 Priority: 헤더 행이 있는 경우 해당 헤더 행에 지정된 우선 순위를 대신 사용하여 결과 SMS 메일의 우선 순위를 설정합니다. 특히 USE_HEADER_PRIORITY=0일 경우에는 SMS 우선 순위 플래그는 항상 DEFAULT_PRIORITY 옵션에 따라 설정되며 RFC 822 Priority: 헤더 행은 항상 무시됩니다. USE_HEADER_PRIORITY=1일 경우에는 원본 전자 메일의 RFC 822 Priority: 헤더 행을 사용하여 SMS 메일의 우선 순위 플래그를 설정합니다. 해당 헤더 행이 존재하지 않을 경우 DEFAULT_PRIORITY 옵션을 사용하여 SMS 우선 순위 플래그를 설정합니다.

다음 표는 RFC 822 Priority: 헤더 행 값을 SMS 우선 순위 플래그로 변환하는 데 사용되는 매핑을 보여 줍니다.

표 D–11 Priority 헤더를 SMS 우선 순위 플래그로 변환하기 위한 매핑

RFC 822 

SMS 우선 순위 플래그 

   

우선순위값 

GSM 

TDMA 

CDMA 

세 번째 

낮음(0) 

대량(0) 

중간(0) 

두 번째 

낮음(0) 

대량(0) 

중간(0) 

낮음 

낮음(0) 

대량(0) 

중간(0) 

중간 

낮음(0) 

중간(1) 

중간(0) 

Urgent 

우선 순위(1) 

높음(2) 

높음(2) 

DEFAULT_PRIVACY

(정수, -1, 0 - 255) SMS 메일에서 개인 정보 플래그를 설정할지 여부 및 사용할 값은 DEFAULT_PRIVACY USE_HEADER_SENSITIVITY 옵션으로 제어합니다. 기본적으로 DEFAULT_PRIVACY에는 -1 값이 사용됩니다. 다음 표 D–12에서는 DEFAULT_PRIVACY USE_HEADER_SENSITIVITY 옵션을 다양한 값으로 설정한 결과를 보여 줍니다.

표 D–12 DEFAULT_PRIVACYUSE_HEADER_SENSITIVITY에 대한 결과 값

DEFAULT_PRIVACY 

USE_HEADER_SENSITIVITY 

결과 

-1 

SMS 개인 정보 플래그가 SMS 메일에서 절대 설정되지 않습니다. 

n >= 0 

SMS 개인 정보 플래그가 항상 값 n으로 설정됩니다. RFC 822 Sensitivity: 헤더 행은 항상 무시됩니다.

-1(기본값) 

1(기본값) 

원본 전자 메일에 RFC 822 Sensitivity: 헤더 행이 있을 경우에만 SMS 메일의 개인 정보 플래그가 설정됩니다. 이 경우 SMS 개인 정보 플래그는 Sensitivity: 헤더 행 값에 해당하도록 설정됩니다. 기본값입니다.

n >= 0 

SMS 메일의 개인 정보 플래그가 원본 전자 메일의 RFC 822 Sensitivity: 헤더 행에 해당하도록 설정됩니다. 전자 메일에 Sensitivity: 헤더 행이 없을 경우 SMS 개인 정보 플래그의 값은 n으로 설정됩니다.

다음 표 D–13에서는 개인 정보 값의 SMS 해석을 보여 줍니다.

표 D–13 개인 정보 값의 SMS 해석

값 

설명 

제한 없음 

제한됨 

기밀 

비밀 

>= 4 

정의되지 않음 

RFC 822 Sensitivity: 헤더 행 값을 SMS 개인 정보 값으로 변환하는 데 사용되는 매핑은 다음 표 D–14에 나와 있습니다.

표 D–14 Sensitivity 헤더를 SMS 우선 순위 값으로 변환하기 위한 매핑

RFC 822 Sensitivity: 값 

SMS 개인 정보 값 

Personal 

1(제한됨) 

Private 

2(기밀) 

회사 기밀 

3(비밀) 

DEFAULT_SERVICE_TYPE

(문자열, 0 - 5바이트) 채널에 의해 생성되는 SMS 메일과 연관시킬 서비스 유형입니다. 기본적으로 서비스 유형은 지정되지 않습니다(즉, 길이가 0인 문자열이 사용됨). 일반적인 몇 가지 서비스 유형으로는 CMT(Cellular Messaging), CPT(Cellular Paging), VMN(Voice Mail Notification), VMA(Voice Mail Alerting), WAP(Wireless Application Protocol) 및 USSD(Unstructured Supplementary Data Services)가 있습니다.

DEFAULT_SOURCE_ADDRESS

(문자열, 0 - 20바이트) 전자 메일에서 생성되는 SMS 메일에 사용할 소스 주소입니다. USE_HEADER_FROM=1이면 전자 메일 발송자 주소가 이 옵션으로 지정한 값보다 우선한다는 것에 주의합니다. 기본적으로 값을 사용하지 않도록 0이 설정됩니다.

DEFAULT_SOURCE_NPI

(정수, 0 - 255) 기본적으로 소스 주소에는 NPI 값으로 0이 할당됩니다. 이 옵션을 사용하면 0부터 255까지 범위의 대체 정수 값이 할당될 수 있습니다. 일반 NPI 값을 보여주는 표는 DEFAULT_DESTINATION_NPI 옵션 설명을 참조하십시오.

DEFAULT_SOURCE_TON

(정수, 0 - 255) 기본적으로 소스 주소에는 TON 지정자 값으로 0이 할당됩니다. 이 옵션을 사용하면 0부터 255까지 범위의 대체 정수 값이 할당될 수 있습니다. 일반 TON 값을 보여주는 표는 DEFAULT_DESTINATION_TON 옵션 설명을 참조하십시오.

DEFAULT_VALIDITY_PERIOD

(문자열, 0 - 252 바이트) 기본적으로 SMS 메일에는 상대적인 유효 기간이 지정되지 않으며 대신 SMSC의 기본값이 사용됩니다. 상대적인 다른 유효 기간을 지정하려면 이 옵션을 사용합니다. 값은 초, 분, 시 또는 일 단위로 지정할 수 있습니다. 다음 표 D–15에는 이 옵션의 여러 값에 대한 형식과 설명이 나와 있습니다.

표 D–15 DEFAULT_VALIDITY_PERIOD의 형식 및 값

형식 

설명 

nnn

암시적 초 단위(예: 604800) 

nnns

초 단위(예: 604800s) 

nnnm

분 단위(예: 10080m) 

nnnh

시간 단위(예: 168h) 

nnnd

일 단위(예: 7d) 

0, 0s, 0m, 0h 또는 0d 지정을 사용하여 SMSC의 기본 유효 기간을 선택할 수 있습니다. 즉, 0, 0s, 0m, 0h 또는 0d 지정이 사용되면 생성된 SMS 메일의 유효 기간에 빈 문자열이 지정됩니다.

이 옵션은 UTC 형식의 값을 허용하지 않습니다.

DESTINATION_ADDRESS_NUMERIC

(0 또는 1) 전자 메일 봉투 To: 주소에서 추출된 SMS 대상 주소의 숫자가 아닌 모든 문자를 스트라이프하려면 이 옵션을 사용합니다. 예를 들어, 다음 봉투 To: 주소는

"(800) 555-1212"@sms.siroe.com

다음과 같이 줄어듭니다.

8005551212@sms.siroe.com

이 스트라이핑을 사용하려면 해당 옵션의 값을 1로 지정합니다. 기본적으로 이 스트라이핑은 사용 불가능하며 옵션 값 0에 해당합니다. 스트라이핑이 사용 가능한 경우 대상 주소 접두어가 DESTINATION_ADDRESS_PREFIX 옵션을 통해 추가되기 전에 스트라이핑이 수행됩니다.

DESTINATION_ADDRESS_PREFIX

(문자열) 경우에 따라 고정된 텍스트 문자열(예: "+")을 모든 SMS 대상 주소의 접두어로 사용해야 하는 경우도 있습니다. 이 옵션을 사용하면 이러한 접두어를 지정할 수 있습니다. 지정된 접두어는 모든 SMS 대상 주소(해당 접두어가 없는)에 추가됩니다. DESTINATION_ADDRESS_NUMERIC 옵션에 의해 스트라이프되는 것을 방지하기 위해 이 옵션은 DESTINATION_ADDRESS_NUMERIC 옵션 다음에 적용됩니다.

PROFILE

(문자열) SMSC와 함께 사용할 SMS 프로필을 지정합니다. 가능한 값은 GSM, TDMACDMA입니다. 지정하지 않을 경우 GSM이 사용됩니다. 이 옵션은 DEFAULT_PRIORITY DEFAULT_PRIVACY와 같은 다른 채널 옵션의 기본값을 선택하는 데만 사용됩니다.

USE_SAR

(0 또는 1) 아주 큰 전자 메일을 여러 SMS 메일로 분리해야 할 수 있습니다. 이 경우 개별 SMS 메일은 선택적으로 SMS sar_ 필드를 사용하여 순서 지정 정보를 추가할 수 있습니다. 이로 인해 "분할된" SMS 메일이 생성되며 수신 단말기는 이러한 SMS 메일을 단일 SMS 메일로 다시 어셈블할 수 있습니다. 해당되는 경우 USE_SAR=1을 지정하여 이 순서 지정 정보가 추가됨을 나타냅니다. 기본값은 순서 지정 정보를 추가하지 않는 것이며 이것은 USE_SAR=0에 해당합니다.

USE_SAR=1을 지정하면 REVERSE_ORDER 옵션이 무시됩니다.

SMPP 옵션

다음 옵션을 사용하면 SMPP 프로토콜 매개 변수를 지정할 수 있습니다. 문자열 "ESME_"로 시작하는 이름을 가진 옵션은 MTA가 ESME(External Short Message Entity)로 작동할 때, 즉 MTA가 SMS 메일을 SMPP 서버의 관련 SMSC에 전송하기 위해 SMPP 서버에 바인드할 때 MTA를 식별하는 역할을 수행합니다.

ESME_ADDRESS_NPI

(정수, 0 - 255) 기본적으로 바인드 작업은 ESME NPI 값으로 알 수 없는 NPI를 나타내는 0을 지정합니다. 이 옵션을 사용하면 0부터 255까지 범위의 대체 정수 값이 할당될 수 있습니다. 일반 NPI 값을 보여주는 표는 DEFAULT_DESTINATION_NPI 옵션 설명을 참조하십시오.

ESME_ADDRESS_TON

(정수, 0 - 255) 기본적으로 바인드 작업은 ESME TON 값으로 0을 지정합니다. 이 옵션을 사용하면 0부터 255까지 범위의 대체 정수 값이 할당될 수 있습니다. 일반 TON 값을 보여주는 표는 DEFAULT_DESTINATION_TON 옵션 설명을 참조하십시오.

ESME_IP_ADDRESS

(문자열, 0 - 15 바이트) SMPP 서버에 바인드할 때 BIND PDU는 클라이언트의(즉, ESME) 주소 범위가 IP 주소임을 나타냅니다. 이것은 TON과 NPI를 각각 0x00 및 0x0d로 지정하는 방법으로 수행합니다. 그런 다음 주소 범위 필드의 값이 SMS 채널을 실행하는 호스트의 IP 주소로 설정됩니다. IP 주소를 점으로 구분된 십진수 형식(예: 127.0.0.1)으로 지정합니다.

ESME_PASSWORD

(문자열, 0 - 8바이트) SMPP 서버에 바인드할 때 비밀번호가 필요할 수 있습니다. 그럴 경우 이 옵션을 사용하여 비밀번호를 지정합니다. 기본적으로 길이가 0인 비밀번호 문자열이 제공됩니다.

ESME_SYSTEM_ID

(문자열, 0 - 15 바이트) SMPP 서버에 바인드할 때 MTA의 시스템 아이디가 제공될 수 있습니다. 기본적으로 시스템 아이디는 지정되지 않습니다(즉, 길이가 0인 문자열이 사용됨). 시스템 아이디를 지정하려면 이 옵션을 사용합니다.

ESME_SYSTEM_TYPE

(문자열, 0 - 12바이트) SMPP 서버에 바인드할 때 MTA의 시스템 유형이 제공될 수 있습니다. 기본적으로 시스템 유형은 지정되지 않습니다(즉, 길이가 0인 문자열이 사용됨).

MAX_PAGES_PER_BIND

(정수, >= 0) 일부 SMPP 서버는 단일 바운드 세션 도중 전송되는 최대 SMS 메일 수를 제한할 수 있습니다. 이러한 상황에서 이 옵션을 사용하면 단일 세션 동안에 전송할 최대 SMS 메일 수를 지정할 수 있습니다. 지정된 한도에 도달하면 채널은 바인드 해제를 수행하고 TCP/IP 연결을 닫았다가 다시 연결한 후에 바인드를 다시 수행합니다.

기본적으로 MAX_PAGES_PER_BIND에 값 1024가 사용됩니다. 채널은 또한 ESME_RTHROTTLED 오류를 감지하고 이에 따라 채널의 단일 실행 동안에 MAX_PAGES_PER_BIND를 조정합니다.

REVERSE_ORDER

(0 또는 1) 전자 메일에서 둘 이상의 SMS 메일을 생성할 경우 이러한 SMS 메일을 순차적 순서(REVERSE_ORDER=0) 또는 역순차적 순서(REVERSE_ORDER=1)로 SMSC에 전송할 수 있습니다. 역순차적 순서는 수신 단말기에서 마지막으로 받은 메일을 가장 먼저 표시할 경우에 유용합니다. 이 경우 마지막으로 받은 메일은 전자 메일의 마지막 부분이 아니라 첫 번째 부분이 됩니다. 기본적으로 REVERSE_ORDER=1이 사용됩니다.

USE_SAR=1을 지정하면 이 옵션이 무시됩니다.

SMPP_MAX_CONNECTIONS

(정수, 1 - 50) 이 옵션은 프로세스당 최대 동시 SMPP 연결 수를 제어합니다. 각 연결에 연관된 스레드가 있으므로 이 옵션은 또한 프로세스당 최대 "작업자" 스레드 수를 제한합니다. 기본적으로 SMPP_MAX_CONNECTIONS=20입니다.

SMPP_PORT

(정수, 1 - 65535) SMPP 서버가 수신하는 TCP 포트는 이 옵션이나 port 채널 키워드를 사용하여 지정할 수 있습니다. 이 포트 번호는 이러한 두 기법 중 하나를 통해 지정해야 합니다. 두 기법 모두를 사용하여 지정할 경우 SMPP_PORT 옵션을 사용하여 설정한 값이 우선합니다. 이 옵션에는 기본값이 없습니다.

양방향 SMS의 경우 SMPP 중계를 위한 LISTEN_PORT와 동일한 포트인지 확인합니다.

SMPP_SERVER

(문자열, 1 - 252 바이트) 단방향 SMS의 경우 연결할 SMPP 서버의 IP 호스트 이름은 채널과 연관된 공식 호스트 이름입니다(즉, MTA 구성에서 채널 정의의 두 번째 행에 표시된 호스트 이름). 이 옵션을 사용하면 채널 정의에 지정된 이름을 무시하는 다른 호스트 이름이나 IP 주소를 지정할 수 있습니다. IP 주소를 지정할 때는 점으로 구분된 십진수 표기법(예: 127.0.0.1)을 사용합니다.

양방향 SMS의 경우 SMS 게이트웨이 서버의 호스트 이름이나 IP 주소를 가리키도록 설정합니다. SMPP 릴레이의 LISTEN_INTERFACE_ADDRESS 옵션을 사용할 경우 지정된 네트워크 인터페이스 주소와 연관된 호스트 이름이나 IP 주소를 사용해야 합니다.

TIMEOUT

(정수, >= 2) SMPP 서버에 데이터를 쓰거나 SMPP 서버로부터 데이터를 받기 위해 기다릴 때 기본적으로 30초의 시간 초과가 사용됩니다. 다른 시간 초과 값을 초 단위로 지정하려면 TIMEOUT 옵션을 사용합니다. 지정된 값은 최소 1초 이상이어야 합니다.

현지화 옵션

SMS 메일 구성 시 SMS 채널은 SMS 메일에 포함할 여러 고정 텍스트 문자열을 가집니다. 예를 들어, 이러한 문자열은 전자 메일의 From: 주소 및 Subject: 헤더 행을 소개합니다. 이 절에 설명된 채널 옵션을 사용하면 이러한 문자열의 버전을 다른 언어로 지정한 다음 채널의 기본 언어를 지정할 수 있습니다. 예 D–2에서는 옵션 파일의 언어 부분을 보여 줍니다.


예 D–2 채널 옵션 파일의 언어 지정 부분


LANGUAGE=default-language

[language=i-default]
FROM_PREFIX=From:
SUBJECT_PREFIX=Subj:
CONTENT_PREFIX=Msg:
LINE_STOP= NO_MESSAGE=[no message]
REPLY_PREFIX=Re:

[language=en]
FROM_PREFIX=From:
SUBJECT_PREFIX=Subj:
CONTENT_PREFIX=Msg:
LINE_STOP= 
NO_MESSAGE=[no message]
REPLY_PREFIX=Re:
  ...

[language=x] 블록 내에서 해당 언어와 관련된 현지화 옵션을 지정할 수 있습니다. 이 블록 안에 특정 옵션을 지정하지 않을 경우 해당 옵션의 전역 값이 사용됩니다. [language=x] 블록 외부에 지정된 현지화 옵션은 해당 옵션의 전역 값을 설정합니다.

아래 나열된 옵션의 경우 US-ASCII 또는 UTF-8 문자 세트를 사용하여 문자열 값을 지정해야 합니다. US-ASCII 문자 세트는 UTF-8 문자 세트의 특수한 경우입니다.

CONTENT_PREFIX

(문자열, 0 - 252 바이트) SMS 메일에서 전자 메일의 내용 앞에 포함되는 텍스트 문자열입니다. 기본 전역 값은 US-ASCII 문자열 “Msg:”입니다.

DSN_DELAYED_FORMAT

(문자열, 0-256자) 전달 지연 알림에 대한 서식 지정 문자열입니다. 기본적으로 이 옵션에는 빈 문자열이 사용되며 이 경우 지연 알림이 SMS로 변환되지 않습니다. 이 옵션을 적용하려면 GATEWAY_NOTIFICATIONS1로 설정되어야 합니다. GATEWAY_NOTIFICATIONS=0일 경우 이 옵션은 무시됩니다.

DSN_FAILED_FORMAT

(문자열, 0-256자) 영구 전달 실패 알림의 서식 지정 문자열입니다. 이 옵션의 기본값은 다음 문자열입니다.

Unable to deliver your message to $a; no further delivery attempts will be 
made.

실패한 알림이 변환되는 것을 방지하려면 이 옵션에 빈 문자열을 지정합니다. 이 옵션을 적용하려면 GATEWAY_NOTIFICATIONS1로 설정되어야 합니다. GATEWAY_NOTIFICATIONS=0일 경우 이 옵션은 무시됩니다.

DSN_RELAYED_FORMAT

(문자열, 0-256자) 릴레이 알림의 서식 지정 문자열입니다. 기본값은 다음 문자열입니다.

Your message to $a has been relayed to a messaging system which may not 
provide a final delivery confirmation

중계 알림이 변환되는 것을 방지하려면 이 옵션에 빈 문자열을 지정합니다. 이 옵션을 적용하려면 GATEWAY_NOTIFICATIONS1로 설정되어야 합니다. GATEWAY_NOTIFICATIONS=0일 경우 이 옵션은 무시됩니다.

DSN_SUCCESS_FORMAT

(문자열, 0-256자) 성공한 전달 알림의 서식 지정 문자열입니다. 기본값은 다음 문자열입니다.

Your message to $a has been delivered

성공한 전달 알림이 변환되는 것을 방지하려면 이 옵션에 빈 문자열을 지정합니다. 이 옵션을 적용하려면 GATEWAY_NOTIFICATIONS1로 설정되어야 합니다. GATEWAY_NOTIFICATIONS=0일 경우 이 옵션은 무시됩니다.

FROM_FORMAT

(문자열, 0 - 252 바이트) SMS 메일에 삽입할 메일 발송자 정보의 서식 지정을 위한 서식 지정 템플리트입니다. 기본 전역 값은 메일 발송자의 전자 메일 주소로 대체되는 US-ASCII 문자열 “$a”입니다. 서식 지정 템플리트를 참조하십시오.

FROM_NONE

(문자열, 0 - 252 바이트) 표시할 메일 발송자 주소가 없을 경우 SMS 메일에 포함할 텍스트 문자열입니다. 기본 전역 값은 빈 문자열입니다.

사이트는 일반적으로 메일 발송자의 주소가 없는 전자 메일을 거부하므로 이 옵션은 거의 사용되지 않습니다.

LANGUAGE

(문자열, 0 - 40 바이트) 텍스트 문자열을 선택할 기본 언어 그룹입니다. 값을 지정하지 않을 경우 호스트의 기본 로켈 지정에서 언어가 파생됩니다. 호스트의 로켈 지정을 사용할 수 없거나 "C"에 해당할 경우 i-default가 사용됩니다. (i-default는 "전세계 사용자를 대상으로 하는 영어 텍스트"에 해당)

LINE_STOP

(문자열, 0 - 252 바이트) SMS 메일에서 전자 메일로부터 추출한 행 사이에 포함할 텍스트 문자열입니다. 기본 전역 값은 US-ASCII 공백 문자(" ")입니다.

NO_MESSAGE

(문자열, 0 - 252 바이트) 전자 메일에 내용이 없음을 나타내기 위해 SMS 메일에 포함할 텍스트 문자열입니다. 기본 전역 값은 US-ASCII 문자열 "[no message]"입니다.

SUBJECT_FORMAT

(문자열, 0 - 252 바이트) SMS 메일에 표시할 Subject: 헤더 행 내용의 서식 지정을 위한 서식 지정 템플리트입니다. 이 옵션의 전역 기본 값은 US-ASCII 문자열 "($s)"입니다. 자세한 내용은 서식 지정 템플리트를 참조하십시오.

Subject: 헤더 행이 없거나 해당 헤더 행의 내용이 비어 있는 경우의 처리 방법은 SUBJECT_NONE 옵션을 참조하십시오.

SUBJECT_NONE

(문자열, 0 - 252 바이트) 원본 전자 메일에 Subject: 헤더 행이 없거나 Subject: 헤더 행의 값이 빈 문자열일 경우 표시할 텍스트 문자열입니다. 이 옵션의 기본 전역 값은 빈 문자열입니다.

DEBUG

(정수, 비트 마스크) 디버그 출력을 사용 가능하게 합니다. 기본값은 경고 및 오류 메시지를 선택하는 6입니다. 0이 아닌 모든 값은 채널 정의에서 master_debug를 지정하는 것과 동일하게 채널 자체에 대한 디버그 출력을 사용 가능하게 합니다.표 D–16에는 DEBUG 비트 마스크의 비트 값이 정의되어 있습니다.

표 D–16 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 

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

서식 지정 템플리트

FROM_FORMAT, SUBJECT_FORMAT 및 모든 DSN_* 채널 옵션으로 지정하는 서식 지정 템플리트는 리터럴 텍스트 및 대체 시퀀스의 조합을 포함하는 UTF-8 문자열입니다. 다음과 같은 샘플 전자 메일 주소를 가정합니다.

Jane Doe <user@siroe>

다음 표 D–17에서는 인식되는 대체 시퀀스를 보여 줍니다.

표 D–17 대체 시퀀스

시퀀스 

설명 

$a

메일 발송자의 전자 메일 주소에 있는 로컬 및 도메인 부분(예: "user@siroe")으로 교체됩니다.

$d

메일 발송자의 전자 메일 주소에 있는 도메인 부분(예: "domain")으로 교체됩니다.

$p

메일 발송자의 전자 메일 주소에 있는 구 부분(예: "Jane Doe")으로 교체됩니다.

$s

Subject: 헤더 행의 내용으로 교체합니다.

$u

메일 발송자의 전자 메일 주소에 있는 로컬 부분(예: "user")으로 교체됩니다.

\x

리터럴 문자 “x”로 교체됩니다.

예를 들어, 다음 서식 지정 템플리트는

From: $a

다음 텍스트 문자열을 생성합니다.

From: user@siroe

다음 구조는

${xy:alternate text}

시퀀스 x와 연관된 텍스트로 대체하는 데 사용할 수 있습니다. 해당 텍스트가 빈 문자열인 경우 시퀀스 y와 연관된 텍스트가 대신 사용됩니다. 또한 위 구조는 해당 테스트가 빈 문자열인 경우 대체 텍스트로 대체하는 데 사용할 수 있습니다. 예를 들어, 다음과 같은 서식 지정 템플리트를 가정합니다.

From: ${pa:unknown sender}

구 부분을 포함하는 메일 발송자의 전자 메일 주소의 경우

John Doe <jdoe@siroe.com>

이 템플리트에서는 다음을 생성합니다.

From: John Doe

그러나 구가 없는 다음 주소의 경우

jdoe@siroe.com

이 템플리트는 다음을 생성합니다.

From: jdoe@siroe.com

빈 메일을 보낸 발송자 주소의 경우에는 다음을 생성합니다.

From: unknown sender

SMS 채널 추가

둘 이상의 SMS 채널을 가지도록 MTA를 구성할 수 있습니다. 이는 일반적으로 다음 두 가지 이유 때문입니다.

  1. 다른 SMPP 서버와 통신하려는 경우

    이것은 매우 간단하여 단순히 추가 SMS 채널을 구성에 추가하면 됩니다. 이 과정에서 추가 SMS 채널에 (a)다른 채널 이름을 제공하고 (b) 다른 호스트 이름을 연관시킵니다. 예를 들면 다음과 같습니다.


    sms_mway port 55555 threaddepth 20  
    smpp.siroe.com
    
    sms_ace port 777 threaddepth 20
    sms.ace.net

    새로운 다시 쓰기 규칙은 필요하지 않습니다. 직접적으로 일치되는 다시 쓰기 규칙이 없을 경우 Messaging Sever는 연관된 호스트 이름을 가진 채널을 찾습니다. 예를 들어, user@host.domain으로 표시될 경우 Messaging Sever는 "host.domain"이라는 이름의 채널을 찾습니다. 이러한 채널이 발견되면 메일은 해당 채널로 라우팅됩니다. 그렇지 않을 경우 서버는 다시 쓰기 규칙에서 ".domain"을 찾고, 없을 경우 점(".") 규칙을 찾습니다. 다시 쓰기 규칙에 대한 자세한 내용은 11 장, 다시 쓰기 규칙 구성을 참조하십시오.

  2. 다른 채널 옵션을 사용하여 동일한 SMPP 서버와 통신하려는 경우

    다른 채널 옵션을 사용하여 동일한 SMPP 서버와 통신하려면 각 채널 정의의 SMPP_SERVER 채널 옵션에서 동일한 SMPP 서버를 지정합니다.

    이 기법을 사용해야 하는 이유는 두 개의 다른 채널이 동일한 공식 호스트 이름(즉, 채널 정의의 두 번째 행에 나열된 호스트 이름)을 가질 수 없기 때문입니다. 이러한 채널이 동일한 SMPP 서버와 통신할 수 있게 하려면 해당 채널 옵션 파일의 SMPP_SERVER에서 동일한 SMPP 서버를 지정하는 별개의 채널 두 개를 정의합니다.

    예를 들어, 다음 채널 정의와


    sms_mway_1 port 55555 threaddepth 20
    SMS-DAEMON-1
    
    sms_mway_2 port 55555 threaddepth 20
    SMS-DAEMON-2

    다음 다시 쓰기 규칙이 있다고 가정합니다.


    sms-1.siroe.com $u%sms-1.siroe.com@SMS-DAEMON-1
    sms-2.siroe.com $U%sms-2.siroe.com@SMS-DAEMON-2

    이 경우에 동일한 SMPP 서버를 사용하기 위해 이러한 두 채널은 각각 해당 채널 옵션 파일에서 SMPP_SERVER=smpp.siroe.com을 지정합니다.

전달 재시도 빈도 조정

SMPP 서버에 도달할 수 없는 경우와 같이 일시적인 오류로 인해 SMS 메일을 전달하지 못하면 전자 메일은 전달 대기열에 남아 있다가 나중에 다시 시도됩니다. 따로 구성하지 않은 경우에는 Job Controller에서 1시간 동안 전달을 다시 시도하지 않습니다. 그러나 SMS 메시징의 경우 1시간은 기다리는 시간으로 너무 깁니다. 이러한 경우에는 SMS 채널과 함께 backoff 채널 키워드를 사용하여 전달 시도에 보다 빠른 일정을 지정하는 것이 좋습니다. 예를 들면 다음과 같습니다.

sms_mway port 55555 threaddepth 20 \ 
  backoff pt2m pt5m pt10m pt30m notices 1
smpp.siroe.com

위 설정에서는 첫 시도가 있은 후 2분, 5분 및 10분 후에 한 번씩 재전달이 시도되며이러한 시도가 모두 실패할 경우 마지막으로 30분마다 재전달이 시도됩니다. notices 1 채널 키워드는 하루가 지나도록 메일을 전달할 수 없는 경우 해당 메일을 전달할 수 없는 것으로 반환합니다.

샘플 단방향 구성(MobileWay)

MTA SMS 채널은 모든 SMPP V3.4 호환 SMPP 서버에서 사용할 수 있습니다. 이 절에서는 구성 예를 제시하기 위해 MobileWay SMPP 서버에서 사용하도록 SMS 채널을 구성하는 방법에 대해 설명합니다. MobileWay(http://www.mobileway.com/)는 전역 데이터 및 SMS 연결의 주요 공급업체입니다. MobileWay를 통해 SMS 트래픽을 라우팅하면 전세계 대부분의 주요 SMS 네트워크상에 있는 SMS 가입자에 도달할 수 있습니다.

MobileWay를 통해 SMPP 계정을 요청할 때는 다음 질문에 답하라는 메시지가 나타날 수 있습니다.

위 질문에 대한 대답을 MobileWay에 제공하면 SMPP 서버와 통신하는 데 필요한 SMPP 계정 및 정보가 다음과 같이 제공됩니다.


Account Address: a.b.c.d:p
Account Login: system-id
Account Passwd: secret

계정 주소 필드는 연결할 MobileWay SMPP 서버의 IP 주소 a.b.c.d 및 TCP 포트 번호 p입니다. 이러한 값을 SMPP_SERVER SMPP_PORT 채널 옵션에 사용합니다. 계정 로그인 및 비밀번호는 각각 ESME_SYSTEM_ID ESME_PASSWORD 채널 옵션에 사용할 값입니다. 이 정보를 사용하여 채널 옵션 파일에 다음을 포함해야 합니다.


SMPP_SERVER=a.b.c.d
SMPP_PORT=p
ESME_SYSTEM_ID=system-id
ESME_PASSWORD=secret

이제 MobileWay와 상호 작용하기 위해 다음과 같은 두 개의 추가 옵션 설정이 필요합니다.


ESME_ADDRESS_TON=0x01
DEFAULT_DESTINATION_TON=0x01

imta.cnf 파일의 다시 쓰기 규칙은 다음과 같이 나타날 수 있습니다.

sms.your-domain $u@sms.your-domain

또한 imta.cnf 파일의 채널 정의는 다음과 같이 나타날 수 있습니다.


sms_mobileway 
sms.your-domain

일단 채널 옵션 파일, 다시 쓰기 규칙 및 채널 정의가 제대로 되면 테스트 메일을 보낼 수 있습니다. MobileWay는 다음과 같은 형식의 국제 주소 지정을 요구합니다.

+<country-code><subscriber-number>

예를 들어, 가입자 번호가 (800) 555-1212인 북미 가입자에게 테스트 메일을 보내려면 전자 메일 주소를 다음과 같이 지정합니다.

+18005551212@sms.your-domain

디버깅

채널을 디버그하려면 채널 정의에서 master_debug 채널 키워드를 지정합니다. 예를 들면 다음과 같습니다.


sms_mway port 55555 threaddepth 20 \ 
backoff pt2m pt5m pt10m pt30m notices 1 master_debug

master_debug 채널 키워드를 사용하면 채널 작업에 대한 기본 진단 정보가 채널의 로그 파일에 출력됩니다. 채널에서 수행한 SMPP 트랜잭션에 대한 자세한 진단 정보를 원할 경우에는 또한 해당 채널의 옵션 파일에서 다음을

DEBUG=-1

지정합니다.

양방향 SMS를 위한 SMS 채널 구성

SMS 채널 구성에 대한 일반 지침은 이전 SMS 채널 구성 절부터 설명된 항목을 참조하십시오. 다음 표 D–18에 나열된 사항을 제외하고 SMS 채널을 마치 원격 SMSC에 직접 연결하는 것처럼 구성합니다.

표 D–18 양방향 구성 예외

예외 

설명 

master 채널 키워드

master 채널 키워드를 제거합니다(있을 경우).

SMS 채널 구성에 더 이상 필요하지 않습니다. 

SMPP_SERVER

SMS 게이트웨이 서버의 호스트 이름이나 IP 주소를 가리키도록 설정합니다. SMPP 릴레이의 LISTEN_INTERFACE_ADDRESS 옵션( 구성 옵션 참조)을 사용할 경우 지정된 네트워크 인터페이스 주소와 연관된 호스트 이름이나 IP 주소를 사용해야 합니다.

SMPP_PORT

SMPP 중계( SMPP 중계 참조)를 인스턴스화하는 데 사용되는 LISTEN_PORT 설정과 동일한 TCP 포트가 사용됩니다.

DEFAULT_SOURCE_ADDRESS

값을 선택한 다음 이 주소를 다시 게이트웨이 SMPP 서버로 라우팅하도록 원격 SMSC를 구성합니다. SMS 채널의 옵션 파일에서 이 옵션을 사용하여 선택한 값을 지정합니다. 

GATEWAY_PROFILE 

게이트웨이 프로필 이름과 일치하도록 설정합니다. 게이트웨이 프로필을 참조하십시오.

USE_HEADER_FROM

0으로 설정합니다.

다른 모든 채널은 SMS 채널 설명서에 설명된 대로 구성되어야 합니다.

양방향 SMS 라우팅 설정에 언급된 대로 원격 SMSC의 경우 LISTEN_PORT 옵션에 지정된 TCP 포트 번호를 사용하여 DEFAULT_SOURCE_ADDRESS 채널 옵션에 정의된 SMS 주소를 게이트웨이의 SMPP 서버에 라우팅하도록 구성해야 합니다. LISTEN_PORT를 지정하는 방법은 SMPP 서버를 참조하십시오.

여러 SMS 채널에서 동일한 SMPP 중계를 사용할 수 있습니다. 마찬가지로 여러 SMS 채널의 SMS 응답과 알림을 처리하기 위해 하나의 SMPP 서버 또는 게이트웨이만 필요합니다. 여러 중계, 서버 및 게이트웨이 프로필을 구성하는 기능은 구성 옵션을 통해 여러 다른 사용 특성을 구현하는데 필요합니다.

SMS 게이트웨이 서버 작동 이론

SMS 게이트웨이 서버는 모바일에서 전송된 SMS 메일을 정확한 전자 메일 주소와 일치시키는 기법을 통해 양방향 SMS를 용이하게 합니다. 이 절은 다음과 같은 SMS 게이트웨이 서버 항목으로 구성되어 있습니다.

SMS 게이트웨이 서버 기능

SMS 게이트웨이 서버는 SMPP 중계와 서버의 기능을 동시에 수행합니다. SMS 게이트웨이 서버는 각 기능의 여러 "인스턴스화"를 가지도록 구성할 수 있습니다. 예를 들어, 각각 다른 TCP 포트나 네트워크 인터페이스를 수신하고 다른 원격 SMPP 서버로 중계하는 세 개의 다른 SMPP 중계를 가지도록 구성할 수 있습니다. 마찬가지로 각각 TCP 포트 및 네트워크 인터페이스의 다른 조합을 수신하는 네 개의 다른 SMPP 서버를 가지도록 SMS 게이트웨이 서버를 구성할 수 있습니다.

SMS 게이트웨이 서버는 SMS 메일을 전자 메일로 보내기 위한 0개 이상의 게이트웨이 프로필을 가질 수 있습니다. 각 게이트웨이 프로필은 해당 프로필과 일치하는 대상 SMS 주소, SMS 메일에서 대상 전자 메일 주소를 추출하는 방법, SMS에서 전자 메일로의 변환 프로세스가 가진 다양한 특성 등을 설명합니다. SMS 중계 또는 서버를 통해 SMS 게이트웨이 서버에 제공된 각 SMS 메일은 각 프로필과 비교됩니다. 일치하는 항목이 발견되면 해당 메일은 전자 메일로 라우팅됩니다.

마지막으로 게이트웨이 프로필은 또한 이전 ETM(Email-To-Mobile) 메일에 응답하여 원격 SMSC가 반환한 알림 메일을 처리하는 방법을 설명합니다.

SMPP 중계 및 서버의 동작

SMPP 중계로 작동할 때 SMS 게이트웨이 서버는 로컬 SMPP 클라이언트의 모든 요청을 원격 SMPP 서버로 중계한 다음 원격 서버의 응답을 다시 중계하면서 가능한 투명하게 작업을 시도합니다. 그러나 다음 두 가지 경우는 예외입니다.

일반적으로 SMS 게이트웨이 서버는 생성되는 고유한 SMS 소스 주소가 게이트웨이 프로필 중 하나와 일치하도록 구성됩니다.


주 –

SMS 게이트웨이 서버의 SMPP 중계는 정규화된 Sun Java System SMPP 클라이언트, 즉 Sun Java System Messaging Server의 SMS 채널에서만 사용하도록 되어 있습니다. 따라서 임의의 SMPP 클라이언트에서는 사용되지 않습니다.


SMPP 서버로 작동할 때 SMS 게이트웨이 서버는 다음과 같은 세 가지 경우에 SMS 메일을 전자 메일로 전송합니다.

다른 모든 SMS 메일은 SMPP 서버에 의해 거부됩니다.

원격 SMPP에서 게이트웨이 SMPP로의 통신

원격 SMPP 클라이언트는 PDU(Protocol Data Unit)를 사용하여 게이트웨이 SMPP 서버와 통신합니다. 원격 SMPP 클라이언트는 게이트웨이 SMPP 서버가 응답하는 요청 PDU를 보냅니다. 게이트웨이 SMPP 서버는 동기식으로 작동합니다. 게이트웨이 SMPP 서버는 연결된 원격 SMPP 클라이언트의 다음 요청 PDU를 처리하기 전에 요청 PDU에 대한 응답을 완료합니다.

다음 표 D–19에는 게이트웨이 SMPP 서버가 처리하는 요청 PDU와 게이트웨이 SMPP 서버의 응답이 나열되어 있습니다.

표 D–19 SMPP 서버 PDU(Protocol Data Unit)

요청 PDU 

SMPP 서버 응답 

BIND_TRANSMITTERBIND _TRANSCEIVERUNBIND

적절한 응답 PDU로 응답합니다. 인증 자격 증명은 무시됩니다. 

OUTBIND

게이트웨이 SMPP 서버가 BIND_RECEIVER PDU를 되돌려 보냅니다. 표시된 인증 자격 증명은 무시됩니다.

SUBMIT_SMDATA_SM

고유한 SMS 소스 주소나 게이트웨이 프로필의 SELECT_RE 설정을 사용하여 대상 SMS 주소와 일치시키려고 시도합니다. 둘 다 일치하지 않을 경우 ESME_RINVDSTADR 오류와 함께 PDU가 거부됩니다.

DELIVER_SM

기록 레코드에서 대상 SMS 주소나 수신 확인된 메일 아이디를 찾으려고 시도합니다. 둘 다 일치하지 않을 경우 ESME_RINVMSGID 오류를 반환합니다.

BIND_RECEIVER

지원되지 않습니다. ESME_RINVCMDID 오류와 함께 GENERIC_NAK PDU를 반환합니다.

SUBMIT_MULTI

지원되지 않습니다. ESME_RINVCMDID 오류와 함께 GENERIC_NAK PDU를 반환합니다.

REPLACE_SM

지원되지 않습니다. ESME_RINVCMDID 오류와 함께 GENERIC_NAK PDU를 반환합니다.

CANCEL_SM

지원되지 않습니다. ESME_RINVCMDID 오류와 함께 GENERIC_NAK PDU를 반환합니다.

QUERY_SM

지원되지 않습니다. ESME_RINVCMDID 오류와 함께 GENERIC_NAK PDU를 반환합니다.

QUERY_LAST_MSGS

지원되지 않습니다. ESME_RINVCMDID 오류와 함께 GENERIC_NAK PDU를 반환합니다.

QUERY_MSG_DETAILS

지원되지 않습니다. ESME_RINVCMDID 오류와 함께 GENERIC_NAK PDU를 반환합니다.

ENQUIRE_LINK

ENQUIRE_LINK_RESP PDU를 반환합니다.

ALERT_NOTIFICATION

허용되지만 무시됩니다. 

SMS 중계 및 알림 처리

SMS 게이트웨이 서버는 해당 SMPP 중계를 통해 중계된 각 SMS 메일의 기록 레코드를 유지 관리합니다. 기록 데이터를 사용하는 이유는 전자 메일을 SMS로 전송할 때 일반적으로 메일 발송자의 전자 메일 주소를 SMS 소스 주소로 변환할 수 없기 때문입니다. 이 경우 모든 SMS 응답과 알림이 이 SMS 소스 주소로 전송되므로 문제가 발생합니다. 이 문제는 자동으로 생성된 고유한 SMS 소스 주소를 중계된 메일에서 사용하는 방법으로 해결합니다. 그런 다음 원격 SMSC는 이러한 SMS 소스 주소를 다시 게이트웨이 SMPP 서버로 라우팅하도록 구성됩니다.

기록 데이터는 메일 아이디와 생성된 고유한 SMS 소스 주소의 메모리 내장 해시 테이블로 표시됩니다. 또한 이 데이터는 연관된 전자 메일 원본 데이터와 함께 디스크에 저장됩니다. 이러한 디스크 기반 저장소는 일련의 파일로써 각 파일은 트랜잭션의 HASH_FILE_ROLLOVER_PERIOD 기간(초 단위이며 기본값은 30분)을 나타냅니다. 각 파일은 RECORD_LIFETIME 기간(초 단위이며 기본값은 3일) 동안 보관됩니다. 기록 데이터의 메모리 내장 및 디스크 내장 자원 요구 사항에 대한 자세한 내용은 Sun Java System Communications Services 6 2005Q4 Deployment Planning Guide를 참조하십시오.

각 레코드는 다음 세 가지 구성 요소를 가집니다.

SMS 응답의 라우팅 프로세스

게이트웨이 SMPP 중계 및 서버는 기록 레코드를 사용하여 SMS 응답, 알림 및 모바일에서 전송된 메일을 처리합니다. SMS 메일이 SMPP 중계 또는 서버에 제공될 때 다음 라우팅 프로세스를 따릅니다.

  1. SMPP 중계가 이전에 생성한 일치하는 고유한 SMS 소스 주소가 있는지 확인하기 위해 SMS 대상 주소가 기록 레코드와 비교됩니다. 일치하는 항목이 발견된 경우 단계 6으로 이동합니다.

  2. 일치하는 항목이 없지만 메일이 SMS 알림(SMPP DELIVER_SM PDU)일 경우 수신 확인된 메일 아이디(존재할 경우)가 기록 레코드와 비교됩니다. 일치하는 항목이 발견된 경우 단계 8로 이동합니다. [SMS 게이트웨이 서버는 실제로 이러한 항목을 SMPP 릴레이 또는 SMPP 서버에 제공하는 것을 허용합니다.]

  3. 일치하는 항목이 없을 경우 대상 SMS 주소가 구성된 각 게이트웨이 프로필의 SELECT_RE 옵션 표현식과 비교됩니다. 일치하는 항목이 발견된 경우 단계 9로 이동합니다.

  4. 일치하는 항목이 없고 SMS 메일이 게이트웨이 SMPP 중계에 제공된 경우 메일은 원격 SMPP 서버로 중계됩니다.

  5. 일치하는 항목이 없고 SMS 메일이 게이트웨이 SMPP 서버에 제공된 경우 해당 메일이 잘못된 것으로 결정되어 SMPP 응답 PDU에서 오류 응답이 반환됩니다. 전자 메일에서 SMS로의 경우 최종적으로 NDN(Non Delivery Notification)이 생성됩니다.

  6. 일치하는 고유한 SMS 소스 주소가 발견된 경우 SMS 메일을 추가로 검사하여 응답 또는 알림 메일인지 확인합니다. 알림 메일이 되려면 수신 확인된 메일 아이디가 있는 SUBMIT_SM PDU여야 합니다. 그렇지 않을 경우 해당 메일은 응답으로 간주됩니다.

  7. 응답일 경우 SMS 메일은 기록 레코드의 원본 전자 메일 정보를 사용하여 전자 메일로 변환됩니다.

  8. 알림일 경우 SMS 메일은 RFC 1892-1894에 따라 전자 메일 DSN(Delivery Status Notification)으로 변환됩니다. 이 때 원본 전자 메일의 ESMTP NOTIFY 플래그(RFC 1891)가 적용됩니다. 예를 들어, SMS 메일이 "성공" DSN이지만 원본 전자 메일이 "실패" 알림만 요청한 경우 SMS 알림은 무시됩니다.

  9. 대상 SMS 주소가 구성된 게이트웨이 프로필의 SELECT_RE 옵션과 일치할 경우 SMS 메일은 모바일에서 전송된 메일로 간주되며 해당 게이트웨이 프로필에 대한 PARSE_RE_n 규칙에 따라 다시 전자 메일로 변환됩니다. 변환이 실패할 경우 SMS 메일이 잘못된 것이므로 오류 응답이 반환됩니다.

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을 추가했는지 확인합니다.

SMS 게이트웨이 서버 저장소 요구 사항

SMS 게이트웨이 서버에 필요한 자원의 양을 결정하려면 표 D–27의 요구 사항을 토대로 얻어진 숫자와 함께 초당 예상되는 릴레이 메일 수와 RECORD_LIFETIME 설정을 사용합니다.

표 D–27에서는 기록 데이터, SMPP 릴레이 및 SMPP 서버에 대한 요구 사항을 보여 줍니다.

표 D–27 SMS 게이트웨이 서버 저장소 요구 사항

구성 요소 

요구 사항 

메모리 내장 기록 레코드 

릴레이된 각 메일은 33+m+s 바이트의 가상 메모리가 필요합니다. 여기서 m은 메일의 SMS 메일 아이디의 길이(1 <= m <= 64)이고 s는 메일의 SMS 소스 주소의 길이(1 <= s<= 20)입니다.

MAKE_SOURCE_ADDRESS_UNIQUE=0이면 16+m바이트만 사용됩니다. 64비트 운영 체제의 경우 레코드당 49+m+s바이트의 가상 메모리가 사용됩니다[ MAKE_SOURCE_ADDRESS_UNIQUE=0일 경우 24+m].

또한 힙 할당자가 실제로 각 레코드에 대해 더 큰 가상 메모리를 할당할 수 있습니다. 

최대 레코드 수는 430억개입니다(2**32-1). 해시 테이블은 레코드 수가 1680만개(2**24) 이하인 경우 약 16MB를 사용하고 6710만개(2**26) 이하인 경우 약 64MB를 사용하며 6710만개 이상인 경우 약 256MB를 사용합니다. 

64비트 운영 체제의 경우 메모리 소비량을 두 배로 늘립니다. 

각 레코드 자체에 필요한 메모리 소비량 외에도 이러한 소비량이 요구됩니다. 

디스크 내장 기록 데이터 

중계된 각 메일에는 평균적으로 다음 수의 바이트가 필요합니다. 

81+m+2s+3a+ S+2i

여기서 

  • m은 SMS 메일 아이디의 평균 길이이며 1<=m<=64입니다.

  • s는 SMS 소스 주소의 평균 길이이며 1 <= s <= 20입니다.

  • a는 전자 메일 주소의 평균 길이이며 3 <= a <= 129입니다.

  • SSubject: 헤더 행의 평균 길이이며 0 <= S<= 80입니다.

  • i는 전자 메일 봉투 아이디의 평균 길이이며 0 <= i <= 129입니다.

    특정 레코드의 크기는 메일의 봉투 From:To: 주소의 길이, 봉투 및 메일 아이디의 길이, Subject: 헤더 행의 길이에 따라 달라집니다.

    최대 레코드 길이는 910바이트입니다.

    MAKE_SOURCE_ADDRESS_UNIQUE=0이 사용될 때 각 레코드의 크기(바이트)는 다음과 같습니다.78+m+3a+S+2i.

SMPP 중계 

중계된 각 세션은 두 개의 소켓 즉,로컬 클라이언트를 가진 소켓과 원격 서버를 가진 소켓을 사용합니다. 32비트 운영 체제에서는 연결당 약 1KB의 가상 메모리가 사용되고 64비트 운영 체제에서는 약 2KB의 가상 메모리가 사용됩니다.  

SMPP 서버 

각 받는 연결은 하나의 TCP 소켓을 사용합니다. 32비트 운영 체제에서는 연결당 약 1KB의 가상 메모리가 사용되고 64비트 운영 체제에서는 약 2KB의 가상 메모리가 사용됩니다. 

예를 들어, 초당 평균 50개의 메일이 중계될 것으로 예상할 경우 SMS 소스 주소의 길이는 13바이트, SMS 메일 아이디의 일반 길이는 12바이트, 전자 메일 주소는 24바이트, Subject: 행은 40바이트, 전자 메일 및 봉투 아이디는 각각 40바이트이고, 기록 데이터는 7일 동안 보관되며, 그 이후에는 다음과 같습니다.

모든 디스크 내장 요구 사항을 처리하기 위해 충분한 디스크가 제공될 수 있지만 32비트 시스템의 가상 메모리 요구 사항은 약 2GB로 엄격하게 제한됩니다. 필요한 가상 메모리나 디스크 저장소의 양을 줄이려면 RECORD_LIFETIME 옵션을 사용하여 레코드를 보유하는 시간을 줄입니다.