https://stackoverflow.com/questions/4633217/receiving-sms-over-smpp


https://desenvolvedores.zenvia.com/sms/documentacao/smpp-integration-english-version/


https://www.smsglobal.com/smpp-api/


SMPP는 피어 투 피어 프로토콜입니다. 즉, SMS 게이트웨이 (귀하의 측)와 SMSC (이동 통신사)는 적절한 바인드 / 연결이 설정되어 있어야합니다. 송수신 할 SMS 또는 DLR이없는 경우에도 바인드가 설정되도록하는 smpp PDU (enquire_link / enquire-link_resp)의 지속적인 교환이 있습니다. 상세하게, enquire_link PDU를 보내고 응답이 없으면 (enquire_link_resp) 바인드가 손상됩니다. SMS는 배달되지 않으며 (게이트웨이 저장소에 대기 상태로 유지됨) MO (들어오는 SMS) 또는 DLR (배달 보고서)을받지 않습니다. 연결을 다시 설정하려면 연결을 다시 시작해야합니다.


따라서 제 대답은 SMSC에 대한 지속적인 연결이 필요하다는 것입니다.


이 답변을 개선하십시오

생성 30 jun.


vaggelis typaldos

8111 실버 배지 22 브론즈 배지

코멘트를 추가하다

 

4


최소한 bind_receiver가 필요하므로 메시지를 수신하려고합니다. 메시지가 언제 올 것인지 알지 못하므로 각 이벤트 후에 연결을 끊는 대신 지속적으로 연결해야합니다.


"푸시 또는 풀"에 대한 질문과 관련하여 이것은 첫 번째 문제를 해결하는 방법에 따라 다릅니다. 지속적으로 연결된 솔루션을 구축 할 수 있다면 결과는 푸시가됩니다 (캐리어가 메시지를 수신하자마자 사용자에게 푸시합니다). (어떤 이유로 든) 일정한 연결을 유지할 수 없다면 풀 메커니즘을 구축하게됩니다. X 초 동안 이동 통신사에 연결하여 기다리는 메시지가 있는지 확인합니다.


그래도 2 가지 함정을 강조해야합니다.


전 세계의 많은 이동 통신사, 연결되어 있지 않은 경우 메시지를 저장하거나 수락하지 않으므로 상호 작용하는 이동 통신사에 따라 연속 연결을 사용해야 할 수 있습니다.

대부분의 이동 통신사는 연속으로 빠르게 연결을 열고 닫을 수 없습니다. 연결을 끊으면 X 초 동안 다시 연결할 수 없습니다.

따라서 끊임없는 연결이 실제로 진행됩니다. 또는 메시지가 도착할 때마다 HTTP 호출을 제공하는 Nexmo와 같은 회사를 조사 할 수 있습니다.


응용 프로그램을 개발하는 언어가 확실하지 않지만 인기있는 언어 (Java, PHP, Perl)를 사용하는 경우 기본 SMPP 연결을 처리하는 모듈이 있습니다. 귀하의 언어와 "SMPP 클라이언트"에 대한 빠른 Google 검색은 참조 목록을 제공합니다.


이 답변을 개선하십시오

생성 11 may. 172017-06-11 10:38:52 s


소렌

12.8k44 골드 배지 3030 실버 배지 6363 청동 배지

생성 3 jun. 112011-06-03 17:32:52 Anonymous


마리엔

9122 청동 배지

코멘트를 추가하다

 

0


이동 통신사를 직접 연결하는 대신 SMS 애그리 게이터를 사용하는 것이 더 나은 솔루션 일 수 있습니다. 그런 다음 HTTP API를 통해 쉽게 연결할 수 있습니다 (SMS 전송을위한 URL 호출, SMS 및 배달 보고서를 수신하기 위해 서버로 URL 콜백 받기).


약간의 조정 (예 : 연결 유지 등)으로 smpp와 거의 동일한 성능을 얻을 수 있습니다.


운영자를 지원하는 애그리 게이터를 찾는 것이 좋습니다.