[Serusers] IM and silo table in MySQL

davor jovanovic davor.jovanovic at srce.hr
Fri Nov 10 15:27:26 CET 2006


Hi all,

I have a problem with silo table in MySQL. messages are stored in the 
table when user is offline, and when comes back online messages are 
delivered to the client. Problem is that the messages aren't erased from 
table after delivery . Am I missing something in my ser.cfg? I'm using 
ser-0.9.6 and XLite 3.0.

I will appreciate any help.

thanks

/davor



loadmodule "/usr/lib/ser/modules/msilo.so"

modparam("auth_db|uri_db|usrloc|permissions|group|acc_db|msilo", 
"db_url", "mysql://ser:heslo@localhost/ser")

modparam("msilo", "db_table", "silo")
modparam("msilo", "check_time", 10)
modparam("msilo", "clean_period", 3)
modparam("msilo", "use_contact", 1)


route {
  # -----------------------------------------------------------------
  # Sanity Check Section
  # -----------------------------------------------------------------
        if (!mf_process_maxfwd_header("10")) {
                sl_send_reply("483", "Too Many Hops");
                break;
        };
        if (msg:len > max_len) {
                sl_send_reply("513", "Message Overflow");
                break;
        };
...

} else if (method=="MESSAGE") {
                route(8);
                break;
        };
...

route[2] {
  # -----------------------------------------------------------------
  # REGISTER Message Handler
  # ----------------------------------------------------------------

        if (!www_authorize("","subscriber")) {
                www_challenge("","0");
                break;
...

        m_dump();
}

route[8] {
        ##########################
        #   Message Handler      #
        ###########################
        if (!lookup("location")) {
                if (method == "MESSAGE") {
                        if (!t_newtran()) {
                                sl_reply_error();
                                break;
                        };

                        if (m_store("1")) {
                                t_reply("202", "Accepted for Later 
Delivery");
                                break;
                        };

                        t_reply("503", "Service Unavailable");
                        break;
                };
        };
        route(1);
        t_on_failure("1");
}

.........

failure_route[1] {

        if (m_store("1")) {
                log("MSILO: offline message stored\n");
                t_reply("202", "Accepted");
        }else{
                log("MSILO: offline message NOT stored\n");
                t_reply("503", "Service Unavailable");
        };






More information about the sr-users mailing list