|
|
|
@ -25,12 +25,6 @@ Mentors: Russell Bryant
|
|
|
|
|
--- Project Ideas --------------------------------------------------------------
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
Project difficulty is listed on a 1 through 5 scale. A 1 would be a project
|
|
|
|
|
appropriate for a college student with familiarity with C programming, but no
|
|
|
|
|
experience with the Asterisk code base, or even Asterisk itself. A project with
|
|
|
|
|
a difficulty of 5 would be something appropriate for a student that already has
|
|
|
|
|
significant experience with the Asterisk code base.
|
|
|
|
|
|
|
|
|
|
1) There are a number of projects that fall into the category of improving and
|
|
|
|
|
creating new interfaces for developers to interface with Asterisk. To get a
|
|
|
|
|
bit of an idea for the higher level vision of this effort, see the following
|
|
|
|
@ -54,9 +48,6 @@ significant experience with the Asterisk code base.
|
|
|
|
|
be converted as time permits. Note that this may end up sharing some code
|
|
|
|
|
with the "data put" interface in part b.
|
|
|
|
|
|
|
|
|
|
Difficulty - 2
|
|
|
|
|
Language - C
|
|
|
|
|
|
|
|
|
|
b) Create a generic "data put" layer for Asterisk components to allow
|
|
|
|
|
external interfaces to update configuration items, as opposed to having
|
|
|
|
|
to issue a full configuration reload to account for a single change.
|
|
|
|
@ -65,9 +56,6 @@ significant experience with the Asterisk code base.
|
|
|
|
|
as time permits. Note that this may end up sharing some code with the
|
|
|
|
|
"data get" interface in part a.
|
|
|
|
|
|
|
|
|
|
Difficulty - 2
|
|
|
|
|
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
|
|
|
|
|
publishing asynchronous events. It also provides a caching mechanism for
|
|
|
|
@ -79,9 +67,6 @@ significant experience with the Asterisk code base.
|
|
|
|
|
benchmark the performance of the caching mechanism, and then implement a
|
|
|
|
|
new storage mechanism that is more efficient.
|
|
|
|
|
|
|
|
|
|
Difficulty - 3
|
|
|
|
|
Language - C
|
|
|
|
|
|
|
|
|
|
d) Develop a method for federating Asterisk servers using distributed events
|
|
|
|
|
with a transport suitable for communication beyond a LAN. The current
|
|
|
|
|
event infrastructure includes ways to hook in and distribute events
|
|
|
|
@ -90,9 +75,6 @@ significant experience with the Asterisk code base.
|
|
|
|
|
project would be to implement a new event distribution module using a
|
|
|
|
|
protocol such as XMPP, or something else if deemed appropriate.
|
|
|
|
|
|
|
|
|
|
Difficulty - 2
|
|
|
|
|
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
|
|
|
|
|
internals of asterisk where external components can modify asterisk's
|
|
|
|
@ -105,9 +87,6 @@ significant experience with the Asterisk code base.
|
|
|
|
|
of a Dial command, or a transfer hook to execute business logic when a
|
|
|
|
|
SIP REINVITE is received).
|
|
|
|
|
|
|
|
|
|
Difficulty - 3
|
|
|
|
|
Language - C
|
|
|
|
|
|
|
|
|
|
f) Asterisk has a relatively new generic asynchronous event API. While it
|
|
|
|
|
has been implemented in several areas of the code base, one place where
|
|
|
|
|
it has not been utilized but would make a great fit would be to replace
|
|
|
|
@ -123,9 +102,6 @@ significant experience with the Asterisk code base.
|
|
|
|
|
modify the existing manager interface to use the ast_event API to handle
|
|
|
|
|
receiving events from inside of Asterisk to send to manager clients.
|
|
|
|
|
|
|
|
|
|
Difficulty - 3
|
|
|
|
|
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
|
|
|
|
@ -137,9 +113,6 @@ significant experience with the Asterisk code base.
|
|
|
|
|
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
|
|
|
|
@ -150,9 +123,6 @@ significant experience with the Asterisk code base.
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
@ -161,18 +131,12 @@ significant experience with the Asterisk code base.
|
|
|
|
|
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
|
|
|
|
@ -184,9 +148,6 @@ significant experience with the Asterisk code base.
|
|
|
|
|
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
|
|
|
|
@ -198,9 +159,6 @@ significant experience with the Asterisk code base.
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
@ -212,9 +170,6 @@ significant experience with the Asterisk code base.
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
6) There are a number of potential projects that could be done to improve
|
|
|
|
|
security in Asterisk. A document that lists some of the security challenges
|
|
|
|
|
currently faced and some ideas for improvements that could be made can be
|
|
|
|
@ -222,9 +177,6 @@ significant experience with the Asterisk code base.
|
|
|
|
|
|
|
|
|
|
http://astridevcon.pbwiki.com/Network-Security-Framework
|
|
|
|
|
|
|
|
|
|
Difficulty - 1 to 5
|
|
|
|
|
Language - C
|
|
|
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|