One of my providers requires the To: header to be in e.164 format with a "+" in front of it. Since there is no uac_replace_to() function yet, what are my options for adding this plus symbol?
Before anyone suggests it... I cannot just use another provider. I must find a solution to add the plus symbol.
Thanks, Daryl
You may use the following syntax:
subst('/^To:(.*)@(.*)/To:+\1@\2/');
Hope it helps, Regards, Ricardo.
Daryl Sanders wrote:
One of my providers requires the To: header to be in e.164 format with a "+" in front of it. Since there is no uac_replace_to() function yet, what are my options for adding this plus symbol?
Before anyone suggests it... I cannot just use another provider. I must find a solution to add the plus symbol.
Thanks, Daryl
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Ricardo, Can you help us in setting OpenSer as a central proxy for multiple Asterisk PSTN GWs, we current have trouble in routing UAs call through OpenSer without being registered with Asterisk.. We like to just have OpenSer registered with all the Asterisk and OpenSer will be the AAA proxy for SIP users, once authenticated through MYSQL db look up, OpenSer will pass the call to Asterisk Box. Asterisk Boxes will then make connection to PSTN or VM service. Please see the script below and comment. Thank you in advance, Michael -------------------------------------------------------------------------------------------------- # # $Id: openser.cfg,v 1.6 2006/02/15 18:23:46 bogdan_iancu Exp $ # # simple quick-start config script #
# ----------- global configuration parameters ------------------------
debug=3 # debug level (cmd line: -dddddddddd) fork=yes # Set to no to enter debugging mode log_stderror=no # (cmd line: -E) Set to yes to enter debugging mode
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 = "/build/buildd/openser-1.1.0/debian/openser/etc/openser/tls/user/user-cert.pem" #tls_private_key = "/build/buildd/openser-1.1.0/debian/openser/etc/openser/tls/user/user-privkey.pem" #tls_ca_list = "/build/buildd/openser-1.1.0/debian/openser/etc/openser/tls/user/user-calist.pem"
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use SQL database loadmodule "/usr/lib/openser/modules/mysql.so" loadmodule "/usr/lib/openser/modules/domain.so" loadmodule "/usr/lib/openser/modules/sl.so" loadmodule "/usr/lib/openser/modules/tm.so" loadmodule "/usr/lib/openser/modules/rr.so" loadmodule "/usr/lib/openser/modules/maxfwd.so" loadmodule "/usr/lib/openser/modules/usrloc.so" loadmodule "/usr/lib/openser/modules/mediaproxy.so" loadmodule "/usr/lib/openser/modules/registrar.so" loadmodule "/usr/lib/openser/modules/textops.so" loadmodule "/usr/lib/openser/modules/uri.so" loadmodule "/usr/lib/openser/modules/uri_db.so" loadmodule "/usr/lib/openser/modules/avpops.so" loadmodule "/usr/lib/openser/modules/permissions.so" # Uncomment this if you want digest authentication # mysql.so must be loaded ! loadmodule "/usr/lib/openser/modules/auth.so" loadmodule "/usr/lib/openser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
#modparam("usrloc", "db_mode", 0) modparam("auth_db|permissions|uri_db|usrloc", "db_url", "mysql://openser:openserrw@localhost/openser")
# Uncomment this if you want to use SQL database # for persistent storage and comment the previous line #modparam("usrloc", "db_mode", 2)
# -- auth params -- # Uncomment if you are using auth module # modparam("auth_db", "calculate_ha1", yes) # # If you set "calculate_ha1" parameter to yes (which true in this config), # uncomment also the following parameter) # modparam("auth_db", "password_column", "password")
# -- rr params -- # add value to ;lr param to make some broken UAs happy modparam("rr", "enable_full_lr", 1)
modparam("permissions", "db_mode", 1) modparam("permissions", "trusted_table", "trusted") # ------------------------- 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();
# ----------------------------------------------------------------- # Call Tear Down Section # ----------------------------------------------------------------- if (method=="BYE" || method=="CANCEL") { end_media_session(); };
# 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");
if (method=="INVITE") {
if (!allow_trusted()) {
if (!proxy_authorize("","subscriber")) { proxy_challenge("","0"); exit; } else if (!check_from()) { sl_send_reply("403", "Use From=ID"); exit; }; consume_credentials(); };
if (client_nat_test("3")||search("^Route:.*;nat=yes")){ setflag(6); use_media_proxy(); }; }; 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) { route(3); return; };
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication if (!www_authorize("192.168.0.104", "subscriber")) { www_challenge("192.168.0.104", "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")) { append_hf("P-hint: usrloc applied\r\n"); } else if (uri=~"sip:[0-9]{10}@.*") { route(3); } else { sl_send_reply("404", "Not Found"); exit; } };
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; }
route[3] { rewriteuser("citywide"); rewriteuserpass("wide2city"); rewritehostport("voip.victoria.tc.ca:5060"); forward("voip.victoria.tc.ca");
append_hf("P-hint: LOCAL CALL FORWARDED TO IPBX\r\n"); if (!t_relay()) { sl_reply_error(); return; }; exit; } ------------------------------------------------------------------------------------------------------------------------------------------ ----- Original Message ----- From: "Ricardo Carvalho" rjcarvalho@reit.up.pt To: "Daryl Sanders" daryl.sanders@gmail.com Cc: users@openser.org Sent: Wednesday, March 21, 2007 11:13 AM Subject: Re: [Users] To: header in e.164 format - adding a plus
You may use the following syntax:
subst('/^To:(.*)@(.*)/To:+\1@\2/');
Hope it helps, Regards, Ricardo.
Daryl Sanders wrote:
One of my providers requires the To: header to be in e.164 format with a "+" in front of it. Since there is no uac_replace_to() function yet, what are my options for adding this plus symbol?
Before anyone suggests it... I cannot just use another provider. I must find a solution to add the plus symbol.
Thanks, Daryl
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users
-- No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.446 / Virus Database: 268.18.16/729 - Release Date: 3/21/2007 7:52 AM
-------------------------------------------------------------------------------- I am using the free version of SPAMfighter for private users. It has removed 324 spam emails to date. Paying users do not have this message in their emails. Try SPAMfighter for free now!