[Users] Please help me to fix openser.cfg (rewritehostport)
Daniel-Constantin Mierla
daniel at voice-system.ro
Fri Oct 13 11:13:05 CEST 2006
I am not sure what do you want to achieve, but I assume it should be
before lookup("aliases");
Cheers,
Daniel
On 10/12/06 17:01, Ronald Wiplinger wrote:
> 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 at openser.org
> http://openser.org/cgi-bin/mailman/listinfo/users
>
More information about the Users
mailing list