[Users] Ack is not received the openser, when the phone is lefted up. its hung up after...32 sec for calee

raviprakash sunkara sunkara.raviprakash.feb14 at gmail.com
Mon Jul 10 14:04:38 CEST 2006


Hi Users,

I installed  Openser server  and Using the Nathelper with RtpProxy .

The openser server and  RtpProxy are located in  the Same system with ip add
(192.168.2.2) ,

And Public IP address is xx.xxx.xxx.xxx.,  openSER sip_doamin name is
xx.xxx.xxx.xxx

 Ours Network connect  for openser System is given below


                                  modem------xx.xxx.xxx.xxx.------------->
router(firewall) ---------------------------------> server   1

                                                      |________________ >
server   2

    |

         |_________________>  server 3  ( openser and rtp )

For Testing i'm X-lite softphones  with different network of openser system
( out the NAT )

When made the call from one softphone to other softphones..
When caller calls to callee ,   when the callee is lefted up the phone after
32 seconds the phone hungups automatically.
And   OpenSER is Not receive the Ack, when the invite is response and
Softphones are Ringing after it lefted up .   For callee only hung up

And Missed Call and  Ignore Calls are working Fine ...
I gucess  is  problem in Firewall setting in Router and System
FireWall.setting .
Can Any one tell me How to   resolve my problem ...
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/20060710/f4a12763/attachment.htm 


More information about the Users mailing list