2010-06-02 Leif Madsen * libpri 1.4.11.2 released. 2010-06-04 17:45 +0000 [r1810] Richard Mudgett * 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 * libpri 1.4.11.1 released. 2010-06-02 11:26 +0000 [r1805-1806] Richard Mudgett * 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 * libpri 1.4.11 released. 2010-05-19 21:50 +0000 [r1703] Richard Mudgett * q931.c: T309 should not do anything with the global call reference call record. 2010-05-19 21:30 +0000 [r1702] Matthew Fredrickson * 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 * 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 * 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 * 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 * pri.c, pri_internal.h: Make some internal routines available to other libpri components. 2010-04-09 21:43 +0000 [r1577] Richard Mudgett * q931.c: Only one PROCEEDING message per call please. 2010-03-18 15:50 +0000 [r1534-1547] Richard Mudgett * 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 * 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 * 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 * Makefile: Added CPUARCH option for selecting a 32-bit build from the command line. 2010-02-08 23:29 +0000 [r1470-1476] Matthew Fredrickson * 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 * 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 * 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 * 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 * 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 * q921.c: Don't be so noisy when D channel is down. 2010-01-19 21:53 +0000 [r1426] Richard Mudgett * 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 * q921.c, q931.c: Make some debugging messages conditional and some minor reformating changes. 2010-01-13 19:37 +0000 [r1406] Matthew Fredrickson * 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 * 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 * 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 * 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 * 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 * 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 * pri_internal.h, q931.c, pri_facility.c, pri_facility.h: The facility ie queue needs to remove facilities that have been sent. The facility ie queue needs to remove facilities that have been sent. Otherwise, the queue just grows until the call is terminated. AOC messages can clog the queue during a long call and the dummy call reference may never be deleted. Also removed unneeded elements of struct apdu_event. The callback function was not a good idea since many facility messages do not have responses and the callback would prevents removal of events from the list. 2009-11-10 20:25 +0000 [r1276] Matthew Fredrickson * q921.c: Re-add back in support for TE initiated layer 2 activation 2009-11-10 19:27 +0000 [r1268-1275] Richard Mudgett * pri.c, pri_internal.h, q931.c, libpri.h: Add dummy call reference support. Fixes problem where PTMP NT mode responds erroneously to a FACILITY message from a phone on the dummy call reference. LibPRI behaved as if the dummy call reference were an invalid call reference and proceeded to respond on the global call reference. * pri_internal.h: Remove unused callingsubaddr[]. 2009-11-03 17:19 +0000 [r1255-1261] Richard Mudgett * pri_q931.h, q931.c: Unknown IE 50 (cs5, Unknown Information Element) Add code to recognize the code set 5 ie 50 (calling party category) to suppress the unknown IE message. (closes issue #13828) Reported by: fdecher Patches: libpri_ie50_cs5-trunk.diff3.txt uploaded by alecdavis (license 585) Tested by: alecdavis * q931.c: NT PTMP did not report busy when calling a busy phone. The caller would not get a busy indication when calling a busy phone. Timer T303 is not supposed to be stopped when RELEASE_COMPLETE received. When T303 expires we will now report the last clearing cause code to the caller if we received one. 2009-10-23 23:47 +0000 [r1242-1249] Richard Mudgett * pri_internal.h, pri_facility.c: Add subaddress handling to existing messages and functions. Connected line updates when transfering calls does not completely support subaddresses yet. * pri.c, pri_internal.h, pri_q921.h, pri_q931.h, q921.c, q931.c, pri_facility.c, pri_facility.h, libpri.h: Add BRI PTMP NT mode, HOLD/RETRIEVE, Call rerouting/deflection, and keypad facility support. * Added support for BRI PTMP NT mode. (Overlap dialing NT -> TE not supported.) * Added handling of received HOLD/RETRIEVE messages and the optional ability to transfer a held call on disconnect similar to an analog phone. * Added CallRerouting/CallDeflection support for Q.SIG, ETSI PTP, ETSI PTMP. Will reroute/deflect an outgoing call when receive the message. Can use the DAHDISendCallreroutingFacility to send the message for the supported switches. * Added ability to send/receive keypad digits in the SETUP message. Send keypad digits in SETUP message: Dial(DAHDI/g1[/K][/extension]) Access any received keypad digits in SETUP message by: ${CHANNEL(keypad_digits)} (closes issue #15048) Tested by: rmudgett, mattf 2009-10-22 16:16 +0000 [r1230] Richard Mudgett * pri.c, pri_internal.h, pri_q931.h, q931.c, libpri.h: Add support for calling and called subaddress. Partial support for COLP subaddress. The Telecom Specs in NZ suggests that SUB ADDRESS is always on, so doing "desk to desk" between offices each with an asterisk box over the ISDN should then be possible, without a whole load of DDI numbers required. (closes issue #15604) Reported by: alecdavis Patches: libpri_subaddr_trunk.diff11.txt uploaded by alecdavis (license 585) Some minor modificatons were made. Tested by: alecdavis, rmudgett Review: https://reviewboard.asterisk.org/r/406/ 2009-10-19 22:49 +0000 [r1219-1220] Richard Mudgett * q931.c: Fix call state ie transmission. Sending a STATUS message failed to include the call state ie for some reason. We will now always send a call state ie when a message ie list includes one. * q931.c: Fix comparision of invalid party name and number structs in comparison functions. 2009-10-15 22:34 +0000 [r1212] Richard Mudgett * pri_facility.c: Take diverted-to-number from DivLegInfo1 and use it as connected number. If no connected number is signaled in the CONNECT message we will use the last diverted to number. (issue #14292) Reported by: tomaso Patches: divleginfo1_to_connectednum.patch uploaded by tomaso (license 564) (Used as a guide since it no longer will apply.) (This patch is unrelated to the issue.) 2009-10-14 19:03 +0000 [r1191-1205] Richard Mudgett * q931.c: In q931_getcall(): Simplify test and add related switch types. * q931.c: Reduce future conflicts when adding ie's to the SETUP message. 2009-10-12 17:17 +0000 [r1177] Richard Mudgett * pri.c, pri_internal.h, pri_q931.h, q931.c, pri_facility.c: Miscellaneous changes: * Removed unnecessary Q931_IE_CONNECTED_NUM ie from setup_ack_ies[]. * Added internal state Q931_CALL_STATE_NOT_SET to Q.931 state enum. * Made q931_is_ptmp() take a const pointer. * pri_facility.c: Some preparations for subaddressing. * pri.c: Eliminate use of a magic number. 2009-10-09 23:20 +0000 [r1169] Richard Mudgett * q931.c: Conditional out noisy and redundant ASN.1 parse dump of facility ie contents. 1) Outgoing messages have the facility ie ASN.1 decoded and dumped when the ie is added to the message. The whole message is then dumped. 2) Incoming messages have the facility ie ASN.1 decoded and dumped when the ie is processed. The whole message has already been dumped. 2009-10-07 18:34 +0000 [r1151-1152] Richard Mudgett * pri_facility.c: Sent Q.SIG call rerouting message fixes. a) Account for pSS1InfoElement where the bearer capability for the new rerouted call is described. The call could be a fax or data call, let's use the appropriate signaling to avoid call rejects on the other end. b) Handle calling number appropriately, number can be prohibited or non-existent. c) Add calling name if available. d) Use the diversion counter from DivLegInfo2 (if was present in the incoming Setup) and increment. (issue #14292) Reported by: tomaso Patches: libpri-1.4-2009-01-29-rerouting-0.1.9.patch uploaded by tomaso (license 564) (Used as a guide since it no longer will apply.) (This patch is unrelated to the issue.) * pri.c, pri_q921.h, q921.c: Merged revisions 1143, 1144 from https://origsvn.digium.com/svn/libpri/tags/1.4.10.2 .......... r1144 | mattf | 2009-09-29 10:32:23 -0500 (Tue, 29 Sep 2009) | 1 line This fix is more like the fix that was used to resolve the issue for the PRI case .......... r1143 | mattf | 2009-09-28 14:07:01 -0500 (Mon, 28 Sep 2009) | 1 line Changes for 1.4.10.2 .......... 2009-09-22 17:12 +0000 [r1120] Jeff Peeler * q931.c: Fix call reference to be associated with the D channel message was received The problem is that once a call reference was associated with a particular D channel, it always was. This created an issue with NFAS when the secondary D channel became active as the messages were still being sent on the non-active D channel. (closes issue #14959) Reported by: remiq Patches: bug14959.patch uploaded by jpeeler (license 325) Tested by: remiq 2009-09-22 02:23 +0000 [r1107] Richard Mudgett * pri.c: Update pri_event2str() to current defined events. 2009-09-18 00:31 +0000 [r1097] Richard Mudgett * q931.c: Another place where timeout events with subcmds should clear any old subcmds. 2009-09-15 22:24 +0000 [r1084] Richard Mudgett * q931.c: Timeout events with subcmds should clear any old subcmds. 2009-09-14 22:32 +0000 [r1077] Matthew Fredrickson * q921.c: Output multiline output with multiple calls to pri_message, so that logs look normal in Asterisk 2009-09-13 22:54 +0000 [r1072] Dwayne M. Hubbard * pri_q931.h, q931.c: Add SERVICE message support for the 'national' switchtype This set of changes integrates SERVICE message support for the 'national' switchtype. The 'national' switchtype uses the 0x43 protocol discriminator. The 'national' SERVICE/SERVICE ACKNOWLEDGE and AT&T SERVICE/SERVICE ACKNOWLEDGE message values are opposite of each other. This is handled by first determining which protocol discriminator is in use, then responding with the appropriate SERVICE ACKNOWLEDGE value. AT&T SERVICE messages use the 0x3 protocol discriminator. (closes issue #15803) Reported by: dhubbard Review: https://reviewboard.asterisk.org/r/347/ 2009-09-02 20:19 +0000 [r1059-1061] Richard Mudgett * pri_internal.h, pri_q931.h, q931.c: Converted Q931_CALL_STATE_xxx defines to an enum. * q921.c, q931.c: Optimized calls to pri_schedule_del(). There is no need to test if a scheduled event is running before calling pri_schedule_del(). * prisched.c: Cleaned up scheduled events handling code. * Fixed pri_schedule_event() to return 0 on error instead of -1. Zero is a safer value to return. Users would not think that a timer was scheduled. * Fixed potential for pri_schedule_del() to write out of bounds of pri_sched[]. The out of bounds access could occur when pri_schedule_event() returned -1. * Made use all pri_sched[] entries. pri_sched[0] was previously unused. * Removed some unneeded code and recursion since scheduling only runs on master D channel structures. * Added doxygen comments. * Renamed struct pri *pri variables to struct pri *ctrl in this file. 2009-08-31 22:57 +0000 [r1042-1051] Richard Mudgett * q931.c, libpri.h: Make event channel parameter encoding consistent. Also make sure that service maintenance messages have the channel id parameters reinitialized for each message since they are sent over the global call reference. * pri.c, pri_internal.h, q931.c, libpri.h: Split justsignalling into cis_call and cis_auto_disconnect functionality. 2009-08-26 15:24 +0000 [r1006-1028] Richard Mudgett * q931.c: Fix BRI PTP broken by -r790. * q931.c: Put connected name in display ie for CONNECT message. * q931.c: Fix ie ordering in some ie lists for send_message(). * q931.c: Make dump_channel_id() handle variable length fields. Also did some other minor miscellaneous changes. * q931.c: Make sure reversecharge is initialized. 2009-08-21 19:51 +0000 [r1000] Jason Parker * Makefile: Add -n to ldconfig on HURD too. (closes issue #15130) Reported by: tzafrir Patches: osarch_hurd.diff uploaded by tzafrir (license 46) 2009-08-20 15:52 +0000 [r994] Richard Mudgett * q931.c: Made the call state to string table use the state defines. 2009-08-18 23:53 +0000 [r982] Richard Mudgett * rose.c, rosetest.c, rose_internal.h, pri.c, pri_internal.h, Makefile, q931.c, rose.h, rose_etsi_diversion.c (added), pri_facility.c, pri_facility.h, libpri.h, rose_etsi_ect.c (added): Add COLP support to libpri for ETSI PTP, ETSI PTMP, and Q.SIG. Add Connected Line Presentation (COLP) support to chan_dahdi/libpri as an addition to issue 8824. This is the libpri portion. COLP support is now available for ETSI PTP, ETSI PTMP, and Q.SIG with this patch. (closes issue #14068) Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/339/ 2009-08-18 20:59 +0000 [r976] Jeff Peeler * Makefile: Allow custom CPU optimization flags Added make variable LIBPRI_OPT to set optimization level. By default the optimization level is now set to -O2. (closes issue #12676) Reported by: tzafrir Patches: libpri_opt.diff uploaded by tzafrir (license 46) 2009-08-07 15:53 +0000 [r968] Richard Mudgett * rose_qsig_diversion.c: Corrected standard document reference. 2009-07-23 20:53 +0000 [r952] Richard Mudgett * pri_facility.c: Fixed potential NULL pointer dereference. 2009-06-26 19:50 +0000 [r914-921] Richard Mudgett * pri.c: Fix potential buffer overflow in pri_dump_info_str(). * Created pri_snprintf() to prevent buffer overflow in pri_dump_info_str(). * Extracted timer name to timer number table from pri_timer2idx() so pri_dump_info_str() can use it. * pri_internal.h: Eliminate local version of PRI_MAX_TIMERS. * libpri.h: Doxygenify the timer comments. * pri_internal.h, q931.c: Added printf format attribute to pri_message() and pri_error() and fixed some detected errors. 2009-06-25 18:53 +0000 [r907] Sean Bright * pri.c, pri_internal.h, q931.c, libpri.h: Add support for sending Reverse Charging Indication IE on ISDN PRI. Add the ability to transmit a Reverse Charging Indication IE during a SETUP message. In passing, re-work some of the receive logic to be forwards compatible with new RCI values that may be added in the future. Also removed the PRI_REVERSECHARGE_SUPPORT define that I added on the last commit since we can just check for PRI_REVERSECHARGE_NONE or _REQUESTED on the Asterisk side to determine support for this. Special thanks to rmudgett who could have written this in half the time he spent reviewing it, but instead talked me through it. Much appreciated! (issue #13760) Reported by: mrgabu Review: https://reviewboard.asterisk.org/r/292/ 2009-06-25 17:35 +0000 [r894-901] Richard Mudgett * libpri.h: Convert PRI_TIMER_xxx to an enum so PRI_MAX_TIMERS can be automatically adjusted. * pri.c, pri_timers.h (removed), libpri.h: Make it easier to add more timers/counters and vary the defaults based upon switchtype. 2009-06-24 18:19 +0000 [r878-885] Sean Bright * pri_internal.h, q931.c, libpri.h: Capture and expose the Reverse Charging Indication IE on ISDN PRI. (issue #13760) Reported by: mrgabu Patches: 20090619_libpri_1.4.patch uploaded by seanbright (license 71) Tested by: seanbright, pruonckk Review: https://reviewboard.asterisk.org/r/291/ * pri_internal.h, q931.c, libpri.h: Revert unintentional changes * pri_internal.h, q931.c, /, libpri.h: Set reviewboard property. 2009-06-12 14:29 +0000 [r865] Richard Mudgett * pri_facility.c: Miscellaneous minor changes. 2009-06-09 19:47 +0000 [r859] Matthew Fredrickson * q921.c: There are two changes in this commit that are bug fixes for various Q.921 issues found in internal testing. Both were exposed/introduced by the TBR4 compliance patch for bug #12861, in changing how retransmissions and in how the transmission queue was maintained. TX-RX message flow and acknowledgement was severely restricted, since the patch changed the behavior so that pending untransmitted frames would not actually be send until the next RR was received in normal circumstances, or REJ when a reject frame was received. On busy links, this can severly limit the amount of useful traffic that is sent, and can slow down message transmission. Until someone can point out where in Q.921 it is mandated for us to wait for RR frames to start sending untransmitted messages, the first change is to allow us to send untransmitted frames when we receive new I frames as well, with updated N(R). The other bug fixed is a situation caused by the restricted traffic flow, if an outside process tries to send an I-frame asynchronous to an RR frame, when the transmit window was previously closed and then opened up but an RR has not been received yet. A bug was found with the integration of the old transmit code with the new reject handling code which caused the new frame to be sent immediately, regardless if there were any pending untransmitted I-frames in the queue to be sent and causing an out of order I-frame to be sent to the other side. This bug is also fixed in this patch. 2009-06-03 22:51 +0000 [r836-848] Richard Mudgett * asn1_primitive.c: Made ASN.1 memory dump also display printable characters. * q931.c: Renamed callstate2str() to q931_call_state_str(). * q931.c: Made transmit_facility() debug message indiate to which message the facility ie is being added. 2009-05-29 15:39 +0000 [r824] Richard Mudgett * q931.c: Renamed local struct pri *pri variables to struct pri *ctrl in q931.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.) 2009-05-20 15:03 +0000 [r804] Richard Mudgett * q931.c: Removed usage of FUNC_DUMP(), FUNC_RECV(), and FUNC_SEND() defines. They did not really help and hindered easy lookup of parameter types. 2009-05-13 15:17 +0000 [r798] Kevin P. Fleming * pri.c, pri_q931.h, q931.c, libpri.h: Add 'const' qualifier to character string argument to keypad facility API calls These API calls do not modify the string supplied, and should not be allowed to modify it, so this patch adds a 'const' qualifier to that argument to allow the compiler to enforce this restriction (and allow callers of the API that already have a 'const' pointer to be able to pass it to this API). 2009-05-07 16:21 +0000 [r790-794] Richard Mudgett * pri_internal.h, pri_q931.h, q931.c: Minor code clean up. * q931.c: Avoid a stale pointer crash if the TE BRI TEI is removed when active calls exist. Made the q931_call record point to the master D channel control structure instead of the BRI TEI subchannel control structure. When a layer 3 message is sent, the current TEI subchannel control structure is used. 2009-05-05 22:25 +0000 [r786] Richard Mudgett * pri_q931.h: Added Q.931 call state description comments. 2009-05-01 22:47 +0000 [r782] Richard Mudgett * pri_q931.h, q921.c: Comment changes. 2009-04-21 23:32 +0000 [r766-772] Richard Mudgett * rose.c, rosetest.c, rose_internal.h, Makefile, rose.h, rose_qsig_aoc.c (added), pri_facility.c: Added Q.SIG Advice-Of-Charge encode/decode routines. * asn1_primitive.c (added), pri_internal.h, rose_qsig_name.c (added), Makefile, q931.c, asn1.h (added), rose_qsig_mwi.c (added), rose.c (added), rosetest.c (added), rose_internal.h (added), rose_other.c (added), rose.h (added), rose_address.c (added), rose_qsig_diversion.c (added), rose_etsi_aoc.c (added), pri_facility.c, rose_qsig_ct.c (added), pri_facility.h, rose_q931.c (added), libpri.h: ROSE ASN.1 facility encode and decode rewrite of existing messages. Several components are now parsed correctly. Most notably: PartyNumber and Q.SIG Name. 2009-04-14 15:05 +0000 [r732] Jeff Peeler * pri.c, pri_internal.h, pri_q921.h, pri_q931.h, q921.c, q931.c, libpri.h: Add service maintenance message support This adds support for two new message types: Service and Service Acknowledge. When a channel receives a service message it will either take the channel in or out of service and then send a service acknowledgment. Although not enforced here (enforced in chan_dahdi), the service messages are only supported with switch types 4ess/5ess. The required Asterisk changes will be coming next. (issue #3450) Reported by: cmaj 2009-04-02 19:33 +0000 [r726] Richard Mudgett * pri_facility.c: Comment changes and some string content corrections. 2009-04-18 Matthew Fredrickson * libpri 1.4.10 released. 2009-04-02 19:33 +0000 [r726] Richard Mudgett * pri_facility.c: Comment changes and some string content corrections. 2009-03-26 16:01 +0000 [r715] Richard Mudgett * libpri.h: Comment changes to note what ISDN message type causes the event. 2009-03-19 01:39 +0000 [r711] Richard Mudgett * pri_facility.c: Added pSS1InfoElement comments in qsig_cf_callrerouting(). 2009-03-13 01:05 +0000 [r705] Richard Mudgett * build_tools/make_version: Use the correct branch integrated property when generating the version string. Update the make_version file to the latest Asterisk version with the appropriate libpri required chage. 2009-03-04 20:31 +0000 [r701] Joshua Colp * q931.c: Make sure we only have 4 octects on unrestricted 64k data calls. (closes issue #14507) Reported by: jsmith Patches: 64k-data.patch uploaded by jsmith (license 15) Tested by: jsmith (closes issue #13118) Reported by: radpeter 2009-02-02 20:18 +0000 [r687] Leif Madsen * libpri.h: Fix a small spelling error. (closes issue #14375) Reported by: jeremy1 2009-01-27 23:22 +0000 [r680] Matthew Fredrickson * q921.c: A couple of last BRI fixes in libpri... don't discard pending iframes when we call the q921_dchannel_up routine, since we need to be able to send the ones that were queued up while the D-channel went down and is being reactivated. Also fix some buggy logic in the frame transmission decision code. 2009-01-22 21:48 +0000 [r675] Matthew Fredrickson * q921.c: Change behavior so that we do not send I-frames when link is down, but instead queue them up until the link comes up and send them out then. 2009-01-09 Matthew Fredrickson * libpri 1.4.9 released. 2009-01-09 17:58 +0000 [r656] Matthew Fredrickson * q921.c: Add additional case where T200 expires greater than N200 times and we need to release and reacquire the TEI. 2008-12-23 21:38 +0000 [r653] Matthew Fredrickson * q921.c, q931.c: Add some additional debug for Q.921 MDL messages as well as fix a bug in RESTART messages on BRI 2008-11-22 Matthew Fredrickson * libpri 1.4.8 released. 2008-11-22 00:34 +0000 [r645] Matthew Fredrickson * q921.c: Fix a number of Q.921 bugs, found doing TBR4 compliance testing, thanks to Tzafrir, Xorcom, and co. (#12861). Thanks! 2008-10-17 16:13 +0000 [r636] Matthew Fredrickson * pri.c, pri_internal.h, pri_q931.h, q931.c, pri_facility.c, pri_facility.h, libpri.h: Merging in additional Q.SIG features in #13454. Includes Q.SIG physical/logical channel mapping support, extended coding of Q.SIG name operations (calling name), and call rerouting support via added dialplan application. 2008-08-06 18:20 +0000 [r616] Jason Parker * Makefile: Make install paths use libdir, like libss7 2008-08-05 Kevin P. Fleming * libpri 1.4.7 released. 2008-08-05 22:18 +0000 [r611] Kevin P. Fleming * pritest.c, pri.c, pri_internal.h, q921.c, q931.c, copy_string.c, prisched.c, pri_q921.h, pri_q931.h, pri_facility.c, /, compiler.h, pridump.c, testprilib.c, pri_timers.h, pri_facility.h, libpri.h: Merged revisions 610 via svnmerge from https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r610 | kpfleming | 2008-08-05 17:16:58 -0500 (Tue, 05 Aug 2008) | 2 lines clean up license headers, and explicitly grant additional permissions when used with Asterisk ........ 2008-07-30 15:43 +0000 [r606-607] Kevin P. Fleming * /: update ignore list * Makefile, mkdep (removed): use better version.c creation process, and better dependency tracking process too 2008-07-29 22:47 +0000 [r598-602] Jason Parker * build_tools/make_version: I believe this is what was meant. (it matches how Asterisk does it) * build_tools/make_version: libpri is not libss7 :D 2008-07-22 22:36 +0000 [r594] Kevin P. Fleming * pri_internal.h, libpri.h: correct comments to match code 2008-07-22 Kevin P. Fleming * Libpri 1.4.6 released. 2008-07-22 19:43 +0000 [r589] Kevin P. Fleming * pri.c, pri_internal.h, q931.c, libpri.h: rename API call and option (nothing has been released to use it yet so this should be safe) to be more accurate in describing what it does (closes issue #13042) 2008-07-11 Jason Parker * Libpri 1.4.5 released. 2008-07-11 16:44 +0000 [r574-579] Kevin P. Fleming * /: ignore generated files * pri.c, pri_internal.h, q931.c, libpri.h: modify work done for issue #10552, making the support of inband audio after RELEASE a configurable option, since it is causing problems for a number of users (closes issue #13042) 2008-06-04 17:02 +0000 [r562] Dwayne M. Hubbard * q931.c: While working on issue 3450 I noticed that the information channel selection field in the channel identification IE was displayed incorrectly when using 'pri intense debug'. I wanted another pair of eyes to look at the code because everything looked correct until Shaun Ruffell noticed the missing comma in the msg_chan_sel array. 2008-05-07 19:51 +0000 [r557] Matthew Fredrickson * pri.c, pritest.c, pri_internal.h, pri_q921.h, Makefile, q921.c, q931.c, pri_facility.c, prisched.c, testprilib.c, pri_timers.h, pri_facility.h, libpri.h: Moving trunk changes back into 1.4 2008-05-07 Matthew Fredrickson * Libpri 1.4.4 released. 2008-05-06 16:43 +0000 [r553-555] Matthew Fredrickson * q921.c, pri.c: Remove some unnecessary debug messages * q931.c: We passed TBR3 layer 2 and layer 3 testing with this commit in for BRI-TE PTMP. * q931.c: Final patch to pass certification 2008-04-22 15:30 +0000 [r546] Russell Bryant * Makefile: All versions of libpri have been installed as libpri.so.1.0, even though the API and ABI have changed over time. This patch changes the Makefile to install the library as libpri.so.1.4 to indicate that this is not compatible with previous versions. In the future, this should be changed as we make ABI changes. (closes issue #10376) Reported by: tzafrir Patches: libpri-soname.diff uploaded by tzafrir (license 46) -- with very minor changes by me 2008-03-15 19:57 +0000 [r541-543] Matthew Fredrickson * libpri.h, pri.c: Remove some useless event items * q921.c, pri_internal.h: Make sure if we're a bri and in PTMP mode that we release the TEI and try to get a new one with the other end when we lose activity in multiframe mode * q921.c, pri.c, pri_q921.h: When we recieve a UA in any TEI established state other than awaiting establishement make sure we drop the TEI and get a new one. For passing tests PC37.2 - PC41.2 in Q.921 2008-03-06 23:43 +0000 [r538-539] Matthew Fredrickson * q921.c: Make sure we are sending as command not as response * q921.c: Make sure C/R bit is correct 2008-03-01 23:30 +0000 [r531-535] Matthew Fredrickson * q921.c: Remove some (currently) useless code * q921.c, pri.c, pri_internal.h: Some more updates to add code for passing PC 27.1 in Q.921 * q921.c, pri.c: Various coding style cleanups as well as a bug fix for TEI removal * q921.c, q931.c, pri.c, pri_internal.h: Initial checkin of code to pass Q.921 PC25 and PC26 * q921.c: Add support for responding to TEI requests (Q.921 PC23.x) 2008-02-18 20:31 +0000 [r525] Matthew Fredrickson * q931.c, libpri.h: Improve transmission, receiving, and dumping of bearer capability IE (#11593) 2008-01-16 18:06 +0000 [r518] Jason Parker * Makefile, /: Add logging for 'make update' command (also fixes updates in some places). Issue #11766, initial patch by jmls. 2007-12-26 17:35 +0000 [r505] Russell Bryant * libpri.h: Remove unnecessary usage of the extern keyword. 2007-12-06 22:16 +0000 [r494-496] Russell Bryant * q921.c, q931.c, pri_facility.c, pri.c: Change malloc+memset to calloc. Also, handle allocation failures early to reduce indentation. (closes issue #11469) Reported by: eliel Patches: pri.c.patch uploaded by eliel (license 64) q931.c.patch uploaded by eliel (license 64) q921.c.patch uploaded by eliel (license 64) pri_facility.c.patch uploaded by eliel (license 64) * pri.c: Change a use of malloc+memset to calloc. Also, reduce indentation of a function by doing the check for memory allocation failure at the beginning. * pri.c: Change the table used to hold the default timers to be global and const, instead of allocating it on the stack each time the function is called. 2007-12-05 00:20 +0000 [r491-493] Matthew Fredrickson * q931.c: Improve the parameter name to better reflect its use * q921.c, q931.c: More PTMP fixes. Stand by, more changes to come * q921.c, q931.c, testprilib.c: More magic to make BRI CPE PTMP work 2007-11-21 22:30 +0000 [r486-487] Matthew Fredrickson * q931.c: Make sure we loop BRI call references for one byte CREFs instead of two * q921.c, q931.c, libpri.h, pri.c, pritest.c, pri_internal.h: Add BRI support to libpri 2007-10-13 16:00 +0000 [r473] Matthew Fredrickson * q921.c: Make sure that we only output the message handling debug when we're actually debugging 2007-09-25 21:56 +0000 [r469] Matthew Fredrickson * q931.c: Fix user-user IE order in setup message (#10705) 2007-06-20 15:18 +0000 [r428-430] Matthew Fredrickson * Makefile: Revert that back to how it was * Makefile, q921.c, q931.c, prisched.c, testprilib.c, pri_timers.h, libpri.h, pri.c, pri_internal.h, pri_q921.h: Patch to add PTMP mode (BRI support) 2007-06-06 21:59 +0000 [r417-425] Matthew Fredrickson * q931.c, pri_facility.c, pri_facility.h, pri.c, pri_internal.h: Preliminary patch plus mods for Q.SIG Path Replacement (Q.SIG version of 2BCT) #7778 2007-05-25 17:36 +0000 [r413] Matthew Fredrickson * q931.c, pri_facility.c, pri_facility.h, libpri.h: Commit path for ROSE-12 and ROSE-13 support (#9076) 2006-11-03 18:16 +0000 [r382] Matthew Fredrickson * q921.c: Remove pointless recursion. (#8281) 2008-05-07 19:51 +0000 [r557] Matthew Fredrickson * pri.c, pritest.c, pri_internal.h, pri_q921.h, Makefile, q921.c, q931.c, pri_facility.c, prisched.c, testprilib.c, pri_timers.h, pri_facility.h, libpri.h: Moving trunk changes back into 1.4 2008-05-02 20:21 +0000 [r552] Brett Bryant * Makefile, build_tools (added), build_tools/make_version (added), build_tools/make_version_c (added), libpri.h: Add new API call (pri_get_version) to show the current version of the branch for support purposes. 2008-04-16 00:21 +0000 [r544] Kevin P. Fleming * q921.c: fix the indentation in this function so that it is actually possible to read it and understand the logic and flow 2008-02-21 16:38 +0000 [r528] Joshua Colp * q931.c: If inband audio is being provided with a disconnect message let the audio be heard before releasing the channel. (closes issue #10552) Reported by: paravoid Patches: disconnect-audio.diff uploaded by paravoid (license 200) 2008-02-18 20:31 +0000 [r524] Matthew Fredrickson * q931.c, libpri.h: Improve transmission, receiving, and dumping of bearer capability IE (#11593) 2008-01-11 16:34 +0000 [r514] Matthew Fredrickson * q931.c, /: Merged revisions 513 via svnmerge from https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r513 | mattf | 2008-01-11 10:33:52 -0600 (Fri, 11 Jan 2008) | 1 line We should not be parsing further into the bearer capability IE if the length does not confirm that there actually is data present ........ 2007-12-13 Russell Bryant * libpri 1.4.3 released. 2007-10-22 15:10 +0000 [r479] Kevin P. Fleming * pri_internal.h, /: Merged revisions 478 via svnmerge from https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r478 | kpfleming | 2007-10-22 10:09:27 -0500 (Mon, 22 Oct 2007) | 3 lines we need to include stddef.h for 'size_t' ........ 2007-10-16 Matthew Fredrickson * libpri 1.4.2 released. 2007-10-05 16:45 +0000 [r470] Jason Parker * libpri.h: Fix an incorrect pri_event structure definition. Issue 10832, patch by flefoll 2007-09-25 21:37 +0000 [r468] Matthew Fredrickson * q931.c: Fix user-user IE order in setup message (#10705) 2007-09-14 21:32 +0000 [r465] Matthew Fredrickson * q931.c, libpri.h: Fix for #10189. Make sure we properly report the user layer 1 for H.223 and H.245 2007-09-06 15:11 +0000 [r462] Matthew Fredrickson * pri.c, pri_facility.c, /: Merged revisions 460 via svnmerge from https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r460 | mattf | 2007-09-06 10:06:42 -0500 (Thu, 06 Sep 2007) | 1 line TBCT now works. It should work for NI2, 4E, and 5E. This code was tested on NI2. ........ 2007-08-27 19:21 +0000 [r446] Jason Parker * Makefile, /: Merged revisions 445 via svnmerge from https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r445 | qwell | 2007-08-27 14:20:23 -0500 (Mon, 27 Aug 2007) | 2 lines Make sure we build both the static and shared modules with -fPIC. ........ 2007-08-06 19:58 +0000 [r441] Jason Parker * Makefile: Allow setting CC to something with a space, such as `make CC="gcc -m32"` Issue 10253. 2007-07-09 Russell Bryant * libpri 1.4.1 released. 2007-06-19 18:23 +0000 [r427] Matthew Fredrickson * q931.c, /: Merged revisions 426 via svnmerge from https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r426 | mattf | 2007-06-19 13:22:33 -0500 (Tue, 19 Jun 2007) | 1 line Try to send pending facility messages if we receive alerting (for when we don't get proceeding) (#9651) ........ 2007-06-06 21:58 +0000 [r416-424] Matthew Fredrickson * pri_facility.c, /: Merged revisions 423 via svnmerge from https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r423 | mattf | 2007-06-06 16:57:15 -0500 (Wed, 06 Jun 2007) | 1 line Oops, that should not be on one line ........ * pri_facility.c, /: Merged revisions 415 via svnmerge from https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r415 | mattf | 2007-06-06 08:20:05 -0500 (Wed, 06 Jun 2007) | 2 lines Make sure we only send the NFE when we are talking QSIG ........ 2007-01-22 22:29 +0000 [r390] Matthew Fredrickson * q931.c, /: Merged revisions 389 via svnmerge from https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r389 | mattf | 2007-01-22 16:20:59 -0600 (Mon, 22 Jan 2007) | 2 lines Make sure we send DISCONNECT if we reached the active state and a call is disconnected, regardless of cause code. ........ 2006-12-30 19:17 +0000 [r386] Joshua Colp * Makefile, /: Merged revisions 385 via svnmerge from https://origsvn.digium.com/svn/libpri/branches/1.2 ........ r385 | file | 2006-12-30 14:16:17 -0500 (Sat, 30 Dec 2006) | 2 lines Specify full path to restorecon instead of assuming it will be available from what is in $PATH. (issue #8670 reported by djflux) ........ 2006-12-23 Kevin P. Fleming * libpri 1.4.0 released. 2006-09-20 Kevin P. Fleming * libpri 1.4.0-beta1 released.