255 Octstr *tmp_string, *retmsg;
303 debug(
"smsc.http.kannel", 0,
"HTTP[%s]: Received an HTTP request",
306 if (user == NULL || pass == NULL ||
310 error(0,
"HTTP[%s]: Authorization failure",
313 }
else if (dlrmask != 0 && dlrmid != NULL) {
322 if (dlrmsg != NULL) {
327 debug(
"smsc.http.kannel", 0,
"HTTP[%s]: Received DLR for DLR-URL <%s>",
330 if (dlrerr != NULL) {
332 if (dlrmsg->sms.meta_data == NULL)
345 error(0,
"HTTP[%s]: Got DLR but could not find message or was not interested " 346 "in it id<%s> dst<%s>, type<%d>",
352 else if (
from == NULL ||
to == NULL ||
text == NULL) {
354 error(0,
"HTTP[%s]: Insufficient args",
359 error(0,
"HTTP[%s]: UDH field misformed, rejected",
364 error(0,
"HTTP[%s]: UDH field is too long, rejected",
373 debug(
"smsc.http.kannel", 0,
"HTTP[%s]: Constructing new SMS",
383 msg->sms.time = time(NULL);
394 error(0,
"HTTP[%s]: Charset or body misformed, rejected",
396 retmsg =
octstr_create(
"Charset or body misformed, rejected");
410 debug(
"smsc.http.kannel", 0,
"HTTP[%s]: Sending reply",
void error(int err, const char *fmt,...)
void http_header_add(List *headers, char *name, char *contents)
static void client(int port)
Msg * dlr_find(const Octstr *smsc, const Octstr *ts, const Octstr *dst, int typ, int use_dst)
#define octstr_get_cstr(ostr)
Octstr * http_cgi_variable(List *list, char *name)
void http_destroy_headers(List *headers)
void http_send_reply(HTTPClient *client, int status, List *headers, Octstr *body)
Octstr * octstr_imm(const char *cstr)
long bb_smscconn_receive(SMSCConn *conn, Msg *sms)
#define octstr_duplicate(ostr)
void octstr_destroy(Octstr *ostr)
int sms_charset_processing(Octstr *charset, Octstr *body, int coding)
#define octstr_create(cstr)
#define SMS_PARAM_UNDEFINED
long octstr_len(const Octstr *ostr)
void debug(const char *place, int err, const char *fmt,...)
int octstr_get_char(const Octstr *ostr, long pos)
static XMLRPCDocument * msg
int octstr_compare(const Octstr *ostr1, const Octstr *ostr2)