Accidently replied directly to clause. So here is a summary:
Sent core dump and system spec info like openser ver.
Klaus suggested upgrading to the latest openser 1.2 svn code, trying again, include pert part of openser.cfg , sip packet capture, and making a bug report.

So I'm now using latest svn of openser 1.2 as of 11/12/07 on a different server (the backup server)
Problem still persists.

gdb of one of the core dumps is included below.
Below that is a nuterized (my personal server and gateway info cleaned out) openser.cfg

Thanks
Dave

Below is the gdb of one of the cores:

Using host libthread_db library "/lib/libthread_db.so.1".
warning: Can't read pathname for load map: Input/output error.
Core was generated by `/usr/local/sbin/openser'.
Program terminated with signal 11, Segmentation fault.
#0  0x0808f152 in comp_scriptvar (msg=<value optimized out>,
    op=<value optimized out>, left=<value optimized out>, right=0x817ab9c)
    at route.c:748
748                             backup  = s1->s[s1->len]; s1->s[s1->len] = '\0';


openser.cfg:

#
# $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
log_stderror=no    # (cmd line: -E)
log_facility=LOG_LOCAL7
log_name="openser"

# Uncomment these lines to enter debugging mode
#fork=no
#log_stderror=yes
#listen=eth0
#
check_via=no    # (cmd. line: -v)
dns=yes         # (cmd. line: -r)
rev_dns=no      # (cmd. line: -R)
port=5060
children=4
disable_dns_blacklist=yes

#listen=udp:eth0
#fifo="/tmp/openser_fifo"
#fifo_db_url="postgres://seronstar:garney@208.76.152.52/seronstar"

#
# 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 = "/var/tmp/portage/net-misc/openser- 1.1.0/image///etc/openser/tls/user/user-cert.pem"
#tls_private_key = "/var/tmp/portage/net-misc/openser-1.1.0/image///etc/openser/tls/user/user-privkey.pem"
#tls_ca_list = "/var/tmp/portage/net-misc/openser- 1.1.0/image///etc/openser/tls/user/user-calist.pem"

#
# ------------------ module loading ----------------------------------

mpath="/usr/local/lib/openser/modules/"
# Uncomment this if you want to use MySQL database
#loadmodule "mysql.so"

loadmodule "postgres.so"
loadmodule "mysql.so"
loadmodule "mi_fifo.so"
loadmodule "xlog.so"
loadmodule "sl.so"
loadmodule " tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "avpops.so "
loadmodule "group.so"
loadmodule "uri.so"
loadmodule "uri_db.so"
loadmodule "alias_db.so"
# Uncomment this if you want digest authentication
# postgres.so must be loaded !
loadmodule "auth.so"
loadmodule "auth_db.so"
loadmodule "acc.so"
loadmodule "uac.so"
loadmodule "diversion.so"
loadmodule "mediaproxy.so"
loadmodule " domain.so"
loadmodule "lcr.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", "nat_bflag", 6)

#modparam("usrloc|avpops|auth_db|group|acc|uri_db|alias_db",
#modparam("usrloc|auth_db|group|acc|uri_db|alias_db|avpops",
modparam("usrloc|auth_db|group|acc|uri_db|alias_db|avpops|domain|lcr",
    "db_url","mysql://openser:openser@dbserver.myserver.net/openser")

#    "db_url"," postgres://openser:openser@dbserver.myserver.net/openser")

#modparam("avpops", "avp_table", "avp_table")
modparam("avpops", "avp_table", "usr_preferences")

# UAC (User Agent Client) module provides some basic UAC functionalities like FROM header manipulation (anonymization) or client authentication.
modparam("uac", "rr_store_param", "vsf")
modparam("uac", "from_restore_mode", "auto")

# -- auth params --
# Uncomment if you are using auth module
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "load_credentials", "$avp(s:rpid)=rpid;email_address")
modparam("auth", "rpid_avp", "$avp(s:rpid)")
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
modparam("auth_db", "password_column", "password")

modparam("tm", "fr_inv_timer_avp", "$avp(i:25)")
modparam("tm", "fr_timer", 2)

# -- rr params --
# add value to ;lr param to make some broken UAs happy
#modparam("rr", "enable_full_lr", 1)
#modparam("rr", "append_fromtag", 1)


# -- FIFO options starting with openser 1.2
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
modparam("mi_fifo", "fifo_mode", 0600)
#modparam("mi_fifo", "fifo_group", 0)
#modparam("mi_fifo", "fifo_group", "root")
#modparam("mi_fifo", "fifo_user", 0)
#modparam("mi_fifo", "fifo_user", "root")
modparam("mi_fifo", "reply_dir", "/tmp/")


modparam("mediaproxy", "mediaproxy_socket", "/var/run/proxydispatcher.sock")
modparam("domain", "db_mode", 1)

modparam("acc", "early_media", 0)
modparam("acc", "failed_transaction_flag", 24)
modparam("acc", "report_ack", 0)
modparam("acc", "report_cancels", 0)
modparam("acc", "log_flag", 0)
modparam("acc", "log_missed_flag", 0)
modparam("acc", "log_level", 2)
modparam("acc", "db_flag", 25)
modparam("acc", "db_missed_flag", 0)
modparam("acc", "db_table_acc", "acc")
modparam("acc", "db_table_missed_calls", "missed_calls")
modparam("acc", "detect_direction", 1)
modparam("acc", "db_extra", "src_user=$fU;src_domain=$fd;dst_user=$rU;dst_domain=$rd")
#modparam("acc", "multi_leg_info", "diversion_user=$di{url.user};diversion_domain=$di{ uri.domain}")
modparam("acc", "multi_leg_info", "diversion_user=$avp(s:diversion_user);diversion_domain=$avp(s:diversion_domain)")

modparam("lcr","gw_uri_avp","gw_uri_avp")

modparam("lcr", "gw_table", "gw")
modparam("lcr", "gw_name_column", "gw_name")
modparam("lcr", "ip_addr_column", "ip_addr")
modparam("lcr", "port_column", "port")
modparam("lcr", "uri_scheme_column", "uri_scheme")
modparam("lcr", "transport_column", "transport")
modparam("lcr", "grp_id_column", "grp_id")
modparam("lcr", "lcr_table", "lcr")
modparam("lcr", "strip_column", "strip")
modparam("lcr", "prefix_column", "prefix")
modparam("lcr", "from_uri_column", "from_uri")
modparam("lcr", "priority_column", "priority")
#modparam("lcr", "gw_uri_avp", "1400")
modparam("lcr", "ruri_user_avp", "1402")
modparam("lcr", "contact_avp", "1401")
modparam("lcr", "fr_inv_timer_avp", "s:fr_inv_timer_avp")
modparam("lcr", "fr_inv_timer", 90)
modparam("lcr", "fr_inv_timer_next", 30)
modparam("lcr", "rpid_avp", "s:rpid")

# -------------------------  what set?flags mean --------------------

## General Flags ##

# setflag(1); # from PSTN gateway
# setflag(2); # from local user
# setflag(3); # user NOT allowed to make pstn calls
# setflag(4); # user account IS disabled
# setflag(24); # account failed transactions
# setflag(25); # account successful transactions

## Branch Flags
# setbflag(22); # mark media proxy as started

# -------------------------  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");
        xlog("L_INFO", "Sanity Check: Too Many Hops\n");
        exit;
        xlog("L_INFO", "ignored break\n");
    };

    if (msg:len >=  2048 ) {
        sl_send_reply("513", "Message too big");
        xlog("L_INFO", "Sanity Check: Message too big\n");
        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 (is_method("OPTIONS") || is_method("NOTIFY"))
    {
        exit;
    }
    if (method!="REGISTER" && method!="ACK") {
        record_route();
        xlog("L_INFO", "start route logic: r-uri <$ru> f-uri <$fu> f-Usr <$fU> FromDisplay $fn\n");
        xlog("L_INFO", "Recording Route: r-uri <$ru>\n");
        setflag(24); # account failed transactions
        setflag(25); # account successful transactions
    };

    # 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");
        xlog("L_INFO", "following previous route: r-uri <$ru>\n");
        if(is_method("BYE"))
        {
            setflag(24); # account failed transactions
            setflag(25); # account successful transactions
        }
        route(1);
        exit;
    };

    if (uri==myself)
    {
        xlog("L_INFO", "message to me, Req Meth $rm\n");
        if (method=="REGISTER") {
            route(5);
        };
        setflag(24); # account failed transactions
        setflag(25); # account successful transactions
        if(is_method("CANCEL")  || is_method("ACK"))
        {
            if(t_check_trans())
            {
                route(1);
            }
            else
            {
               
                xlog("L_INFO", "Dropping mis-routed request - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
            }
            exit;
        }
#        if(from_uri==myself)
#        {
#            # need to make this detect an infinite loop, sometimes simulring may send to loop to call other phone numbers
#            xlog("L_INFO", "Dropping local loop-back oops - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
#            drop();
#        }

        # guilty until proven innocent... don't let call go to PSTN unless the server or user is authorized for that through later checks.
        setflag(3) ; # user not allowed to make pstn calls

        #if ( from_gw("1") )
        if ( uri =~ "sip.myserver.net" && is_present_hf("Remote-Party-ID") )
        {
            xlog("L_INFO", "Looks like it came from a verizon gateway server, aka PSTN\n");
            setflag(1); # from PSTN Gateway
        }
        else
        {
            xlog("L_INFO", "Its NOT from a verizon gateway server, aka PSTN\n");
        }
        if ( ! isflagset(1) ) # if not from PSTN
        {
            route(9) ; # load settings for calling user.
            if ( ! isflagset(2) ) # if NOT local user
            {
                route(10) ; # check for and load settings for calling domain.
            }
        }
        if ($rP=~"tcp")
        {
            avp_printf("$avp(s:DestURI)", "sip:$rU@$rd;transport=UDP" );
            avp_pushto("$ru", "$avp(s:DestURI)" );
        }
        route(3); # Clean it up and send it our user if appropriate.
        route(4); # Send our little one to the world and hope it survives :'(

    }
}

error_route {
    xlog("L_INFO", "--- error route class=$( err.class) level=$(err.level) info=$(err.info) rcode=$(err.rcode) rreason=$(err.rreason) ---\n");
    xlog("L_INFO", "--- error from [$si:$sp]\n+++++\n$mb\n++++\n");
    #sl_send_reply("$err.rcode", "$err.rreason");
    route(7); # stop media proxy
    exit;
}

route[1] {
    xlog("L_INFO", "Request leaving server - M=$rm RURI=$ru Proto=$dP F=$fu T=$tu IP=$si ID=$ci\n");
    # for TC51 ( when device unreachable proper 403 is not returned )
    #sl_send_reply("100", "Giving a try");
    #sl_send_reply("403", "Not Reachable");
    #drop() ;
    #t_on_failure("1");
    if ( ! uri==myself )
    {
        if ( is_method("INVITE"))
            route(6); # start media proxy
        if ( is_method("CANCEL"))
            route(7); # stop media proxy
    }
    t_on_reply("1");
    if(isflagset(24) || isflagset(25))
        route(8); # populate accounting info
    $avp(i:25)=5000 ;
    if (!t_relay()) {
        # This section doesn't seem to be reached even on failures.
        xlog("L_INFO", "Failed sending to: $ru\n");   
        xlog("L_INFO", "--- error route class=$(err.class) level=$(err.level) info=$(err.info ) rcode=$(err.rcode) rreason=$(err.rreason) ---\n");
        xlog("L_INFO", "--- error from [$si:$sp] \n +++++\n$mb\n++++\n");
        sl_send_reply("$err.rcode", "$err.rreason");
        route(7); # stop media proxy
    }
    exit;
}

route[2] {
    xlog("Now in route_2\n");
    xlog("L_INFO", "Checking if $rU is one of our numbers\n");
    $avp(s:Original_User) = $rU ;
     # ok to load avps for potential TO user,
     #  If the user doesn't exist the avp's for the from user won't be over writen
     #  and we are not pulling the from specific user preferences.
    if ( avp_db_load("$ru/username","*/usr_preferences_to") )
    {
        xlog("L_INFO", "avp_db_load was successfull\n");
    }
    else
    {
        xlog("L_INFO", "avp_db_load failed with return code: $rc\n");
    }
    if (is_avp_set("$avp(s:call_forward)"))
    {
        # hard forward to new user/number
        xlog("L_INFO", "$rU is hard forwarded to $avp(s:call_forward) \n");
        add_diversion("user-unavailable");
        # set user that we will load new from user preferences for.
        $avp(s:from_usr_tmp) = $ru;
        route(9); # load from user preferences
        avp_pushto("$ru/username", "$avp(s:call_forward)");
        rewritehost("127.0.0.1");
        avp_delete("$avp(s:via)/g");
        # look up for if new number is one of ours and has settings
        avp_db_load("$ru{ uri.user}/username","*/usr_preferences_to");
        route(8); # set vars for accounting diversion info.
        #avp_db_load("$avp(s:call_forward)/username","*/usr_preferences_to");
        # TODO: should do a loop to check for new num forwarding and make sure not infinite loop.
    }
    if (alias_db_lookup("dbaliases"))
    {
        if (!uri==myself) {
            avp_pushto("$ru/username", "$avp(s:Original_User)");
            xlog("L_INFO", "routing for gateway_dbaliases: r-uri <$ru>\n");
            route(1);
        }
        else
        {
            xlog("L_INFO", "dbaliases changed user to $rU>\n");
        }
    }
    else
    {
        xlog("L_INFO", "dbaliases lookup failed w/ return code=$rc  for r-uri <$ru>\n");
    }
    if ( is_avp_set("$avp(s:num_alias)"))
    {
        avp_pushto("$ru/username", "$avp(s:num_alias)");
        xlog("L_INFO", "redirecting to another number: $avp(s:num_alias)\n");
    }
    if ( is_avp_set("$avp(s:via)")) {
        avp_pushto("$ru/domain", "$avp(s:via)");
        xlog("L_INFO", "$rU is reached through server: $avp(s:via)\n");
    }
    if (!uri==myself)
    {
        xlog("L_INFO", "routing to default server: $rd\n");
        route(1);
    }
    xlog("L_INFO", "checking devices registered here in location table: r-uri <$ru>\n");
    #lookup("location");
    if (!uri==myself) {
        xlog("L_INFO", "routing from info in location table\n");
        avp_pushto("$ru/username", "$avp(s:Original_User)");
        route(1);
    }
}

route[3] {
    xlog("Now in route_3\n");
    # Check if it belongs to us first
    if ( uri=~"sip:[0-9]{7}@" ) {
        # Handle 7 digit numbers
        # by temp adding areacode from calling num
        # and run it against databases with our nums.
        xlog("L_INFO", "Caller dialed 7 digits. Checking if callers area code + $rU is one of our numbers\n");
        $avp(s:FromUser)=$fU;
        $avp(s:OriginalDestinationNumber)=$rU;
        xlog("L_INFO", "avp-cid $avp(s:FromUser) avp-ariacode $avp(s:AreaCode) f-uri <$fu>\n");
        avp_subst("$avp(s:FromUser)/$avp(s:AreaCode)","/^([0-9]{3}).*/\1/");
        xlog("L_INFO", "avp-fU $avp(s:FromUser) avp-ariacode $avp(s:AreaCode) f-uri <$fu>\n");
        avp_printf("$avp(s:NewTenDigDest)","$avp(s:AreaCode)$rU");
        xlog("about to push avp NewTenDigDest: $avp(s:NewTenDigDest)");
        avp_pushto("$ru/username","$avp(s:NewTenDigDest)");
    } else if ( uri=~"sip:\+" || uri=~"sip:\+{0,1}1[0-9]{10}@" )
    {  # clean num to 10 digit
        # Remove "+" from front of incoming number.
        # it must have come in from verizon
        $avp(s:OriginalDestinationNumber)=$rU;
        xlog("L_INFO", "Requested number starts with +1, clean it off: $rU\n");
        $avp(s:OriginalDestinationNumber)=$rU;
        #xlog("L_INFO", "avp-cid $avp(s:OriginalDestinationNumber) avp-ariacode $avp(s:NewTenDigDest) f-uri <$fu>\n");
        avp_subst("$avp(s:OriginalDestinationNumber)/$avp(s:NewTenDigDest)","/.*([0-9]{10})$/\1/");
        avp_pushto("$ru/username","$avp(s:NewTenDigDest)");
        xlog("L_INFO", "avp-NewTenDigDest $avp(s:NewTenDigDest) avp-cleaned $avp(s:OriginalDestinationNumber) r-uri <$ru>\n");
    }
    route(2); # Check db if Dest num is for us.
    xlog("Back from route_2\n");
    if (is_avp_set("$avp(s:call_forward)") )
    {
        xlog("Forwarding call and new num is not ours.. out to the world you go! Ha Ha Ha!\n");
        route(4);
    }
    if ( is_avp_set("$avp(s:OriginalDestinationNumber)") && ! is_avp_set("$avp(s:call_forward)") )
    {
        # restore original num incase there is more processing needed by calling process.
        avp_pushto("$ru/username","$avp(s:OriginalDestinationNumber)");
        xlog("Restored original num: ru -> $ru");
    }
    route(4); # Send our little one to the world and hope it survives :'(
   
}

route[4] {
    xlog("L_INFO", "In route-4: r-uri <$ru>\n");
    # routing to world.
    xlog("L_INFO", "no location defined for uri: r-uri <$ru>\n");
    #Call destination is PSTN, so send it to the gateway
    xlog("L_INFO", "CALL: PSTN gateway\n");
    xlog("Before set: avp-rpid is $avp(s:rpid)");
    if ( ! from_uri=~"sip:\+" )
    {
        avp_printf("$avp(s:rpid)","sip:+1$fU@sip.myserver.net");
        xlog("NOT from ser test phone. setting avp-rpid to $avp(s:rpid)");
    }
    else
    {
        avp_printf("$avp(s:rpid)","sip:$fU@sip.myserver.net");
        xlog("NOT from ser test phone. setting avp-i13 to $avp(s:rpid)");
    }
    if(is_present_hf("P-Asserted-Identity")) {
        remove_hf("P-Asserted-Identity");
    }
#    if( ! (is_present_hf("Remote-Party-ID") && $re =~ "sip:\+[1-9]+" ) )
#    {
        if ( is_present_hf("Remote-Party-ID") )
        {
            remove_hf("Remote-Party-ID");
        }
        append_hf("Remote-Party-ID: <$avp(s:rpid)>;privacy=$avp(s:privacy)\r\n") ; # Append Remote-Party-ID header field
#    }
   
    xlog("L_INFO", ": f-uri before with +1: f-uri <$fu>\n");
    uac_replace_from("$avp(s:rpid)") ;
#    if (!load_gws("1"))
#    {
#        #sl_send_reply("500", "Server Internal Error - Cannot load gateways from group 1");
#        #exit;
#        xlog("L_INFO", ": Gateways failed to load from group 1\n");
#    }
    avp_printf("$avp(s:first_gw)","sip:$rU@<first-gw-addr>");
    avp_printf("$avp(s:first_gw)","sip:$rU@<second-gw-addr>");
#    xlog("L_INFO", ": Gateways loaded -- gw_uri_avp = $avp(s:gw_uri_avp)\n");
#    xlog("L_INFO", ": Added entry to Gateways avp gw_uri_avp = $avp(s:gw_uri_avp)\n");
#    if ( next_gw() )
#    {
#        xlog("L_INFO", ": Gateways loaded, gw_uri_avp = $avp(s:gw_uri_avp)\n");
#    }
#    else
#    {
#        xlog("L_INFO", ": Gateway query returned nothing, gw_uri_avp = $avp(s:gw_uri_avp)\n");
#    }
    #t_on_branch("1");
    t_on_failure("1");
    avp_pushto("$ru","$avp(s:first_gw)"); # new branch for this uri
    xlog("L_INFO", ": first_gw branching --  $avp(s:first_gw)\n");
    avp_delete("$avp(s:first_gw)");
    xlog("L_INFO", ": first_gw 'next-time' branch to --  $avp(s:first_gw)\n");
    route(1) ;
}

route[5] {
    # useing digest authentication
    if (!www_authorize("", "subscriber")) {
        xlog("L_INFO", "user didn't send credentials: f-uri <$fu> r-uri <$ru>\n");
        www_challenge("", "0");
        exit;
    };
    xlog("L_INFO", "user registered: f-uri <$fu>\n");
    if (!src_ip==<other-loadballance-host-ip>) {
        t_replicate("sip:<other-loadballance-host-ip>:5060");
    };

    save("location");
    exit;
}

route[6] {
    # force media proxy start
    xlog("L_INFO", "in route 6: Start Media Proxy\n");
    setbflag(22); # mark media proxy as started
    if(! isbflagset(22))
    {
        xlog("L_INFO", "Starting Media Proxy\n");
        if(use_media_proxy())
        {
            xlog("L_INFO", "Started Media Proxy\n");
        }
        else
        {
            xlog("L_INFO", "FAILED to start Media Proxy\n");
        }
    }

#    setbflag(22); # mark media proxy as started.
#    use_media_proxy();
}

route[7] {
    # force media proxy stop
    if (isbflagset(22))
        end_media_session();
}

route[8]
{
#modparam("acc", "multi_leg_info", "diversion_user=$avp(s:diversion_user);diversion_domain=$avp(s:diversion_domain)")
    if ( is_present_hf("Diversion"))
    {
        $avp(s:diversion_user)=$di{url.user};
        $avp(s:diversion_domain)=$di{uri.domain};
    }
}

route[9]
{
    xlog("L_INFO", "In Route 9.\n");
    if ( ! is_avp_set("$avp(s:from_usr_tmp)" ) )
    #if ( $var(from_usr_tmp){s.len} == 0 )
    {
        $avp(s:from_usr_tmp) = $fu;
    }
    xlog("L_INFO", "Loading AVPs for from user $avp(s:from_usr_tmp) if they exist\n");
       
    #if(avp_db_load("$fu{uri.user}/username","*/usr_preferences_from"))
    if(avp_db_load("$avp(s:from_usr_tmp)/username","*/usr_preferences_from"))
    {
        xlog("L_INFO", "Loaded AVPs for from user $fU\n");
        setflag(2) ; # from local user
        # is user account set to disabled or not allowed to make calls to pstn?
        if ( ! is_avp_set("$avp(s:allow_call_pstn)") || avp_check("$avp(s:allow_call_pstn)", "re/yes/i") )
        {
            resetflag(3) ; # user IS allowed to make pstn calls
        }
        else
        {
            setflag(3) ; # user IS NOT allowed to make pstn calls
        }
        if ( ! is_avp_set("$avp(s:acct_status)") || ! avp_check("$avp(s:acct_status)", "re/disabled/i") )
        {
            resetflag(4) ; # user account IS NOT disabled
        }
        else
        {
            setflag(4) ; # user account IS disabled
            setflag(3) ; # user IS NOT allowed to make pstn calls
        }
   
    }
    avp_delete("$avp(s:from_usr_tmp)");
}

route[10] # check for and load settings for calling domain.
{
    xlog("L_INFO", "In Route 10.\n");

}
onreply_route[1]
{
    xlog("L_INFO", "Reply - S=$rs D=$rr F=$fu T=$tu IP=$si ID=$ci\n");
    if(! isbflagset(22) && status=~"(180)|(183)|2[0-9][0-9]")
        if ( is_method("CANCEL"))
            route(7); # stop media proxy
#        if ( is_method("INVITE"))
#            route(6);
#    {
#        xlog("L_INFO", "Starting Media Proxy\n");
#        if(use_media_proxy())
#        {
#            setbflag(22); # mark media proxy as started
#            xlog("L_INFO", "Started Media Proxy\n");
#        }
#        else
#        {
#            xlog("L_INFO", "FAILED to start Media Proxy\n");
#        }
#    }
    exit;
   
}
       
       
failure_route[1] {
    xlog("L_INFO", "Failure route for PSTN entered - S=$T_reply_code M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");

#    avp_pushto("$br","$avp(s:first_gw)"); # new branch for this uri
#    xlog("L_INFO", ": first_gw branching --  $avp(s:first_gw)\n");
#    avp_delete("$avp(s:first_gw)");
#    xlog("L_INFO", ": first_gw 'next-time' branch to --  $avp(s:first_gw)\n");
    if (t_check_status("(403)|(Forbiden)"))
    {
        xlog("L_INFO", "Status $T_reply_code\n");
        xlog("L_INFO", "Rejected by this gateway group, skip to next group if it exists.\n");
        avp_delete("$avp(s:first_gw)/g");
    }
    if ( ! is_avp_set("$avp(s:first_gw)") )
    {
        if ( is_avp_set("$avp(s:second_gw)"))
        {
           
            avp_copy("$avp(s:second_gw)", "$avp(s:first_gw)/gd");
            if ( is_avp_set("$avp(s:third_gw)"))
            {
                avp_copy("$avp(s:third_gw)", "$avp(s:second_gw)/gd");
            }
        }
        else
        {
            xlog("L_INFO", "Out of gateways to try, dropping call.\n");
            drop();
        }
    }
    t_on_failure("1");
    t_on_branch("1");
    avp_pushto("$br","$avp(s:first_gw)"); # new branch for this uri
    avp_delete("$avp(s:first_gw)");
#    t_on_failure("2");
#    t_on_branch("2");
#    rewritehost("65.217.40.219");
    xlog("L_INFO", "Now R-URI=$ru\n");
#    append_branch();
    route(1);
}

branch_route[1]
{
    xlog("L_INFO", "In Branch_Route 1\n");
    if(uri==myself)
    {
       
        xlog("L_INFO", "Dropping local branch - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
        drop();
    } else {
        xlog("L_INFO", "In Branch_Route 1, Sending to=$ru\n");
        if ( is_method("INVITE"))
            route(6); # start media proxy
        if ( is_method("CANCEL"))
            route(7); # stop media proxy
    }
}

branch_route[2]
{
    xlog("L_INFO", "In Br_Rt2, Failed Domain=$avp(s:FailedAddr)\n");
    if(uri==myself )
    {
       
        xlog("L_INFO", "Dropping local branch - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
        drop();
    } else {
        xlog("L_INFO", "In Br_Rt2, Sending to=$ru Proto=$dP\n");
        if ( is_method("INVITE"))
            route(6); # start media proxy
        if ( is_method("CANCEL"))
            route(7); # stop media proxy
    }
}