RE: A DLR question

"Oded Arbel" <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
> -----Original Message-----
> 
> >Well, actually.. that's what I'm doing :-/ .
> >So, to rephrase my question - how do I create a DLR on an 
> SMSC_FAIL or
> >SMSC_SUCCESS, w/o calling dlr_add/dlr_find ?
> >from looking at emi2, that's exactly what's happening - first it does
> >dlr_add (for SMSC_*) and later does dlr_find on them. of course, it
> >makes much more sense how it happens in the emi2 code, then 
> in my code
> >where I call dlr_add only to call dlr_find in the next statement.
> 
> 8 and 16 are generated in EMI driver and never passed on to dlr.c. 
> The message is internally generated and passed back to 
> bearerbox/smsbox and is not generated by dlr_find (it cant find those 
> messages ever).

Well - from reading the emi2 sources (couldn't find anything about DLR
in emi), it seems to me that the driver does generate the SMSC_* DLRs by
using dlr_add/dlr_find, and here's the code snippets :

	if (msg->sms.dlr_mask & 0x18) {
<snip>
	    dlr_add(octstr_get_cstr(conn->id), 
		    octstr_get_cstr(ts),
		    octstr_get_cstr(emimsg->fields[E50_ADC]),
		    octstr_get_cstr(msg->sms.service),
		    octstr_get_cstr(msg->sms.dlr_url),
		    msg->sms.dlr_mask);
(0x18 being, of course, SMSC_FAIL and SMSC_SUCCESS)
and then :
	dlrmsg = dlr_find(octstr_get_cstr(conn->id), 
		  octstr_get_cstr(ts), /* timestamp */
		  octstr_get_cstr(origmsg->sms.receiver), /* destination
*/
		  (octstr_get_char(emimsg->fields[0], 0) == 'A' ? 
		   DLR_SMSC_SUCCESS : DLR_SMSC_FAIL));

I would really appreciate it if you can point me to where exactly the
EMI driver generates the SMSC_* DLRs internally, as in my current
implementation the generation of those DLRs is done calling dlr_add and
immediately dlr_find, which as you stated - is not the best approach ;-)

Oded Arbel
m-Wise Inc.
[email protected]

--
Work is of two kinds: first, altering the position of matter at or near
the earth's
surface relatively to other matter; second, telling other people to do
so. 
The first kind is unpleasant and ill-paid, the second is pleasant and
highly paid. 
	-- Bertrand Russell
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.