[Network] SMPP 정의서 bind_transmitter 패킷 format 이해하기

윤동환·2023년 5월 3일
0

transmitter 통신 순서

bind_transmitter 구조

command_length

  • Integer(Size octets : 4)
  • 패킷의 전체 길이를 나타냅니다.

command_id

  • Integer(Size octets : 4)
  • SMPP PDU가 나타내는 메시지 유형(예: submit_sm, query_sm 등) 을 식별합니다.
    Integer(Size octets : 4)

    bind_transmitter는 0x00000002값으로 되어있습니다.
    받는 값은 0x80000002입니다.

command_status

  • Integer(Size octets : 4)
  • SMPP 요청의 성공 또는 실패를 나타냅니다. SMPP 응답 메시지에서만 관련이
    있으며 SMPP 요청 메시지에서는 NULL로 설정해야 합니다.

sequence_number

  • Integer(Size octets : 4)
  • 통신한 패킷의 순서와 몇번째인지 확인하기 위해 사용합니다.

BODY

system_id

  • C-Octet String(Size octets : 16)
  • SMSC와 송신기로 결합하도록 요청하는 ESME 시스템을 식별합니다.
  • 바인드 시간에 ESME 또는 SMSC를 식별하는데 사용됩니다. ESME system_id는 SMSC에대해 ESME 또는 ESME 에이전트를 식별합니다.
  • SMSC system_id는 SMSC의 ID를 ESME에 제공합니다.

password

  • C-Octet String(Size octets : 9)
  • 바인드를 요청하는 ESME를 인증하기 위해 SMSC에서 사용할 수 있습니다.
  • 서비스 공급자는 SMSC에 바인딩할 때 ESME에게 암호를 제공하도록 요구할 수 있습니다.
  • 이 암호는 일반적으로 SMSC 시스템 관리자가 발급합니다.
  • 아웃바인드 작업의 경우 SMSC ID를 인증하기위해 ESME에서 사용할 수도 있습니다.

system_type

  • C-Octet String(Size octets : 13)
  • SMSC와 송신기로 결합하도록 요청하는 ESME 시스템의 유형을 식별합니다.
  • 예시로 VMS(음성 메일 시스템), OTA(무선 활성화 시스템)가 있습니다.
  • system type 지정은 선택사항으로 세부 정보를 제공하고 싶지 않다면 NULL로 설정할 수 있습니다.

interface_version

  • Integer(Size octets : 1)
  • ESME에서 지원하는 SMPP 버전을 나타냅니다.

    0x00 - 0x33 : EMSE가 버전 3.3이하의 SMPP를 지원함을 나타냅니다.
    0x34 : ESME가 버전 3.4를 지원함을 나타냅니다.
    다른 모든 값은 예약되어있습니다.

addr_ton

  • Integer(Size octets : 1)
  • Type of Number의 약자로 ESME 주소의 숫자 유형을 나타냅니다. 알려지지 않았다면 NULL

    SME 주소 매개변수에 사용할 TON을 정의합니다.
    00000000 : 알려지지않음
    00000001 : 국제적인
    00000010 : 국가의
    00000011 : 네트워크 특정
    00000100 : 가입자 번호
    00000101 : 영숫자
    00000110 : 축약
    다른 모든 값은 예약되어 있습니다.

addr_npi

  • Integer(Size octets : 1)
  • Numeric Plan Indicator의 약자로 ESME 주소에 대한 정수 번호 계획 표시기. 알려지지 않았다면 NULL

    00000000 : 알려지지않음
    00000001 : ISDN(E163/E164)
    00000011 : 데이터(X.121)
    00000100 : 텔렉스(F.69)
    00000110 : 육상 차량(E.212)
    00001000 : 국가의
    00001001 : 사적인
    00001010 : 에르메스
    00001110 : 인터넷(IP)
    00010010 : WAP 클라이언트 ID(WAP 포럼에서 정의)
    다른 모든 값은 예약되어 있습니다.

address_range

  • C-Octet String(Size octets : 41)
  • ESME 주소. 알려지지 않았다면 NULL
  • bind_receiver 및 vind_transceiver 명령에서 ESME 클라이언트가 서비스하는 SME 주소 집합을 지정하는데 사용 됩니다.
  • 단일 SME 주소를 지정할 수도 있으며, 주소범위를 지정하려면 UNIX 정규식 표현법을 사용해야 합니다.
  • 이 범위의 대상으로 지정된 메시지는 ESME로 라우팅됩니다.
  • IP는 단일 주소만 지정 가능하며 범위는 허용되지 않습니다.

bind_transmitter_resp 구조

HEADER

command_length

  • Integer(Size octets : 4)
  • 패킷의 전체 길이를 나타냅니다.

command_id

  • Integer(Size octets : 4)
  • SMPP PDU가 나타내는 메시지 유형(예: submit_sm, query_sm 등) 을 식별합니다.
    Integer(Size octets : 4)

    bind_transmitter는 0x00000002값으로 되어있습니다.
    받는 값은 0x80000002입니다.

command_status

  • Integer(Size octets : 4)
  • SMPP 요청의 성공 또는 실패를 나타냅니다. SMPP 응답 메시지에서만 관련이
    있으며 SMPP 요청 메시지에서는 NULL로 설정해야 합니다.

sequence_number

BODY

system_id

  • C-Octet String(Size octets : 16)
  • 바인드 시간에 ESME 또는 SMSC를 식별하는 데 사용됩니다.
  • ESME system_id는 SMSC에 대해 ESME 또는 ESME 에이전트를 식별합니다.
  • SMSC system_id는 SMSC의 ID를 ESME에 제공합니다.

optional paramiter

sc_interface_version

  • TLV 타입
  • SMPP version supported by SMSC
profile
모르면 공부하고 알게되면 공유하는 개발자

0개의 댓글