[asterisk-commits] russell: trunk r180859 - /trunk/doc/google-soc2009-ideas.txt
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Mar 10 14:23:44 CDT 2009
Author: russell
Date: Tue Mar 10 14:23:41 2009
New Revision: 180859
URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=180859
Log:
add more project ideas
Modified:
trunk/doc/google-soc2009-ideas.txt
Modified: trunk/doc/google-soc2009-ideas.txt
URL: http://svn.digium.com/svn-view/asterisk/trunk/doc/google-soc2009-ideas.txt?view=diff&rev=180859&r1=180858&r2=180859
==============================================================================
--- trunk/doc/google-soc2009-ideas.txt (original)
+++ trunk/doc/google-soc2009-ideas.txt Tue Mar 10 14:23:41 2009
@@ -42,7 +42,6 @@
- http://lists.digium.com/pipermail/asterisk-dev/2008-October/034700.html
Specific project ideas in this area are listed here:
-
a) Create a generic "data get" layer for Asterisk components to be able to
expose data that they maintain. Currently, modules implement specific
@@ -56,7 +55,7 @@
with the "data put" interface in part b.
Difficulty - 2
- Mentor - TBD
+ Language - C
b) Create a generic "data put" layer for Asterisk components to allow
external interfaces to update configuration items, as opposed to having
@@ -67,7 +66,7 @@
"data get" interface in part a.
Difficulty - 2
- Mentor - TBD
+ Language - C
c) Improve the performance of cache handling in the event core. The event
API in Asterisk provides a generic interface for subscribing to and
@@ -81,7 +80,7 @@
new storage mechanism that is more efficient.
Difficulty - 3
- Mentor - TBD
+ Language - C
d) Develop a method for federating Asterisk servers using distributed events
with a transport suitable for communication beyond a LAN. The current
@@ -92,7 +91,7 @@
protocol such as XMPP, or something else if deemed appropriate.
Difficulty - 2
- Mentor - TBD
+ Language - C
e) Implement a method that makes it very easy to add synchronous hooks
throughout the code base. Hooks are arbitrary callbacks within the
@@ -100,17 +99,106 @@
behavior. While the dialplan allows applications to control much of the
asterisk behavior, hooks allow for business logic to be applied to
situations that are not associated with a call (eg: a sip registration
- hook could allow time-goverened registration period), or for situations
- that occur during the execution of a diaplan application (eg: codec
+ hook could allow time-governed registration period), or for situations
+ that occur during the execution of a dialplan application (eg: codec
negotiation hook to apply business logic to codecs proposed in the middle
of a Dial command, or a transfer hook to execute business logic when a
SIP REINVITE is received).
Difficulty - 3
- Mentor - TBD
-
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
-
-================================================================================
-================================================================================
+ Language - C
+
+2) This section contains projects related to Voicemail support in Asterisk.
+
+ a) Extract the support for storage backends into an API to reduce code
+ complexity and its ability to be reused. The current Asterisk voicemail
+ application supports storing voicemail on the filesystem, in a database
+ via ODBC, and on an IMAP server. All of the storage code should be pulled
+ out into a form such that it makes the current app_voicemail easier to
+ maintain, but also allows the backend storage code to be used in a next
+ generation voicemail implementation, or potentially other things in
+ Asterisk that would like to use these interfaces.
+
+ Difficulty - 3
+ Language - C
+
+ b) One feature that has been widely desired for Asterisk voicemail is the
+ ability to customize menu layout. This project would be to improve
+ existing code, or develop a new voicemail application that supports
+ customizable menu layout. The app_minivm module currently in Asterisk
+ is one way of approaching this project, which is to break up current
+ Voicemail functionality into smaller applications to make it easier to
+ build a custom voicemail system in the dialplan. Luigi Rizzo had a
+ student work on a project to create a new voicemail system that included
+ these features that has some work left to be completed.
+
+ Difficulty - 4
+ Language - C
+
+3) This section includes projects related to improving the Asterisk console and
+ logging interfaces.
+
+ a) Improve the way "verbose logging" works in Asterisk. Currently, the
+ Asterisk console and logging system only supports a single verbose level.
+ However, it would be extremely useful to allow a verbose setting per
+ console, and per log file that verbose output is being sent to.
+
+ Difficulty - 1
+ Language - C
+
+ b) Improve Asterisk logging such that advanced filtering is available at the
+ console so that output related to a single call is available without
+ having to see the output for other calls. Lack of support for debugging
+ individual calls has been a long standing difficulty for Asterisk
+ administrators on busy systems.
+
+ Difficulty - 1
+ Language - C
+
+ c) In addition to being used as an administrative interface, the Asterisk
+ console can also be used for making calls using the system audio and
+ video interfaces. In this sense, Asterisk can be used as a highly
+ configurable console based soft phone. Luigi Rizzo and some of his
+ students have put a lot of work into adding video support to the Asterisk
+ console when being used as a softphone. This project would be to work
+ with Luigi to continue this effort to improve the GUI that opens up for
+ handling calls. This would involve adding some buttons to handle calls
+ and contact lists, controlling the active audio source for a call, and
+ adding standard telephone buttons.
+
+ Difficulty - 3
+ Language - C
+
+4) This section includes projects related to internationalization.
+
+ a) One of the projects that Luigi Rizzo previously worked on was replacing
+ the "say.c" code that implemented language support for saying dates and
+ times in C code, with an implementation that allows additional languages
+ to be added via a configuration file with special syntax. This project
+ would be to work with Luigi to enhance this code to better handle
+ languages where words change in multiple ways depending on gender and
+ number, and also adding more languages to the sample configuration file
+ that is distributed with Asterisk.
+
+ Difficulty - 3
+ Language - C
+
+5) This section includes projects related to portability to other operating
+ systems.
+
+ a) Asterisk has been ported to cygwin a couple of times over the years, but
+ tends to bitrot due to lack of continued support by developers. This
+ project would be to revisit the current state of cygwin support and get
+ it working well in Asterisk 1.6. It should already compile, or be very
+ close to it. However, there is some testing to be done to ensure that
+ things work properly. Also, it would be most excellent to get a console
+ channel driver functioning in cygwin (chan_oss, chan_console, etc.).
+
+ Difficulty - 3
+ Language - C
+
+--------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
+
+================================================================================
+================================================================================
More information about the asterisk-commits
mailing list