[asterisk-bugs] [DAHDI-linux 0014577]: [patch] FXO channels "hookstate" incorrect on startup
Asterisk Bug Tracker
noreply at bugs.digium.com
Sun Aug 9 14:38:51 CDT 2009
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=14577
======================================================================
Reported By: jkroon
Assigned To: sruffell
======================================================================
Project: DAHDI-linux
Issue ID: 14577
Category: dahdi (the module)
Reproducibility: always
Severity: major
Priority: normal
Status: confirmed
======================================================================
Date Submitted: 2009-03-01 16:16 CST
Last Modified: 2009-08-09 14:38 CDT
======================================================================
Summary: [patch] FXO channels "hookstate" incorrect on
startup
Description:
Referencing bug 13786 (http://bugs.digium.com/view.php?id=13786) which
attempts to work around an underlying problem in userspace (chan_dahdi).
The issue seems to be (as described by tzafrir):
It seems to expose a bug(?) in zaptel/dahdi where chan->rxhooksig is set
to RX_HOOKSIG_INITIAL at the end of chanconfig() which leaves the channel's
state there "uninitialized" and even if the channel driver knows better it
cannot override this decision. But I'm not sure what's the intended
behaviour, so I avoid a seperate bug report on that for now.
This is manifested in that I cannot make outbound calls on an FXO card
(Using FXSKS signalling) until I've received an incoming call resetting the
hookstate to offhook (A single ring is good enough), or alternatively,
disconnecting and reconnecting the telephone line.
======================================================================
Relationships ID Summary
----------------------------------------------------------------------
has duplicate 0015429 After the system reboot calls do not go...
======================================================================
----------------------------------------------------------------------
(0108826) doda (reporter) - 2009-08-09 14:38
https://issues.asterisk.org/view.php?id=14577#c108826
----------------------------------------------------------------------
I changed the code in chan_dahdi.c to (Same as in older source 1.2, 1.4
etc...):
---cut
/* When "onhook" that means no battery on the
line, and thus
it is out of service..., if it's on a
TDM card... If it's a channel
bank, there is no telling... */
if (par.rxbits > -1)
return 1;
if (par.rxisoffhook)
return 1;
else
#ifdef DAHDI_CHECK_HOOKSTATE
return 0;
#else
return 1;
#endif
} else if (par.rxisoffhook) {
ast_log(LOG_DEBUG, "Channel %d off hook,
can't use\n", p->channel);
/* Not available when the other end is off
hook */
return 0;
---cut
Running on Asterisk 1.6.1.1 and DAHDI-linux 2.2.0.1
The above solves my issue with not being able to dial out before an
incoming call at startup.
Issue History
Date Modified Username Field Change
======================================================================
2009-08-09 14:38 doda Note Added: 0108826
======================================================================
More information about the asterisk-bugs
mailing list