[Users] Need help to migrate OpenSer v1.0.x to v1.1.x

Rafo RGV rafael.risco at gmail.com
Wed Aug 16 17:33:03 CEST 2006


hi daniel
yes I checked dokuwiki, also modified openserctlrc to set SIP_DOMAIN,
DBENGINE, DBHOST, etc... my Database is in external host so I have
created subscribers from openser host and also from database host but
cant register anyway.

I did not see any errors in syslog but i have some doubts about
logging, can you tell me if basic logging system has changed? I dont
known why cant see any logs as in 1.0.9  when I define for example:
log("REGISTER message received\n"); or
log("Fails to Register \n");

thanks
rafael

On 8/16/06, Daniel-Constantin Mierla <daniel at voice-system.ro> wrote:
> Hello,
>
> have you checked:
>
> http://openser.org/dokuwiki/doku.php?id=migrating_openser_v1.0.x_to_v1.1.x
>
> Also, did you get some errors in syslog when the clients attempt to
> register? Please check in database that the password you set for the
> user is the same as you expect (in table subscriber).
>
> Cheers,
> Daniel
>
>
>
>
> On 08/16/06 05:25, Rafo RGV wrote:
> > Hi
> > I am migrating OpenSER v1.0.9 to v1.1.0 using the config file I send
> > below that works perfect in 1.0.9 and I modified to run in 1.1.x ,
> > I´ve just needed to change naming schema in parameter given to
> > exported functions of avpops module to run without errors in this new
> > version but when running can´t see basic logs and can´t register any
> > client even if I install DB schema and create subscriber using its
> > openserctl , ngrep just show me a 'forbidden' message but dont know
> > why, please someone send me some advice.
> > thanks
> > rafael
> >
> >
> > # ----------------- global configuration parameters --------------------
> >
> > debug=4
> > fork=yes
> > log_stderror=yes
> >
> > listen=192.168.2.136    # OPENSER IP ADDRESS HERE
> > port=5060
> >
> > # Hostname matching an alias will satisfy the condition uri==myself".
> > # alias=mydomain.com.pe:5060
> > # alias=mydomain.com.pe
> > alias=192.168.2.136:5060
> > alias=192.168.2.136
> >
> > check_via=yes    # (cmd. line: -v)
> > children=4
> > dns=no
> > rev_dns=no
> > fifo="/tmp/openser_fifo"
> > # fifo="FIFO"
> > fifo_mode=0666  # Fifo permissions can be changes from here.
> > fifo_db_url="mysql://dbuser:dbpass@dbt2.mydomain.com.pe/openser"
> >
> > # -----------------------------------------------------------------------
> >
> > loadmodule "/usr/local/lib/openser/modules/mysql.so"
> > loadmodule "/usr/local/lib/openser/modules/sl.so"
> > loadmodule "/usr/local/lib/openser/modules/tm.so"
> > loadmodule "/usr/local/lib/openser/modules/rr.so"
> > loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
> > loadmodule "/usr/local/lib/openser/modules/usrloc.so"
> > loadmodule "/usr/local/lib/openser/modules/registrar.so"
> > loadmodule "/usr/local/lib/openser/modules/group.so"
> > loadmodule "/usr/local/lib/openser/modules/auth.so"
> > loadmodule "/usr/local/lib/openser/modules/auth_db.so"
> > loadmodule "/usr/local/lib/openser/modules/uri.so"
> > loadmodule "/usr/local/lib/openser/modules/uri_db.so"
> > ## loadmodule "/usr/local/lib/openser/modules/mediaproxy.so"
> > loadmodule "/usr/local/lib/openser/modules/nathelper.so"
> > loadmodule "/usr/local/lib/openser/modules/textops.so"
> > loadmodule "/usr/local/lib/openser/modules/avpops.so"
> > loadmodule "/usr/local/lib/openser/modules/domain.so"
> > loadmodule "/usr/local/lib/openser/modules/permissions.so"
> > loadmodule "/usr/local/lib/openser/modules/acc.so"
> > loadmodule "/usr/local/lib/openser/modules/uac_redirect.so"
> > loadmodule "/usr/local/lib/openser/modules/diversion.so"
> > # -----------------------------------------------------------------------
> >
> > modparam("auth_db|permissions|group|uri_db|usrloc", "db_url",
> > "mysql://dbuser:dbpass@dbt2.mydomain.com.pe/openser")
> > modparam("auth_db", "calculate_ha1", 1)
> > modparam("auth_db", "password_column", "password")
> >
> > modparam("nathelper", "natping_interval", 30)
> > modparam("nathelper", "ping_nated_only", 1)
> > modparam("nathelper", "rtpproxy_sock", "unix:/var/run/rtpproxy.sock")
> >
> > modparam("usrloc", "db_mode", 2)
> >
> > modparam("registrar", "nat_flag", 6)
> >
> > modparam("rr", "enable_full_lr", 1)
> >
> > modparam("tm", "fr_inv_timer", 27)
> >
> > modparam("permissions", "db_mode", 1)
> > modparam("permissions", "trusted_table", "trusted")
> >
> > modparam("avpops", "avp_url",
> > "mysql://dbuser:dbpass@dbt2.mydomain.com.pe/openser")
> > modparam("avpops", "avp_table", "usr_preferences")
> >
> > # ------------- Mysql Accounting parameters
> >
> > modparam("acc", "log_flag", 1)
> > modparam("acc", "log_level", 2)
> > modparam("acc", "db_flag", 1)
> > modparam("acc", "db_missed_flag", 3)
> > modparam("acc", "log_missed_flag", 3)
> > modparam("acc", "db_url",
> > "mysql://dbuser:dbpass@dbt2.mydomain.com.pe/openser")
> > modparam("acc", "report_ack", 0) # 1 reporta dos starts en acc (para
> > INVITE y ACK)
> >
> > modparam("acc", "log_fmt", "miocfsputdr")
> > modparam("acc", "detect_direction", 1) # only in 1.1.x or cvs
> > modparam("acc", "multi_leg_enabled", 1)
> > modparam("acc", "src_leg_avp_id", 110)
> > modparam("acc", "dst_leg_avp_id", 111)
> >
> > # ------------- Domain parameters
> >
> > modparam("usrloc", "use_domain", 1)
> > modparam("auth_db", "use_domain", 1)
> > modparam("registrar", "use_domain", 1)
> > modparam("domain", "db_mode", 1)
> > modparam("domain", "domain_table", "domain")
> > modparam("domain", "domain_col", "domain")
> >
> > #
> > -------------------------------------------------------------------------
> >
> > route {
> >
> >        # log(1,
> > "-------------------------------------------------------\n");
> >        # log(1, "entering main loop\n");
> >
> >        ## populate the avps (for Multi call leg accounting):
> >        if (!method=="REGISTER" && !method=="NOTIFY") {
> >                avp_write("$from/username", "$avp(i:110)");
> >                avp_write("$ruri/username", "$avp(i:111)");
> >          };
> >
> >        # set flag for Missed calls for Accounting:
> >        if (!method=="OPTIONS") setflag(3);
> >
> >        if (method=="INVITE") {
> >                log(1, " INVITE MESSAGE RECEIVED - START ACC\n");
> >        };
> >
> >        if (method=="BYE") {
> >                log (1, " BYE MESSAGE RECEIVED - STOP ACCOUNTING\n");
> >        };
> >
> >        if (method=="CANCEL") {
> >                log (1, " CANCEL MESSAGE RECEIVED - STOP ACCOUNTING\n");
> >        };
> >
> >        if (method=="OPTIONS") {
> >                log(1, "       OPTIONS MESSAGE RECEIVED\n");
> >                return;        #Do Nothing for 'Options'
> >        };
> >
> >        #
> > -----------------------------------------------------------------
> >        # Sanity Check Section
> >        #
> > -----------------------------------------------------------------
> >        if (!mf_process_maxfwd_header("10")) {
> >                sl_send_reply("483", "Too Many Hops");
> >                return;
> >        };
> >
> >        if (msg:len > max_len) {
> >                sl_send_reply("513", "Message Overflow");
> >                return;
> >        };
> >
> >        #
> > -----------------------------------------------------------------
> >        # Handle NOTIFY requests from Sipura's to keep-alive NAT
> >        #
> > -----------------------------------------------------------------
> >        if ((is_method("NOTIFY")) && (! uri=~"sip:.*[@]+.*")) {
> >                sl_send_reply("200", "OK keep-alive");
> >                log(1, "       OK keep-alive\n");
> >                return;
> >        };
> >
> >        #
> > -----------------------------------------------------------------
> >        # Only allow known sip messages
> >        #
> > -----------------------------------------------------------------
> >        if
> > (!is_method("INVITE|REGISTER|BYE|NOTIFY|ACK|CANCEL|REFER|SUBSCRIBE"))
> > {
> >                sl_send_reply("501", "Not implemented here");
> >                log(1, "       501 - Not implemented here\n");
> >                return;
> >        };
> >
> >        #
> > -----------------------------------------------------------------
> >        # SUBSCRIBE cleanup
> >        #
> > -----------------------------------------------------------------
> >        if (is_method("SUBSCRIBE")) {
> >                replace(" talk", "talk");
> >        };
> >
> >        #
> > -----------------------------------------------------------------
> >        # Record Route Section
> >        #
> > -----------------------------------------------------------------
> >        if (method=="INVITE" && nat_uac_test("19")) {
> >
> >                # OPENSER IP ADDRESS OR DOMAIN HERE:
> >                record_route_preset("192.168.2.136:5060;nat=yes");
> >                setflag(1);  ## Set Flag 1 for Acc: test from this
> > location!!
> >                } else if (method!="REGISTER") {
> >                record_route();
> >        };
> >
> >        #
> > -----------------------------------------------------------------
> >        # Call Tear Down Section
> >        #
> > -----------------------------------------------------------------
> >        if (method=="BYE" || method=="REFER" || method=="CANCEL") {
> >                unforce_rtp_proxy();
> >                setflag(1);  ### Set Flag 1 for Acounting
> >        };
> >
> >        #
> > -----------------------------------------------------------------
> >        # Loose Route Section
> >        #
> > -----------------------------------------------------------------
> >
> >        if (loose_route()) {
> >
> >                if (has_totag() && (method=="INVITE" || method=="ACK")) {
> >
> >                        if (nat_uac_test("19")) {
> >                                setflag(7);
> >                                force_rport();
> >                                fix_nated_contact();
> >                        };
> >                        force_rtp_proxy("l");
> >                };
> >
> >                route(1);
> >                return;
> >        };
> >
> >        #
> > -----------------------------------------------------------------
> >        # Call Type Processing Section
> >        #
> > -----------------------------------------------------------------
> >
> >        if (!is_uri_host_local()) {
> >                if (is_from_local() || allow_trusted()) {
> >                        route(4);
> >                        route(1);
> >                } else {
> >                        sl_send_reply("403", "Forbidden");
> >                };
> >                return;
> >        };
> >
> >
> >        if (method=="CANCEL") {
> >                route(1);
> >                return;
> >        } else if (method=="INVITE") {
> >                setflag(1);  # Set Flag for Acounting
> >                route(3);
> >                return;
> >        } else if (method=="REGISTER") {
> >                route(2);
> >                return;
> >        };
> >
> >        lookup("aliases");
> >        if (uri!=myself) {
> >                route(4);
> >                route(1);
> >                return;
> >        };
> >
> >        if (!lookup("location") && !method=="ACK") {
> >
> >                if (does_uri_exist()) {
> >                        log(1, "       uri_exist but its Temporarily
> > Unavailable 1 \n");
> >                        route(7);  # To Voicemail
> >                        return;
> >                } else {
> >                        log(1, "       unable to locate user - User
> > Not Exist 1 \n");
> >                        sl_send_reply("404", "User Not Exist");
> >                        acc_db_request("404 User Not Exist",
> > "missed_calls");
> >                        return;
> >                };
> >        };
> >
> >        route(1);
> > }
> >
> > route[1] {
> >
> >        #
> > -----------------------------------------------------------------
> >        # Default Message Handler
> >        #
> > -----------------------------------------------------------------
> >
> >        t_on_reply("1");
> >
> >        if (!t_relay()) {
> >
> >                if (method=="INVITE" || method=="ACK") {
> >                        unforce_rtp_proxy();
> >                };
> >                sl_reply_error();
> >        };
> > }
> >
> > route[2] {
> >
> >        #
> > -----------------------------------------------------------------
> >        # REGISTER Message Handler
> >        #
> > -----------------------------------------------------------------
> >
> >        sl_send_reply("100", "Trying");
> >
> >        if (is_user_in("from", "desactivado")) {
> >                sl_send_reply("402", "desactivada temporalmente");
> >                log(1,"       Cta. desactivada temporalmente \n");
> >                return;
> >        };
> >
> >        if (!search("^Contact:[ ]*\*") && nat_uac_test("19")) {
> >                setflag(6);
> >                fix_nated_register();
> >                force_rport();
> >        };
> >
> >        if (!www_authorize("","subscriber")) {
> >                log(1,"       Fails to Register \n");
> >                www_challenge("","0");
> >                return;
> >        };
> >
> >        if (!check_to()) {
> >                log(1,"       Unauthorized registration attempt \n");
> >                sl_send_reply("401", "Unauthorized");
> >                return;
> >        };
> >
> >        consume_credentials();
> >
> >        log(1,"       Registered! \n");
> >
> >        if (!save("location")) {
> >                sl_reply_error();
> >        };
> > }
> >
> > route[3] {
> >
> >        #
> > -----------------------------------------------------------------
> >        # INVITE Message Handler
> >        #
> > -----------------------------------------------------------------
> >        log(1," route[3]---> INVITE Message Handler \n");
> >
> >        if ( allow_trusted() ) log(1, " Call from pstn or *pbx, no
> > authentication is required. \n");
> >
> >        if (!allow_trusted()) {
> >
> >                if (!proxy_authorize("","subscriber")) {
> >                        proxy_challenge("","0");
> >                        return;
> >                } else if (!check_from()) {
> >                        sl_send_reply("403", "Use From=ID");
> >                        log(1, "       Sorry, only registered users
> > are allowed \n");
> >                        return;
> >                };
> >                consume_credentials();
> >        };
> >        append_rpid_hf();
> >
> >     # some digits rules here....
> >
> >        lookup("aliases");
> >
> >        if (!is_uri_host_local()) {
> >                route(4);
> >                route(1);
> >                return;
> >        };
> >
> >        if (nat_uac_test("19")) {
> >                setflag(7);
> >                force_rport();
> >        };
> >
> >
> >        #
> > -----------------------------------------------------------------
> >        # to PSTN Routes!!!
> >        #
> > -----------------------------------------------------------------
> >
> >        route(6); # To PSTN & LDI Routes block!!!
> >
> >        #
> > -----------------------------------------------------------------
> >
> >        if ( is_uri_host_local() ) {
> >
> >                # (Is he in the voicemail group?) -- determine it now
> > and store it in
> >                # flag 4, before we rewrite the flag using UsrLoc:
> >                if (is_user_in("Request-URI", "voicemail")) {
> >                        log(1, "       requested user is in voicemail
> > group \n");
> >                        setflag(4);
> >                };
> >
> >                # if user is on-line and is in Voicemail group, enable
> > redirection
> >                # Pendiente: # ver como meter voicemail al avp junto a
> > las otras funciones...
> >                if (method == "INVITE" && isflagset(4)) {
> >                        log(1, "       invite for voicemail
> > user->initiate failureroute[1]\n");
> >                        t_on_failure("1");
> >                };
> >
> >                # flag 22 determines if we need to call the
> > append_branch() for Blind CallFwd.
> >                if (avp_db_load("$ruri/username", "$avp(s:callfwd)")) {
> >                        setflag(22);
> >                        avp_pushto("$ruri", "$avp(s:callfwd)");
> >                        route(6);
> >                        return;
> >                };
> >
> >                # native SIP destinations are handled using our USRLOC DB:
> >                if (!lookup("location") ) {
> >
> >                        if (does_uri_exist()) {
> >                                log(1,"       uri_exist but its
> > Temporarily Unavailable 2 \n");
> >                                route(7);  # To Voicemail
> >                                return;
> >                        } else {
> >                                log(1,"       Unable to locate
> > xcompany user - User Not Exist 2X \n");
> >                                prefix("iu"); ## in asterisk: iu:
> > exten => _iu1780XXXX,1,Playback(invalid,noanswer)
> >                                acc_db_request("404 User Invalid",
> > "missed_calls");
> >                                rewritehostport("192.168.2.131:5070");
> >                                t_relay();
> >                                return;
> >                        };
> >                };
> >
> >                # t_on_failure() informs SER that we want to perform
> > special handling when a failure condition occurs.
> >                # Failure conditions in this context refer to 4xx and
> > 5xx response codes.
> >                # By setting t_on_failure(1) before calling t_relay(),
> > oSER will pass control to the failure_route[1]
> >
> >                t_on_failure("1");
> >
> >                route(4);
> >                route(1);
> >
> >        };
> > }
> >
> > route[4] {
> >
> >        #
> > -----------------------------------------------------------------
> >        # NAT Traversal Section
> >        #
> > -----------------------------------------------------------------
> >
> >        ### First check and resetflags if UAS are behind the same NAT
> > system: ###
> >
> >        if (isflagset(6) && isflagset(7)){
> >                log(2, "       Both Clients are behind NAT");
> >                # Store the destination domain into an AVP
> >                avp_printf("$avp(i:450)", "$dd");
> >                if (avp_check("$avp(i:450)", "eq/$src_ip/g")){
> >                        log(3, "       Detected Two Clients Behind the
> > Same NAT - Disabling Mediaproxy");
> >                        # Do not use media-proxy as the clients seem
> > to be behind the same NAT
> >                        resetflag(6);
> >                        resetflag(7);
> >                };
> >        };
> >
> >        if (isflagset(6) || isflagset(7)) {
> >                if (!isflagset(8)) {
> >                        setflag(8);
> >                        force_rport();
> >                        fix_nated_contact();
> >                        force_rtp_proxy();
> >                };
> >        };
> > }
> >
> > route[5] {
> >
> >        #
> > -----------------------------------------------------------------
> >        # ILD - PSTN Handler
> >        #
> > -----------------------------------------------------------------
> >
> >        # Forward international calls to Asterisk (a SIP LDI Providers):
> >
> >        if(uri=~"^sip:011"){
> >                log(1, " 011N match - Larga Distancia Internacional a
> > USA \n");
> >                        if (!is_user_in("from", "ldiusa")) {
> >                        log(1,"       No permission for international
> > calls to USA \n");
> >                        sl_send_reply("403", "No permission for
> > international calls to USA");
> >                        acc_db_request("403 Forbidden", "missed_calls");
> >                        return;
> >                        };
> >                strip(2);
> >        };
> >
> >        if(uri=~"^sip:011"){
> >                log(1,"       011N match - Larga Distancia
> > Internacional \n");
> >                        if (!is_user_in("from", "ldix")) {
> >                                log(1, "       No permission for
> > international calls \n");
> >                                sl_send_reply("403", "No permission
> > for international calls");
> >                                acc_db_request("403 Forbidden",
> > "missed_calls");
> >                                return;
> >                        };
> >        };
> >
> >        rewritehostport("192.168.2.137:5070"); # Asterisk or PSTN
> > GATEWAY IP ADDRESS
> >
> >        t_on_failure("1");
> >        route(4);
> >        route(1);
> > }
> >
> >
> > route[6] {
> >
> >        # ----------------- Free Calls -------------------
> >
> >        # To Info numbers 102, 104, 123 y 080011236
> >
> >                if(uri=~"^sip:102@" || uri=~"^sip:104@" ||
> > uri=~"^sip:123@" ||  uri=~"^sip:0800123456@"){
> >                        log(1," To CallCenter xcompany!! \n");
> >                        rewriteuri("sip:123456 at mydomain.com.pe");
> >
> > rewritehostport("callcenter.mydomain.com.pe:5060");
> >                        route(4);
> >                        route(1);
> >                        return;
> >                };
> >
> >
> >
> >        if (is_user_in("from", "restringido")) {
> >                sl_send_reply("402", "Restriccion temporal");
> >                log(1,"       402 - Restriccion temporal \n");
> >                acc_db_request("402 Restricted", "missed_calls");
> >                return;
> >        };
> >
> >        lookup("aliases");
> >
> >
> >        if (!is_uri_host_local()) {
> >                if (!isflagset(22)) {
> >                        append_branch();
> >                };
> >                route(4);
> >                route(1);
> >                return;
> >        };
> >
> > # -------------------------- Seccion de Rutas a LDI
> > ----------------------------------------
> >
> >        # Forward international calls to Asterisk (To SIP LDI Providers):
> >
> >        if (uri=~"^sip:011[0-9]*@" && !uri=~"^sip:01152*@") {
> >                route(5);
> >                return;
> >        };
> >
> >
> >        if( uri=~"^sip:[2-8][0-9]{6}@" || uri=~"^sip:1[2-8][0-9]{6}@"
> > || uri=~"^sip:01[2-8][0-9]{6}@" ) {
> >
> >                log(1, " A Fijos Mexico PSTN \n");
> >
> >                if (uri=~"^sip:01[2-8][0-9][0-9][0-9][0-9][0-9][0-9]@") {
> >                        strip(1);
> >                };
> >
> >                if (uri=~"^sip:[2-8][0-9][0-9][0-9][0-9][0-9][0-9]@") {
> >                        prefix("1");
> >                };
> >
> >                if (!is_user_in("from", "fijomexico")) {
> >                        sl_send_reply("403", "No permission for local
> > fixed calls");
> >                        log(1, "       403 - No permission for local
> > fixed calls \n");
> >                        acc_db_request("403 Forbidden", "missed_calls");
> >                        return;
> >                };
> >                rewritehostport("192.168.2.137:5070");
> >                prefix("52");
> >                route(4);
> >                route(1);
> >                return;
> >        };
> >
> >        # no existe? (debe ir al final siempre)
> >        if ( uri=~"^sip:[0-9]" && !does_uri_exist() ) {
> >                log(1, "       Unable to locate route for this dnid -
> > User Not Exist 3X \n");
> >                prefix("mc");
> >                acc_db_request("404 Number Invalid or Incomplete",
> > "missed_calls");
> >                rewritehostport("192.168.2.131:5070");
> >                t_relay();
> >                return;
> >        };
> >
> > }
> >
> > route[7] {
> >
> >        # ---------------------- Handling of Unavailable user
> > ----------------------
> >        # non-Voip -- just send "off-line"
> >        if (!(method=="INVITE" || method=="ACK" || method=="CANCEL" ||
> > method=="BYE" || method=="OPTIONS")) {
> >                sl_send_reply("404", "Not Found");
> >                acc_db_request("404 Not Found", "missed_calls");
> >                log(1, "       404 Not Found & non-Voip -- just send
> > off-line \n");
> >                return;
> >        };
> >
> >        # Not voicemail subscriber:
> >        if (!isflagset(4) && !method=="OPTIONS" && !method=="ACK" &&
> > !method=="BYE" && !method=="CANCEL") {
> >                #sl_send_reply("404", "Not Found and no VMail turned on");
> >                acc_db_request("480 Temporarily Unavailable",
> > "missed_calls");
> >                # A locucion (Usuario temporalmente fuera de servicio
> > 'ss-noservice');
> >                log(1, "       404 Not Found and no voicemail \n");
> >                prefix("fu"); ## su: exten =>
> > _su1780XXXX,1,Playback(ss-noservice,noanswer)
> >                rewritehostport("192.168.2.131:5070");
> >                t_relay();
> >                return;
> >        };
> >
> >        # forward to voicemail adding prefix to simplify asterisk
> > "extension.conf" ::
> >        if (isflagset(4) && !method=="OPTIONS" && !method=="ACK" &&
> > !method=="BYE" && !method=="CANCEL") {
> >                prefix("vm");
> >                acc_db_request("480 Temporarily Unavailable -> Vm",
> > "missed_calls");
> >                rewritehostport ("192.168.2.131:5070");
> >                t_relay();
> >                return;
> >        };
> > }
> >
> >        #
> > --------------------------------------------------------------------------
> >
> >
> >
> > onreply_route[1] {
> >
> >        if ((isflagset(6) || isflagset(7)) &&
> > (status=~"(180)|(183)|2[0-9][0-9]")) {
> >                if (!search("^Content-Length:[ ]*0")) {
> >                        force_rtp_proxy();
> >                };
> >        };
> >
> >        if (nat_uac_test("1")) {
> >                fix_nated_contact();
> >        };
> > }
> >
> > failure_route[1] {
> >
> >        if (t_check_status("487")) {
> >                return;
> >        };
> >
> >
> >        if (t_check_status("486")){
> >                prefix("vmb");
> >                acc_db_request("486 Busy      -> Vm", "missed_calls");
> >                rewritehostport ("192.168.2.131:5070");
> >                append_branch();
> >                t_relay();
> >                return;
> >        };
> >
> >
> >        if (t_check_status("408")){
> >                prefix("vmu");
> >                acc_db_request("408 Timeout   -> Vm", "missed_calls");
> >                rewritehostport ("192.168.2.131:5070");
> >                append_branch();
> >                t_relay();
> >                return;
> >        };
> >
> >        unforce_rtp_proxy();
> > }
> >
> > failure_route[2] {
> >
> >        # handle 302 redirects
> >        if (t_check_status("3[0-9][0-9]")) {
> >                get_redirects("*");
> >                t_relay();
> >        };
> > }
> >
> > ### The End ###
> >
> > _______________________________________________
> > Users mailing list
> > Users at openser.org
> > http://openser.org/cgi-bin/mailman/listinfo/users
> >
>




More information about the Users mailing list