Hello Developers,

Here's a patch that avails generic http smsc to handle meta-data parameter in MO messages, similar to smsbox cgi sendsms handler.

The patch affects gw/smsc/smsc_http.c, gwlib/cfg.def and doc/userguide/userguide.xml

Can it be added to trunk?

--
Regards,
Semion Spivak
Smscoin.com Technical support.
Index: gw/smsc/smsc_http.c
===================================================================
--- gw/smsc/smsc_http.c (revision 4905)
+++ gw/smsc/smsc_http.c (working copy)
@@ -142,6 +142,7 @@
     Octstr *service;
     Octstr *account;
     Octstr *binfo;
+    Octstr *meta_data;
     Octstr *dlr_mask;
     Octstr *dlr_url;
     Octstr *dlr_mid;
@@ -217,6 +218,7 @@
     octstr_destroy(fieldmap->service);
     octstr_destroy(fieldmap->account);
     octstr_destroy(fieldmap->binfo);
+    octstr_destroy(fieldmap->meta_data);
     octstr_destroy(fieldmap->dlr_mask);
     octstr_destroy(fieldmap->dlr_url);
     octstr_destroy(fieldmap->dlr_mid);
@@ -1729,6 +1731,9 @@
     fm->foreign_id = cfg_get(grp, octstr_imm("generic-param-foreign-id"));
     if (fm->foreign_id == NULL)
         fm->foreign_id = octstr_create("foreign-id");
+    fm->meta_data = cfg_get(grp, octstr_imm("generic-param-meta-data"));
+            if (fm->meta_data == NULL)
+                fm->meta_data = octstr_create("meta-data");
     fm->message_sent = cfg_get(grp, octstr_imm("generic-message-sent"));
     if (fm->message_sent == NULL)
         fm->message_sent = octstr_create("Sent");
@@ -1748,7 +1753,7 @@
 {
     ConnData *conndata = conn->data;
     FieldMap *fm = conndata->fieldmap;
-    Octstr *user, *pass, *from, *to, *text, *udh, *account, *binfo;
+    Octstr *user, *pass, *from, *to, *text, *udh, *account, *binfo, *meta_data;
     Octstr *dlrurl, *dlrmid;
     Octstr *tmp_string, *retmsg;
     int        mclass, mwi, coding, validity, deferred, dlrmask;
@@ -1867,6 +1872,7 @@
         }
         account = http_cgi_variable(cgivars, octstr_get_cstr(fm->account));
         binfo = http_cgi_variable(cgivars, octstr_get_cstr(fm->binfo));
+        meta_data = http_cgi_variable(cgivars, octstr_get_cstr(fm->meta_data));
 
         debug("smsc.http.generic", 0, "HTTP[%s]: Constructing new SMS",
               octstr_get_cstr(conn->id));
@@ -1887,6 +1893,7 @@
         msg->sms.time = time(NULL);
         msg->sms.account = octstr_duplicate(account);
         msg->sms.binfo = octstr_duplicate(binfo);
+        msg->sms.meta_data = octstr_duplicate(meta_data);
         Msg *resp = msg_duplicate(msg);
         ret = bb_smscconn_receive(conn, msg);
         if (ret == -1) {
         
Index: gwlib/cfg.def
===================================================================
--- gwlib/cfg.def       (revision 4905)
+++ gwlib/cfg.def       (working copy)
@@ -415,6 +415,7 @@
     OCTSTR(generic-param-validity)
     OCTSTR(generic-param-deferred)
     OCTSTR(generic-param-foreign-id)
+    OCTSTR(generic-param-meta-data)
     OCTSTR(generic-message-sent)
     OCTSTR(generic-status-sent)
     OCTSTR(generic-status-error)
     
Index: doc/userguide/userguide.xml
===================================================================
--- doc/userguide/userguide.xml (revision 4905)
+++ doc/userguide/userguide.xml (working copy)
@@ -4427,6 +4427,13 @@
        Overrides the default parameter for the 'foreign-id' field
        used on incoming requests.
      </entry></row>
+     
+   <row><entry><literal>generic-param-meta-data (o)</literal></entry>
+     <entry><literal>string</literal></entry>
+     <entry valign="bottom">
+       Overrides the default parameter for the 'meta-data' field
+       used on incoming requests.
+     </entry></row>
 
    <row><entry><literal>generic-message-sent (o)</literal></entry>
      <entry><literal>string</literal></entry>

Reply via email to