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