- More mmsbox fixes to please Ericsson MMC
- Added 'vasid' send-mms URL parameter
This commit is contained in:
parent
dfc9f52994
commit
ef53251db3
|
@ -2349,6 +2349,16 @@ faked-sender = 100<br>
|
|||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td valign=top >
|
||||
<tt>vasid</tt>
|
||||
</td>
|
||||
<td valign=top >
|
||||
This will be passed on the MMC as the VASID parameter in the
|
||||
MM7/SOAP message. If not provided, defaults to <tt>sendmms-user</tt>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
</p>
|
||||
|
|
|
@ -594,7 +594,7 @@ int mm7_soapmsg_to_httpmsg(MSoapMsg_t *m, List **hdrs, Octstr **body)
|
|||
http_header_remove_all(c->headers, "Content-ID");
|
||||
http_header_add(c->headers, "Content-ID", octstr_get_cstr(cloc_str));
|
||||
|
||||
http_header_add(xml->headers, "Content-Type", "text/xml");
|
||||
http_header_add(xml->headers, "Content-Type", "\"text/xml\"");
|
||||
http_header_add(xml->headers, "Content-ID", octstr_get_cstr(envloc));
|
||||
xml->body = headers_to_soapxml(hh);
|
||||
|
||||
|
@ -603,20 +603,14 @@ int mm7_soapmsg_to_httpmsg(MSoapMsg_t *m, List **hdrs, Octstr **body)
|
|||
|
||||
http_destroy_headers(hh);
|
||||
|
||||
ctype = octstr_format("multipart/related"
|
||||
|
||||
"; start=\"%S\""
|
||||
#if 1
|
||||
"; type=text/xml"
|
||||
#endif
|
||||
,
|
||||
ctype = octstr_format("multipart/related; type=\"text/xml\"; start=\"%S\"",
|
||||
envloc);
|
||||
|
||||
octstr_destroy(envloc);
|
||||
octstr_destroy(cloc);
|
||||
octstr_destroy(cloc_str);
|
||||
} else {
|
||||
ctype = octstr_imm("text/xml");
|
||||
ctype = octstr_imm("\"text/xml\"");
|
||||
mime->body = headers_to_soapxml(m->envelope);
|
||||
}
|
||||
|
||||
|
@ -909,7 +903,7 @@ MSoapMsg_t *mm7_mmsmsg_to_soap(MmsMsg *msg, Octstr *from, List *xto,
|
|||
if (vaspid)
|
||||
http_header_add(m->envelope, "VASPID", vaspid);
|
||||
if (vasid)
|
||||
http_header_add(m->envelope, "VASID", vaspid);
|
||||
http_header_add(m->envelope, "VASID", vasid);
|
||||
|
||||
if ((s = mms_get_header_value(msg, octstr_imm("X-Mms-Message-Class"))) != NULL) {
|
||||
http_header_add(m->envelope, "MessageClass", octstr_get_cstr(s));
|
||||
|
|
|
@ -87,7 +87,7 @@ static int free_envelope(MmsEnvelope *e, int removefromqueue);
|
|||
* b - billed amount.
|
||||
* r - whether delivery receipts are required or not.
|
||||
* M - Application specific data (string)
|
||||
* V - VASID -- from VASP
|
||||
* V - VASPID -- from VASP
|
||||
* v - vasid -- from VASP
|
||||
* U - url1 -- e.g. for delivery report
|
||||
* u - url2 -- e.g. for read report
|
||||
|
|
|
@ -893,8 +893,7 @@ static int make_and_queue_msg(Octstr *data, Octstr *ctype, List *reply_headers,
|
|||
goto done;
|
||||
}
|
||||
} else { /* all others, make the message as-is and hope for the best! */
|
||||
http_header_add(me->headers, "Content-Type", octstr_get_cstr(ctype));
|
||||
|
||||
http_header_add(me->headers, "Content-Type", octstr_get_cstr(ctype));
|
||||
me->body = octstr_duplicate(data);
|
||||
}
|
||||
|
||||
|
@ -1047,7 +1046,8 @@ static void sendmms_func(void *unused)
|
|||
List *lto = NULL, *rh = http_create_empty_headers();
|
||||
Octstr *rb = NULL, *base_url = octstr_imm("http://localhost");
|
||||
int i, n, res = 0;
|
||||
|
||||
Octstr *vasid = http_cgi_variable(cgivars, "vasid");
|
||||
|
||||
if ((data = http_cgi_variable(cgivars, "text")) != NULL) { /* text. */
|
||||
Octstr *charset = http_cgi_variable(cgivars, "charset");
|
||||
|
||||
|
@ -1105,7 +1105,8 @@ static void sendmms_func(void *unused)
|
|||
/* Requests to make_and_queue below can block, but for now we don't care. */
|
||||
if (ctype && data && !rb) { /* only send if no error. */
|
||||
res = make_and_queue_msg(data, ctype, rh, base_url, URL_TYPE, NULL,
|
||||
octstr_imm("sendmms-user"), u->faked_sender,
|
||||
vasid ? vasid : octstr_imm("sendmms-user"),
|
||||
u->faked_sender,
|
||||
1, &err);
|
||||
http_destroy_headers(rh);
|
||||
if (res < 0)
|
||||
|
@ -1122,6 +1123,8 @@ static void sendmms_func(void *unused)
|
|||
octstr_destroy(base_url);
|
||||
if (ctype)
|
||||
octstr_destroy(ctype);
|
||||
if (vasid)
|
||||
octstr_destroy(vasid);
|
||||
} else {
|
||||
http_send_reply(client, HTTP_UNAUTHORIZED, hh,
|
||||
octstr_imm("Authentication failed"));
|
||||
|
|
Loading…
Reference in New Issue