[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