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.