This works for me fine:


loadmodule "msilo.so"

modparam("msilo","db_url",DBURL)
modparam("msilo","from_address","sip:registrar@sip.stribogkonsult.com")
modparam("msilo","contact_hdr","Contact: registrar@sip.stribogkonsult.com:5060;msilo=yes\r\n")
modparam("msilo","content_type_hdr","Content-Type: text/plain\r\n")
modparam("msilo","offline_message","***$rU***$rb***")
...........
#storing offline messages
route[MSILO_MESSAGE]{
if (lookup("location")){
t_relay();
}else{
m_store("$ru");
sl_send_reply("202", "Accepted");
};
exit();
}
#on registrar, check for offline messages and send them
route[REGISTRAR] {
if (is_method("REGISTER"))
{
if(isflagset(FLT_NATS))
{
setbflag(FLB_NATB);
# uncomment next line to do SIP NAT pinging 
## setbflag(FLB_NATSIPPING);
}
if (!save("location",0x04))
sl_reply_error();
# MSILO - dumping user's offline messages
m_dump();
exit;
}
}





On Mon, May 20, 2013 at 12:50 PM, <sipatse@in.gr> wrote:

Dear All,


Is there any update regarding the aforementioned issue?

Best regards.




Dear All,


We would like to store SIP text Messages when the destination Subscriber is Offline.
We have insert into kamailio cfg file the configuration lines below.
Unfortunately storing messages is unsuccessful.
Any ideas of what missing or what could be wrong?

Best regards.

************************************************************************************************************

loadmodule "msilo.so"

 

#!ifdef WITH_MSILO

modparam("msilo","db_url","mysql://[% kamailio.proxy.dbrwuser %]:[% kamailio.proxy.dbrwpw %]@[% database.dbhost %]/[% kamailio.proxy.dbname %]")

modparam("msilo", "db_table", "silo")

modparam("msilo","from_address","sip:registrar@xxxxxxx.local")

modparam("msilo", "from_address", "sip:$rU@xxxxxxx.local")

modparam("msilo","contact_hdr","Contact: <sip:registrar@xx.xx.xx.xx:5062>;msilo=yes\r\n")

modparam("msilo","content_type_hdr","Content-Type: text/plain\r\n")

modparam("msilo","offline_message","*** User $rU is offline!")

#!endif

 

modparam("usrloc", "db_mode", 0) initial value was “1”

 

########################################################################

#Store messages to offline Subs

########################################################################

route

{

    if ( !mf_process_maxfwd_header("10") )

    {

        sl_send_reply("483","To Many Hops");

        exit;

    };

 

 

    if (uri==myself) {

    {

        # for testing purposes, simply okay all REGISTERs

        if (method=="REGISTER")

        {

            save("location");

            log("REGISTER received -> dumping messages with MSILO\n");

 

            # MSILO - dumping user's offline messages

            if (m_dump())

            {

                log("MSILO: offline messages dumped - if they were\n");

            }else{

                log("MSILO: no offline messages dumped\n");

            };

            exit;

        };

 

        # domestic SIP destinations are handled using our USRLOC DB

       

        if(!lookup("location"))

        {

            if (! t_newtran())

            {

                sl_reply_error();

                exit;

            };

            # we do not care about anything else but MESSAGEs

            if (!method=="MESSAGE")

            {

                if (!t_reply("404", "Not found"))

                {

                    sl_reply_error();

                };

                exit;

            };

            log("MESSAGE received -> storing using MSILO\n");

            # MSILO - storing as offline message

            if (m_store("$ru"))

            {

                log("MSILO: offline message stored\n");

                if (!t_reply("202", "Accepted"))

                {

                    sl_reply_error();

                };

            }else{

                log("MSILO: offline message NOT stored\n");

                if (!t_reply("503", "Service Unavailable"))

                {

                    sl_reply_error();

                };

            };

            exit;

        };

        # if the downstream UA does not support MESSAGE requests

        # go to failure_route[1]

        t_on_failure("1");

        t_relay();

        exit;

    };

 

    # forward anything else

    t_relay();

}

 

failure_route[1] {

    # forwarding failed -- check if the request was a MESSAGE

    if (!method=="MESSAGE")

    {

        exit;

    };

   

    log(1,"MSILO:the downstream UA doesn't support MESSAGEs\n");

    # we have changed the R-URI with the contact address, ignore it now

    if (m_store("$ou"))

    {

        log("MSILO: offline message stored\n");

        t_reply("202", "Accepted");

    }else{

        log("MSILO: offline message NOT stored\n");

        t_reply("503", "Service Unavailable");

    };

}

***********************************************************************************************


_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users