Post your openser.cfg --------------------- Sent with ChatterEmail True push email for the Treo Smartphone www.chatteremail.com
-----Original Message----- From: ram talk2ram@gmail.com Date: Sunday, Jun 4, 2006 11:46 am Subject: [Users] Openser+Asterisk Voice mail
Hi
Just started Learning OPENSER, installing at my office
Now iam able to install and configured with my VoIP provider
and iam able to make calls out, using Public IP, not tried yes NAT
when i want to voice mail, openser, send email,
But iam looking store and retrieve voice message, so i decided to install asterisk and send voice messages to Asterisk
as per the site document i have configured
iam running OPENSER 5060 port and Asterisk 5090 port on same server
As guided document, maded Realtime config with my mysql, working Fine
iam able to see both are contacting when i restart sip reload , so i able to see openser log, and console of asterisk
Now the problem, when i call extention which is not registered
I get fast busy tone, and i dont see any message in Asterisk console, but in the open ser log i can see User Not found
can some one help me to achive this
but when i dial *86, i can hear voice, saying that no messages, that means asterisk is working
any help will be appriciated
ram
------=_Part_20143_5639206.1149439588939 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline
<div>Hi</div> <div> </div> <div>Just started Learning OPENSER, installing at my office</div> <div> </div> <div>Now iam able to install and configured with my VoIP provider</div> <div> </div> <div>and iam able to make calls out, using Public IP, not tried yes NAT</div> <div> </div> <div>when i want to voice mail, openser, send email, </div> <div> </div> <div>But iam looking store and retrieve voice message, so i decided to install asterisk</div> <div>and send voice messages to Asterisk</div> <div> </div> <div>as per the site document i have configured</div> <div> </div> <div>iam running OPENSER 5060 port and Asterisk 5090 port on same server</div> <div> </div> <div>As guided document, maded Realtime config with my mysql, working Fine</div> <div> </div> <div>iam able to see both are contacting when i restart sip reload , so i able to see openser log, and console of asterisk</div> <div> </div> <div>Now the problem, when i call extention which is not registered</div> <div> </div> <div>I get fast busy tone, and i dont see any message i[Users] Openser+Asterisk Voice mailram talk2ram@gmail.comTo: users@openser.org
Hi
here is my config
iam able to dial *86, i get voice message that no voice messages
But the call rewriting when the user not available it should go to asterisks voice mail
ram
[root@sert openser]# more openser.cfg # # $Id: openser.cfg,v 1.5 2005/10/28 19:45:33 bogdan_iancu Exp $ # # simple quick-start config script #
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd) log_facility=LOG_LOCAL7 fork=yes log_stderror=no # (cmd line: -E)
/* Uncomment these lines to enter debugging mode fork=no log_stderror=yes */
check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) port=5060 children=4 fifo="/tmp/openser_fifo"
# ------------------ module loading ----------------------------------
loadmodule "/usr/local/lib/openser/modules/tm.so" loadmodule "/usr/local/lib/openser/modules/sl.so" loadmodule "/usr/local/lib/openser/modules/acc.so" loadmodule "/usr/local/lib/openser/modules/rr.so" loadmodule "/usr/local/lib/openser/modules/maxfwd.so" loadmodule "/usr/local/lib/openser/modules/mysql.so" loadmodule "/usr/local/lib/openser/modules/usrloc.so" loadmodule "/usr/local/lib/openser/modules/registrar.so" loadmodule "/usr/local/lib/openser/modules/auth.so" loadmodule "/usr/local/lib/openser/modules/auth_db.so" loadmodule "/usr/local/lib/openser/modules/textops.so" loadmodule "/usr/local/lib/openser/modules/uri.so" loadmodule "/usr/local/lib/openser/modules/uri_db.so" loadmodule "/usr/local/lib/openser/modules/group.so" loadmodule "/usr/local/lib/openser/modules/msilo.so" loadmodule "/usr/local/lib/openser/modules/nathelper.so" loadmodule "/usr/local/lib/openser/modules/enum.so" loadmodule "/usr/local/lib/openser/modules/domain.so" loadmodule "/usr/local/lib/openser/modules/xlog.so"
fifo_db_url="mysql://openser:openserrw@localhost/openser"
modparam("usrloc|acc|auth_db|group|msilo", "db_url", " mysql://openser:openserrw@localhost/openser")
# ----------------- setting module-specific parameters --------------- # -- usrloc params -- /* 0 -- dont use mysql, 1 -- write_through, 2--write_back */ modparam("usrloc", "db_mode", 2) modparam("usrloc", "timer_interval", 10) modparam("usrloc", "use_domain", 1) modparam("registrar", "use_domain", 1) # -- auth params -- modparam("auth_db", "calculate_ha1", yes) modparam("auth_db", "password_column", "password") #modparam("auth_db", "use_rpid", 1) modparam("auth", "nonce_expire", 300) modparam("auth", "rpid_prefix", "<sip:") modparam("auth", "rpid_suffix", "@myip>;party=calling;id-type=subscriber;screen=yes;privacy=off")
# -- rr params -- # add value to ;lr param to make some broken UAs happy modparam("rr", "enable_full_lr", 1)
# -- acc params -- # report ACKs too for sake of completeness -- as we account PSTN # destinations which are RR, ACKs should show up modparam("acc", "report_ack", 1) modparam("acc", "log_level", 1) # if BYE fails (telephone is dead, record-routing broken, etc.), generate # a report nevertheless -- otherwise we would have no STOP event; => 1 #modparam("acc", "failed_transactions", 1)
# that is the flag for which we will account -- don't forget to # set the same one :-) # Usage of flags is as follows: # 1 == should account(all to gateway), # 3 == should report on missed calls (transactions to iptel.org's users), # 4 == destination user wishes to use voicemail # 6 == nathelper # modparam("acc", "log_flag", 1) modparam("acc", "db_flag", 1) modparam("acc", "log_missed_flag", 3) modparam("acc", "db_missed_flag", 3)
# report to syslog: From, i-uri, status, digest id, method modparam("acc", "log_fmt", "fisumdpr")
# -- tm params -- modparam("tm", "fr_timer", 15) modparam("tm", "fr_inv_timer", 25) modparam("tm", "wt_timer", 30)
# -- msilo params modparam("msilo", "registrar", "sip:registrar@mydomain.com")
# -- enum params -- modparam("enum", "domain_suffix", "e164.arpa.")
# -- multi-domain modparam("domain", "db_mode", 1) # ------------------------- request routing logic -------------------
# main routing logic #Routing Script route { #check for old messages: could mean a problem with the DNS entries or some other loop-causer... if (!mf_process_maxfwd_header("10")) { xlog("L_WARN", "WARNING: Too many hops\n"); sl_send_reply("483", "Too many hops, forward count exceeded limit\n"); return; };
#check for extremely large messages; we don't need a sip dos attack if (msg:len >= 2048) { xlog("L_WARN", "WARNING: Message too large, >= 2048 bytes\n"); sl_send_reply("513", "Message too large, exceeded limit\n"); return; };
#record everything besides registers and acks if(method!="REGISTER" && method!="ACK") { setflag(1); };
#do not send to voicemail if BYE or CANCEL #is used to end call before user pickup or timeout if(method=="CANCEL" || method=="BYE") { setflag(10); };
#grant route if route headers already present if (loose_route()) { route(1); return; };
#Always require authentication, which could result in a PSTN, ie $$$ if (method=="REGISTER") { if(!www_authorize("domain.com", "subscriber")) { www_challenge("domain.com", "0"); return; } else { #Save into user database, used below when checking if user is available xlog("L_INFO", "REGISTER: User Authenticated Correctly\n"); save("location"); return; }; };
if (method=="INVITE") { if (uri=~"sip:1[0-9]+@.*") { #authorize if a call is going to PSTN if(!proxy_authorize("domain.com", "subscriber")) { proxy_challenge("domain.com", "0"); return; };
xlog("L_INFO", "CALL: Call to international number\n"); # rewritehostport("voip_gw.domain.net:5060"); rewritehostport("myprovider-voip:port"); } else if(uri=~"sip:*86@.*") { #authorize if a call is going to PSTN if(!proxy_authorize("domain.com", "subscriber")) { proxy_challenge("domain.com", "0"); return; };
xlog("L_INFO", "CALL: Call to check voicemail\n"); rewritehostport("asterisk-server-ip:5090"); } else { if (does_uri_exist())
{ #Call is to sip client, so do nothing but route xlog("L_INFO", "CALL: Sip client\n"); if (!lookup("location")) { sl_send_reply("404", "Not Found"); log(1, "ERROR: User Not Found\n"); return; }; } else { #authorize if a call is going to PSTN if(!proxy_authorize("domain.com", "subscriber")) { proxy_challenge("domain", "0"); return; };
#Call destination is PSTN, so send it to the gateway (Net.com) xlog("L_INFO", "CALL: PSTN gateway\n"); # rewritehostport("voip_gw.domain.net:5060"); rewritehostport("myprovider-voip:port");
}; };
#Make sure that all subsequent requests go through us; record_route(); } else { if (does_uri_exist()) { #Call is to sip client, so do nothing but route xlog("L_INFO", "CALL: Sip client\n"); if (!lookup("location")) { sl_send_reply("404", "Not Found"); log(1, "ERROR: User Not Found\n");
return; }; } else { #Call destination is PSTN, so send it to the gateway (Net.com) xlog("L_INFO", "CALL: PSTN gateway\n"); rewritehostport("voip_gw.domain.net:5060");
}; record_route(); };
#ALL PROCESSING IS DONE, SO ROUTE route(1); }
route[1] { #send the call outward
if(method=="INVITE" && !isflagset(10)) { t_on_failure("2"); };
if (!t_relay()) { xlog("L_WARN", "ERROR: t_relay failed"); sl_reply_error(); };
}
failure_route[2] { if(!t_was_cancelled()) { revert_uri(); rewritehostport("asterisk-ip-voicemail:5090"); append_branch(); #PREVENT SOME CRAZY VOICEMAIL LOOP xlog("L_INFO", "INFO: CALL TO VOICEMAIL"); setflag(10); route(1); } }
ram
ok remove the route(1); and replace t_relay(); in the failure_route[2]; section as below
failure_route[2] { if(!t_was_cancelled()) { revert_uri(); rewritehostport("asterisk-ip-voicemail:5090"); append_branch(); #PREVENT SOME CRAZY VOICEMAIL LOOP xlog("L_INFO", "INFO: CALL TO VOICEMAIL"); setflag(10); t_relay(); }
----- Original Message ----- From: ram To: Glenn Dalgliesh Cc: users@openser.org Sent: Monday, June 05, 2006 1:11 AM Subject: Re: [Users] Openser+Asterisk Voice mail
Hi
here is my config
iam able to dial *86, i get voice message that no voice messages
But the call rewriting when the user not available it should go to asterisks voice mail
ram
[root@sert openser]# more openser.cfg # # $Id: openser.cfg,v 1.5 2005/10/28 19:45:33 bogdan_iancu Exp $ # # simple quick-start config script #
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd) log_facility=LOG_LOCAL7 fork=yes log_stderror=no # (cmd line: -E)
/* Uncomment these lines to enter debugging mode fork=no log_stderror=yes */
check_via=no # (cmd. line: -v) dns=no # (cmd. line: -r) rev_dns=no # (cmd. line: -R) port=5060 children=4 fifo="/tmp/openser_fifo"
# ------------------ module loading ----------------------------------
loadmodule "/usr/local/lib/openser/modules/tm.so" loadmodule "/usr/local/lib/openser/modules/sl.so" loadmodule "/usr/local/lib/openser/modules/acc.so" loadmodule "/usr/local/lib/openser/modules/rr.so" loadmodule "/usr/local/lib/openser/modules/maxfwd.so" loadmodule "/usr/local/lib/openser/modules/mysql.so" loadmodule "/usr/local/lib/openser/modules/usrloc.so" loadmodule "/usr/local/lib/openser/modules/registrar.so" loadmodule "/usr/local/lib/openser/modules/auth.so" loadmodule "/usr/local/lib/openser/modules/auth_db.so" loadmodule "/usr/local/lib/openser/modules/textops.so" loadmodule "/usr/local/lib/openser/modules/uri.so" loadmodule "/usr/local/lib/openser/modules/uri_db.so" loadmodule "/usr/local/lib/openser/modules/group.so" loadmodule "/usr/local/lib/openser/modules/msilo.so" loadmodule "/usr/local/lib/openser/modules/nathelper.so" loadmodule "/usr/local/lib/openser/modules/enum.so" loadmodule "/usr/local/lib/openser/modules/domain.so" loadmodule "/usr/local/lib/openser/modules/xlog.so"
fifo_db_url="mysql://openser:openserrw@localhost/openser"
modparam("usrloc|acc|auth_db|group|msilo", "db_url", "mysql://openser:openserrw@localhost/openser")
# ----------------- setting module-specific parameters --------------- # -- usrloc params -- /* 0 -- dont use mysql, 1 -- write_through, 2--write_back */ modparam("usrloc", "db_mode", 2) modparam("usrloc", "timer_interval", 10) modparam("usrloc", "use_domain", 1) modparam("registrar", "use_domain", 1) # -- auth params -- modparam("auth_db", "calculate_ha1", yes) modparam("auth_db", "password_column", "password") #modparam("auth_db", "use_rpid", 1) modparam("auth", "nonce_expire", 300) modparam("auth", "rpid_prefix", "<sip:") modparam("auth", "rpid_suffix", "@myip>;party=calling;id-type=subscriber;screen=yes;privacy=off")
# -- rr params -- # add value to ;lr param to make some broken UAs happy modparam("rr", "enable_full_lr", 1)
# -- acc params -- # report ACKs too for sake of completeness -- as we account PSTN # destinations which are RR, ACKs should show up modparam("acc", "report_ack", 1) modparam("acc", "log_level", 1) # if BYE fails (telephone is dead, record-routing broken, etc.), generate # a report nevertheless -- otherwise we would have no STOP event; => 1 #modparam("acc", "failed_transactions", 1)
# that is the flag for which we will account -- don't forget to # set the same one :-) # Usage of flags is as follows: # 1 == should account(all to gateway), # 3 == should report on missed calls (transactions to iptel.org's users), # 4 == destination user wishes to use voicemail # 6 == nathelper # modparam("acc", "log_flag", 1) modparam("acc", "db_flag", 1) modparam("acc", "log_missed_flag", 3) modparam("acc", "db_missed_flag", 3)
# report to syslog: From, i-uri, status, digest id, method modparam("acc", "log_fmt", "fisumdpr")
# -- tm params -- modparam("tm", "fr_timer", 15) modparam("tm", "fr_inv_timer", 25) modparam("tm", "wt_timer", 30)
# -- msilo params modparam("msilo", "registrar", "sip:registrar@mydomain.com")
# -- enum params -- modparam("enum", "domain_suffix", "e164.arpa.")
# -- multi-domain modparam("domain", "db_mode", 1) # ------------------------- request routing logic -------------------
# main routing logic #Routing Script route { #check for old messages: could mean a problem with the DNS entries or some other loop-causer... if (!mf_process_maxfwd_header("10")) { xlog("L_WARN", "WARNING: Too many hops\n"); sl_send_reply("483", "Too many hops, forward count exceeded limit\n"); return; };
#check for extremely large messages; we don't need a sip dos attack if (msg:len >= 2048) { xlog("L_WARN", "WARNING: Message too large, >= 2048 bytes\n"); sl_send_reply("513", "Message too large, exceeded limit\n"); return; };
#record everything besides registers and acks if(method!="REGISTER" && method!="ACK") { setflag(1); };
#do not send to voicemail if BYE or CANCEL #is used to end call before user pickup or timeout if(method=="CANCEL" || method=="BYE") { setflag(10); };
#grant route if route headers already present if (loose_route()) { route(1); return; };
#Always require authentication, which could result in a PSTN, ie $$$ if (method=="REGISTER") { if(!www_authorize("domain.com", "subscriber")) { www_challenge("domain.com", "0"); return; } else { #Save into user database, used below when checking if user is available xlog("L_INFO", "REGISTER: User Authenticated Correctly\n"); save("location"); return; }; };
if (method=="INVITE") { if (uri=~"sip:1[0-9]+@.*") { #authorize if a call is going to PSTN if(!proxy_authorize("domain.com", "subscriber")) { proxy_challenge("domain.com", "0"); return; };
xlog("L_INFO", "CALL: Call to international number\n"); # rewritehostport("voip_gw.domain.net:5060"); rewritehostport("myprovider-voip:port"); } else if(uri=~"sip:*86@.*") { #authorize if a call is going to PSTN if(!proxy_authorize("domain.com", "subscriber")) { proxy_challenge(" domain.com", "0"); return; };
xlog("L_INFO", "CALL: Call to check voicemail\n"); rewritehostport("asterisk-server-ip:5090"); } else { if (does_uri_exist())
{ #Call is to sip client, so do nothing but route xlog("L_INFO", "CALL: Sip client\n"); if (!lookup("location")) { sl_send_reply("404", "Not Found"); log(1, "ERROR: User Not Found\n"); return; }; } else { #authorize if a call is going to PSTN if(!proxy_authorize("domain.com ", "subscriber")) { proxy_challenge("domain", "0"); return; };
#Call destination is PSTN, so send it to the gateway (Net.com) xlog("L_INFO", "CALL: PSTN gateway\n"); # rewritehostport("voip_gw.domain.net:5060"); rewritehostport("myprovider-voip:port");
}; };
#Make sure that all subsequent requests go through us; record_route(); } else { if (does_uri_exist()) { #Call is to sip client, so do nothing but route xlog("L_INFO", "CALL: Sip client\n"); if (!lookup("location")) { sl_send_reply("404", "Not Found"); log(1, "ERROR: User Not Found\n");
return; }; } else { #Call destination is PSTN, so send it to the gateway (Net.com) xlog("L_INFO", "CALL: PSTN gateway\n"); rewritehostport("voip_gw.domain.net:5060");
}; record_route(); };
#ALL PROCESSING IS DONE, SO ROUTE route(1); }
route[1] { #send the call outward
if(method=="INVITE" && !isflagset(10)) { t_on_failure("2"); };
if (!t_relay()) { xlog("L_WARN", "ERROR: t_relay failed"); sl_reply_error(); };
}
failure_route[2] { if(!t_was_cancelled()) { revert_uri(); rewritehostport("asterisk-ip-voicemail:5090"); append_branch(); #PREVENT SOME CRAZY VOICEMAIL LOOP xlog("L_INFO", "INFO: CALL TO VOICEMAIL"); setflag(10); route(1); } }
ram