[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