diff options
author | Richard Mudgett <rmudgett@digium.com> | 2012-04-18 16:41:17 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2012-04-18 16:41:17 +0000 |
commit | c7cb03a975bbaad41ed9ed07b3f5c68433f65900 (patch) | |
tree | c0f1d043618815ea5744e39ea8bc9eacfd23a2da /channels/sig_pri.h | |
parent | 7b5eb159e9ad35b0488da542148bcff4d1b26433 (diff) |
Add ability to ignore layer 1 alarms for BRI PTMP lines.
Several telcos bring the BRI PTMP layer 1 down when the line is idle.
When layer 1 goes down, Asterisk cannot make outgoing calls. Incoming
calls could fail as well because the alarm processing is handled by a
different code path than the Q.931 messages.
* Add the layer1_presence configuration option to ignore layer 1 alarms
when the telco brings layer 1 down. This option can be configured by span
while the similar DAHDI driver teignorered=1 option is system wide. This
option unlike layer2_persistence does not require libpri v1.4.13 or newer.
Related to JIRA AST-598
JIRA ABE-2845
........
Merged revisions 362428 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........
Merged revisions 362429 from http://svn.asterisk.org/svn/asterisk/branches/10
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/sig_pri.h')
-rw-r--r-- | channels/sig_pri.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/channels/sig_pri.h b/channels/sig_pri.h index 3317c7ef5..7a48d824a 100644 --- a/channels/sig_pri.h +++ b/channels/sig_pri.h @@ -439,6 +439,8 @@ struct sig_pri_span { /*! \brief TRUE if we will allow incoming ISDN call waiting calls. */ unsigned int allow_call_waiting_calls:1; #endif /* defined(HAVE_PRI_CALL_WAITING) */ + /*! TRUE if layer 1 alarm status is ignored */ + unsigned int layer1_ignored:1; /*! * TRUE if a new call's sig_pri_chan.user_tag[] has the MSN * appended to the initial_user_tag[]. @@ -618,8 +620,8 @@ int sig_pri_start_pri(struct sig_pri_span *pri); void sig_pri_set_alarm(struct sig_pri_chan *p, int in_alarm); void sig_pri_chan_alarm_notify(struct sig_pri_chan *p, int noalarm); +int sig_pri_is_alarm_ignored(struct sig_pri_span *pri); void pri_event_alarm(struct sig_pri_span *pri, int index, int before_start_pri); - void pri_event_noalarm(struct sig_pri_span *pri, int index, int before_start_pri); struct ast_channel *sig_pri_request(struct sig_pri_chan *p, enum sig_pri_law law, const struct ast_channel *requestor, int transfercapability); |