[libpri-commits] lmadsen: tag 1.4.12 r2269 - in /tags/1.4.12: .version ChangeLog

SVN commits to the libpri project libpri-commits at lists.digium.com
Tue Jul 5 16:11:32 CDT 2011


Author: lmadsen
Date: Tue Jul  5 16:11:28 2011
New Revision: 2269

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

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

Added: tags/1.4.12/.version
URL: http://svnview.digium.com/svn/libpri/tags/1.4.12/.version?view=auto&rev=2269
==============================================================================
--- tags/1.4.12/.version (added)
+++ tags/1.4.12/.version Tue Jul  5 16:11:28 2011
@@ -1,0 +1,1 @@
+1.4.12

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

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

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

Added: tags/1.4.12/ChangeLog
URL: http://svnview.digium.com/svn/libpri/tags/1.4.12/ChangeLog?view=auto&rev=2269
==============================================================================
--- tags/1.4.12/ChangeLog (added)
+++ tags/1.4.12/ChangeLog Tue Jul  5 16:11:28 2011
@@ -1,0 +1,1800 @@
+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
+	  require implementing another version of the Q.SIG switch type.
+	  Like (NI1 & NI2) and (4ess & 5ess) for example. Patches:
+	  libpri37.patch uploaded by rmudgett (license 664) JIRA SWP-2100
+	  JIRA LIBPRI-37
+
+	* pri.c: Make pri_dump_event() only print the event name.
+
+2010-08-25 17:17 +0000 [r1883-1884]  Richard Mudgett <rmudgett at digium.com>
+
+	* rosetest.c: Added gripe check to rosetest for invalid operation
+	  and error codes.
+
+	* q921.c: Don't silently fail to post our fake MDL-ERROR(Z).
+
+2010-08-23 22:13 +0000 [r1878]  Matthew Fredrickson <creslin at digium.com>
+
+	* q921.c: Add silly fake MDL error Z for kicking L2 to reactivate
+	  if a DISC or DM is received in proper states on PTP links.
+
+2010-08-06 18:35 +0000 [r1852-1853]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: No audio on inbound J1 calls. Incoming calls specifying
+	  the channel using a slot map could not negotiate a B channel
+	  correctly. Libpri historically has handled this as an any channel
+	  request. However, when chan_dahdi picked a new channel, libpri
+	  sent out the recorded slot map and not the new channel selected.
+	  Thus the two endpoints would be attached to different B channels
+	  and the parties would not hear anything or would hear the wrong
+	  parties. This patch restores the historical preference of sending
+	  out the channel id using the channel number method if a channel
+	  number is available. JIRA LIBPRI-35 Patches:
+	  libpri-35_v1.4.11.3.patch uploaded by rmudgett (license 664)
+	  libpri-35_v1.4.patch uploaded by rmudgett (license 664) Tested
+	  by: rmudgett
+
+	* q921.c: Learn (AGAIN!) why state 7 and state 8 transitions were
+	  suppressed.
+
+2010-08-03 23:04 +0000 [r1842-1848]  Richard Mudgett <rmudgett at digium.com>
+
+	* q921.c, q931.c: Improved Q.921/Q.931 debug output. * Debug output
+	  for a sent Q.931 message in TE PTMP now uses the best available
+	  TEI number instead of always using 127. It could still be wrong
+	  if layer 2 does not have a TEI assigned. * Q.921 debug output is
+	  grouped better so a decoded message is not split by a blank line.
+	  * The Q.921 state is also decoded to a name.
+
+	* q921.c: Q921_TIMER_RECOVERY SDL issue in q921_rnr_rx() Added
+	  missing code specified by Q.921 (Figure B.8 Page 85) when receive
+	  RNR in "Timer Recovery" state. (closes issue #16791) Reported by:
+	  alecdavis Patches: rnr_timer_recovery.diff.txt uploaded by
+	  alecdavis (license 585)
+
+	* q921.c: Renamed local struct pri *pri variables to struct pri
+	  *ctrl in q921.c. The context tagging for my editor is much
+	  happier now that the struct and the variable do not have the same
+	  name. (At least for this file.)
+
+2010-07-22 17:59 +0000 [r1836]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, libpri.h: Add pri_new_bri_cb() API - Create BRI D-channel
+	  with user defined I/O callbacks and data There currently exists a
+	  pri_new_cb() API call that allows you to create a PRI with
+	  user-defined I/O read and write callbacks, and option userdata.
+	  Add the same capability for BRI interfaces by adding a
+	  pri_new_bri_cb() API function. (closes issue #16477) Reported by:
+	  nic_bellamy Patches: pri_new_bri_cb_api.patch uploaded by nic
+	  bellamy (license 299) (with minor cosmetic changes)
+
+2010-07-16 22:55 +0000 [r1828-1833]  Richard Mudgett <rmudgett at digium.com>
+
+	* pritest.c, Makefile: pritest hadn't been ported to DAHDI pritest
+	  hadn't been ported to DAHDI, made the trivial changes to make it
+	  work. (I haven't found the equivalent to zap_playf, so changed
+	  the behaviour to an echo box) (closes issue #17274) Reported by:
+	  horape Patches: pritest.diff uploaded by horape (license 1035)
+	  (with minor cosmetic changes)
+
+	* rosetest.c: Only need to output one version of the version
+	  message.
+
+	* rosetest.c: Added a libpri version output line as a sanity check
+	  for rosetest.
+
+	* rosetest.c, rose_qsig_name.c: Calling name not successfully
+	  processed on inbound QSIG PRI calls from Mitel PBX The alternate
+	  form of the Q.SIG Name sequence that allows manufacturer
+	  extensions for CallingName, CalledName, ConnectedName, and
+	  BusyName was not consuming the next ASN.1 tag. The code that
+	  processed the ASN.1 Name structure was then using a stale tag
+	  value. The stale tag value was then rejected with the "Did not
+	  expect" message. I have added a test case using the supplied PRI
+	  debug output to the rosetest utility to verify that this
+	  alternate encoding is tested in the future. (closes issue #17619)
+	  Reported by: jims8650 Patches: issue17619_v1.4.11.3.patch
+	  uploaded by rmudgett (license 664) Tested by: rmudgett
+
+2010-06-29 16:15 +0000 [r1823]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri_internal.h, q931.c: [regression] Calling Number assignment
+	  logic change in libpri 1.4.11. Restored the old behaviour if
+	  there is more than one calling number in the incoming SETUP
+	  message. A network provided number is reported as ANI. (closes
+	  issue #17495) Reported by: ibercom Patches:
+	  issue_17495_v1.4.11.2.patch uploaded by rmudgett (license 664)
+	  issue_17495_v1.4.patch uploaded by rmudgett (license 664) Tested
+	  by: ibercom
+
+2010-06-25 20:22 +0000 [r1818]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: PRI: XXX Missing handling for mandatory IE 12 The switch
+	  is sending the Connected Address ie (12) and there was no handler
+	  for that ie. That is why the reporter was getting the "Missing
+	  mandatory ie" message. The simple fix is to just add the missing
+	  receive handler for that ie. Since connected line (COLP)
+	  functionality has been added and this is just an alternate for
+	  the Connected Number ie (0x4C), the handler was already written.
+	  I also changed the ie name to what Q.931 calls it: Connected
+	  Address. Also some minor code clean up in q931_handle_ie() and
+	  ie2str(). JIRA SWP-1678 (closes issue #16915) Reported by: kobaz
+
+2010-06-04 22:45 +0000 [r1810]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri_facility.c: Q.SIG calling name in FACILITY message not
+	  reported to the upper layer. Q.SIG can send the CallingName,
+	  CalledName, and ConnectedName in stand alone FACILITY messages.
+	  If the CallingName was not sent in the SETUP message, the caller
+	  id name was not reported to the upper layer. (closes issue
+	  #17458) Reported by: jsmith Patches:
+	  issue17458_post_qsig_name.patch uploaded by rmudgett (license
+	  664) issue17458_post_qsig_name_v1.4.11.1.patch uploaded by
+	  rmudgett (license 664) Tested by: rmudgett, jsmith
+
+2010-06-01 22:59 +0000 [r1785-1794]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c: Inband disconnect setting does nothing on BRI spans. The
+	  acceptinbanddisconnect flag is not inherited when creating a new
+	  TEI and thus rendering the setting (and its respective equivalent
+	  in Asterisk) a no-op on BRI setups. (closes issue #15265)
+	  Reported by: paravoid Patches: inband-bri.diff uploaded by
+	  paravoid (license 200) Tested by: paravoid
+
+	* rose.c, rosetest.c, q931.c: Multi component FACILITY messages
+	  only process the first component. The code was only processing
+	  the first ROSE component in the facility message. I also updated
+	  rosetest.c to have a multiple component ROSE message test.
+	  (closes issue #17428) Reported by: patrol-cz Patches:
+	  issue17428.patch uploaded by rmudgett (license 664) Tested by:
+	  rmudgett, patrol-cz
+
+2010-05-28 22:34 +0000 [r1776]  David Vossel <dvossel at digium.com>
+
+	* pri_internal.h, pri_aoc.c, q931.c, pri_facility.c,
+	  pri_facility.h, libpri.h: support for sending ETSI advice of
+	  charge Review: https://reviewboard.asterisk.org/r/619/
+
+2010-05-28 21:50 +0000 [r1723-1767]  Richard Mudgett <rmudgett at digium.com>
+
+	* rose_etsi_mwi.c (added), rose.c, rosetest.c, rose_internal.h,
+	  Makefile, rose.h, pri_facility.c, libpri.h, rose_qsig_mwi.c: ETSI
+	  Message Waiting Indication (MWI) support. Add the ability to
+	  report waiting messages to ISDN endpoints (phones). Relevant
+	  specification: EN 300 650 and EN 300 745 Review:
+	  https://reviewboard.asterisk.org/r/600/
+
+	* rose.c, rosetest.c, pri_internal.h, rose.h, pri_facility.c,
+	  libpri.h: ETSI Malicious Call ID support. Add the ability to
+	  report malicious callers. Relevant specification: EN 300 180
+	  Review: https://reviewboard.asterisk.org/r/575/
+
+	* pri.c, pri_internal.h, pri_q931.h, q931.c, libpri.h: ETSI Call
+	  Waiting support. Add the ability to announce a call to an
+	  endpoint when there are no B channels available. A call waiting
+	  call is a SETUP message with no B channel selected. Relevant
+	  specification: EN 300 056, EN 300 057, EN 300 058 Review:
+	  https://reviewboard.asterisk.org/r/569/
+
+	* pri_internal.h, pri_aoc.c (added), Makefile, pri_facility.c,
+	  rose_etsi_aoc.c, pri_facility.h, libpri.h: ETSI Advice Of Charge
+	  (AOC) event reporting. This feature passes ETSI AOC-S, AOC-D, and
+	  AOC-E message information to the upper layer (i.e. Asterisk) for
+	  processing. Relevant specification: EN 300 182 Consideration was
+	  made for the possible future addition of Q.SIG AOC support
+	  (ECMA-212) with the events passed to the upper layer. Review:
+	  https://reviewboard.asterisk.org/r/538/
+
+	* pri.c, pri_internal.h, q931.c, pri_facility.c, pri_facility.h,
+	  libpri.h: Added ETSI Explicit Call Transfer (ECT) support. Added
+	  ability to send and receive ETSI ECT messages to eliminate
+	  tromboned calls. Added ETSI support to an existing API call to
+	  send ECT messages when the upper level indicates to transfer
+	  specified calls. The libpri API was extended to indicate to the
+	  upper layer that the far end requests the transfer of the
+	  indicated calls. Review: https://reviewboard.asterisk.org/r/521/
+
+2010-05-26 16:01 +0000 [r1714]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, doc/cc_ptmp_monitor_flattened.fsm, pri_internal.h,
+	  Makefile, q931.c, doc/cc_ptp_agent.fsm, doc/cc_qsig_agent.fsm,
+	  pri_cc.c (added), rose_qsig_cc.c (added), prisched.c,
+	  doc/cc_ptmp_agent_flattened.fsm, rose_etsi_cc.c (added),
+	  doc/cc_ptmp_monitor.fsm, rosetest.c, rose.c, rose_internal.h,
+	  doc/cc_ptmp_agent.fsm, pri_q931.h,
+	  doc/cc_qsig_monitor_flattened.fsm,
+	  doc/cc_ptp_monitor_flattened.fsm, rose.h, pri_facility.c,
+	  pri_facility.h, doc/cc_qsig_agent_flattened.fsm,
+	  doc/cc_ptp_agent_flattened.fsm, doc (added), libpri.h,
+	  doc/cc_qsig_monitor.fsm, doc/cc_ptp_monitor.fsm: Add Call
+	  Completion Suppplementary Service Call Completion Supplementary
+	  Service (CCSS) added for the following switch types: ETSI PTMP,
+	  ETSI PTP, Q.SIG. Specifications: ETS 300 359 CCBS for PTMP and
+	  PTP ETS 301 065 CCNR for PTMP and PTP ECMA-186 Call Completion
+	  for Q.SIG Several support services were added to support CC:
+	  Dummy Call Reference. Q.931 REGISTER message. Dynamic expansion
+	  of the number of available timers (up to 8192). Enhanced facility
+	  message handling. Current implementation limitations preclude the
+	  following: CC service retention is not supported. Q.SIG path
+	  reservation is not supported. (closes issue #14292) Reported by:
+	  tomaso Tested by: rmudgett JIRA SWP-1493 Review:
+	  https://reviewboard.asterisk.org/r/522/
+
+2010-05-20 Russell Bryant <russell at digium.com>
+
+	* libpri 1.4.11 released.
+
+2010-05-19 21:50 +0000 [r1703]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: T309 should not do anything with the global call
+	  reference call record.
+
+2010-05-19 21:30 +0000 [r1702]  Matthew Fredrickson <creslin at digium.com>
+
+	* q921.c: It's amazing what a tiny bug in the Q.921 SDL diagram can
+	  do to cause trouble.... Fix issue where V_R was not reset and N_R
+	  was consequentially transmitted incorrectly. Particularly in
+	  layer 2 initiated re-establishments.
+
+2010-05-11 22:14 +0000 [r1688]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, pri_internal.h, q931.c, libpri.h: Dialing an invalid
+	  extension causes incomplete hangup sequence. Revision -r1489
+	  corrected a deviation from Q.931 Section 5.3.2. However, this
+	  resulted in an unexpected behaviour change to the upper layer
+	  (Asterisk). This change restores the legacy hangup behaviour if
+	  the new API call is not used. Use pri_hangup_fix_enable() to
+	  follow Q.931 Section 5.3.2 call hangup better. (closes issue
+	  #17104) Reported by: shawkris Tested by: rmudgett
+
+2010-04-26 19:54 +0000 [r1664-1675]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: Simplified some protocol discriminator handling code.
+
+	* q931.c: Garbage on the end of Q.931 messages causing calls to
+	  fail to connect. The DAHDI driver had a bug where an extra byte
+	  appeared on the end of Q.931 messages. This garbage byte caused
+	  the message to be discarded with the diagnostic "XXX Message
+	  longer than it should be?? XXX". The Q.931 message will no longer
+	  be discarded if there were earlier ie's in the message. This
+	  patch also addresses the potential problem of reading beyond the
+	  buffer when trying to parse the garbage data. Thanks to roeften
+	  for the base patch. (closes issue #14378) Reported by: timking
+

[... 1065 lines stripped ...]



More information about the libpri-commits mailing list