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@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