https://origsvn.digium.com/svn/libpri/branches/1.4
..........
r2101 | rmudgett | 2010-11-05 14:24:01 -0500 (Fri, 05 Nov 2010) | 9 lines
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.
..........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.5@2139 2fbb986a-6c06-0410-b554-c9c1f0a7f128
https://origsvn.digium.com/svn/libpri/branches/1.4
..........
r2088 | rmudgett | 2010-11-02 14:11:01 -0500 (Tue, 02 Nov 2010) | 14 lines
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
..........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.5@2138 2fbb986a-6c06-0410-b554-c9c1f0a7f128
https://origsvn.digium.com/svn/libpri/branches/1.4
..........
r2021 | rmudgett | 2010-10-14 13:35:48 -0500 (Thu, 14 Oct 2010) | 10 lines
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)
issue_17968_v1.4.11.4.patch uploaded by rmudgett (license 664)
..........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.5@2137 2fbb986a-6c06-0410-b554-c9c1f0a7f128
https://origsvn.digium.com/svn/libpri/branches/1.4
..........
r2015 | rmudgett | 2010-10-14 12:09:40 -0500 (Thu, 14 Oct 2010) | 16 lines
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)
issue_18032_v1.4.11.4.patch uploaded by rmudgett (license 664)
Tested by: rmudgett
..........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.5@2136 2fbb986a-6c06-0410-b554-c9c1f0a7f128
https://origsvn.digium.com/svn/libpri/branches/1.4
..........
r1991 | rmudgett | 2010-09-13 16:21:37 -0500 (Mon, 13 Sep 2010) | 9 lines
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.
..........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.5@2135 2fbb986a-6c06-0410-b554-c9c1f0a7f128
https://origsvn.digium.com/svn/libpri/branches/1.4
..........
r1982 | rmudgett | 2010-09-13 11:07:24 -0500 (Mon, 13 Sep 2010) | 18 lines
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
..........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.5@2134 2fbb986a-6c06-0410-b554-c9c1f0a7f128
https://origsvn.digium.com/svn/libpri/branches/1.4
..........
r1962 | rmudgett | 2010-09-07 19:13:24 -0500 (Tue, 07 Sep 2010) | 21 lines
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
..........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.5@2133 2fbb986a-6c06-0410-b554-c9c1f0a7f128
https://origsvn.digium.com/svn/libpri/branches/1.4
..........
r1961 | rmudgett | 2010-09-07 19:10:05 -0500 (Tue, 07 Sep 2010) | 12 lines
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)
..........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.5@2132 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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
........
r1904 | rmudgett | 2010-08-27 10:54:17 -0500 (Fri, 27 Aug 2010) | 15 lines
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
........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.4@1947 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
........
r1853 | rmudgett | 2010-08-06 13:35:35 -0500 (Fri, 06 Aug 2010) | 18 lines
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
........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.4@1945 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
https://origsvn.digium.com/svn/libpri/branches/1.4
........
r1828 | rmudgett | 2010-07-16 11:37:07 -0500 (Fri, 16 Jul 2010) | 18 lines
Calling name not successfully processed on inbound QSIG PRI calls from Mitel PBX
The alternate form of the Q.SIG Name sequence that allows manufacturer
extensions for CallingName, CalledName, ConnectedName, and BusyName was
not consuming the next ASN.1 tag. The code that processed the ASN.1 Name
structure was then using a stale tag value. The stale tag value was then
rejected with the "Did not expect" message.
I have added a test case using the supplied PRI debug output to the
rosetest utility to verify that this alternate encoding is tested in the
future.
(closes issue #17619)
Reported by: jims8650
Patches:
issue17619_v1.4.11.3.patch uploaded by rmudgett (license 664)
Tested by: rmudgett
........
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.4@1939 2fbb986a-6c06-0410-b554-c9c1f0a7f128
Restored the old behaviour if there is more than one calling number in the
incoming SETUP message. A network provided number is reported as ANI.
(closes issue #17495)
Reported by: ibercom
Patches:
issue_17495_v1.4.11.2.patch uploaded by rmudgett (license 664)
issue_17495_v1.4.patch uploaded by rmudgett (license 664)
Tested by: ibercom
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.3@1824 2fbb986a-6c06-0410-b554-c9c1f0a7f128
https://origsvn.digium.com/svn/libpri/branches/1.4
..........
r1810 | rmudgett | 2010-06-04 17:45:59 -0500 (Fri, 04 Jun 2010) | 13 lines
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
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.2@1815 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.1@1806 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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
git-svn-id: https://origsvn.digium.com/svn/libpri/tags/1.4.11.1@1805 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1688 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1674 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1630 2fbb986a-6c06-0410-b554-c9c1f0a7f128