[OpenSIPS-Users] ACK Timer

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


Hi, Razvan .

 

You mean to add     $avp(timeout2) = 3540; before  match dialog with no if close 

 

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

 

$avp(timeout2) = 3540;

 

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

 

Regards



 

 

 

 

From: users-bounces at lists.opensips.org [mailto:users-bounces at lists.opensips.org] On Behalf Of Razvan Crainea
Sent: Monday, March 18, 2013 4:53 PM
To: users at lists.opensips.org
Subject: Re: [OpenSIPS-Users] ACK Timer

 

Hi, Khaled!

The match_dialog() function also matched the dialog and updates the timer, therefore you should also set the pseudo variable for ACK before the match_dialog() call.

Best regards,




Razvan Crainea
OpenSIPS Core Developer
http://www.opensips-solutions.com

On 03/18/2013 03:38 PM, M.Khaled W Chehab wrote:

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
 






_______________________________________________
Users mailing list
Users at lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20130319/1d0a52d9/attachment-0001.htm>


More information about the Users mailing list