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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1322 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1310 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1283 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1275 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1255 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
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/
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1230 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1220 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.)
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1212 2fbb986a-6c06-0410-b554-c9c1f0a7f128
* 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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1177 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1169 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.)
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1152 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
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
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1120 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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/
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1072 2fbb986a-6c06-0410-b554-c9c1f0a7f128
* 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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1059 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1051 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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/
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@982 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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)
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@976 2fbb986a-6c06-0410-b554-c9c1f0a7f128
* 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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@921 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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/
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@907 2fbb986a-6c06-0410-b554-c9c1f0a7f128