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>