[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