무료 도구 · 메시징

SMPP 오류 코드 및 PDU 디코더

command_status, 전송 보고서의 stat 및 err 필드 또는 16진수 PDU를 붙여 넣으면 그 의미와 다음에 확인할 사항을 볼 수 있습니다.

브라우저 안에서만 처리되며 아무것도 업로드되지 않습니다.

예시 보기:

작동 방식과 한계

브라우저에서 실행됩니다. 입력한 내용은 기기에 남으며 업로드되지 않습니다.

디코더는 SMPP v3.4 및 v5.0 레이아웃에 따라 PDU를 읽습니다. 헤더, 명령, 시퀀스 번호, 필수 필드, 선택 TLV 순입니다. 표준 command_status 값은 쉬운 말로 설명합니다.

전송 보고서의 err 코드는 표준화되어 있지 않으며 SMSC마다 자체 코드를 사용합니다. 당사가 err 코드의 의미를 표시하는 경우 이는 일반적이고 익명화된 매핑이며, SMSC에 따라 다르다고 표시합니다.

데이터 출처 및 라이선스

Operator names, brands and codes shown here are public reference data compiled from national regulators and other public sources. Their appearance does not indicate any partnership, endorsement, agreement or connectivity between unicomam.com and the named operators. All trademarks belong to their owners. Data is provided “as is” with no warranty; verify against the official source before relying on it for routing, billing or compliance decisions.

규제 정보는 참고용이며 법률 자문이 아닙니다. 규제 기관 링크와 ‘최종 확인’ 날짜를 확인하십시오.

Decodes PDUs per the SMPP v3.4 / v5.0 protocol specifications (opens in a new tab) (SMPP Developers Forum / SMS Forum). DLR “err” codes are SMSC-specific; mappings shown are generic and anonymised.

SMPP 오류와 전송 보고서를 읽는 방법

SMPP는 두 곳에서 문제를 보고합니다. 요청에 대한 응답의 command_status는 요청이 수락되었는지를 알려 줍니다. 나중에 deliver_sm으로 전송되는 전송 보고서는 메시지가 단말기로 가는 동안 어떤 일이 있었는지를 알려 줍니다. command_status를 먼저 확인하십시오. 여기서의 거부는 요청 자체에 관한 것이며, 수락된 메시지만 전송 보고서를 생성합니다.

command_status 값이 0이면 요청이 수락되었다는 뜻입니다. 다른 표준 값은 원인을 가리킵니다. 바인드(잘못된 system_id 또는 비밀번호, 또는 바인드 유형이 허용하지 않는 명령), 주소(잘못된 수신 번호, 또는 경로가 허용하지 않는 TON이나 NPI), 메시지 자체(길이, data_coding 또는 esm_class), 그리고 연결이 합의된 속도보다 빠르게 전송하는 경우의 처리량이 그 원인입니다. SMPP v5.0은 서비스 유형과 셀 브로드캐스트에 관한 값을 추가하고, 일부 범위를 SMSC 벤더에 맡깁니다. 이 범위의 의미는 플랫폼마다 다릅니다.

전송 보고서에는 DELIVRD, UNDELIV, EXPIRED, REJECTD 같은 stat 값과 사유를 나타내는 err 코드가 담깁니다. stat 값은 대부분의 플랫폼에서 공통입니다. err 코드는 표준화되어 있지 않으며 SMSC마다 자체 목록을 유지합니다. 다만 상당수는 이동통신망이 보고한 원인을 그대로 전달하므로, 같은 숫자라도 경로에 따라 의미가 다를 수 있습니다. 일반적인 해석은 출발점으로 삼고, 경로 제공업체에 해당 코드 목록을 요청하십시오.

원시 PDU만 있는 경우, 헤더를 보면 명령, 상태, 그리고 요청과 응답을 짝짓는 시퀀스 번호를 알 수 있습니다. 필수 필드는 명령마다 정해진 순서로 이어지고, 선택 파라미터인 TLV가 마지막에 오며, 각 TLV는 태그, 길이, 값으로 구성됩니다. command_length가 맞지 않거나 필드가 도중에 끝나면 대개 클라이언트가 PDU를 잘못 구성했다는 뜻입니다.

대부분의 A2P 연결은 SMPP v3.4를 사용합니다. v5.0은 명령과 파라미터를 추가하지만 이를 지원하는 플랫폼은 더 적습니다. 디코더는 두 버전을 모두 지원하며 브라우저 안에서 실행되고, 붙여 넣은 내용을 어디에도 전송하지 않습니다.

자주 묻는 질문

같은 err 코드가 왜 서로 다른 의미를 가집니까?

전송 보고서 안의 오류 코드는 SMPP 규격이 아니라 각 SMSC가 정의하므로, 두 경로가 같은 숫자를 서로 다른 사유에 사용할 수 있습니다. 일반적인 매핑은 출발점으로 삼으십시오.

원시 PDU를 붙여 넣을 수 있습니까?

예, 16진수로 붙여 넣으면 됩니다. 디코더는 브라우저 안에서 실행되며 PDU는 사용자의 기기를 벗어나지 않습니다.

어떤 SMPP 버전을 지원합니까?

대부분의 A2P 연결이 사용하는 SMPP v3.4와 v5.0을 지원합니다.