Hi , User,,,

great issue to me ... please  users help into my issue

1) the softphones are not hung upping ... Disconnecting...
 that means  Behind the Nat client  send   Bye request .. But openser server is responseing the  Bye .. and Ack to server...




my openser.cfg


route{
    log("Testing-------> Starting\n");
    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;
    };
   
    log("Testing------->  NAT detection into route 2 \n");
    route(2);

    if (!method=="REGISTER")   {
    log("Testing-------> method  != REG\n");
        record_route();
    };
    if (loose_route()) {
        append_hf("P-hint: rr-enforced\r\n");
        route(1);
    };

    if (!uri==myself) {
        append_hf("P-hint: outbound\r\n");
        route(1);
    };

    if (uri==myself) {
    log("Testing------->  uri==my\n");
        if (method=="REGISTER") {
            if (!www_authorize("", "subscriber")) {
                www_challenge("", "0");
                exit;
            };

            if (isflagset(5)) {
                setflag(6);
                # if you want OPTIONS natpings uncomment next
                # setflag(7);
            };
            save("location");
            exit;
        };

        if (!lookup("location")) {
            sl_send_reply("404", "Not Found...... ! ");
            exit;
        };
        append_hf("P-hint: usrloc applied\r\n");
    };

    route(1);
}


route[1] {
    log("Testing------->  route[1] \n");
    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]{
    log("Testing------->  route[2] \n");
    force_rport();
    if (nat_uac_test("19")) {
        log("Testing------->  nat_uac-test_19\n");
        if (method=="REGISTER") {
            log("Testing-------> nat _ reg \n");
            fix_nated_register();
        } else {
            log("Testing-------> nat_cantact \n");
            fix_nated_contact();
        };
        setflag(5);
    };
}

route[3] {
    log("Testing------->  route 3 \n");
    if (is_method("BYE|CANCEL")) {
        log("Testing------->  Bye\n");
        acc_db_request("Stop","acc");
        unforce_rtp_proxy();
    } else if (is_method("INVITE")){
    log("Testing-------> Invite in route [3\n");
    acc_db_request("Start","acc");
        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)) {
        acc_db_request("Stop","acc");
        unforce_rtp_proxy();
    }
}

onreply_route[1] {
    log("Testing------->  t_on_reply\n");
    if ((isflagset(5) || isflagset(6)) && status=~"(183)|(2[0-9][0-9])") {
        force_rtp_proxy();
    }
    search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');

    if (isflagset(6)) {
        fix_nated_contact();
    }
    exit;
}

--
Thanks and Regards with cheers
Sunkara Ravi Prakash (Voip Developer)
Hyperion Technology
www.hyperion-tech.com