[libpri-commits] bebuild: tag 1.4.15 r2325 - in /tags/1.4.15: .version ChangeLog

SVN commits to the libpri project libpri-commits at lists.digium.com
Mon Jun 16 10:50:47 CDT 2014


Author: bebuild
Date: Mon Jun 16 10:50:44 2014
New Revision: 2325

URL: http://svnview.digium.com/svn/libpri?view=rev&rev=2325
Log:
Importing files for 1.4.15 release.

Added:
    tags/1.4.15/.version   (with props)
    tags/1.4.15/ChangeLog   (with props)

Added: tags/1.4.15/.version
URL: http://svnview.digium.com/svn/libpri/tags/1.4.15/.version?view=auto&rev=2325
==============================================================================
--- tags/1.4.15/.version (added)
+++ tags/1.4.15/.version Mon Jun 16 10:50:44 2014
@@ -1,0 +1,1 @@
+1.4.15

Propchange: tags/1.4.15/.version
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: tags/1.4.15/.version
------------------------------------------------------------------------------
    svn:keywords = none

Propchange: tags/1.4.15/.version
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: tags/1.4.15/ChangeLog
URL: http://svnview.digium.com/svn/libpri/tags/1.4.15/ChangeLog?view=auto&rev=2325
==============================================================================
--- tags/1.4.15/ChangeLog (added)
+++ tags/1.4.15/ChangeLog Mon Jun 16 10:50:44 2014
@@ -1,0 +1,2056 @@
+2014-06-16  Asterisk Development Team <asteriskteam at digium.com>
+
+	* libpri 1.4.15 Released.
+
+2014-06-02 16:27 +0000 [r2322]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c: Adjust T202 default value to the minimum. The minimum T202
+	  time specified in Q.921 Section 5.9.7 is 2 seconds. It makes
+	  sense to set the value to the minimum 2 seconds in order to more
+	  likely get a TEI value before an outgoing call request aborts
+	  from T303 timeouts. PRI-171 #close Reported by: dcolombo
+
+2014-05-12 22:45 +0000 [r2320]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri_q931.h, q931.c, libpri.h, pri.c: libpri: Add control of
+	  inband audio progress indication ie to the SETUP_ACKNOWLEDGE
+	  message. Added support to the libpri API to control the inband
+	  audio available progress indication ie on the SETUP_ACKNOWLEDGE
+	  message. * Added the progress indication ie progressmask value to
+	  the struct pri_event_setup_ack so the PRI_EVENT_SETUP_ACK event
+	  can indicate when a SETUP_ACKNOWLEDGE comes in with inband audio
+	  (ie dialtone). * Added pri_setup_ack() so when the
+	  SETUP_ACKNOWLEDGE message is sent it can indicate if inband audio
+	  is present (ie dialtone). This patch and a corresponding change
+	  in Asterisk work together to allow Asterisk to control the inband
+	  audio available progress indication ie on the SETUP_ACKNOWLEDGE
+	  message when dialtone is present. AST-1338 #close Reported by:
+	  Tyler Stewart Review: https://reviewboard.asterisk.org/r/3520/
+
+2014-04-18 17:44 +0000 [r2318]  Richard Mudgett <rmudgett at digium.com>
+
+	* q921.c: libpri: Make TE-PTP mode respond to MDL TEI check
+	  requests. Some BRI devices in France insist on checking TEI's
+	  when in point-to-point mode. If they don't get a response for TEI
+	  0 they drop layer 1 even though libpri keeps trying to bring
+	  layer 2 up. * Made q921_mdl_receive() handle TEI check request
+	  messages in TE-PTP mode. Had to change
+	  q921_mdl_send()/Q921_INIT() because the PTP modes do not setup a
+	  link structure specifically for MDL as the PTMP modes do. * Fixed
+	  q921_tei_check()/t201_expire() to check TEI's even if the network
+	  side doesn't have any assigned. This should make TE's that
+	  request the TEI verify procedure (Q.921 Section 5.3.5) happy when
+	  the network side doesn't have any TEI's allocated. PRI-165
+	  Reported by: Denis Alberto Martinez Patches:
+	  jira_pri_165_ptp_respond_tei_check.patch (license #5621) patch
+	  uploaded by rmudgett Review:
+	  https://reviewboard.asterisk.org/r/3434/
+
+2013-03-28 16:40 +0000 [r2315]  Richard Mudgett <rmudgett at digium.com>
+
+	* q921.c: Fix hole in layer2_persistence option for TE PTMP links.
+	  If the network stops responding, according to Q.921 we are
+	  supposed to remove the TEI. With the layer2_persistence option
+	  enabled, we are supposed to keep trying to bring layer 2 back up.
+	  Unfortunately, when the network stops responding, we stopped the
+	  restart timer and removed the TEI. As a result, layer 2 does not
+	  immediately come back up. * Made not stop the restart timer if we
+	  are removing the TEI on the CPE side. Also handle the timer
+	  expiration in relevant unassigned TEI states. (closes issue
+	  LIBPRI-72) Reported by: Trey Blancher Patches:
+	  jira_dahdi_1001_libpri_v1.4.patch (license #5621) patch uploaded
+	  by rmudgett
+
+2012-12-20  Asterisk Development Team <asteriskteam at digium.com>
+
+	* libpri 1.4.14 Released.
+
+2012-12-10 18:28 +0000 [r2310]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: Handle optional Recommendation octet 3a in Cause IE. If
+	  the MSB of octet 3 is 0 then the optional Recommendation octet 3a
+	  is present. References: ITU-T Q.850 Section 2.1 and ETSI ETS 300
+	  102-1 Section 4.5.12. (closes issue PRI-151) Reported by: Tzafrir
+	  Cohen Patches:
+	  0001-handle-optional-Recommendation-in-Cause-IE.patch (license
+	  #5035) patch uploaded by Tzafrir Cohen Modified
+
+2012-11-13 19:59 +0000 [r2307-2308]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: Q.SIG: Allow PROGRESS when in the Active state. ECMA-143
+	  Section 10.1.7.2 indicates that PROGRESS is allowed when in the
+	  Active state. * Made Q.SIG ignore the PROGRESS message when in
+	  the Active call state. (closes issue PRI-147) Reported by: Nick
+	  Merrett
+
+	* q931.c: Fix compiler error with ALERTING_NO_PROGRESS define.
+
+2012-10-29 21:19 +0000 [r2305]  Richard Mudgett <rmudgett at digium.com>
+
+	* pritest.c: Fix compiler warning in pritest.c. * Made do_channel()
+	  exit on a failed write(). (closes issue PRI-145) Reported by:
+	  Tzafrir Cohen Patches: fix_unused_write.patch (license #5035)
+	  patch uploaded by Tzafrir Cohen Modified
+
+2012-10-09  Asterisk Development Team <asteriskteam at digium.com>
+
+	* libpri 1.4.13 Released.
+
+2012-09-26 15:46 +0000 [r2300]  Richard Mudgett <rmudgett at digium.com>
+
+	* Makefile: Allow passing compiler flags (CFLAGS, LDFLAGS) (closes
+	  issue PRI-144) Reported by: Tzafrir Cohen Patches: flags.diff
+	  (license #5035) patch uploaded by Tzafrir Cohen
+
+2012-09-10 15:52 +0000 [r2298]  Richard Mudgett <rmudgett at digium.com>
+
+	* pridump.c: Fix compile error in pridump.c. With gcc 4.6.3 it's
+	  possible to get the following error: $ make gcc -Wall -Werror
+	  -Wstrict-prototypes -Wmissing-prototypes -g -fPIC -O2 -MD -MT
+	  pridump.o -MF .pridump.o.d -MP -c -o pridump.o pridump.c
+	  pridump.c: In function \u2018pri_bridge\u2019: pridump.c:117:1:
+	  error: no return statement in function returning non-void
+	  [-Werror=return-type] cc1: all warnings being treated as errors
+	  make: *** [pridump.o] Error 1 Changing the function return value
+	  to void fixes the issue since there were no places in the code
+	  that used the return value. (closes issue PRI-143) Reported by:
+	  Birger "WIMPy" Harzenetter Patches:
+	  0001-Fix-no-return-statement-in-function-returning-non-vo.patch
+	  (license #5417) patch uploaded by Shaun Ruffell
+
+2012-08-11 01:38 +0000 [r2292-2295]  Richard Mudgett <rmudgett at digium.com>
+
+	* /: SVN ignore built utilities.
+
+	* Makefile: * Made no longer compile *.lo files they are identical
+	  to *.o files. * Made compile the pritest, rosetest, and
+	  testprilib utilities using the static libpri library. No more
+	  forgetting to install the library after a change and wondering
+	  why it still did not work. The pridump utility is still
+	  dynamically linked. * Made compile the utilities by default.
+
+	* pridump.c, testprilib.c: Make pridump and testprilib compile
+	  again.
+
+2012-07-30 16:20 +0000 [r2290]  Richard Mudgett <rmudgett at digium.com>
+
+	* q921.c: Removed MDL/TEI management configuration warning message.
+	  Some telco switches send out MDL messages even though they are
+	  configured for PTP. Usually they are checking for assigned TEI's.
+	  Since these switches periodically poll for assigned TEI's, the
+	  message needlessly fills up log files. * Changed message warning
+	  level to a normal debug message level and reworded. (closes issue
+	  PRI-137) Reported by: Bart Coninckx
+
+2012-06-28 00:16 +0000 [r2288]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, pri_internal.h, q931.c, libpri.h: Implement T316 to allow
+	  RESTART messages to be automatically retransmitted. Q.931 defines
+	  the T316 timer to retransmit RESTART messages if a RESTART
+	  ACKNOWLEDGE message is not received before the timer expires.
+	  Q.931 defaults the time of T316 to 2 minutes with the default
+	  number of consecutive RESTART failures as two. * To support
+	  legacy behavior, the T316 timer is disabled by default. It is
+	  also disabled because the user cannot configure it to disabled if
+	  it is enabled. * The N316 count is created to allow the number of
+	  RESTART attempts to be configurable. Note you will need to
+	  recompile Asterisk to be able to configure N316. (issue
+	  ASTERISK-19608) (issue AST-815) (closes issue PRI-133) Reported
+	  by: Mike Boylan Tested by: rmudgett
+
+2012-05-14 14:54 +0000 [r2286]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: Make pri_pres2str() return correct string. * Fix
+	  pri_pres2str() mask creation. (closes issue PRI-139) Reported by:
+	  Pavel Troller Patches: q931.c.diff (license #6302) patch uploaded
+	  by Pavel Troller
+
+2012-03-23 19:35 +0000 [r2284]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, q931.c, pri_facility.c, pri_cc.c: Make number not
+	  available presentation also set screening to network provided.
+	  Q.951 indicates that when the presentation indicator is "Number
+	  not available due to interworking" for a number then the
+	  screening indicator field should be "Network provided". Released
+	  versions of Asterisk starting with v1.8 relesed before this patch
+	  only recognized the PRES_NUMBER_NOT_AVAILABLE value as an
+	  unavailable number. This patch improves compatibility as a
+	  result. * Made mask the presentation value for names and numbers
+	  from the upper layer. * Made pri_mwi_indicate_v2() also call
+	  q931_party_id_fixup() for completeness even though it is a noop
+	  in this case. * Made pri_pres2str() deceoode better.
+
+2012-02-03 23:12 +0000 [r2282]  Kinsey Moore <kmoore at digium.com>
+
+	* pri_q921.h, q921.c, pridump.c: Make PRI_DEBUG_Q921_RAW work
+	  independantly of PRI_DEBUG_Q921_DUMP Ensure that the DUMP and RAW
+	  flags work independently in q921_dump(). (closes issue PRI-119)
+	  Patch-by: wimpy
+
+2012-01-26 20:19 +0000 [r2280]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: Use ie2str(full_ie) where possible in q931.c. Initial
+	  patch by Alec Davis. Review:
+	  https://reviewboard.asterisk.org/r/1633/
+
+2011-12-16 20:01 +0000 [r2277-2278]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri_internal.h, q931.c: Remove nul octets from IE data that is
+	  normally treated as strings. Sometimes ie values received from
+	  carriers contain nul octets in values normally treated by libpri
+	  as nul terminated strings. A discussion on the asterisk-users
+	  list determined that the best thing to do in the situation is to
+	  delete the nul octets and unconditionally report/log when that
+	  happens. * Remove nul octets from the following ie's and generate
+	  an unconditional log message to the upper layer when they are
+	  removed: Connected Number Connected Address Redirecting Number
+	  Original Called Number Redirection Number Called Party Number
+	  Calling Party Number Display Keypad Facility (closes issue
+	  PRI-128) Reported by: phsultan Patches: jira_pri_128.patch
+	  (license #5621) patch uploaded by rmudgett (modified) Tested by:
+	  rmudgett
+
+	* pri_internal.h, q931.c: Implement handling a multi-channel
+	  RESTART request. The channel id ie can supply a slotmap or list
+	  of channels. For a RESTART message, this can be handy to indicate
+	  multiple channels that need to be restarted at the same time. An
+	  incoming RESTART request will now generate a PRI_EVENT_RESTART to
+	  the upper layer for each channel indicated in the request. If the
+	  event is successfully generated for all indicated channels then a
+	  RESTART_ACKNOWLEDGE is sent back to the peer indicating all
+	  channels restarted. * Add the ability to process a channel id ie
+	  channel list with a RESTART request. * Add the ability to process
+	  slotmaps with a RESTART request. (closes issue PRI-93) Reported
+	  by: Marcin Kowalczyk Patches: jira_pri_93.patch (license #5621)
+	  patch uploaded by rmudgett Tested by: zvision, rmudgett (closes
+	  issue PRI-71) Reported by: Torrey Searle Tested by: rmudgett
+
+2011-09-26 22:54 +0000 [r2275]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: Fix message typo: Weird (closes issue PRI-126) Reported
+	  by: Tzafrir Cohen
+
+2011-08-17 15:48 +0000 [r2273]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, pri_internal.h, pri_q921.h, q921.c, libpri.h: Outgoing BRI
+	  calls fail when using Asterisk 1.8 with HA8, HB8, and B410P
+	  cards. France Telecom brings layer 2 and layer 1 down on BRI
+	  lines when the line is idle. When layer 1 goes down Asterisk
+	  cannot make outgoing calls and the HA8 and HB8 cards also get IRQ
+	  misses. The inability to make outgoing calls is because the line
+	  is in red alarm and Asterisk will not make calls over a line it
+	  considers unavailable. The IRQ misses for the HA8 and HB8 card
+	  are because the hardware is switching clock sources from the line
+	  which just brought layer 1 down to internal timing. There is a
+	  DAHDI option for the B410P card to not tell Asterisk that layer 1
+	  went down so Asterisk will allow outgoing calls: "modprobe
+	  wcb4xxp teignored=1". There is a similar DAHDI option for the HA8
+	  and HB8 cards: "modprobe wctdm24xxp bri_teignored=1".
+	  Unfortunately that will not clear up the IRQ misses when the
+	  telco brings layer 1 down. * Add layer 2 persistence option to
+	  customize the layer 2 behavior on BRI PTMP lines. The new option
+	  has three settings: 1) Use libpri default layer 2 setting. 2)
+	  Keep layer 2 up. Bring layer 2 back up when the peer brings it
+	  down. 3) Leave layer 2 down when the peer brings it down. Layer 2
+	  will be brought up as needed for outgoing calls. JIRA AST-598
+
+2011-07-05  Leif Madsen <lmadsen at digium.com>
+
+	* Release libpri 1.4.12
+
+2011-05-17 20:13 +0000 [r2266]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, pri_internal.h, q931.c, libpri.h: Option needed for
+	  Q931_IE_TIME_DATE to be optional in CONNECT message. The NEC
+	  SV8300 rejects the Q931_IE_TIME_DATE for Q.SIG. Add option to
+	  specify if and how much of the current time is put in
+	  Q931_IE_TIME_DATE. * Send date/time ie never. * Send date/time ie
+	  date only. * Send date/time ie date and hour. * Send date/time ie
+	  date, hour, and minute. * Send date/time ie date, hour, minute,
+	  and second. * Send date/time ie default: Libpri will send date
+	  and hhmm only when in NT PTMP mode to support ISDN phones.
+	  (closes issue #19221) Reported by: kenner JIRA SWP-3396
+
+2011-04-18 19:43 +0000 [r2262]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri_internal.h, q931.c, pri_facility.c, libpri.h: Problems with
+	  ISDN MWI to phones. 1) The "controlling user number" is always
+	  the number of the voice mail box which is identical with the
+	  subscriber number itself. This number which is listed in the ISDN
+	  phone MWI menu cannot be called back to contact the voice mail
+	  box. The controlling user number should be made configurable. 2)
+	  The MWI indication is not restricted to a user (broadcast
+	  facility with dummy call reference). A called party IE should be
+	  added to address only the relevant MSN. (ETSI 300-196 Section
+	  8.3.2.4) JIRA ABE-2738 JIRA SWP-2846
+
+2011-03-18 01:59 +0000 [r2258]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri_facility.c: CallRerouting response not sent if peer hangs up
+	  first. Send the CallRerouting response on the next message
+	  instead of only on the DISCONNECT message. The next message is
+	  either going to be a DISCONNECT or RELEASE depending on who
+	  initiates disconnection first.
+
+2011-03-01 00:50 +0000 [r2227-2238]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, pri_internal.h, pri_q931.h, q931.c, libpri.h: Implement
+	  the mandatory T312 timer for NT PTMP broadcast SETUP calls. *
+	  Fixed stopping T303 too early on a NT PTMP broadcast SETUP call
+	  if a subcall just receives a RELEASE_COMPLETE(busy). * Fixed a
+	  valgrind reported invalid read/write when hanging up a NT PTMP
+	  broadcast SETUP call. JIRA LIBPRI-32 JIRA SWP-2548
+
+	* q931.c, pri_facility.c: Miscellaneous cleanup before T312 branch
+	  merge.
+
+	* q931.c: Fix valgrind reported invalid read/write for display text
+	  feature.
+
+	* pri.c, pri_internal.h, q931.c, pri_cc.c: Improve the usefulness
+	  of pri_dump_info_str() output. * Add BRI and PTMP strings to node
+	  type config when configured that way. * Move Q.921 statistics to
+	  after configuration settings. * Add call and cc_record debug
+	  statistics to pri_dump_info_str().
+
+	* pri.c: Add determined remote node type to pri_dump_info_str().
+
+2011-02-17 21:12 +0000 [r2202-2207]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: B channel lost by incoming call in BRI NT PTMP mode. A
+	  phone's RELEASE_COMPLETE as a response to an initial broadcast
+	  SETUP blocks one B channel permantly when the call is cancelled.
+	  Scenario: A call to the ISDN Bus is acknowledged (ALERTING) by
+	  one phone/endpoint and rejected by another phone/endpoint with a
+	  RELEASE_COMPLETE. The call is then cancelled by the caller. If
+	  the whole procedure is repeated once again then any further call
+	  attempt is rejected (WARNING[5666]: app_dial.c:1546
+	  dial_exec_full: Unable to create channel of type 'DAHDI' (cause
+	  34 - Circuit/channel congestion)). It seems that receiving a
+	  RELEASE_COMPLETE in that state blocks one B channel permanently
+	  when the call is cancelled by the caller. Background: The ISDN
+	  phones (Siemens Gigaset 3035 or CX253) we use for testing
+	  additionally contain a DECT base station, which operates as a
+	  different endpoint on the ISDN Bus (TEI). If the DECT base
+	  station is not in use then there are no DECT phones registered to
+	  the base station. The DECT base station responds to an incoming
+	  call not directed toward it with (RELEASE_COMPLETE, cause: no
+	  user responding). * Made initiate_hangup_if_needed() also hangup
+	  the subcall if it is in the NULL state. * Simplified
+	  q931_set_subcall_winner(). JIRA ABE-2745 JIRA SWP-2954
+
+	* rose.c: DMS-100 not receiving caller name anymore. Looks like
+	  DMS-100 is using the same message as Q.SIG to receive the caller
+	  name. Add the ability to decode the ROSE calling name message
+	  defined for the Q.SIG switch on the DMS-100 switch. (closes issue
+	  #18822) Reported by: cmorford Patches: issue18822_v1.4.patch
+	  uploaded by rmudgett (license 664) Tested by: cmorford
+
+	* rose.c, pri_facility.c: * Added switchtype to ROSE invoke
+	  operation not handled message. * Reordered NI2 ROSE message table
+	  so any conflicts with the pirated Q.SIG messages will be in favor
+	  of the NI2 specific messages. This is precautionary only.
+
+	* pri_internal.h, prisched.c: Crash if NFAS swaps D channels on a
+	  call with an active timer. If a Q.931 call record related timer
+	  is started on one NFAS D channel expires after NFAS swaps to
+	  another D channel, then libpri could crash. For example: 1)
+	  Hangup a call. 1a) Send a DISCONNECT. 1b) Start the T305
+	  retransmit timer on the current D channel. 2) The RELEASE comes
+	  in on another D channel. 2a) The found call record switches its
+	  assignment to the new D channel. 2b) Attempt to stop T305.
+	  Unfortunately, the timer was started on another D channel so the
+	  attempt does not find the timer to stop. 3) The hangup sequence
+	  continues normally and the call record is freed since there is
+	  only one call record pool. 4) T305 expires on the original D
+	  channel and crashes the system when it uses the stale call record
+	  pointer it has saved. Made each D channel timer pool have a
+	  unique range of valid timer identifiers. If a given timer
+	  identifier is not in the range for the current NFAS D channel,
+	  then search the D channel group for the original D channel. JIRA
+	  LIBPRI-58 JIRA SWP-2721
+
+2011-02-14 23:33 +0000 [r2200]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri_q921.h, q921.c: Fix I-frame retransmission quirks. Revamped
+	  the I-frame retransmission queue to better comply with Q.921:
+	  Figure B.7/Q.921 (sheet 1 of 10) and Figure B.9/Q.921 (Sheet 5 of
+	  5). The changes prevent retransmitting I-frames when the peer is
+	  busy (RNR) (Q.921 Section 5.6.5) and eliminate an unnecessary
+	  delay sending new I-frames after an I-frame retransmission.
+	  Related to JIRA LIBPRI-60
+
+2011-02-08 16:44 +0000 [r2192]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c: Swap of master/slave in pri_enslave() incorrect. Thank
+	  you. All I can say is oops. (closes issue #18769) Reported by:
+	  jcollie Patches: libpri-1.4.12-beta3-swap.patch uploaded by
+	  jcollie (license 412)
+
+2011-02-04 19:59 +0000 [r2187-2190]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, pri_internal.h, q931.c, pri_facility.c, libpri.h: Add
+	  display ie text handling options. The display ie handling can be
+	  controlled independently in the send and receive directions with
+	  the following options: * Block display text data. * Use display
+	  text in SETUP/CONNECT messages for name. * Use display text for
+	  COLP name updates (FACILITY/NOTIFY as appropriate). * Pass
+	  arbitrary display text during a call. Sent in INFORMATION
+	  messages. Received from any message that the display text was not
+	  used as a name. If the display options are not set then the
+	  options default to legacy behavior.
+
+	* q931.c: Add Q931_IE_TIME_DATE to CONNECT message when in network
+	  mode. Add the Q931_IE_TIME_DATE with the current date/time of the
+	  system to the Q.931 CONNECT message when in network mode. The
+	  date/time IE allows attached equipment to synchronize their clock
+	  with the network. Most notably, ISDN phones can display the
+	  current date/time. See issue #18047 about a concern with
+	  non-conforming Siemens terminals. (closes issue #18047) Reported
+	  by: wuwu Patches: timedate.patch uploaded by rmudgett (license
+	  664) Tested by: rmudgett JIRA SWP-2955 JIRA ABE-2747
+
+2011-02-01 00:37 +0000 [r2183]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, pri_internal.h, Makefile, q921.c, q931.c: Enable
+	  LIBPRI_COUNTERS code by default. Removed the conditional
+	  LIBPRI_COUNTERS to include the code unconditionally. Patches:
+	  enable_LIBPRI_COUNTERS_LIBPRI-61.diff uploaded by jbigelow JIRA
+	  LIBPRI-61
+
+2010-12-21 19:46 +0000 [r2169-2175]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, q931.c: Invalid PTMP redirecting signaling as TE towards
+	  NT. * The PTMP redirection signaling (NOTIFY redirection number
+	  and notification code, SETUP redirecting number) is also sent in
+	  PTMP/TE mode. It should only apply in PTMP/NT mode. The call
+	  setup proceeds but the network (Deutsche Telekom) reacts with
+	  ugly ISDN STATUS messages. * Don't send the redirecting number ie
+	  when PTP is also sending the DivertingLegInformation2 facility.
+	  The redirecting number ie is redundant and the network (Deutsche
+	  Telekom) complains about it. JIRA LIBPRI-53 JIRA SWP-2543
+
+	* q931.c: Fix Q.931 retried SETUP not sending facility ies. Resend
+	  standard facility ies when the SETUP is retried by Q.931.
+	  However, one time facility ies are no longer available to add to
+	  a retried SETUP message.
+
+	* pri.c, pri_internal.h, q931.c, pri_facility.c, pri_facility.h:
+	  Add call transfer exchange of subaddresses support and fix PTMP
+	  call transfer signaling. * Add the ability to exchange
+	  subaddresses for ETSI PTMP, ETSI PTP, and Q.SIG for call
+	  transfer. * Fix ETSI PTMP to send the correct messages depending
+	  on the call state for call transfer. NOTE: Some ISDN phones only
+	  handle the NOTIFY message that the EN 300-369 spec says should be
+	  sent only if the call has not connected yet. JIRA LIBPRI-47 JIRA
+	  SWP-2363 Review: https://reviewboard.asterisk.org/r/1051/
+
+	* pri_internal.h, q931.c: Better HOLD/RETRIEVE collision handling.
+	  The upper layer is now initiating HOLD/RETRIEVE signaling. These
+	  changes are needed to help preserve the correct channel id after
+	  a collision.
+
+	* q931.c: Fix regression when reorganized for struct pri and struct
+	  q921_link.
+
+2010-12-14 01:09 +0000 [r2166-2167]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: Return error if q931_notify() cannot send NOTIFY.
+
+	* q931.c: Fix bizarre logic to work as originally intended in
+	  q931_notify(). In revision 238: Don't allow notification codes
+	  outside of the Q.931 spec for switches other than EuroISDN.
+
+2010-11-12 02:31 +0000 [r2113]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri_internal.h, pri_q921.h, q921.c: Asterisk is getting a "No
+	  D-channels available!" warning message every 4 seconds. For PTP
+	  links, libpri generated the PRI_EVENT_DCHAN_DOWN event every time
+	  it failed to bring layer 2 up because the physical layer is down.
+	  For PTP links, made generate the
+	  PRI_EVENT_DCHAN_UP/PRI_EVENT_DCHAN_DOWN only when it enters/exits
+	  the Q.921 superstate consisting of states
+	  7(Q921_MULTI_FRAME_ESTABLISHED) and 8(Q921_TIMER_RECOVERY). Also
+	  changed the PTP link restart delay to be link specific instead of
+	  D channel specific because the GR-303 PTP switch types have more
+	  than one Q.921 link. (closes issue #17270) Reported by: jmls
+
+2010-11-11 00:30 +0000 [r2109-2111]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri_internal.h, q921.c: SABME flood on backup D-channel in NFAS
+	  configuration. Made delay restarting the PTP layer 2 link by the
+	  T200 time instead of immediately. Q.921 does not specify any
+	  particular time to restart the layer 2 link. Q.921 leaves it up
+	  to the upper layers to decide when or if another attempt to bring
+	  layer 2 up is made. Earlier versions of libpri used the T200 time
+	  to restart the link. This is a reimplementaion of -r1878. (closes
+	  issue #18255) Reported by: bklang JIRA SWP-2508
+
+	* q921.c: Minor MDL handler changes. * Clear mdl_error in case we
+	  could not schedule the handler callback. * Change MDL handlers to
+	  not return the handled state since the caller did not care.
+
+2010-11-05 20:05 +0000 [r2098-2105]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, pri_internal.h, pri_q921.h, q921.c: Added TEI identity
+	  check feature to reclaim dead TEIs. This is the new feature
+	  portion of JIRA LIBPRI-51/SWP-2453.
+
+	* q921.c: Q.921 TEI assignment procedure corrections. * We should
+	  send the TEI identity denied message with TEI=127 when the TEI
+	  pool is exhausted. * We should remove our TEI if we see a TEI
+	  identity assign message assigning our TEI to someone else.
+
+	* pri_q921.h, q921.c: Convert TEI identity defines to enum and
+	  create 2str() function.
+
+	* pri_q921.h, q921.c: Remove unneeded struct
+	  q921_link.mdl_error_state member.
+
+	* q921.c: Remove all TEIs when NT PTMP starts. Remove all TEIs when
+	  a NT PTMP link is started and there are no other links to make
+	  sure there are no devices that think they have a TEI. A device
+	  may think it has a TEI if the upper layer program is restarted or
+	  the system reboots. This fixes the bug portion of JIRA
+	  LIBPRI-51/SWP-2453.
+
+	* q921.c: Mainly put space after switch and while keywords.
+
+2010-11-02 19:11 +0000 [r2088]  Richard Mudgett <rmudgett at digium.com>
+
+	* q921.c: B410P gets incoming call packets on ISDN but Asterisk
+	  doesn't see the call. The Cisco 1751 with VIC 2-BRI ports sends
+	  out SETUP messages on the broadcast TEI as if the BRI were PTMP
+	  even though it is configured for PTP mode. Make PTP mode also
+	  accept frames on SAPI=0, TEI=127 (Broadcast). (closes issue
+	  #18232) Reported by: lelio Patches: issue18232_v1.4.patch
+	  uploaded by rmudgett (license 664) Tested by: lelio
+
+2010-10-21 18:00 +0000 [r2063-2079]  Richard Mudgett <rmudgett at digium.com>
+
+	* doc/cc_ptmp_agent.fsm, pri_internal.h, q931.c,
+	  doc/cc_ptp_agent.fsm, doc/cc_qsig_agent.fsm, pri_cc.c,
+	  doc/cc_ptmp_agent_flattened.fsm, doc/cc_ptp_agent_flattened.fsm,
+	  doc/cc_qsig_agent_flattened.fsm: Fixes CC agents not
+	  automatically clearing if T309 clears the original call. Incoming
+	  calls with CC enabled will not automatically clear the CC offer
+	  record when the call is aborted by T309 processing. All CC agent
+	  FSM's have this problem (PTMP, PTP, and Q.SIG). To reproduce: 1)
+	  Place incoming call to Asterisk/libpri 2) Either before or after
+	  the call is answered, bring the ISDN link down. 3) T309
+	  processing, T309 timeout, or TEI removal will leave the CC agent
+	  FSM in the CC available state. The problem is indicated by the
+	  "cc report status" CLI command showing a status of CC offered to
+	  caller but it will never timeout. The FSM's can be manually
+	  cleared by using the "cc cancel all" or "cc cancel core" CLI
+	  commands. JIRA LIBPRI-46 JIRA SWP-2241
+
+	* pri.c, pri_internal.h: Partial support for dynamic interfaces
+	  with NFAS. To have some support for dynamic interfaces, the
+	  master NFAS D channel control structure will always exist even if
+	  it is abandoned/deleted by the upper layer. The master/slave
+	  pointers ensure that the correct master will be used.
+
+	* pri.c, pri_internal.h, pri_q921.h, pri_aoc.c, pri_q931.h, q921.c,
+	  q931.c, pri_facility.c, pri_cc.c, prisched.c: Extract the layer 2
+	  link structure out of struct pri. This completes the layer 2 link
+	  and Q.931 call control restructuring. Some code is now simplified
+	  since there is only one D channel control structure and the
+	  amount of allocated memory is reduced.
+
+	* pri.c, pri_internal.h, pri_q921.h, pri_q931.h, q921.c, q931.c,
+	  pri_facility.c: Restructure the Q.931 call record to layer 2 link
+	  association. This is in anticipation of extracting a layer 2 link
+	  structure out of struct pri. Also completes fixing timer value
+	  access for the rest of libpri. The timer access must always be on
+	  the D channel control structure (Master). May have fixed some
+	  events from timeouts not being passed to the upper layer. The
+	  timeout events must always be on the D channel control structure
+	  (Master).
+
+	* pri_q921.h, q921.c: Logically separate Q.921 TEI link processing
+	  from D channel control. This is in anticipation of extracting a
+	  layer 2 link structure out of struct pri. Also fixes Q.921 timer
+	  value access. The timer access must always be on the D channel
+	  control structure (Master).
+
+2010-10-16 04:34 +0000 [r2015-2042]  Richard Mudgett <rmudgett at digium.com>
+
+	* q921.c: Dump Q.931 message using the TEI value the message came
+	  in with.
+
+	* pri_internal.h, q931.c: Create two versions of call ptr verify.
+	  One gripes and one does not.
+
+	* q931.c: Crash when receiving an unknown/unsupported message type.
+	  Fix double free of a call record and the subsequent continued use
+	  of the freed call record when receiving an unsupported/unknown
+	  message type. (closes issue #17968) Reported by: gelo Patches:
+	  issue_17968_v1.4.patch uploaded by rmudgett (license 664)
+
+	* pri.c, pri_internal.h, pri_aoc.c, q931.c, pri_facility.c,
+	  pri_cc.c: Segfault in pri_schedule_del() - ctrl value is invalid.
+	  Validate the given call pointer in libpri API calls. If the call
+	  pointer is not an active call record then a complaint message is
+	  issued and the API call aborts. The call pointer is likely stale.
+	  This patch is defensive. More information is needed to figure out
+	  why Asterisk still has a call pointer during its hangup sequence.
+	  (closes issue #17522) (closes issue #18032) Reported by:
+	  schmoozecom Patches: issue_18032_v1.4.patch uploaded by rmudgett
+	  (license 664) Tested by: rmudgett
+
+2010-10-07 04:00 +0000 [r2009]  Tilghman Lesher <tilghman at meg.abyt.es>
+
+	* Makefile: Minor changes to make libpri build on Mac OS X
+
+2010-09-16 21:24 +0000 [r2001]  Russell Bryant <russell at digium.com>
+
+	* Makefile: Makefile tweaks to allow building for code coverage
+	  analysis.
+
+2010-09-13 21:21 +0000 [r1982-1991]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri_q931.h, q921.c, q931.c: PRI links do not retain active calls
+	  if the link comes back before T309 expires. The DL-ESTABLISH
+	  confirm event was not passed from Q.921 to Q.931 so Q.931 never
+	  cancelled the T309 timer. Refactored q931_dl_tei_removal() and
+	  q931_dl_indication() into q931_dl_event() to allow the
+	  DL-ESTABLISH confirm/indication and DL-RELEASE confirm/indication
+	  events to be passed to Q.931.
+
+	* pri.c, pri_internal.h, pri_q931.h, q921.c, q931.c, prisched.c:
+	  BRI PTMP: Active channels not cleared when the interface goes
+	  down. If the connection to the terminal is lost while there are
+	  open channels on the interface, red alarm is reported, but the
+	  open channels are never cleared. Additionally, if you manually
+	  try to channel request hangup, Asterisk crashes. For PTMP, the
+	  T309 processing was not searching the call pool on the master
+	  control record. Additionally, for NT PTMP, the timeout events
+	  were not passed to the upper layer because the events were not
+	  put on the master control record where timer processing expects
+	  them. (closes issue #17865) Reported by: wimpy Patches:
+	  issue17865_v1.4.patch uploaded by rmudgett (license 664) Tested
+	  by: rmudgett, wimpy
+
+2010-09-10 23:15 +0000 [r1976]  Richard Mudgett <rmudgett at digium.com>
+
+	* doc/cc_ptmp_agent.fsm, doc/cc_ptmp_agent_flattened.fsm: Fix
+	  spelling error in PTMP agent FSM files.
+
+2010-09-08 21:43 +0000 [r1958-1965]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c: Added more parameter checks to pri_set_timer() and
+	  pri_get_timer(). Made pri_dump_info_str() output a line for each
+	  Q.921 TEI Tx queue when LIBPRI_COUNTERS is defined.
+
+	* q921.c, q931.c: Made Q.921 delay events to Q.931 if the event
+	  could immediately generate response frames. Q.921 was passing a
+	  q931_dl_indication(up) event to Q.931 before it was finished
+	  processing the frame. The q931_dl_indication(up) event could
+	  immediately send STATUS messages in the Q.921 intermediate state
+	  that would then get stuck in the tx queue with an invalid N(S).
+	  Q.921 was passing i-frames to Q.931 before it was finished
+	  processing the frame. The i-frames could cause Q.931 to
+	  immediately generate a response message that may cause the peer
+	  to see the P/F bit as incorrect. Delayed passing
+	  q931_dl_indication(up) events and i-frames to Q.931 until Q.921
+	  has completed processing the frame event. (The Q.921 SDL diagrams
+	  were designed with this assumption.) (closes issue #17360)
+	  Reported by: shawkris Patches: issue17360_v1.4.patch uploaded by
+	  rmudgett (license 664) Tested by: shawkris, rmudgett
+
+	* q931.c: Prevent a CONNECT message from sending a CONNECT
+	  ACKNOWLEDGE in the wrong state. Filter the processing of the
+	  CONNECT message to prevent libpri from sending a CONNECT
+	  ACKNOWLEDGE when the call is in an inappropriate state. This can
+	  happen when we hang up an outgoing call after the other end has
+	  sent a CONNECT but before we have processed the CONNECT. (issue
+	  #17360) Reported by: shawkris Patches:
+	  issue17360_con_ack_v1.4.patch uploaded by rmudgett (license 664)
+
+	* q931.c: Balance curly braces in post_handle_q931_message().
+
+2010-09-02 17:33 +0000 [r1955]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c: Don't crash in __pri_new_tei() if a GR303 subchannel
+	  creation fails.
+
+2010-08-30 20:49 +0000 [r1918-1929]  Richard Mudgett <rmudgett at digium.com>
+
+	* q921.c: Reduced fake MDL-ERROR (Z) message severity to be visible
+	  only when debugging enabled.
+
+	* q921.c, q931.c: Q.921/Q.931 message debug output improvements.
+	  The Q.931 message decode debug output now will follow the correct
+	  Q.921 header decode if Q.921 message dumping is enabled. Also the
+	  Q.931 message decode will happen when the message actually goes
+	  out on the line instead of when Q.931 passes the message to
+	  Q.921. Q.921 may have to request a TEI, bring the connection up,
+	  or retransmit previous frames before it can actually send the new
+	  message.
+
+	* q921.c: Q.921 improvements from comparing Q.921 SDL diagrams with
+	  implementation. * Handle sending and receiving DM response frames
+	  as needed. * Added handling of received FRMR frames. * Completed
+	  implementation of Q921_AWAITING_RELEASE state. (State is
+	  currently unreachable since we have no API to initiate sending
+	  the DISC message.) * Better NT PTMP TEI allocation. * Reduced
+	  more ERROR level severity messages so users will stop panicking
+	  when they see ERROR. This is especially true for the Q.921
+	  MDL-ERROR messages. * Added better Q.921 visibility when normal
+	  debug message level is enabled.
+
+	* q921.c: ISDN BRI does not recover from line faults Q.921 was
+	  getting stuck in state 2 (Q921_ASSIGN_AWAITING_TEI). For some
+	  reason the network was removing the TEI. Libpri then immediately
+	  tried to get a new TEI assigned. The network did not reply to the
+	  N202(3) attempts to get a new TEI. Libpri then just gave up
+	  trying but did not leave the state. Some paths in Q.921 Figure
+	  B.3 were not implemented. Q.921 now transitions to the
+	  Q921_TEI_UNASSIGNED state when the N202 count is exceeded. Q.921
+	  will wait there until an incoming or outgoing call is attempted.
+	  * Fixed initializing the n202_counter. Not initializing the
+	  n202_counter would cause the Q921_TEI_IDENTITY_REQUEST to
+	  unexpectedly not go out and due to how state transitions were
+	  done, Q.921 would get stuck in the Q921_ASSIGN_AWAITING_TEI
+	  state. * Fixed start T202 timer fail causing Q.921 to get stuck
+	  in the Q921_ASSIGN_AWAITING_TEI state if the network did not
+	  respond to the request. * Fixed handling of
+	  Q921_TEI_IDENTITY_REMOVE to do the MDL-REMOVE primitive
+	  (q921_mdl_remove()) instead of transitioning directly to the
+	  Q921_TEI_UNASSIGNED state. Necessary state clean-up was not
+	  getting done. * Minor tweaks to q921_mdl_remove(). The worst
+	  problem was erroneously generating an error message. * Fixed
+	  potential for sending I-frames with an invalid TEI. The I-frame
+	  could have been queued when Q.921 did not have an assigned TEI. *
+	  Fixed testing of the q931_receive() return value when a UI-frame
+	  is received. (closes issue #17570) Reported by: jcovert Patches:
+	  issue17570_v1.4.11.3_v3.patch uploaded by rmudgett (license 664)
+	  issue17570_v1.4_v3.patch uploaded by rmudgett (license 664)
+	  Tested by: jcovert, rmudgett
+
+2010-08-27 23:37 +0000 [r1894-1912]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, q931.c: Convert most references of Q931_MAX_TEI to use
+	  ARRAY_LEN(). * Minor comment correction in q931_destroycall(). *
+	  Redundant logic removal q931_destroycall(). "W && X && (Y || W &&
+	  Z)" is the same as "W && X && (Y || Z)"
+
+	* rose.c, rosetest.c: Add support to receive ECMA-164 2nd edition
+	  OID name ROSE messages. NOTE: To add support to send the old
+	  style name messages will require implementing them as new ROSE
+	  operation message types. NOTE: To actually use them would likely

[... 1327 lines stripped ...]



More information about the libpri-commits mailing list