Re: [PATCH] fetch the message_id from submit_sm_resp

Alexander Malysh <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
something like this:

diff --git a/gw/dlr.c b/gw/dlr.c
index a0045b9..44b0d8f 100644
--- a/gw/dlr.c
+++ b/gw/dlr.c
@@ -315,6 +315,10 @@ void dlr_add(const Octstr *smsc, const Octstr *ts, 
const Msg *msg)
  {
      struct dlr_entry *dlr = NULL;

+    if (msg->sms.foreign_id != NULL)
+        octstr_destroy(msg->sms.foreign_id);
+    msg->sms.foreign_id = octstr_duplicate(ts);
+
      if(octstr_len(smsc) == 0) {
         warning(0, "DLR[%s]: Can't add a dlr without smsc-id", dlr_type());
          return;

Then any SMSC module that supports DLR will have foreign_key 
automagically set and you don't need to implement it in each SMSC module.

Thanks,
Alex

Alejandro Guerrieri schrieb:
> Sorry I don't follow, could you please clarify further?
> 
> Regards,
> -- 
> Alejandro Guerrieri
> [email protected]
> 
> 
> 
> El 28/11/2008, a las 08:39 a.m., Alexander Malysh escribió:
> 
>> hmm, I see you use dlr.c to provide foreign_id in dlrs. Then why don't 
>> you use dlr_add to provide foreign_id for the MT message? Then it will 
>> work for all protos where DLR supported auto magically :)
>>
>> Thanks,
>> Alex
>>
>> Alejandro Guerrieri schrieb:
>>> Hi,
>>> As discussed before, this patch adds the %w parameter to the dlr-url 
>>> and also to the access-log-format configuration parameter. A new 
>>> "foreign_id" member is added to the msg structure.
>>> To clarify further:
>>> When sending MT, you can now pass the parameter "%w" to the dlr-url, 
>>> and it will be filled with the "message_id" that comes on the 
>>> submit_sm_resp PDU.
>>> You can also add the %w to your "access-log-format" and the 
>>> message_id will be written on your access log as well.
>>> I've used %w, maybe %f (as in "foreign") is more appropriate?
>>> This only works with SMPP so far. I don't have any experience nor 
>>> availability to connect to other SMSC types (I don't even know if 
>>> there's a field similar to SMPP's "message_id" I can hook to). If 
>>> anybody knows anything about other SMSC's and can give me some hints, 
>>> I can try adding support for it as well.
>>> NOTE: The %w parameter will only be available on the _first_ dlr hit. 
>>> If you configure "real" SMSC DLR's, further notifications will be 
>>> carried from the SMSC on deliver_sm PDU's (according to SMPP 3.4 rev 
>>> 1.2, section 2.10.1) thus the message_id won't be available. That PDU 
>>> have the receipted_message_id field, which is a TLV and should now be 
>>> available as meta-data.
>>> This shouldn't be a problem anyway, since this value _should_ be the 
>>> same as the first one, and then a match over the %d parameter could 
>>> be made. The application could also parse the meta-data, of course.
>>> Regards,
>>> -- 
>>> Alejandro Guerrieri
>>> [email protected]
>>
>>
> 
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.