[Users] Hunging Up Callee at 32 secondand caler not ,

raviprakash sunkara sunkara.raviprakash.feb14 at gmail.com
Fri Jul 7 18:31:39 CEST 2006


Hi Bogdan,
Goodmorning,
Please forgive in My english,..........

I install the openser  server ( with public ip as xx.xxx.xxx.xxx. ) and the
System ip ( private ip  openser) is 192.168.2.2 which is located In some
other place for UAs. And SIP_Domain as xx.xxx.xxx.xxx.

I installed the X-lite 3.0 and testing with that only...

Missed calls and Ignore calls are working fine........Here  ACK is working,

When the  softphone Rings , and lefted up , after 32 seconds the callee is
hunging ups and  Caller is still in establishing the call ( not hung up)
Problem in  , After the Invite request send , then it will to send ACk  to
callee , to maintain the session alive ,

For example :- UA1 (  caller) -------------------> UA2 (callee )
::::::::::::::----------->  Both are in OutSide the  NAT ,  in other network
)
                           Here  Callee is Hungs up the calls automaticall,

IS the Problem in Router logic  or in  Router (Switches ) where is openser
located , or where X-lite is there.
Router ( switches) is  stoppning the ACK ,

Bogdan, Help in this ,,    here is my openser.cfg......



*************************************************************************************

route{

    # -----------------------------------------------------------------
    # Sanity Check Section
    # -----------------------------------------------------------------
    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;
    };

    # -----------------------------------------------------------------
    # NAT detection
    # -----------------------------------------------------------------
    route(2);


    # -----------------------------------------------------------------
    # Record Route Section
    # -----------------------------------------------------------------
    if (!method=="REGISTER")
        record_route();

    # -----------------------------------------------------------------
    # Loose Route Section
    # -----------------------------------------------------------------
    if (loose_route()) {

        append_hf("P-hint: rr-enforced\r\n");
        if ((method=="INVITE" || method=="REFER") && !has_totag()) {
            sl_send_reply("403", "Forbidden");
            return;
        };

        if (method=="INVITE") {

            if (!proxy_authorize("xx.xxx.xxx.xxx","subscriber")) {
                proxy_challenge("xx.xxx.xxx.xxx","0");
                return;
            } else if (!check_from()) {
                sl_send_reply("403", "Use From=ID");
                return;
            };
            consume_credentials();
        };
        route(1);
    };


    # -----------------------------------------------------------------
    # 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");
        };
    };

    if (method=="ACK") {
        route(1);
        return;
    } else if (method=="CANCEL") {
        route(1);
        return;
    } else if (method=="INVITE") {
        route(5);
        return;
    } else  if (method=="REGISTER") {
        route(4);
        return;
    };

    lookup("aliases");
    if (!is_uri_host_local()) {
        route(4);
        route(1);
        return;
    };

    if (!lookup("location")) {
        sl_send_reply("404", "User Not Found");
        exit;
    };

    append_hf("P-hint: usrloc applied\r\n");

    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");
}

route[4] {

    if (!www_authorize("xx.xxx.xxx.xxx", "subscriber")) {
        www_challenge("xx.xxx.xxx.xxx", "0");
        exit;
    };

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

    save("location");

    if (!lookup("location")) {
        sl_send_reply("401", "Unauthorized");
    };

    append_hf("P-hint: usrloc applied\r\n");

}

route[5] {

    # -----------------------------------------------------------------
    # INVITE Message Handler
    # -----------------------------------------------------------------
    if (!allow_trusted()) {

        if (!proxy_authorize("xx.xxx.xxx.xxx","subscriber")) {
            proxy_challenge("xx.xxx.xxx.xxx","0");
            return;
        } else if (!check_from()) {
            sl_send_reply("403", "Use From=ID");
            return;
        };
    };

    lookup("aliases");
    if (!is_uri_host_local()) {
        route(1);
        return;
    };

    if (uri=~"^sip:[0-9]@") {
        lookup("aliases");
        lookup("location");
        route(1);
        return;
    };

    if(!lookup("location")){
        sl_send_reply("404", "User Not Found");
        return;
    };

    route(1);
}



failure_route[1] {
    if (isflagset(6) || isflagset(5)) {
        unforce_rtp_proxy();
    }
}

onreply_route[1] {
    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
Kondapur, Hi-tech city,
Hyderabad.
www.hyperion-tech.com
+91-9985077535
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kamailio.org/pipermail/users/attachments/20060707/94fedaca/attachment.htm 


More information about the Users mailing list