[Devel] Sending stored messages based on time
Daniel-Constantin Mierla
daniel at voice-system.ro
Mon Jan 30 13:32:44 CET 2006
Hello,
I introduced the reminder functionality submitted by your patch in the
development version of msilo. I changed the patch to integrate better
with the module and I introduced several other functionalities. Here is
the description.
There is a new column "snd_time" in the table silo which specifies the
time after which the message can be delivered. If the value is 0, then
the message is not delivered based on timer.
If the message is not successfully delivered at the specified time, then
the snd_time is set to 0, to avoid flooding the network, if the
destination is not online. It will be delivered first time when he
registers.
The time for delivery can be set via AVP, the AVP must contain a value
in the format YYYYMMDDHHMMSS. The id of the avp can be set via module
parameter.
Here is a cfg example which can be used to set a reminder service:
modparam("msilo","reminder","sip:reminder at test.org")
modparam("msilo","send_time",10)
modparam("msilo","userid_avp",34)
modparam("msilo","snd_time_avp",35)
route {
....
if(method=="MESSAGE")
{
if(uri=~"sip:4442[0-9]{13}@")
{
strip(3);
avp_write("$ruri/username", "i:35");
avp_write("$from", "i:34");
m_store("0", "0" /*do not send info message back*/);
sl_send_reply("200", "ok");
exit;
};
};
.....
}
The documentation has been updated:
http://openser.org/docs/modules/1.1.x/msilo.html
Please note that you have to add the snd_time column to table silo (see
the definition in readme) and increase the version to 4 in table 'version'.
Testing and feedback are welcome.
Cheers,
Daniel
More information about the Devel
mailing list