This is it folks. CCSS is at a point where a review will be beneficial.
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:
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. I'm leaving it to Richard to add any comments he wants about this matter. The libpri component of call completion support is posted as review 522 on ReviewBoard.
The code added here is somewhat massive, so questions are welcome as much as critiques.
Happy reviewing!
AstMasters: Call for Mac Computers - May 23, 2005 The AstMasters site is asking for old Mac computers to give to developers who would like to work on OSX parts of Asterisk.
AstriDevCon: October 29th, Washington DC August 23, 2010 Average Vote: 10
John Todd has posted a note about the AstriDevCon conference which occurs within the Astricon conference.
VoIP-Info: FFasterisk Video file converter August 25, 2006 Average Vote: 10
The wiki has a link to a new piece of software for converting video to the format required for Asterisk.
Voip-Forum: Lots of new articles March 12, 2005 Average Vote: 10
Oej's Voip-Forum.com site has posted lots of new news articles while I've been away. Hopefully you found them via the asterisk-docs site. If not I've bookmarked them for you.
Interview with Mark Spencer November 26, 2004 Average Vote: 9.9
We have managed to get an interview with Mark Spencer AKA Markster. Mark Spencer is the creator of Asterisk and by far the most active developer.
Back to life July 21, 2010 Average Vote: 9.8
Hey all - I am back online after some pretty big projects which have taken all my time. Will be updating the Asterisk news over the next few days.
GUI changes from Trixbox, FreePBX, 2600hz, BlueBox September 1, 2010 Average Vote: 9.8
Ok, bear with me on this one. If you understand all the ramifications, FreePBX has split to a new project called BlueBox contained within the 2600hz project. This obviously has implications for Trixbox that uses FreePBX to provide quite a bit of functionality.
Announcing Adhearsion 0.8.5 August 25, 2010 Average Vote: 9.8
Ben Klang has posted a note about the latest release of Adhearsion - a framework for developing Asterisk based solutions using Ruby.
app_swift v2.0 released July 21, 2010 Average Vote: 9.8
Like a few of these news stories that I will be posting over the next couple of days this is a little old - hope it is not something you have already seen. This one is for a new version of the app_swift text-to-speech module for Asterisk 1.2, 1.4, and 1.6.
Monitoring Asterisk with Munin January 7, 2010 Average Vote: 9.7
I had a few requests for these munin plugins after some discussion on one of the Asterisk lists and thought people might like them.
libpri 1.4.11.4 Now Available September 3, 2010 The Asterisk Development Team has announced the release of libpri 1.4.11.4.
New CDR Stats Package September 1, 2010 This one has been a long time coming. A new CDR stats package from Star2Billing to replace the 7 year old stalwart for viewing Asterisk call detail records.
GUI changes from Trixbox, FreePBX, 2600hz, BlueBox September 1, 2010 Ok, bear with me on this one. If you understand all the ramifications, FreePBX has split to a new project called BlueBox contained within the 2600hz project. This obviously has implications for Trixbox that uses FreePBX to provide quite a bit of functionality.
RazorQuotePBP Asterisk Payment Module August 31, 2010 RazorQuote has sent us a press release about the launch of RazorQuotePBP, a native Asterisk module that allows any Asterisk connected device to accept credit card payments.
AstriCon approaches August 25, 2010 John Todd has posted a note about the upcoming AstriCon conference in Washington, DC, and the innovation awards.
Announcing Adhearsion 0.8.5 August 25, 2010 Ben Klang has posted a note about the latest release of Adhearsion - a framework for developing Asterisk based solutions using Ruby.
AstriDevCon: October 29th, Washington DC August 23, 2010 John Todd has posted a note about the AstriDevCon conference which occurs within the Astricon conference.
The XV Commandments of IVR August 17, 2010 An update on the 15 tips for creating effective IVR systems by Allison Smith - the Voice of Asterisk.