[Serusers] No vm.so in my SER modules.

Meidiana Ten gotcha_em at yahoo.com
Mon Sep 11 10:00:09 CEST 2006


Good afternoon guys...I'd like to ask you some questions based on my project in building SIP server..
  I need to activate msilo so that it could store offline messages from clients.
  Is it common that in my SER modules that i have installed has no module named vm.so?? 
  The following configuration is my ser.cfg. Please tell me what i have to add to activate msilo module:
   
  ----------------------------------------------------------------------------------------------------------------------------
  debug=3
fork=yes
log_stderror=yes

listen=202.95.149.2      # put your server IP address here
port=5060
children=8

dns=no
rev_dns=no

fifo="/tmp/ser_fifo"
fifo_db_url="mysql://ser:heslo@localhost/ser"
fifo_mode=0666


loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/uri_db.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"
loadmodule "/usr/local/lib/ser/modules/avpops.so"
loadmodule "/usr/local/lib/ser/modules/domain.so"
loadmodule "/usr/local/lib/ser/modules/permissions.so"
loadmodule "/usr/local/lib/ser/modules/msilo.so"

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

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

modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")

modparam("nathelper", "natping_interval", 30) 
modparam("nathelper", "ping_nated_only", 1)   
modparam("nathelper", "rtpproxy_sock", "unix:/var/run/rtpproxy.sock")

modparam("usrloc", "db_mode", 2)

modparam("registrar", "nat_flag", 6)

modparam("rr", "enable_full_lr", 1)

modparam("tm", "fr_inv_timer", 27)
 modparam("tm", "fr_inv_timer_avp", "inv_timeout")

modparam("permissions", "db_mode", 1)
modparam("permissions", "trusted_table", "trusted")

alias='pcr.ac.id'

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;
       };

# -----------------------------------------------------------------
# Record Route Section
# -----------------------------------------------------------------
       if (method!="REGISTER") {
               record_route();
       };
       if (method=="BYE" || method=="CANCEL") {
              unforce_rtp_proxy();
       } 

# -----------------------------------------------------------------
# Loose Route Section
# -----------------------------------------------------------------
     if (loose_route()) {
     if (has_totag() && (method=="INVITE" || method=="ACK")) {
                        if (nat_uac_test("19")) {
                                setflag(6);
                                force_rport();
                                fix_nated_contact();
                        };
                    force_rtp_proxy("l");
                };
                route(1);
                break;
        };

# -----------------------------------------------------------------
# Call Type Processing Section
# -----------------------------------------------------------------

        if (uri!=myself) {
               
                  route(5);
                  route(1);
                  break;
        };

        if (uri==myself) {

            if (method=="ACK") {
                  route(6);
                  break;
            } else if (method=="CANCEL") {
                        route(3);
                        break;
                } else if (method=="INVITE") {
                        route(3);
                        break;
                } else  if (method=="REGISTER") {
                        route(2);
                        break;
                };

                lookup("aliases");
                if (uri!=myself) {
                  route(5);
                        route(1);
                        break;
                };

                if (!lookup("location")) {
                        sl_send_reply("404", "User Not Found");
                        break;
                };
        };

        route(1);
}

route[1] {

# -----------------------------------------------------------------
# Default Message Handler
# -----------------------------------------------------------------

        t_on_reply("1");

        if (!t_relay()) {
                if (method=="INVITE" && isflagset(6)) {
                  unforce_rtp_proxy();
                };
                sl_reply_error();
        };
}

route[2] {

# -----------------------------------------------------------------
# REGISTER Message Handler
# ----------------------------------------------------------------

      sl_send_reply("100", "Trying");

      if (!search("^Contact:\ +\*") && nat_uac_test("19")) {
                setflag(6);
                fix_nated_register();
                force_rport();
        };

        if (!www_authorize("pcr.ac.id","subscriber")) {
                www_challenge("pcr.ac.id","0");
                break;
        };

        if (!check_to()) {
                sl_send_reply("401", "Unauthorized");
                break;
        };

        consume_credentials();

        if (!save("location")) {
                sl_reply_error();
        };
}

route[3] {

# -----------------------------------------------------------------
# CANCEL and INVITE Message Handler
# -----------------------------------------------------------------

      
       if (nat_uac_test("19")) {
               setflag(6);
       }
#if (!allow_trusted() && nat_uac_test("19")) {
        #         setflag(6);
        #}
            
      lookup("aliases");
      if (method=="INVITE" && !allow_trusted()) 
      {
            if (!proxy_authorize("pcr.ac.id","subscriber")) { 
                  proxy_challenge("pcr.ac.id","0");
                  break;
            } else if (!check_from()) {
                  sl_send_reply("403", "Use From=ID");
                  break;
            };
            consume_credentials();
      };
      if (uri=~"^sip:9[0-9]*@") {
            route(4);
            break;
      };

        if (uri!=myself) {
            route(5);
                route(1);
                break;
        };

        if (!lookup("location")) {
            if (uri=~"^sip:[0-9]{10}@") {
            route(4);
            break;
            };

            sl_send_reply("404", "User Not Found");
                break;
        };

      if (method=="CANCEL") {
            route(1);
            break;
      }

        if (isflagset(6)) {
                force_rport();
                fix_nated_contact();
                force_rtp_proxy();
        };

        t_on_reply("1");

        if (!t_relay()) {
                if(isflagset(6)) {
                        unforce_rtp_proxy();
                }
                sl_reply_error();
        };
}

route[4] {

 # -----------------------------------------------------------------
 # PSTN Handler
 # -----------------------------------------------------------------

 rewritehostport("202.95.149.254:5060"); # INSERT YOUR PSTN GATEWAY IP ADDRESS

 avp_write("i:45", "inv_timeout");

 #if (!allow_trusted() && isflagset(6)) {
 if (isflagset(6)) {
                force_rport();
                fix_nated_contact();
                force_rtp_proxy();
            };

 route(1);
 }

onreply_route[1] {

        if (isflagset(6) && status=~"(180)|(183)|2[0-9][0-9]") {
                if (!search("^Content-Length:\ +0")) {
                        force_rtp_proxy();
                };
          };

        if (nat_uac_test("1")) {
                fix_nated_contact();
        };
}
   
  --------------------------------------------------------------
   
  Then, i'd like to know why when i run my server, it comes with warning about RTP Proxy? What do i need to setup a right RTP Proxy?
   
  Thanx for the attention.

 		
---------------------------------
Stay in the know. Pulse on the new Yahoo.com.  Check it out. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20060911/6d4eac5c/attachment.htm>


More information about the sr-users mailing list