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

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 메일이 잘못된 것이므로 오류 응답이 반환됩니다.