Davy Chan wrote:

I've been looking at this off and on since Jan of this year.  It was
sparked by Shyam Kumar's problem with dlr-url
("Subject: dlr-url and dlr-mask").

Basically, if you have a sendsms-user group with a dlr-url defined _AND_
a PPG group defined within the same config file, the dlr-url will
not be instantiated since the call to urltrans_find_service()
is never called.

I'm looking at the following code in
gateway/gw/smsbox.c:obey_request_thread():

/*
 * no smsbox services when we are doing ppg dlr - so trans would be
 * NULL in this case.
 */
if (dreport) {
    if (msg->sms.service == NULL || (msg->sms.service != NULL &&
         ppg_service_name != NULL &&
         octstr_compare(msg->sms.service, ppg_service_name) != 0)) {
        trans = NULL;
    } else {
        trans = urltrans_find_service(translations, msg);
    }

    info(0, "Starting delivery report <%s> from <%s>",
        octstr_get_cstr(msg->sms.service),
        octstr_get_cstr(msg->sms.sender));

} else {

In my opinion, the comparison to determine if the DLR is for a PPG
initiated WAP Push is incorrect. The current logic is:
  IF the sms.service is not defined OR
    (when sms.service is defined and ppg_service_name is defined
     AND sms.service _NOT_EQUAL_ to ppg_service_name)
  THEN
    Don't find the translation structure associated with the service
  ELSE
    Do find the translation structure associated with the service

I assume that the _NOT_EQUAL_ should actually be EQUAL and the 'if'
comparision should be:
    if (msg->sms.service == NULL || (msg->sms.service != NULL &&
         ppg_service_name != NULL &&
         octstr_compare(msg->sms.service, ppg_service_name) == 0)) {

which implies:
  Don't find the translation structure associated with the service
   IF the sms.service is not defined OR
     (when both sms.service and ppg_service_name exists
      AND sms.service EQUALS ppg_service_name)

Am I correct in my assumptions that this is a bug?  I'm not sure since
I'm not too familar with the PPG side of Kannel just yet.  I'm not
sure there won't be a time when a PPG service name is the same as
the value inside the sms.service (since it seems that sms.service is
set by either the 'name =' or 'username =' declarations).

See ya...

ok, Aarno should state on this? Aarno?

Stipe

mailto:stolj_{at}_wapme.de
-------------------------------------------------------------------
Wapme Systems AG

Vogelsanger Weg 80
40470 D�sseldorf, NRW, Germany

phone: +49.211.74845.0
fax: +49.211.74845.299

mailto:info_{at}_wapme-systems.de
http://www.wapme-systems.de/
-------------------------------------------------------------------



Reply via email to