Hi,

Seems you don't handle charset at all. Do you assume to receive UTF-8 in any case? I don't think it's applicable to generic interface. At least alt-charset should be taken in account...

some comments to patch below...

why is dlrurl required for DLR? We have dlrurl stored in DLR storage...

+    }
+    else if (dlrurl != NULL && dlrmask != 0 && dlrmid != NULL) {
+        /* we got a DLR, and we don't require additional values */
+        Msg *dlrmsg;


hmm this check is not complete. it should be udh_len + msgdata_len but msgdata_len depends in coding...

+    else if (udh != NULL && octstr_len(udh) > MAX_SMS_OCTETS) {
+        error(0, "HTTP[%s]: UDH field is too long, rejected",
+              octstr_get_cstr(conn->id));
+        retmsg = octstr_create("UDH field is too long, rejected");
+        retstatus = fm->status_error;
+    }


why do you always load generic config options ?

 static void generic_send_sms(SMSCConn *conn, Msg *sms)
 {
@@ -1635,6 +1934,7 @@
     cfg_get_bool(&conndata->no_sep, cfg, octstr_imm("no-sep"));
     conndata->proxy = cfg_get(cfg, octstr_imm("system-id"));
     conndata->alt_charset = cfg_get(cfg, octstr_imm("alt-charset"));
+    conndata->fieldmap = generic_get_field_map(cfg);

---> conndata->fieldmap = NULL:

     if (conndata->send_url == NULL)
panic(0, "HTTP[%s]: Sending not allowed. No 'send-url' specified.",
@@ -1693,7 +1993,7 @@
                   octstr_get_cstr(conn->id));
             goto error;
         }

--->    conndata->fieldmap = generic_get_field_map(cfg);

- conndata->receive_sms = kannel_receive_sms; /* emulate sendsms interface */ + conndata->receive_sms = generic_receive_sms; /* emulate sendsms interface */
         conndata->send_sms = generic_send_sms;
         conndata->parse_reply = generic_parse_reply;


Thanks,
Alex

Am 09.06.2009 um 10:14 schrieb Alejandro Guerrieri:

Ok, here's a new version of my patch to add support for custom MO parameters on the generic http-smsc.

New features:

1. Support for setting the numeric response code for successful and failed requests (as it is now, it always returns 202 HTTP_ACCEPTED). 2. Support for setting the text response for successful requests (right now it returns "Sent."). 3. Some code cleanups (extra lines, parameter expansion after authorization).
4. Documentation.

http://www.blogalex.com/archives/192

I can commit if no objections.

Regards,
--
Alejandro Guerrieri
aguerri...@kannel.org



On 01/06/2009, at 22:50, Alexander Malysh wrote:

Hi,

here some comments...

in generic_receive_sms you first receive all values than converts it and only after this done check authorization. Make no sense... first check auth then convert anything.

+    else if (from == NULL || to == NULL || text == NULL) {
+
+        error(0, "HTTP[%s]: Insufficient args",

why extra line?

I think retmsg should also be configurable. Because not all gateways will accept 'Sent' as response. I think even HTTP error code for not accepted MOs/DLRs should be configurable.

Thanks,
Alex

P.S. And userguide part would be nice ;)

Am 28.05.2009 um 23:00 schrieb Alejandro Guerrieri:

HI,

I've finished my patch to configure the parameter names for MO on the generic http-smsc.

To use it you just add a few entries on the smsc definition, only with the parameters you want to rename.

e.g:

generic-param-from = "phoneNumber"
generic-param-to = "shortCode"
generic-param-text = "message"

More details and the patch here:

http://www.blogalex.com/archives/171

Of course I'm writing the userguide part if this goes forward :)

Regards,
--
Alejandro Guerrieri
aguerri...@kannel.org






Reply via email to