From Reviewboard:
CCSS stands for Call Completion Supplementary Services. An admittedly out-of-date
overview of the architecture can be found in the file doc/CCSS_architecture.pdf
in the CCSS branch. Off the top of my head, the big differences between what is
implemented and what is in the document are as follows:
1. We did not end up modifying the Hangup application at all.
2. The document states that a single call completion monitor may be used across
multiple calls to the same device. This proved to not be such a good idea
when implementing protocol-specific monitors, and so we ended up using one
monitor per-device per-call.
3. There are some configuration options which were conceived after the document
was written. These are documented in the ccss.conf.sample that is on this
review request.
For some basic understanding of terminology used throughout this code, see the
ccss.tex document that is on this review.
This implements CCBS and CCNR in several flavors.
First up is a "generic" implementation, which can work over any channel technology
provided that the channel technology can accurately report device state. Call
completion is requested using the dialplan application CallCompletionRequest and can
be canceled using CallCompletionCancel. Device state subscriptions are used in order
to monitor the state of called parties.
Next, there is a SIP-specific implementation of call completion. This method uses the
methods outlined in draft-ietf-bliss-call-completion-06 to implement call completion
using SIP signaling. There are a few things to note here:
* The agent/monitor terminology used throughout Asterisk sometimes is the reverse of
what is defined in the referenced draft.
* Implementation of the draft required support for SIP PUBLISH. I attempted to write
this in a generic-enough fashion such that if someone were to want to write PUBLISH
support for other event packages, such as dialog-state or presence, most of the effort
would be in writing callbacks specific to the event package.
* A subportion of supporting PUBLISH reception was that we had to implement a PIDF
parser. The PIDF support added is a bit minimal. I first wrote a validation
routine to ensure that the PIDF document is formatted properly. The rest of the
PIDF reading is done in-line in the call-completion-specific PUBLISH-handling
code. In other words, while there is PIDF support here, it is not in any state
where it could easily be applied to other event packages as is.
Finally, there are a variety of ISDN-related call completion protocols supported. These
were written by Richard Mudgett, and as such I can't really say much about their
implementation. There are notes in the CHANGES file that indicate the ISDN protocols
over which call completion is supported.
Review: https://reviewboard.asterisk.org/r/523
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Fix app_dial.c:do_forward() OPT_FORCECLID setting cid.cid_num with a stack
allocated string instead of a heap allocated string.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@256103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Some platforms prefix externally-visible symbols in object files generated
from C sources (most commonly, '_' is the prefix). On these platforms,
the existing symbol export filtering process ends up suppressing all the symbols
that are supposed to be left visible. This patch allows the prefix string
to be supplied to the top-level Makefile in the LINKER_SYMBOL_PREFIX variable,
and then generates the linker scripts as required to include the prefix
supplied.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@255906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r255591 | tilghman | 2010-03-31 14:09:46 -0500 (Wed, 31 Mar 2010) | 15 lines
Ensure line terminators in email are consistent.
Fixes an issue with certain Mail Transport Agents, where attachments are not
interpreted correctly.
(closes issue #16557)
Reported by: jcovert
Patches:
20100308__issue16557__1.4.diff.txt uploaded by tilghman (license 14)
20100308__issue16557__1.6.0.diff.txt uploaded by tilghman (license 14)
20100308__issue16557__trunk.diff.txt uploaded by tilghman (license 14)
Tested by: ebroad, zktech
Reviewboard: https://reviewboard.asterisk.org/r/544/
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@255592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Previously only configurable globally. A unit test has also been written to
provide protection against parse failures for supported mailbox options.
(closes issue #16864)
Reported by: kobaz
Patches:
voicemail2.patch uploaded by kobaz (license 834)
Review: https://reviewboard.asterisk.org/r/555/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@254321 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Change the example usage of pipe as a separator to comma in the UserEvent
documentation.
(closes issue #16961)
Reported by: jlpedrosa
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@253345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
For some reason the documentation for the 'k' application in trunk
and 1.6.2 is different than 1.6.0 and 1.6.1, so I'm setting them all
to match. The wording in 1.6.2 and trunk was ambiguous, so you could
interpret the wording the mean that recording would continue upon hangup
indefinitely, or you could interpret it to mean that the recorded
data would not be discarded upon hangup. This change makes it clear
we mean the latter, and not the former.
Came from a discussion in #asterisk on IRC.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@251680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Only chan_dahdi set a value in cdrflags. Everyone else just copied it
around the system. Noone cared about any value it may have contained.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@250565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The 'p' option allows the PickupChan app to pickup
a ringing phone by looking for the first match to a
partial channel name rather than requiring a full match.
(closes issue #16613)
Reported by: syspert
Patches:
pickipbycallid.patch uploaded by syspert (license 938)
pickupbycallerid_v2.patch uploaded by dvossel (license 671)
Tested by: dvossel, syspert
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@250141 65c4cc65-6c06-0410-ace0-fbb531ad65f3
VMSayName that will play the recorded name of the voicemail user if it exists,
otherwise will play the mailbox number. A unit test has been written to verify
correct functionality called test_voicemail_vmsayname.
(closes issue #14973)
Reported by: ghjm
Review: https://reviewboard.asterisk.org/r/530/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@249889 65c4cc65-6c06-0410-ace0-fbb531ad65f3
when called from a ISDN channel, null frames prevent '#' exit.
Now only echo back VOICE and DTMF frames
(issue #16880)
Reported by: alecdavis
Patches:
echo_exit.diff.txt uploaded by alecdavis (license 585)
Tested by: alecdavis
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@249801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r249671 | seanbright | 2010-03-01 14:35:01 -0500 (Mon, 01 Mar 2010) | 11 lines
Fix crash in app_voicemail related to message counting.
We were passing a 'struct inprocess **' and treating it like a 'struct inprocess *'
causing a segfault.
(closes issue #16921)
Reported by: whardier
Patches:
20100301_issue16921.patch uploaded by seanbright (license 71)
Tested by: whardier
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@249672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
previous test, gave false level of assurance that code was healthy.
(issue #16927)
Reported by: alecdavis
Patches:
based on app_voicemail_test.diff.txt uploaded by alecdavis (license 585)
Tested by: alecdavis
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@249449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
- Urgent voicemails were not attached, because the attachment code looked in the wrong folder.
- Urgent voicemails were sometimes counted twice when displaying the count of new messages.
- Backends were inconsistent as to which voicemails each API counted.
- Unit tests added to verify behavior in the future.
(closes issue #15654)
Reported by: tomo1657
Patches:
20100225__issue15654.diff.txt uploaded by tilghman (license 14)
Tested by: tilghman
(closes issue #16448)
Reported by: hevad
Review: https://reviewboard.asterisk.org/r/525/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@249187 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This change builds upon the recent change to menuselect to add 'touch_on_change'
as an attribute of both categories and members. This should allow only the most
invasive defines to cause a complete rebuild, while defines which only affect a
subset of modules will only cause a rebuild of that smaller set.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@246789 65c4cc65-6c06-0410-ace0-fbb531ad65f3
After further discussion with Steve Underwood, we should not (yet) be offering
to receive MMR or JBIG transcoded streams from T.38 endpoints. A future spandsp
release will support those features, and then they can be enabled during
negotiation
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@245680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Previously, we would parse GOSUB_RESULT, but not actually do anything with it.
Also, allow GOSUB_RETVAL to be inherited back across a peer/master channel.
(closes issue #16687)
Reported by: bklang
Patches:
app_dial-preserve-gosub_retval.patch uploaded by bklang (license 919)
(with modifications)
(closes issue #16686)
Reported by: bklang
Patches:
app_dial-respect-gosub_result.patch uploaded by bklang (license 919)
(with modifications)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@244393 65c4cc65-6c06-0410-ace0-fbb531ad65f3