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");

    };

}

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