[asterisk-bugs] [Asterisk 0017340]: 1.6.1.18 : app_dial times out when call forward set on the phone, forward channel still observes original dial timeout
Asterisk Bug Tracker
noreply at bugs.digium.com
Wed May 19 10:45:55 CDT 2010
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=17340
======================================================================
Reported By: rlr2maverick
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 17340
Category: Applications/app_dial
Reproducibility: always
Severity: major
Priority: normal
Status: feedback
Asterisk Version: 1.6.1 - SECURITY ONLY! Test 1.6.2
JIRA:
Regression: No
Reviewboard Link:
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2010-05-14 10:08 CDT
Last Modified: 2010-05-19 10:45 CDT
======================================================================
Summary: 1.6.1.18 : app_dial times out when call forward set
on the phone, forward channel still observes original dial timeout
Description:
We're using asterisk 1.6.1.18 and experiencing early timeout on
callforwarded channels because on do_foward() nothing resets original
channel timeout. When the call is forwarded to PSTN (mobile) nobody is able
to pick up within general timeout timer.
We developed a new version including a z(factor) parameter where in case
of forward the general timeout is multiplied by z(factor), granting more
time to users to answer.
It just works.
Anybody interested ?
======================================================================
----------------------------------------------------------------------
(0122155) rlr2maverick (reporter) - 2010-05-19 10:45
https://issues.asterisk.org/view.php?id=17340#c122155
----------------------------------------------------------------------
here is the patch, it was so easy and works here !
235c235,237
< " of features.conf.\n";
---
> " of features.conf.\n"
> " z(f) - Reset existing timeout in case of local call forward,
honoring\n"
> " RINGTIMER dialplan variable, multiplied by (f)actor.\n";
290a293
> #define OPT_RESET_TIMEOUT ((uint64_t)1 << 36)
304a308
> OPT_ARG_RESET_TIMEOUT,
342a347
> AST_APP_OPTION_ARG('z', OPT_RESET_TIMEOUT,
OPT_ARG_RESET_TIMEOUT),
569a575
>
605c611
< const struct cause_args *num_in, int *result)
---
> const struct cause_args *num_in, int *result, int rt)
685a692,695
> ast_verb(3, "forwarded (actual timeout is
%d)\n", *to);
> *to = orig * rt;
> ast_verb(3, "resetting timeout (was %d,
now %d)\n", orig, *to);
> winner = ast_waitfor_n(watchers, pos,
to);
717c727,728
<
DIAL_NOFORWARDHTML);
---
> DIAL_NOFORWARDHTML
|
> OPT_RESET_TIMEOUT);
1355a1367,1368
> int rt;
>
1384a1398,1404
> if (ast_test_flag64(&opts, OPT_RESET_TIMEOUT) &&
!ast_strlen_zero(opt_args[OPT_ARG_RESET_TIMEOUT])) {
> rt = atoi( opt_args[OPT_ARG_RESET_TIMEOUT]);
> } else {
> rt = 2;
> }
> ast_verb(3, "reset timeout z factor of %d\n", rt);
>
1672c1692
< peer = wait_for_answer(chan, outgoing, &to, peerflags, &pa, &num,
&result);
---
> peer = wait_for_answer(chan, outgoing, &to, peerflags, &pa, &num,
&result, rt);
Issue History
Date Modified Username Field Change
======================================================================
2010-05-19 10:45 rlr2maverick Note Added: 0122155
======================================================================
More information about the asterisk-bugs
mailing list