Delivery Receipt callback changed? | Search |
NowSMS Support Forums ⬆ NowSMS Support - SMS Issues ⬆ Archive through April 08, 2009 ⬆ |
◄ ► |
Author | Message | |||
Alex Kaiser New member Username: Alex_k Post Number: 11 Registered: 07-2006 |
Hello! I've tested your latest RC patch 2009.01.12 and relalized that NowSMS submits "SMSCReceiptMsgId" parameter local message id instead of smsc message id like it was before. Is that normal way of things or just a bug? Regards, Alex K | |||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 574 Registered: 08-2008 |
Hi Alex, I don't think this has changed. If it has, then perhaps there were some problems before. The SMSCMsgId= parameter when a message is sent out would contain the message id assigned by the upstream provider. However, the SMSCReceiptMsgId= parameter should specify the locally assigned message id, after conversion. Over the past year, we went through several different logic changes in how delivery receipt message ids were resolved. At one point, we were receiving the delivery receipts in, and then queueing them for message id resolution. Maybe there was a bug in some versions that was issuing the callback for these messages when they were originally queued, before id conversion. The performance of delivery receipt resolving has now been improved to the point that this separate queue is no longer necessary. (The queue is still used in some very limited situations, but the callback still appears to be fine, with the local message id.) I'd have to investigate further ... but if it was different before, then that would have been a bug. -- Des NowSMS Support | |||
Alex Kaiser New member Username: Alex_k Post Number: 12 Registered: 07-2006 |
Hello Des! We have compared 2 versions 2008.06.03 and 2009.01.12. 2008.06.03 returns message id assigned by SMSC 2009.01.12 returns message id assigned by NowSMS in DR callback "SMSCReceiptMsgId" parameter. I think, that message id assigned by SMSC is more logial, inner message id repeat like 4A5A4496.req repeats from time to time and we can't track DR properly. -- Regards, Alex K | |||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 582 Registered: 08-2008 |
Hi Alex, I will need to do further investigation. Right now, SMPP is the only interface where we log the SMSCMsgId. So the intent is always to resolve it before we log it or include it in a callback. I can see that during the period of time when NowSMS was using a separate queue for SMPP message id resolution, the accounting callback had the id from the SMSC. I will see if there is a way that we can include both. Local IDs would take a long time to repeat, unless you are using multiple servers without the MessageIdPrefix setting. Would that setting possibly help? We will investigate the other approach of including both ids in the received receipt. I just mention the other as an aside. -- Des NowSMS Support | |||
Des - NowSMS Support Board Administrator Username: Desosms Post Number: 604 Registered: 08-2008 |
Hi Alex, We did some more checking on this, and apparently there have been some inconsistencies between the log files and the accounting callbacks. Updates during 2008 have sometimes returned the receipt message id from the upstream SMSC, and sometimes the local NowSMS message id. In a few cases, the callback reported one, while the log file returned another. In a few instances, with some messages the callback would return the upstream id, and other times the local id. Unfortunately, as we optimised the performance for processing the delivery receipts, the callbacks were not updated to reflect the new optimised logic. The behaviour that you are seeing is what is intended. The SMSCReceiptMsgId parameter is intended to be the local NowSMS message id, so that the callback can be used to directly match up the receipt with the originally submitted message. (To avoid confusion, it should have been labeled as ReceiptMsgId, but was not.) However, we do agree that there is value in providing both message ids in the callback. Especially as the SMSOUT callback gives you the upstream message id in SMPP environments. So we're adding an additional parameter to the callback, "SMSCReceiptMsgIdOrig", which will contain the receipt message id from the upstream SMSC. For the moment, this update is included only in a test release at http://www.nowsms.com/download/nowsms20090317.zip. -- Des NowSMS Support |