I try to rewritehostport to my Asterisk box with
all starting
numbers with 6. The xlog never shows anything.
if (method=="INVITE") {
if (uri=~"^sip:6.+@") {
rewritehostport("xx.xx.xx.xx:5060");
xlog("L_ERR", "transfer to
Asterisk");
route(1);
exit;
};
};
I believe I did not put it at the right place. Below is my entire
openser.cfg. Can you please tell me, where above paragraph should
be? Other parts maybe also not in the right order.
bye
Ronald Wiplinger
#
# $Id: openser.cfg,v 1.6 2006/02/15 18:23:46 bogdan_iancu Exp $
#
debug=3 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
log_facility=LOG_LOCAL7
log_name="Taipei-openser"
check_via=no # (cmd. line: -v)
dns=no # was no (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/openser_fifo"
mpath="/usr/local/lib64/openser/modules/"
loadmodule "mysql.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "nathelper.so"
loadmodule "xlog.so"
loadmodule "enum.so"
loadmodule "acc.so"
loadmodule "auth.so"
loadmodule "auth_db.so"
modparam("usrloc|auth_db","db_url","mysql://shshshsh:shhhhrw@localhost/wodeopenser")
modparam("usrloc", "db_mode", 2)
modparam("registrar", "nat_flag", 6)
modparam("registrar", "sip_natping_flag", 7)
modparam("auth_db",
"calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
modparam("rr", "enable_full_lr", 1)
modparam("nathelper", "rtpproxy_sock",
"udp:xx.xx.xx.xx:22222") #
default port 22222
#modparam("nathelper", "rtpproxy_sock",
"unix:/var/run/rtpproxy.sock") modparam("nathelper",
"natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "sipping_from", "sip:xx.xx.xx.xx")
modparam("enum", "domain_suffix", "e164.org.")
modparam("enum", "tel_uri_params", ";npdi")
# ------------------------- request routing logic -------------------
# main routing logic
route{
xlog("L_ERR", "request method: [$rm], from URI: [$fu], To URI:
[$tu]");
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
exit;
};
if (msg:len >= 4096 ) {
sl_send_reply("513", "Message too big");
exit;
};
#
-----------------------------------------------------------------
# NAT detection
#
-----------------------------------------------------------------
route(2);
#
-----------------------------------------------------------------
# if you want to make ENUM work with numbers starting with "00",
# use the following to convert "00" it into a "+"
#
-----------------------------------------------------------------
if (uri=~"^sip:00[1-9][0-9]*@") { strip(2);
prefix("+");
};
if (uri=~"sip:\+[0-9]+@") {
if(!enum_query("e164.arpa.") && !enum_query("e164.org.")
&&
!enum_query("e164.info.") && !enum_query("enum.org."))
{
xlog("L_ERR", "Invalid enum? $uri
Route to PSTN");
};
xlog("L_ERR","we matched just number $tu");
strip(1); # remove +
t_relay();
exit;
};
#
-----------------------------------------------------------------
if (!method=="REGISTER")
record_route();
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n"); route(1);
};
# -----------------------------------------------------------------
# Call Type Processing Section
# -----------------------------------------------------------------
if (!uri==myself) {
route(1);
};
# -----------------------------------------------------------------
if (uri==myself) {
if (method=="REGISTER") {
if (!www_authorize("taipei.example.net", "subscriber"))
{
www_challenge("taipei.example.net", "0");
exit;
};
if (isflagset(5)) {
setflag(6);
};
save("location");
exit;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
};
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
append_hf("P-hint: usrloc applied\r\n");
if (method=="INVITE") {
if (uri=~"^sip:6.+@") {
rewritehostport("xx.xx.xx.xx:5060");
xlog("L_ERR", "transfer to
Asterisk");
route(1);
exit;
};
}; };
route(1);
}
route[1] {
if (subst_uri('/(sip:.*);nat=yes/\1/')){
setflag(6);
};
if (isflagset(5)||isflagset(6)) {
route(3);
}
if (!t_relay()) {
sl_reply_error();
};
exit;
}
route[2]{
force_rport();
if (nat_uac_test("19")) {
if (method=="REGISTER") {
fix_nated_register();
} else {
fix_nated_contact();
};
setflag(5);
};
}
route[3] {
if (is_method("BYE|CANCEL")) {
unforce_rtp_proxy();
} else if (is_method("INVITE")){
force_rtp_proxy();
t_on_failure("1");
};
if (isflagset(5))
search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
t_on_reply("1");
}
failure_route[1] {
if (isflagset(6) || isflagset(5)) {
unforce_rtp_proxy();
}
}
_______________________________________________
Users mailing list
Users(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users
---
avast! Antivirus: Inbound message clean.
Virus Database (VPS): 0641-3, 2006/10/12
Tested on: 2006/10/13 ¤U¤È 05:15:28
avast! - copyright (c) 1988-2006 ALWIL Software.