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

SVN commits to the libpri project libpri-commits at lists.digium.com
Wed Nov 17 14:53:55 CST 2010


Author: lmadsen
Date: Wed Nov 17 14:53:51 2010
New Revision: 2129

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

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

Added: tags/1.4.12-beta3/.version
URL: http://svnview.digium.com/svn/libpri/tags/1.4.12-beta3/.version?view=auto&rev=2129
==============================================================================
--- tags/1.4.12-beta3/.version (added)
+++ tags/1.4.12-beta3/.version Wed Nov 17 14:53:51 2010
@@ -1,0 +1,1 @@
+1.4.12-beta3

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

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

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

Added: tags/1.4.12-beta3/ChangeLog
URL: http://svnview.digium.com/svn/libpri/tags/1.4.12-beta3/ChangeLog?view=auto&rev=2129
==============================================================================
--- tags/1.4.12-beta3/ChangeLog (added)
+++ tags/1.4.12-beta3/ChangeLog Wed Nov 17 14:53:51 2010
@@ -1,0 +1,1656 @@
+2010-11-17  Leif Madsen <lmadsen at digium.com>
+
+	* libpri 1.4.12-beta3 released.
+
+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 <tlesher at digium.com>
+
+	* 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  Leif Madsen <lmadsen at digium.com>
+
+	* libpri 1.4.12-beta2 released.
+
+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-26  Leif Madsen <lmadsen at digium.com>
+
+	* libpri 1.4.12-beta1 released
+
+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-06-29 Leif Madsen <lmadsen at digium.com>
+
+	* libpri 1.4.11.3 released.
+
+2010-06-29 11:17 +0000 [r1824]  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-02 Leif Madsen <lmadsen at digium.com>
+
+	* libpri 1.4.11.2 released.
+
+2010-06-04 17: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-02 Leif Madsen <lmadsen at digium.com>
+
+	* libpri 1.4.11.1 released.
+
+2010-06-02 11:26 +0000 [r1805-1806]  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
+
+	* q931.c, rose.c, rosetest.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-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
+
+	* q921.c: Avoid using a cast.
+
+	* q931.c: Cleanup some pri debug output line presentation.
+
+2010-04-19 22:40 +0000 [r1625-1630]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri_internal.h, pri_q931.h, q931.c, pridump.c: PTMP NT mode call
+	  reference value ambiguity. Since the TE side can pick CR values
+	  independently, the TE CR needs to be qualified by TEI to
+	  distinguish CR values from other devices. Without doing this,
+	  multiple phones on the BRI line will have intermittent call
+	  failures. JIRA LIBPRI-30 Also eliminated some wierdness in
+	  q931_status() and several places where it is called.
+
+	* q921.c: Fix potential crash when pridump.c calls q921_dump() with
+	  NULL pri ptr.
+
+2010-04-15 18:43 +0000 [r1596]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, pri_internal.h: Make some internal routines available to
+	  other libpri components.
+
+2010-04-09 21:43 +0000 [r1577]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: Only one PROCEEDING message per call please.
+
+2010-03-18 15:50 +0000 [r1534-1547]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: Move a comment closer to where it has relevance.
+
+	* pri.c, pri_internal.h, q921.c, q931.c, pri_facility.c:
+	  Miscellaneous simple reorganization. 1) Make PRI_MASTER() no
+	  longer check for a NULL parameter. It is the caller's
+	  responsibility. Not many callers could have passed a NULL without
+	  crashing before or after anyway. 2) Replace calls to
+	  q931_is_ptmp() with PTMP_MODE(). They were equivalent. 3) Made
+	  the following boolean config options bit fields: sendfacility,
+	  overlapdial, chan_mapping_logical, and service_message_support.
+
+2010-03-02 23:47 +0000 [r1511]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, pri_internal.h, q921.c: Restore ability to change the
+	  Q.921 K value. The Q.921 rewrite only used value of PRI_TIMER_K
+	  right after it was set to the default. The Q.921 window size was
+	  thus no longer alterable by the user. (closes issue #16909)
+	  Reported by: alecdavis Patches: pritimer.libpri.diff.txt uploaded
+	  by alecdavis (license 585) Tested by: alecdavis
+
+2010-02-11 21:47 +0000 [r1488-1489]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: Must send DISCONNECT if we have sent a response to a
+	  SETUP message. Q.931 Section 5.3.2 a) says we send a
+	  RELEASE_COMPLETE to reject a call SETUP if we have not already
+	  sent a message in response to the SETUP message.
+
+	* pri.c, libpri.h: Minor comment changes.
+
+2010-02-11 17:35 +0000 [r1482]  Wendell Thompson <wthompson at digium.com>
+
+	* Makefile: Added CPUARCH option for selecting a 32-bit build from
+	  the command line.
+
+2010-02-08 23:29 +0000 [r1470-1476]  Matthew Fredrickson <creslin at digium.com>
+
+	* q921.c: Revert useless check of pri->t200_timer value, since
+	  scheduler routines check the value anyways.
+
+	* q921.c: Make sure we set the l3initiated flag when PTP links are
+	  attempted to be re-established
+
+2010-02-05 23:34 +0000 [r1464]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c: pri_restart() is no longer needed since the Q.921 rewrite.
+	  Don't output error message for a deprecated function.
+
+2010-01-29 21:55 +0000 [r1457]  Matthew Fredrickson <creslin at digium.com>
+
+	* q921.c: Sense of statement was inverted from what it should have
+	  been. Might have caused false T200 operation on reception of
+	  I-frames.
+
+2010-01-29 19:32 +0000 [r1451]  Richard Mudgett <rmudgett at digium.com>
+
+	* q921.c: Only set eres if there actually is an event to pass up.
+	  (issue 16713)
+
+2010-01-29 17:27 +0000 [r1445]  Matthew Fredrickson <creslin at digium.com>
+
+	* q921.c: Fix bug in which an event was lost if an I-frame was
+	  received during a timer recovery state (related to #16713)
+
+2010-01-26 21:04 +0000 [r1439]  Richard Mudgett <rmudgett at digium.com>
+
+	* q921.c: Don't be so noisy when D channel is down.
+
+2010-01-19 21:53 +0000 [r1426]  Richard Mudgett <rmudgett at digium.com>
+
+	* q921.c, q931.c: Fix TE PTMP side sending FACILITY messages on the
+	  dummy call reference. Only the NT PTMP side can send Q.931
+	  broadcast messages. Also removed an inaccurate comment in Q.921
+	  and made q921_mdl_handle_error_callback() call the correct struct
+	  pri free function.
+
+2010-01-15 18:28 +0000 [r1414]  Richard Mudgett <rmudgett at digium.com>
+
+	* q921.c, q931.c: Make some debugging messages conditional and some
+	  minor reformating changes.
+
+2010-01-13 19:37 +0000 [r1406]  Matthew Fredrickson <creslin at digium.com>
+
+	* pri.c, pri_internal.h, pri_q921.h, Makefile, pri_q931.h, q921.c,
+	  q931.c: Merge of Q.921 rewrite branch for wider testing.
+
+2009-12-09 20:59 +0000 [r1374]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: Extracted q931_fill_ring_event() from
+	  post_handle_q931_message(). Done so it is easier to see what was
+	  done in ccbs branch.
+
+2009-11-21 02:40 +0000 [r1345-1351]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, pri_internal.h: Fix debug output so built up output lines
+	  are readable again. A recent change to Asterisk put the span
+	  number at the begining of each line. This is a good thing if you
+	  need to debug multiple spans or forget which span you are
+	  debugging. Unfortunately, any pri_message() output that is not a
+	  complete line is messed up. The pri_message() function now will
+	  accumulate line output until a '\n' is seen on the end.
+
+	* pri_internal.h, q931.c, pri_facility.c: Delay processing of
+	  facility ie's after all other ie's are processed. * Some ROSE
+	  message processing depends on the presence of other ies. The
+	  DivertingLegInformation1, and 3 messages will be used as the
+	  default connected line number if the connected number ie is not
+	  present. The redirecting number ie is used as a default to the
+	  redirecting number in the DivertingLegInformation2 message if the
+	  ROSE message does not contain it and the redirecting number ie is
+	  present. * Some ROSE message processing depends upon other ie
+	  values. The StatusRequest, CCBS-T-Call, and CcRingout messages
+	  collectively need the BC, HLC, LLC, called number, called
+	  subaddress, calling number, and calling subaddress ie information
+	  to be available.
+
+2009-11-18 00:36 +0000 [r1331]  Richard Mudgett <rmudgett at digium.com>
+
+	* q931.c: Merged revision 1328 from
+	  https://origsvn.digium.com/svn/libpri/team/mattf/libpri-1.4-q921-rewrite
+	  .......... r1328 | mattf | 2009-11-17 15:16:11 -0600 (Tue, 17 Nov
+	  2009) | 1 line outboundbroadcast isn't set at this time, since it
+	  is set after the message is transmited, so we must use other
+	  criteria to determine the need for broadcast on a setup
+	  ..........
+
+2009-11-14 00:20 +0000 [r1310-1322]  Richard Mudgett <rmudgett at digium.com>
+
+	* pri.c, pri_internal.h, q931.c, pri_facility.c, pri_facility.h,
+	  libpri.h: Reimplement callback mechanism to handle APDU response
+	  messages that we care about. 1) No sent messages will remain in
+	  the APDU queue unless they have an active timer to remove them.
+	  The dummy call reference call and global call reference call
+	  structures will not act like a memory leak to sent messages. 2)
+	  The new T-RESPONSE timer will be the generic response guard if
+	  the standards do not otherwise specify a timer for a message
+	  response. 3) The callback will be called. If it is called because
+	  of a response message, then the callback has an opportunity to
+	  indicate if more responses are expected.
+
+	* libpri.h: We now have 32 timers. No need to reserve minimum space
+	  anymore.
+
+	* pri_internal.h, pri_facility.c: There must be only one source for
+	  the invoke id values per D channel group. If there are
+	  potentially multiple sources for the invoke id sequence then we
+	  could get confused if there are multiple outstanding messages
+	  with the same invoke id that get responses.
+
+2009-11-11 00:22 +0000 [r1291]  Matthew Fredrickson <creslin at digium.com>
+
+	* pri_internal.h, q921.c: Make sure we also revive links for PRIs,
+	  not just PTMP TE BRIs when we get a disconnect message
+
+2009-11-10 21:51 +0000 [r1283]  Richard Mudgett <rmudgett at digium.com>
+

[... 882 lines stripped ...]



More information about the libpri-commits mailing list