2017-05-15 14 views
0

설정할 수 있습니까? 나중에 고유 한 메시지 식별자가 참조 용으로 DLR에 반환됩니다.SMPP : submit_sm에 대해 message_id를 설정하십시오.

내 접근 방식은 우리가, 우리는이 ID를 저장하고 DLR이 올 때 우리는에서 ID와 일치 우리는 SMSC에서 ID를 얻을 SMSC 게이트웨이에 메시지를 보낼 수 있습니다 :

저 아래에있는 내 현재 프로세스 설명하게 dlr을 이전에 저장 한 ID로 변경합니다 (짧은 기간 동안 수 백만 개의 메시지를 푸시했기 때문에이 방법은 Google에 적합하지 않고 데이터베이스로 전달되었습니다).

내가 성취하고자하는 것은 smsc에 제출 메시지에 매개 변수를 추가하고 dlr이 돌아 왔을 때이 ID를 검색 할 수있는 방법이 있는지입니다.

:

나는 EDIT

자바

에 대한 파이썬 https://github.com/podshumok/python-smpplibhttps://github.com/uudashr/jsmpp을 내가 DeliverSM의 PDU가 아래 SM

{'ms_msg_wait_facilities': None, 'priority_flag': None, 'language_indicator': None, 'its_reply_type': None, '_sequence': 2, 'registered_delivery': True, 'schedule_delivery_time': None, 'sm_default_msg_id': None, 'callback_num_pres_ind': None, 'source_subaddress': None, '_length': 70, 'user_response_code': None, 'sar_msg_ref_num': None, 'short_message': 'Lets Test MT\n', 'privacy_indicator': None, 'user_message_reference': 12, 'sar_total_segments': None, 'dest_addr_ton': 1, 'callback_num': None, 'sar_segment_seqnum': None, '_client': <smpplib.client.Client object at 0x7f2058a6a910>, 'service_type': None, 'source_addr_ton': 1, 'payload_type': None, 'validity_period': None, 'destination_addr': '2349*********', 'esm_class': 0, 'status': 0, 'display_time': None, 'source_addr': '7****', 'replace_if_present_flag': None, 'dest_subaddress': None, 'sm_length': 13, 'data_coding': 0, 'its_session_info': None, 'destination_port': None, 'ussd_service_op': None, 'sms_signal': None, 'protocol_id': 100, 'ms_validity': None, 'source_addr_npi': 1, 'source_addr_subunit': None, 'dest_addr_npi': 1, 'client': <smpplib.client.Client object at 0x7f2058a6a910>, 'command': 'submit_sm', 'more_messages_to_send': None, 'dest_addr_subunit': None, 'source_port': None, 'number_of_messages': None, 'alert_on_message_delivery': None} 

제출에 대한 아래

내 PDU되어 사용하고 있습니다

{'priority_flag': '0', 'message_state': None, 'language_indicator': None, 'callback_num': None, 'payload_type': None, 'replace_if_present_flag': '0', 'schedule_delivery_time': '', 'sm_default_msg_id': '0', 'source_subaddress': None, 'user_response_code': None, 'sar_total_segments': None, 'short_message': 'id:157de861 sub:001 dlvrd:000 submit date:1705171812 done date:1705171812 stat:UNDELIV err:255', 'privacy_indicator': None, 'user_message_reference': None, 'sar_msg_ref_num': None, 'dest_addr_ton': '1', 'sar_segment_seqnum': None, 'esm_class': '4', '_sequence': 67108866, 'service_type': '', 'source_addr_ton': '1', 'validity_period': '', 'destination_addr': '7****', '_client': <smpplib.client.Client object at 0x7f2058a6a910>, 'status': 0, 'source_addr': '234********', 'registered_delivery': '0', 'dest_subaddress': None, 'message_payload': None, 'sm_length': '94', 'data_coding': '0', 'destination_port': None, 'source_addr_npi': '1', 'protocol_id': '0', 'network_error_code': None, 'its_session_info': None, 'dest_addr_npi': '1', 'length': 145, 'client': <smpplib.client.Client object at 0x7f2058a6a910>, 'command': 'deliver_sm', 'source_port': None, 'receipted_message_id': None} 

답변

1

참고 용으로 메시지 ID로 설정할 수있는 선택적인 user_message_reference TLV 매개 변수가 있지만 SMSC가 SMSC를 지원하지 않는 경우 먼저 테스트 해 보시기 바랍니다.

+0

감사합니다. 지금은 시험해 볼 것입니다. –

+0

PDU를보기 위해 제 질문을 수정했습니다. –

+0

SMSC가이 매개 변수를 지원하지 않는 것 같습니다. SMPP 표준에는 참조 ID를 입력 할 수있는 다른 방법이 없으므로 SMSC에 매개 변수를 지원할 수 있는지 여부를 묻습니다. 그렇다면 다른 옵션이 있습니다. 아마도이 옵션에 대한 맞춤 솔루션이있을 수 있습니다. , 그것은있을 법하지 않습니다. – pilsetnieks