https://origsvn.digium.com/svn/libpri/branches/1.4
........
r1923 | rmudgett | 2010-08-30 14:31:46 -0500 (Mon, 30 Aug 2010) | 18 lines
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.
........
r1928 | rmudgett | 2010-08-30 15:30:59 -0500 (Mon, 30 Aug 2010) | 9 lines
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.
........
r1929 | rmudgett | 2010-08-30 15:49:11 -0500 (Mon, 30 Aug 2010) | 2 lines
Reduced fake MDL-ERROR (Z) message severity to be visible only when debugging enabled.
........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.4@1949 2fbb986a-6c06-0410-b554-c9c1f0a7f128
https://origsvn.digium.com/svn/libpri/branches/1.4
........
r1918 | rmudgett | 2010-08-30 12:53:33 -0500 (Mon, 30 Aug 2010) | 41 lines
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
........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.4@1948 2fbb986a-6c06-0410-b554-c9c1f0a7f128
https://origsvn.digium.com/svn/libpri/branches/1.4
........
r1878 | mattf | 2010-08-23 17:13:44 -0500 (Mon, 23 Aug 2010) | 1 line
Add silly fake MDL error Z for kicking L2 to reactivate if a DISC or DM is received in proper states on PTP links.
........
r1883 | rmudgett | 2010-08-25 11:38:29 -0500 (Wed, 25 Aug 2010) | 2 lines
Don't silently fail to post our fake MDL-ERROR(Z).
........
r1884 | rmudgett | 2010-08-25 12:17:09 -0500 (Wed, 25 Aug 2010) | 2 lines
Added gripe check to rosetest for invalid operation and error codes.
........
r1894 | rmudgett | 2010-08-26 18:26:16 -0500 (Thu, 26 Aug 2010) | 1 line
Make pri_dump_event() only print the event name.
........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.4@1946 2fbb986a-6c06-0410-b554-c9c1f0a7f128
https://origsvn.digium.com/svn/libpri/branches/1.4
........
r1848 | rmudgett | 2010-08-03 18:04:52 -0500 (Tue, 03 Aug 2010) | 11 lines
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.
........
r1852 | rmudgett | 2010-08-06 13:22:39 -0500 (Fri, 06 Aug 2010) | 1 line
Learn (AGAIN!) why state 7 and state 8 transitions were suppressed.
........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.4@1942 2fbb986a-6c06-0410-b554-c9c1f0a7f128
https://origsvn.digium.com/svn/libpri/branches/1.4
........
r1829 | rmudgett | 2010-07-16 12:15:07 -0500 (Fri, 16 Jul 2010) | 1 line
Added a libpri version output line as a sanity check for rosetest.
........
r1830 | rmudgett | 2010-07-16 12:20:21 -0500 (Fri, 16 Jul 2010) | 1 line
Only need to output one version of the version message.
........
r1842 | rmudgett | 2010-08-02 13:47:10 -0500 (Mon, 02 Aug 2010) | 5 lines
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.)
........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.4@1940 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1534 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1511 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1426 2fbb986a-6c06-0410-b554-c9c1f0a7f128
* 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<keypad_digits>][/extension])
Access any received keypad digits in SETUP message by: ${CHANNEL(keypad_digits)}
(closes issue #15048)
Tested by: rmudgett, mattf
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1242 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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
..........
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1151 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@859 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@732 2fbb986a-6c06-0410-b554-c9c1f0a7f128