[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