Commit Graph

17 Commits

Author SHA1 Message Date
Mark Michelson
e24661fd18 Merge Call completion support into trunk.
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
2010-04-09 15:31:32 +00:00
Kevin P. Fleming
0e70c71c25 Convert this branch to Opsound music-on-hold.
For more details:
http://blogs.digium.com/2009/08/18/asterisk-music-on-hold-changes/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@212922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-18 20:29:37 +00:00
Russell Bryant
4cf8a968fd Add an API for reporting security events, and a security event logging module.
This commit introduces the security events API.  This API is to be used by
Asterisk components to report events that have security implications.
A simple example is when a connection is made but fails authentication.  These
events can be used by external tools manipulate firewall rules or something
similar after detecting unusual activity based on security events.

Inside of Asterisk, the events go through the ast_event API.  This means that
they have a binary encoding, and it is easy to write code to subscribe to these
events and do something with them.

One module is provided that is a subscriber to these events - res_security_log.
This module turns security events into a parseable text format and sends them
to the "security" logger level.  Using logger.conf, these log entries may be
sent to a file, or to syslog.

One service, AMI, has been fully updated for reporting security events.
AMI was chosen as it was a fairly straight forward service to convert.
The next target will be chan_sip.  That will be more complicated and will
be done as its own project as the next phase of security events work.

For more information on the security events framework, see the documentation
generated from doc/tex/.  "make asterisk.pdf"

Review: https://reviewboard.asterisk.org/r/273/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@206021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-11 19:15:03 +00:00
Russell Bryant
c511a26749 Move Asterisk-addons modules into the main Asterisk source tree.
Someone asked yesterday, "is there a good reason why we can't just put these
modules in Asterisk?".  After a brief discussion, as long as the modules are
clearly set aside in their own directory and not enabled by default, it is
perfectly fine.

For more information about why a module goes in addons, see README-addons.txt.

chan_ooh323 does not currently compile as it is behind some trunk API updates.
However, it will not build by default, so it should be okay for now.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@204413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-30 16:40:38 +00:00
Russell Bryant
0264eef115 Merge the new Channel Event Logging (CEL) subsystem.
CEL is the new system for logging channel events.  This was inspired after
facing many problems trying to represent what is possible to happen to a call
in Asterisk using CDR records.  For more information on CEL, see the built in
HTML or PDF documentation generated from the files in doc/tex/.

Many thanks to Steve Murphy (murf) and Brian Degenhardt (bmd) for their hard
work developing this code.  Also, thanks to Matt Nicholson (mnicholson) and
Sean Bright (seanbright) for their assistance in the final push to get this
code ready for Asterisk trunk.

Review: https://reviewboard.asterisk.org/r/239/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@203638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 15:28:53 +00:00
Terry Wilson
ce004fbf1f Add some TeX docs for calendaring.
I still need to set up tests to make sure my examples are completely correct,
but I ran out of time tonight and felt that they at least would give an idea as
to how to use calendaring. I will try to test the examples and do some cleanup
on the docs tomorrow night.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@197926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-29 05:15:40 +00:00
Sean Bright
3b96ae826e This shouldn't have gotten commited. We might want to generate this into a separate file instead of the version controlled one.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-13 03:03:15 +00:00
Sean Bright
3f12b282b6 Use actual tables instead of ASCII art ones.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-13 03:00:26 +00:00
Russell Bryant
8fb13c6803 Grammar hax from Qwell
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@137301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-12 19:48:38 +00:00
Russell Bryant
f6bda9def2 Note that developer documentation belongs in doxygen, and not integrated with
the user manual stuff in doc/tex/.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@137299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-12 19:40:35 +00:00
Michiel van Baak
8faa81be79 restore ASTERISKVERSION marker to asterisk.tex.
This got lost in commit 97634


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-13 14:58:40 +00:00
Terry Wilson
3570ad103d Added a new module, res_phoneprov, which allows auto-provisioning of phones
based on configuration templates that use Asterisk dialplan function and
variable substitution.  It should be possible to create phone profiles and
templates that work for the majority of phones provisioned over http. It
is currently only intended to provision a single user account per phone.
An example profile and set of templates for Polycom phones is provided.
NOTE: Polycom firmware is not included, but should be placed in
AST_DATA_DIR/phoneprov/configs to match up with the included templates.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-09 21:37:26 +00:00
Russell Bryant
8b8a42e61c Many doc directory improvements, including:
- Added development section (backtrace.tex)
- Correct filesystem path formating
- Replace all "|" argument separator to ","
- Endless count of spaces at the end of line
- Using astlisting to make listings do not take so much place
- Take back ASTRISKVERSION on first page
- Make localchannel.tex readable by inserting extra end of lines

(closes issue #10962)
Reported by: IgorG
Patches: 
      texdoc-85177-1.patch uploaded by IgorG (license 20)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@85519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-12 15:50:29 +00:00
Russell Bryant
51e7035dfe Merge a big batch of documentation fixes for escaping, marking URLs, places
where verbatim text went off the end of the page on the PDF, and various
other improvements
(closes issue #10307, IgorG)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 14:49:51 +00:00
Tilghman Lesher
95bee48cde Fix escaping and some of the formattting (closes issue #10285)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24 18:19:18 +00:00
Russell Bryant
d2a85e5f64 After some discussion on the asterisk-dev list, we determined that this approach
for extracting application, function, manager, and agi documentation is the wrong
one to take.  The most severe problem is that the output depends on which modules
are loaded as well as compile time options, which both determine which parts are
available.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72986 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 23:02:16 +00:00
Russell Bryant
df1a340774 * Move LaTeX docs into a tex/ subdirectory of the doc/ dir
* Add a Makefile in doc/tex/ for generating PDF and HTML
* Add a README.txt file to doc/tex/ to document which tools are used and what
  web sites to visit for getting them.
* Update build_tools/prep_tarball to put the proper Asterisk version string
  in the automatically generated PDF for release tarballs


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 22:27:46 +00:00