chan_dahdi: Add the chan_dahdi.conf force_restart_unavailable_chans option.
authorRichard Mudgett <rmudgett@digium.com>
Wed, 29 Apr 2015 19:29:10 +0000 (14:29 -0500)
committerJoshua Colp <jcolp@digium.com>
Thu, 30 Apr 2015 15:24:57 +0000 (10:24 -0500)
commit03c51cf525f449b8a70db5cf7aeefd96636fe6f7
tree5f87acf7aea36446fe1211c6a0036850ba3dd3b8
parent7fe923d20b7e1b2b27b10a1fb4fa627da7d95149
chan_dahdi: Add the chan_dahdi.conf force_restart_unavailable_chans option.

Some telco switches occasionally ignore ISDN RESTART requests.  The fix
for ASTERISK-19608 added an escape clause for B channels in the restarting
state if the telco ignores a RESTART request.  If the telco fails to
acknowledge the RESTART then Asterisk will assume the telco acknowledged
the RESTART on the second call attempt requesting the B channel by the
telco.  The escape clause is good for dealing with RESTART requests in
general but it does cause the next call for the restarting B channel to be
rejected if the telco insists the call must go on that B channel.

chan_dahdi doesn't really need to issue a RESTART request in response to
receiving a cause 44 (Requested channel not available) code.  Sending the
RESTART in such a situation is not required (nor prohibited) by the
standards.  I think chan_dahdi does this for historical reasons to deal
with buggy peers to get channels unstuck in a similar fashion as the
chan_dahdi.conf resetinterval option.

* Add the chan_dahdi.conf force_restart_unavailable_chans compatability
option that when disabled will prevent chan_dahdi from trying to RESTART
the channel in response to a cause 44 code.

ASTERISK-25034 #close
Reported by: Richard Mudgett

Change-Id: Ib8b17a438799920f4a2038826ff99a1884042f65
CHANGES
channels/chan_dahdi.c
channels/sig_pri.c
channels/sig_pri.h
configs/samples/chan_dahdi.conf.sample