Update - Solved.

Added meta-data support to generic http smsc and used the previous routing setup.

If anyone is interested, here's the patch attached.

On 04/27/2011 01:08 AM, Semion Spivak wrote:
Hi All,

I have a service that needs to pass MO messages via HTTP to SMPP clients.

I've managed to configure the following setup:

MO --> generic http smsc --> bearerbox --> opensmppbox -- esme

but there is a set of meta-data params to be passed along with the
message, and generic http smsc doesn't handle "meta-data" parameter of
incoming request.

So, I guess, the setup that uses smsbox cgi handler, would look like

MO --> smsbox (cgi-bin/sendsms handler) --> loopback smsc --> bearerbox
--> opensmppbox --> esme

Can anyone suggest the routing-related settings for smsbox and
the loopback, please?

Thank you in advance for your help,

--
Regards,
Semion Spivak
Smscoin.com Technical support.
Index: gw/smsc/smsc_http.c
===================================================================
--- gw/smsc/smsc_http.c (revision 4904)
+++ 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);
@@ -1748,7 +1750,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 +1869,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 +1890,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) {

Reply via email to