Hi All,
I am still a bit new to openser and I am trying to get the call to respond with busy if caller calls themself from their own UA. I created in the table grp - "voicemail" with corresponding usernames. While in the failure route, I am requesting to route calls to voicemail if the caller is calling a user that is busy or unavailable (but i don't want caller = self in this category), but I get this error for the first openser.cfg snippet: ( 0(31978) parse error (140,19-20): unknown command, missing loadmodule? Also, when I run the avp_check condition by iself without && my program seems to just skip over it and shoots right to the failure route and then redirects to voicemail when busy or unavailable, whether it is the caller calling from their own UA or not. ------------------------------------------------------------------------------------------- Route { ....
if (method=="INVITE") { avp_write("$from", "i:34"); if (is_in_group("voicemail") && avp_check("i:34", "eq/$ruri/i")) { <- this is the parse error, line 140 sl_send_reply("486", "Busy Here"); exit; }; avp_delete("i:34"); ........ } .... # ----------------------------------------------------------------- # Default Message Handler # -----------------------------------------------------------------
t_on_reply("1");
if(method=="INVITE" && !isflagset(10)) { t_on_failure("1"); }; ....... failure_route[1] { if (!t_was_cancelled() | (t_check_status("486") ) { revert_uri(); rewritehostport("mydomain.com:5065"); append_branch(); xlog("L_INFO", "Temporarily Unavailable or Busy: Transfer to Voicemail"); setflag(10); route(1); } ---------------------------------------------------------------------------------------------end of first openser.cfg snippet
Prior to the above, I have this openser.cfg working somewhat to my wishes by forwarding to the failure route any busy UA and returning a 486 (whether it as caller=callee or not) and for unavailable it would forward to voicemail. Also, I have a backup conditional statement (not shown) for users to dial *981 to reach a UA's voicemail directly to leave voicemail because I cannot get around the busy 486. ________________________________
failure_route[1] { if (t_check_status("486")) { xlog("L_NOTICE", "OPENSER_NAME: $mi $rm $fu -> $ru status 486 Busy Here\n"); exit;
} else if (!t_was_cancelled() ) { revert_uri(); rewritehostport("mydomain.com:5065"); append_branch(); xlog("L_INFO", "Temporarily Unavailable #1: Transfer to Voicemail"); setflag(10); route(1); } ---------------- end of 2nd openser.cfg snippet
Actually, i need help with trying to get it to work right by if caller = self (as a separate condition) then return with 486 busy, and another condition if UA is unavailable or busy then forward to voicemail. I really would like a bit of help. I I hope this makes sense.
Thanks,
Tracy (The Practitioner)
_________________________________________________________________ Call friends with PC-to-PC calling -- FREE http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&sour...
Hi,
I've exhausted my knowledge on openser:(. Following is my openser.cfg which is pretty much copy directly from sample but I kept getting "513 Message too big" response from this server for SIP registration, I know the SIP registration message size is ONLY 555 bytes, what could be wrong here?
Thanks in Advance!
# # $Id: openser.cfg,v 1.6 2006/02/15 18:23:46 bogdan_iancu Exp $ # # simple quick-start config script #
# ----------- global configuration parameters ------------------------
debug=4 # debug level (cmd line: -dddddddddd) fork=yes log_stderror=yes # (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"
# # uncomment the following lines for TLS support #disable_tls = 0 #listen = tls:your_IP:5061 #tls_verify = 1 #tls_require_certificate = 0 #tls_method = TLSv1 #tls_certificate = "/usr/local/etc/openser/tls/user/user-cert.pem" #tls_private_key = "/usr/local/etc/openser/tls/user/user-privkey.pem" #tls_ca_list = "/usr/local/etc/openser/tls/user/user-calist.pem"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database loadmodule "/usr/local/lib64/openser/modules/mysql.so" loadmodule "/usr/local/lib64/openser/modules/sl.so" loadmodule "/usr/local/lib64/openser/modules/tm.so" loadmodule "/usr/local/lib64/openser/modules/rr.so" loadmodule "/usr/local/lib64/openser/modules/maxfwd.so" loadmodule "/usr/local/lib64/openser/modules/usrloc.so" loadmodule "/usr/local/lib64/openser/modules/registrar.so" loadmodule "/usr/local/lib64/openser/modules/textops.so" loadmodule "/usr/local/lib64/openser/modules/auth.so" loadmodule "/usr/local/lib64/openser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params -- #modparam("usrloc", "db_mode", 0) # Uncomment this if you want to use SQL database # for persistent storage and comment the previous line modparam("usrloc", "db_mode", 2) modparam("usrloc", "db_url", "mysql://openser:passwd@localhost/openser")
# -- auth params -- # Uncomment if you are using auth module # modparam("auth_db", "calculate_ha1", yes) modparam("auth_db", "password_column", "password") modparam("auth_db", "db_url", "mysql://openser:passwd@localhost/openser")
# -- rr params -- # add value to ;lr param to make some broken UAs happy modparam("rr", "enable_full_lr", 1)
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with # max_forwards==0, or excessively long requests if (!mf_process_maxfwd_header("10")) { sl_send_reply("483","Too Many Hops"); exit; };
if (msg:len >= 2048 ) { sl_send_reply("513", "Message too big"); exit; };
# we record-route all messages -- to make sure that # subsequent messages will go through our proxy; that's # particularly good if upstream and downstream entities # use different transport protocol if (!method=="REGISTER") record_route();
# subsequent messages withing a dialog should take the # path determined by record-routing if (loose_route()) { # mark routing logic in request append_hf("P-hint: rr-enforced\r\n"); route(1); };
if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n"); # if you have some interdomain connections via TLS #if(uri=~"@tls_domain1.net") { # t_relay("tls:domain1.net"); # exit; #} else if(uri=~"@tls_domain2.net") { # t_relay("tls:domain2.net"); # exit; #} route(1); };
# if the request is for other domain use UsrLoc # (in case, it does not work, use the following command # with proper names and addresses in it) if (uri==myself) {
if (method=="REGISTER") { if (!www_authorize("sip.mydomain.com", "subscriber")) { www_challenge("sip.mydomain.com", "0"); exit; };
save("location"); exit; };
lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); };
# native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); exit; }; append_hf("P-hint: usrloc applied\r\n"); };
route(1); }
route[1] { # send it out now; use stateful forwarding as it works reliably # even for UDP2TCP if (!t_relay()) { sl_reply_error(); }; exit; }
Bill
Hi,
there is no function "is_in_group" check this: http://openser.org/docs/modules/1.1.x/group.html#AEN178
regards, bogdan
Tracy Lofton wrote:
Hi All,
I am still a bit new to openser and I am trying to get the call to respond with busy if caller calls themself from their own UA. I created in the table grp - "voicemail" with corresponding usernames. While in the failure route, I am requesting to route calls to voicemail if the caller is calling a user that is busy or unavailable (but i don't want caller = self in this category), but I get this error for the first openser.cfg snippet: ( 0(31978) parse error (140,19-20): unknown command, missing loadmodule? Also, when I run the avp_check condition by iself without && my program seems to just skip over it and shoots right to the failure route and then redirects to voicemail when busy or unavailable, whether it is the caller calling from their own UA or not.
Route { ....
if (method=="INVITE") { avp_write("$from", "i:34"); if (is_in_group("voicemail") && avp_check("i:34", "eq/$ruri/i")) { <- this is the parse error, line 140 sl_send_reply("486", "Busy Here"); exit; }; avp_delete("i:34"); ........ } .... # ----------------------------------------------------------------- # Default Message Handler # -----------------------------------------------------------------
t_on_reply("1");
if(method=="INVITE" && !isflagset(10)) { t_on_failure("1"); }; ....... failure_route[1] { if (!t_was_cancelled() | (t_check_status("486") ) { revert_uri(); rewritehostport("mydomain.com:5065"); append_branch(); xlog("L_INFO", "Temporarily Unavailable or Busy: Transfer to Voicemail"); setflag(10); route(1); } ---------------------------------------------------------------------------------------------end of first openser.cfg snippet
Prior to the above, I have this openser.cfg working somewhat to my wishes by forwarding to the failure route any busy UA and returning a 486 (whether it as caller=callee or not) and for unavailable it would forward to voicemail. Also, I have a backup conditional statement (not shown) for users to dial *981 to reach a UA's voicemail directly to leave voicemail because I cannot get around the busy 486. ________________________________
failure_route[1] { if (t_check_status("486")) { xlog("L_NOTICE", "OPENSER_NAME: $mi $rm $fu -> $ru status 486 Busy Here\n"); exit;
} else if (!t_was_cancelled() ) { revert_uri(); rewritehostport("mydomain.com:5065"); append_branch(); xlog("L_INFO", "Temporarily Unavailable #1: Transfer to Voicemail"); setflag(10); route(1); } ---------------- end of 2nd openser.cfg snippet
Actually, i need help with trying to get it to work right by if caller = self (as a separate condition) then return with 486 busy, and another condition if UA is unavailable or busy then forward to voicemail. I really would like a bit of help. I I hope this makes sense.
Thanks,
Tracy (The Practitioner)
Call friends with PC-to-PC calling -- FREE http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&sour...
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users