Thanks Alejandro, but if a message is droped by an error. the DLR interface report the failure?
TIA Gustavo ________________________________ From: Alejandro Guerrieri [mailto:alejandro.guerri...@gmail.com] Sent: Friday, February 06, 2009 1:37 PM To: Villada, Gustavo Cc: users@kannel.org Subject: Re: Falling send sms via balanced conections Gustavo, Errors are: SMPP_ESME_RX_P_APPN 0x00000065 (ESME Receiver Permanent App Error Code) SMPP_ESME_RUNKNOWNERR 0x000000ff (Unknown Error) Only this errors are considered "temporary" and cause kannel to retry: SMPP_ESME_RSYSERR 0x00000008 SMPP_ESME_RMSGQFUL 0x00000014 SMPP_ESME_RTHROTTLED 0x00000058 SMPP_ESME_RX_T_APPN 0x00000064 All other errors returned from the SMSC are considered "permanent" and messages are discarded. If you need to change this, you need to patch kannel and recompile. Here's how: Go to gw/smsc/smsc_smpp.c, and around line 726, on function "smpp_status_to_smscconn_failure_reason" you need to add extra "case" lines with the error constants you need to fail temporarily. For example: ... case SMPP_ESME_RX_P_APPN: case SMPP_ESME_RUNKNOWNERR: ... I'd first ask the smsc operator about what errors you should retry, to make the patch only once. Contact me in private or on the devel list if you need more help with the patch, we're already getting off-topic on the users list. Regards, Alejandro On Wed, Feb 4, 2009 at 3:01 PM, Villada, Gustavo <gvill...@telemediala.com> wrote: Alejandro, Copy the logs. A clarification: the error response is sent by ESME on purpose. Regards. G DEBUG: new group created `smpp' DEBUG: SMPP[smsc2-TX]: Sending PDU: DEBUG: SMPP PDU 0x101527e0 dump: DEBUG: type_name: submit_sm DEBUG: command_id: 4 = 0x00000004 DEBUG: command_status: 0 = 0x00000000 DEBUG: sequence_number: 64 = 0x00000040 DEBUG: service_type: NULL DEBUG: source_addr_ton: 2 = 0x00000002 DEBUG: source_addr_npi: 1 = 0x00000001 DEBUG: source_addr: "77832274" DEBUG: dest_addr_ton: 2 = 0x00000002 DEBUG: dest_addr_npi: 1 = 0x00000001 DEBUG: destination_addr: "138000" DEBUG: esm_class: 0 = 0x00000000 DEBUG: protocol_id: 0 = 0x00000000 DEBUG: priority_flag: 0 = 0x00000000 DEBUG: schedule_delivery_time: NULL DEBUG: validity_period: NULL DEBUG: registered_delivery: 0 = 0x00000000 DEBUG: replace_if_present_flag: 0 = 0x00000000 DEBUG: data_coding: 0 = 0x00000000 DEBUG: sm_default_msg_id: 0 = 0x00000000 DEBUG: sm_length: 7 = 0x00000007 DEBUG: short_message: "TEST OK" DEBUG: SMPP PDU dump ends. WARNING: SMPP: PDU NULL terminated string (message_id) has no NULL. DEBUG: SMPP[smsc2-TX]: Got PDU: DEBUG: SMPP PDU 0x101b7ac0 dump: DEBUG: type_name: submit_sm_resp DEBUG: command_id: 2147483652 = 0x80000004 DEBUG: command_status: 101 = 0x00000065 DEBUG: sequence_number: 64 = 0x00000040 DEBUG: message_id: NULL DEBUG: SMPP PDU dump ends. ERROR: SMPP[smsc2-TX]: SMSC returned error code 0x00000065 (ESME Receiver Permanent App Error Code) in response to submit_sm. DEBUG: SMPP[smsc2-TX]: Sending PDU: DEBUG: SMPP PDU 0x100c6410 dump: DEBUG: type_name: submit_sm DEBUG: command_id: 4 = 0x00000004 DEBUG: command_status: 0 = 0x00000000 DEBUG: sequence_number: 50 = 0x00000032 DEBUG: service_type: NULL DEBUG: source_addr_ton: 2 = 0x00000002 DEBUG: source_addr_npi: 1 = 0x00000001 DEBUG: source_addr: "77832274" DEBUG: dest_addr_ton: 2 = 0x00000002 DEBUG: dest_addr_npi: 1 = 0x00000001 DEBUG: destination_addr: "138000" DEBUG: esm_class: 0 = 0x00000000 DEBUG: protocol_id: 0 = 0x00000000 DEBUG: priority_flag: 0 = 0x00000000 DEBUG: schedule_delivery_time: NULL DEBUG: validity_period: NULL DEBUG: registered_delivery: 0 = 0x00000000 DEBUG: replace_if_present_flag: 0 = 0x00000000 DEBUG: data_coding: 0 = 0x00000000 DEBUG: sm_default_msg_id: 0 = 0x00000000 DEBUG: sm_length: 7 = 0x00000007 DEBUG: short_message: "TEST OK" DEBUG: SMPP PDU dump ends. DEBUG: SMPP[smsc2-TX]: Got PDU: DEBUG: SMPP PDU 0x1012c4f8 dump: DEBUG: type_name: submit_sm_resp DEBUG: command_id: 2147483652 = 0x80000004 DEBUG: command_status: 255 = 0x000000ff DEBUG: sequence_number: 50 = 0x00000032 DEBUG: message_id: NULL DEBUG: SMPP PDU dump ends. ERROR: SMPP[smsc2-TX]: SMSC returned error code 0x000000ff (Unknown Error) in response to submit_sm. ________________________________ From: Alejandro Guerrieri [mailto:alejandro.guerri...@gmail.com] Sent: Wednesday, February 04, 2009 11:50 AM To: Villada, Gustavo Subject: Re: Falling send sms via balanced conections Gustavo, It depends on which error messages you're dealing with. Kannel fails on some and retries on others. For example, an invalid_dest_addr is a permanent error and kannel discards it, while a throttling_error is temporary and kannel retries. Please post log details showing the PDU's for the submit_sm and submit_sm_resp Regards, Alejandro On Wed, Feb 4, 2009 at 2:13 PM, Villada, Gustavo <gvill...@telemediala.com> wrote: Hi, We have load balanced connections ( 2RX & 2TX connections with same provider) Kannel are working ok. But in homologation test cases with the provider, we have the next problem: On one TX connection the provider send us the submit_sm_resp message with error status, kannel receive this status and drop the sms. The ask is: What we do for recovering these failed messages or any other workaround for resend the failed messages? We need recover and resend this... Best regards Gustavo ------------------------------------ Nota: la informaciĆ³n de este correo es confidencial y no debe retransmitirse a personas no autorizadas. Si usted recibe informaciĆ³n no autorizada, por favor reportar a los telefonos 58-212-2008690