[OpenSIPS-Users] ACK Timer

M.Khaled W Chehab kchehab at icucall.com
Mon Mar 18 15:38:42 CET 2013


Dear Bogdan,

 

I set the timer as below and all my calls have now 3 sec duration ,please
advice 

 

if (has_totag() && (uri == myself) && is_method("INVITE|ACK|BYE|UPDATE")) {

              if(match_dialog()) {

                     xlog("L_INFO", "<<<<< in-dialog topology hiding request
- $DLG_dir >>>>> \n");

                     if (check_route_param("nat=yes")) {

                            setflag(5);

                            setbflag(6);

                     }

 

                     if ( is_method("INVITE")) {

                            $avp(timeout2) = 3;

 

                     } else if (is_method("ACK")) {

                            $avp(timeout2) = 3540;

                     }

 

                     route(1);

                     exit;

              }

 

if (has_totag()) {

              if (is_method("ACK")) {

                     $avp(timeout2) = 3540; 

              }

 

              # sequential request withing a dialog should

              # take the path determined by record-routing

 

              if (loose_route()) {

etc....

 

} else {

                     if ( is_method("ACK") ) {

                            if ( t_check_trans() ) {

                                   # non loose-route, but stateful ACK; must
be an ACK after 

                                   # a 487 or e.g. 404 from upstream server

                                   t_relay();

                                   exit;

                            } else {

                                   # ACK without matching transaction ->

                                   # ignore and discard

                                   exit;

                            }

                     }

                     sl_send_reply("404","Not here");

              }

              exit;

              

       } else {

              if ( is_method("INVITE")) {

                     $avp(timeout2) = 3;

              }

       }

 

Regards

 

 

 

From: Bogdan-Andrei Iancu [mailto:bogdan at opensips.org] 
Sent: Thursday, March 14, 2013 6:59 PM
To: OpenSIPS users mailling list
Cc: M.Khaled W Chehab; 'Brito Nicolas'
Subject: Re: [OpenSIPS-Users] ACK Timer

 

Hi Khaled,

your mistake here is to set the timeout for INVITE under the has_totag()
branch - initial INVITEs do not have TO tags.

Try:


if (has_totag()) {
             if (is_method("ACK")) {
                     $avp(timeout2) = 3540; 
              }
              ..... (loose_route)

} else {

    if ( is_method("INVITE")) {
        $avp(timeout2) = 3; 
    }

    .......

}

Regards,
Bogdan

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20130318/74a922a7/attachment.htm>


More information about the Users mailing list