Re: SMS REJECTED due to throttling
Hi, we threw in a quick fix. In the attachement. I think the proper fix should allow the user to list in the connection configuration the NACK codes that he/she wants to consider as temporary. Ciao, Giulio 2016-11-11 12:21 GMT+01:00 Stipe Tolj : > Hi, > > can we see the EMI/UCP PDU exchange from bearerbox.log in DEBUG level, so > we can have a look into the code to see if there was any change? > > Stipe > > > -- > Best Regards, > Stipe Tolj > > --- > Düsseldorf, NRW, Germany > > Kannel Foundation tolj.org system architecture > http://www.kannel.org/http://www.tolj.org/ > > stolj at kannel.org st at tolj.org > --- > > emi_NACK_retry.patch Description: Binary data
Re: SMS REJECTED due to throttling
Hi, can we see the EMI/UCP PDU exchange from bearerbox.log in DEBUG level, so we can have a look into the code to see if there was any change? Stipe -- Best Regards, Stipe Tolj --- Düsseldorf, NRW, Germany Kannel Foundation tolj.org system architecture http://www.kannel.org/http://www.tolj.org/ stolj at kannel.org st at tolj.org ---
Re: SMS REJECTED due to throttling
Hi Giulio, I've seen the same issue on some of my connections using UCP so I'm trying a patch on 1.4.4 based on the one in https://redmine.kannel.org/attachments/104/332-emi_patch_ack_v3.txt I think there is no much difference on the gw/smsc/smsc_emi.c from versions 1.4.4 and 1.5, but please check. Best regards, Paulo Correia On 10/24/2016 08:03 AM, Giulio Giovannini wrote: Hello Vangelis, thanks for the hint. The problem is appearing for a UCP/EMI connection, not for a SMPP connection. Are you saying that the SMS will go through the piece of code you provided even for UCP connections? In that case it would be a kannel bug as it is treating it as a permanent error. Best regards, Giulio Mobyt S.p.A. <http://www.mobyt.it>*Giulio Giovannini* /Devops Mobyt/ giulio.giovann...@mobyt.it <mailto:giulio.giovann...@mobyt.it> *Mobyt S.p.A.* Via Aldighieri 10 44121 Ferrara - Italy tel. + 39 0532 207296 fax. + 39 0532 242952 *www.mobyt.it* <http://www.mobyt.it> 2016-10-22 9:53 GMT+02:00 Vangelis Typaldos <mailto:vty...@outlook.com>>: On gw/smsc/smsc_smpp.c is defined smpp_status_to_smscconn_failure_reason that defines the retry policy in base of submit_sm_resp response. As far as i can see SMPP_ESME_RTHROTTLED (throttling error) is marked as SMSCCONN_FAILED_TEMPORARILY so it should generate retry attempts. Enable debug log on bearerbox and check for "SMSC returned error code" lines. Regards, Vangelis static long smpp_status_to_smscconn_failure_reason(long status) { switch(status) { case SMPP_ESME_RMSGQFUL: case SMPP_ESME_RTHROTTLED: case SMPP_ESME_RX_T_APPN: case SMPP_ESME_RSYSERR: return SMSCCONN_FAILED_TEMPORARILY; break; default: return SMSCCONN_FAILED_REJECTED; } } *From: *Fajar <mailto:bebas...@yahoo.com> *Sent: *Saturday, October 22, 2016 4:58 AM *To: *Giulio Giovannini <mailto:giulio.giovann...@mobyt.it>; users@kannel.org <mailto:users@kannel.org> *Subject: *Re: SMS REJECTED due to throttling you'll need to reduce, by setting throughput. document doesn't say about temporary condition, it will discard it, but if you put delivery report url, it will call back with spesific status, in my setting, it is set as 16. my application will hit the message again, to queue in kannel... *From:* Giulio Giovannini mailto:giulio.giovann...@mobyt.it>> *To:* users@kannel.org <mailto:users@kannel.org> *Sent:* Friday, 21 October 2016, 23:22 *Subject:* SMS REJECTED due to throttling Hi all, I have recently moved some UCP connections from kannel 1.4 to kannel 1.5. I am pretty sure that when kannel 1.4 received a NACK 04 (throttling) it considered it as temporary error and retried. Version 1.5 seems to consider it a permanent error and discards the SMS. Have a look at this log sequence from bearer-access.log: 2016-10-21 09:31:25 REJECTED Send SMS [SMSC:FO_HQS] [SVC:C00127_001] [ACT:433f083f-209f-4f62-979f-ae82b5742c90] [BINF:] [FID:8609681] [META:] [from:J.UNIVERSE] [to:+33682412951] [flags:-1:0:-1:-1:11] [msg:159:xxx] [udh:0:] 2016-10-21 09:31:25 Receive DLR [SMSC:FO_HQS] [SVC:C00127_001] [ACT:] [BINF:] [FID:8609681] [META:?orig_msg?dlr_mask=11&] [from:J.UNIVERSE] [to:+33682412951 ] [flags:-1:-1:-1:-1:16] [msg:24:NACK/04-Throttling error] [udh:0:] Should I set something in the conf to tell kannel that that error is temporary? Thanks, Giulio Giovannini -- PDMFC <https://pdmfc.com> *Paulo Correia* Systems Architect PDMFC *telephone:*+351210337700*fax:*+351213572031 *email:* paulo.corr...@pdmfc.com <mailto:paulo.corr...@pdmfc.com> skype: pcorreia.g4m ** Rua Fradesso da Silveira n 4, Piso 1 B 1300-609 Lisboa Portugal
Re: SMS REJECTED due to throttling
Hello Vangelis, thanks for the hint. The problem is appearing for a UCP/EMI connection, not for a SMPP connection. Are you saying that the SMS will go through the piece of code you provided even for UCP connections? In that case it would be a kannel bug as it is treating it as a permanent error. Best regards, Giulio [image: Mobyt S.p.A.] <http://www.mobyt.it> *Giulio Giovannini* *Devops Mobyt* giulio.giovann...@mobyt.it *Mobyt S.p.A.* Via Aldighieri 10 44121 Ferrara - Italy tel. + 39 0532 207296 fax. + 39 0532 242952 *www.mobyt.it* <http://www.mobyt.it> 2016-10-22 9:53 GMT+02:00 Vangelis Typaldos : > On gw/smsc/smsc_smpp.c is defined smpp_status_to_smscconn_failure_reason > that defines the retry policy in base of submit_sm_resp response. > > > > As far as i can see SMPP_ESME_RTHROTTLED (throttling error) is marked as > SMSCCONN_FAILED_TEMPORARILY so it should generate retry attempts. > > > > Enable debug log on bearerbox and check for "SMSC returned error code" > lines. > > > > Regards, > > Vangelis > > > > > > static long smpp_status_to_smscconn_failure_reason(long status) > > { > > switch(status) { > > case SMPP_ESME_RMSGQFUL: > > case SMPP_ESME_RTHROTTLED: > > case SMPP_ESME_RX_T_APPN: > > case SMPP_ESME_RSYSERR: > > return SMSCCONN_FAILED_TEMPORARILY; > > break; > > > > default: > > return SMSCCONN_FAILED_REJECTED; > > } > > } > > > > > > > > *From: *Fajar > *Sent: *Saturday, October 22, 2016 4:58 AM > *To: *Giulio Giovannini ; users@kannel.org > *Subject: *Re: SMS REJECTED due to throttling > > > you'll need to reduce, by setting throughput. document doesn't say about > temporary condition, it will discard it, but if you put delivery report > url, it will call back with spesific status, in my setting, it is set as > 16. my application will hit the message again, to queue in kannel... > > > -- > *From:* Giulio Giovannini > *To:* users@kannel.org > *Sent:* Friday, 21 October 2016, 23:22 > *Subject:* SMS REJECTED due to throttling > > Hi all, > > I have recently moved some UCP connections from kannel 1.4 to kannel 1.5. > > I am pretty sure that when kannel 1.4 received a NACK 04 (throttling) it > considered it as temporary error and retried. Version 1.5 seems to consider > it a permanent error and discards the SMS. > > Have a look at this log sequence from bearer-access.log: > > 2016-10-21 09:31:25 REJECTED Send SMS [SMSC:FO_HQS] [SVC:C00127_001] > [ACT:433f083f-209f-4f62-979f-ae82b5742c90] [BINF:] [FID:8609681] [META:] > [from:J.UNIVERSE] [to:+33682412951] [flags:-1:0:-1:-1:11] [msg:159:xxx] > [udh:0:] > 2016-10-21 09:31:25 Receive DLR [SMSC:FO_HQS] [SVC:C00127_001] [ACT:] > [BINF:] [FID:8609681] [META:?orig_msg?dlr_mask=11&] [from:J.UNIVERSE] [to: > +33682412951] [flags:-1:-1:-1:-1:16] [msg:24:NACK/04-Throttling error] > [udh:0:] > > Should I set something in the conf to tell kannel that that error is > temporary? > > Thanks, > Giulio Giovannini > > >
RE: SMS REJECTED due to throttling
On gw/smsc/smsc_smpp.c is defined smpp_status_to_smscconn_failure_reason that defines the retry policy in base of submit_sm_resp response. As far as i can see SMPP_ESME_RTHROTTLED (throttling error) is marked as SMSCCONN_FAILED_TEMPORARILY so it should generate retry attempts. Enable debug log on bearerbox and check for "SMSC returned error code" lines. Regards, Vangelis static long smpp_status_to_smscconn_failure_reason(long status) { switch(status) { case SMPP_ESME_RMSGQFUL: case SMPP_ESME_RTHROTTLED: case SMPP_ESME_RX_T_APPN: case SMPP_ESME_RSYSERR: return SMSCCONN_FAILED_TEMPORARILY; break; default: return SMSCCONN_FAILED_REJECTED; } } From: Fajar<mailto:bebas...@yahoo.com> Sent: Saturday, October 22, 2016 4:58 AM To: Giulio Giovannini<mailto:giulio.giovann...@mobyt.it>; users@kannel.org<mailto:users@kannel.org> Subject: Re: SMS REJECTED due to throttling you'll need to reduce, by setting throughput. document doesn't say about temporary condition, it will discard it, but if you put delivery report url, it will call back with spesific status, in my setting, it is set as 16. my application will hit the message again, to queue in kannel... From: Giulio Giovannini To: users@kannel.org Sent: Friday, 21 October 2016, 23:22 Subject: SMS REJECTED due to throttling Hi all, I have recently moved some UCP connections from kannel 1.4 to kannel 1.5. I am pretty sure that when kannel 1.4 received a NACK 04 (throttling) it considered it as temporary error and retried. Version 1.5 seems to consider it a permanent error and discards the SMS. Have a look at this log sequence from bearer-access.log: 2016-10-21 09:31:25 REJECTED Send SMS [SMSC:FO_HQS] [SVC:C00127_001] [ACT:433f083f-209f-4f62-979f-ae82b5742c90] [BINF:] [FID:8609681] [META:] [from:J.UNIVERSE] [to:+33682412951] [flags:-1:0:-1:-1:11] [msg:159:xxx] [udh:0:] 2016-10-21 09:31:25 Receive DLR [SMSC:FO_HQS] [SVC:C00127_001] [ACT:] [BINF:] [FID:8609681] [META:?orig_msg?dlr_mask=11&] [from:J.UNIVERSE] [to:+33682412951] [flags:-1:-1:-1:-1:16] [msg:24:NACK/04-Throttling error] [udh:0:] Should I set something in the conf to tell kannel that that error is temporary? Thanks, Giulio Giovannini
SMS REJECTED due to throttling
Hi all, I have recently moved some UCP connections from kannel 1.4 to kannel 1.5. I am pretty sure that when kannel 1.4 received a NACK 04 (throttling) it considered it as temporary error and retried. Version 1.5 seems to consider it a permanent error and discards the SMS. Have a look at this log sequence from bearer-access.log: 2016-10-21 09:31:25 REJECTED Send SMS [SMSC:FO_HQS] [SVC:C00127_001] [ACT:433f083f-209f-4f62-979f-ae82b5742c90] [BINF:] [FID:8609681] [META:] [from:J.UNIVERSE] [to:+33682412951] [flags:-1:0:-1:-1:11] [msg:159:xxx] [udh:0:] 2016-10-21 09:31:25 Receive DLR [SMSC:FO_HQS] [SVC:C00127_001] [ACT:] [BINF:] [FID:8609681] [META:?orig_msg?dlr_mask=11&] [from:J.UNIVERSE] [to:+33682412951] [flags:-1:-1:-1:-1:16] [msg:24:NACK/04-Throttling error] [udh:0:] Should I set something in the conf to tell kannel that that error is temporary? Thanks, Giulio Giovannini