Project: LibISDN ASN.1 En-/Decoder
Motivation: Handle Q.932 ROSE RPC calls.
Status: Early code, decoding mostly works, parts have to be rewritten for encoding to work (in a usable way).
Target Milestone: Being able to handle incoming MWI request from my ISDN phone and sent an answer that will make the icon on its LC-Display light up.
Project: libRTCP
Motivation: En-/Decoding of RTCP messages.
Status: Early version, can already decode some RTCP messages, needs more work.
Target Milestone: Working en-/decoding of XR and most other RTCP messages.
Project: mod_netlink
Motivation: Receive netlink events from linux kernel about IP-Address and HW-Configuration changes and inject them into the FreeSWITCH core.
Status: Some proof-of-concept code written (Binding to netlink multicast groups and receiving events + dumping them in hex+ascii / text)
Notes: Will need linux-2.6.30+ (unless you really want to run FreeSWITCH as root).
Target Milestone: Turn PoC code into mod_netlink.c, handle incoming network interface + ip address change events, handle incoming CPU up/down events, turn them into FreeSWITCH events.
Project: mod_http_rpc
Motivation: Current mod_xml_rpc sucks.
Status: Basic HTTP access works, using embedded mongoose.
Target Milestone: HTTP/XML-RPC API calls working, authentication via user directory.
Project: RTP Acceleration
Motivation: 10k+ calls on a single box, without ending up in context-switch hell caused by RTP recv/send syscalls.
Status: Working on early proof-of-concept code (userspace UDP/IP stack).
Notes: New test hardware: Managed 8-port 1GigE (HP 1800-8G, ~11.6Mpps), Dual-Port PCIe Intel 1000/PT, two Broadcom NetXtreme BCM5721 PCIe cards. Full setup will be completed after dead PSU has been replaced in test01.
Next milestone: Get UDP recv+send and ARP working in PoC, adapt code to lastest TX-Ring changes in 2.6.31+, start benchmarking.
Project: Improve FreeSWITCH startup time by starting modules in parallel
Motivation: Spend less time loading and initializing modules, some of which may block for some time in their startup function. Track inter-module dependencies and parallelize loading using a set/pool of threads executing the startup routines.
Status: Planning
Project: Improve configuration option handling of OpenZAP modules
Motivation: The current situation sucks completely
Status: Some option handling code written, needs to be integrated into OpenZAP (+ modified to fit)
Next milestone: Try to integrate this into OpenZAP, using mod_isdn
Project: Complete clean rewrite of the FreeSWITCH buildsystem using GNU Make, current Autools, system libs and support for the FHS.
Motivation: Meh… (we already depend on GNU Make anyway and some of us are able to roll their own controlled environment)
Status: Already started this some time ago, need to find a way to create a GIT repo that only contains and syncs the source code parts.
Target Milestone: Build core and most important modules using system libs, maybe add some of that fancy “make mod_foo” stuff via a makefile include that adds the neccessary rules. Add proper pkg-config support for the core (and remove fsxs).
Project: New work desk.
Motivation: Totally sucks to have no space to put stuff on (one of the reasons there’s not much progress in LibISDN development right now)
Status: Need to get vacation first (*sigh*)
