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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2077 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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).
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2070 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@2015 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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/branches/1.4@1810 2fbb986a-6c06-0410-b554-c9c1f0a7f128
This feature passes ETSI AOC-S, AOC-D, and AOC-E message information to
the upper layer (i.e. Asterisk) for processing.
Relevant specification: EN 300 182
Consideration was made for the possible future addition of Q.SIG AOC
support (ECMA-212) with the events passed to the upper layer.
Review: https://reviewboard.asterisk.org/r/538/
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1737 2fbb986a-6c06-0410-b554-c9c1f0a7f128
Added ability to send and receive ETSI ECT messages to eliminate tromboned
calls.
Added ETSI support to an existing API call to send ECT messages when the
upper level indicates to transfer specified calls.
The libpri API was extended to indicate to the upper layer that the far
end requests the transfer of the indicated calls.
Review: https://reviewboard.asterisk.org/r/521/
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1723 2fbb986a-6c06-0410-b554-c9c1f0a7f128
Call Completion Supplementary Service (CCSS) added for the following
switch types: ETSI PTMP, ETSI PTP, Q.SIG.
Specifications:
ETS 300 359 CCBS for PTMP and PTP
ETS 301 065 CCNR for PTMP and PTP
ECMA-186 Call Completion for Q.SIG
Several support services were added to support CC:
Dummy Call Reference.
Q.931 REGISTER message.
Dynamic expansion of the number of available timers (up to 8192).
Enhanced facility message handling.
Current implementation limitations preclude the following:
CC service retention is not supported.
Q.SIG path reservation is not supported.
(closes issue #14292)
Reported by: tomaso
Tested by: rmudgett
JIRA SWP-1493
Review: https://reviewboard.asterisk.org/r/522/
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1714 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
* 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.
git-svn-id: https://origsvn.digium.com/svn/libpri/branches/1.4@1345 2fbb986a-6c06-0410-b554-c9c1f0a7f128
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
* 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
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
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
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
https://origsvn.digium.com/svn/libpri/branches/1.2
........
r296 | russell | 2006-01-17 22:53:47 -0600 (Tue, 17 Jan 2006) | 2 lines
remove old ChangeLog ... it will now only be in the tags
........
r306 | kpfleming | 2006-02-13 17:06:02 -0600 (Mon, 13 Feb 2006) | 2 lines
suppress annoying message about unsupported components in facility messages
........
git-svn-id: https://origsvn.digium.com/svn/libpri/trunk@308 2fbb986a-6c06-0410-b554-c9c1f0a7f128