Hi,
actually, you can replace the m_store() and m_dump() with some
scripting. This gives you quite some flexibility on message
storage/message retrieval.
I didn't test this too much so far, the basic tests i did with Bria were fine:
m_store
-------------------------------------------------
// xlog("insert into silo (src_addr, dst_addr, username, inc_time,
ctype, body) values ('$fu', '$tu', '$tU', unix_timestamp(),
'$cT',
'$rb');\n");
if (sql_query("msilo", "insert into silo (src_addr, dst_addr,
username, inc_time, ctype, body) values ('$fu', '$tu', '$tU',
unix_timestamp(), '$cT', '$rb');")) {
t_reply("202", "Accepted");
} else {
t_reply("503", "Service Unavailable");
}
m_dump
-------------------------------------------------
if (is_method("REGISTER") && is_present_hf("Expires")
&&
$(hdr(Expires){s.int})==0) {
xlog("This is an un-registration\n");
return;
} else {
xlog("Dumping offline messages...\n");
async_sleep("3");
// xlog("select src_addr, dst_addr, inc_time, ctype, body from silo
where username='$fU';");
sql_query("msilo", "select src_addr, dst_addr, inc_time, ctype, body
from silo where username='$fU' order by inc_time asc;", "msgs");
// xlog("rows: $dbr(msgs=>rows) cols: $dbr(msgs=>cols)\n");
if($dbr(msgs=>rows)>0) {
$var(i) = 0;
while ($var(i)<$dbr(msgs=>rows)) {
$uac_req(method) = "MESSAGE";
$uac_req(ruri) = $(ct{tobody.uri});
$uac_req(furi) = $dbr(msgs=>[$var(i),0]);
$uac_req(turi) = $dbr(msgs=>[$var(i),1]);
$uac_req(ouri) = "sip:"+$si+":"+$sp;
$uac_req(hdrs) = "Content-Type:
"+$dbr(msgs=>[$var(i),3])+"\r\n";
$uac_req(body) = $dbr(msgs=>[$var(i),4]);
uac_req_send();
$var(i) = $var(i) + 1;
}
}
sql_result_free("msgs");
sql_query("msilo", "delete from silo where
username='$fU';");
}
Greetings from Singapore,
Carsten
2014-07-18 15:27 GMT+08:00 Daniel-Constantin Mierla <miconda(a)gmail.com>om>:
Hello,
perhaps the module needs to be refactored to store the full body for
content-type. Not it doesn't store the parameters in that header.
I will look over it soon if nobody else does it. Maybe you should open an
issue on tracker so we don't forget about it:
-
http://sip-router.org/tracker/
Cheers,
Daniel
On 03/07/14 16:38, denis kremov wrote:
Hello All,
Subj, need you help,
How to store this type of message to MSILO database?
Content-Type:
message/external-body;access-type=URL;URL="https://xxx.com//download/5…
I modified and recompiled msilo.c to resolve this error:
ERROR: msilo [msilo.c:626]: m_store(): body of the message is empty!
but after that - m_store just store this information to database:
mysql> select * from silo;
+----+-------------------------+-------------------------+-----------+-----------+------------+------------+----------+-----------------------+------+------------+--------+--------+
| id | src_addr | dst_addr | username | domain | inc_time | exp_time |
snd_time | ctype | body | extra_hdrs | callid | status |
+----+-------------------------+-------------------------+-----------+-----------+------------+------------+----------+-----------------------+------+------------+--------+--------+
| 30 | sip:777351300@xxx.in | sip:777581288@xxx.in | 777581288 | xxx.in |
1402479947 | 1403479946 | 0 | message/external-body | | | | 0 |
+----+-------------------------+-------------------------+-----------+-----------+------------+------------+----------+-----------------------+------+------------+--------+--------+
1 row in set (0.00 sec)
How can I store to database "access-type=URL" and and URL="xxxx" ?
Thanks All!
--
denis kremov
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla -
http://www.asipto.com
http://twitter.com/#!/miconda -
http://www.linkedin.com/in/miconda
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Carsten Bock
CEO (Geschäftsführer)
ng-voice GmbH
Schomburgstr. 80
D-22767 Hamburg / Germany
http://www.ng-voice.com
mailto:carsten@ng-voice.com
Office +49 40 34927219
Fax +49 40 34927220
Sitz der Gesellschaft: Hamburg
Registergericht: Amtsgericht Hamburg, HRB 120189
Geschäftsführer: Carsten Bock
Ust-ID: DE279344284
Hier finden Sie unsere handelsrechtlichen Pflichtangaben:
http://www.ng-voice.com/imprint/