[OpenSIPS-Users] ACK Timer
Răzvan Crainea
razvan at opensips.org
Mon Mar 18 15:52:53 CET 2013
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/20130318/cd6afef9/attachment-0001.htm>
More information about the Users
mailing list