IvrWorx

Abstract

IvrWorx is a fiber (green thread) based messaging framework and lightweight SIP IVR application built on top of it. Project with its documentation is current hosted by Google Code(R) here.

Proposal

IvrWorx strives to provide the framework for easy creation of event-driven applications by reducing an overhead of asynchronous programming. Though just an example, but still full blown lightweight SIP IVR application is provided to demonstrate "pluggabilty" of different asynchronous IMS protocols under synchronous API, into application which is written in lua scripting language. currently SIP/RTSP/MRCP are supported.

Background

IvrWorx was inspired by green thread based approach which can be seen in its strongest form in Erlang programming language. Ivrworx tries to utilize the approach within C++ programming language, which is de-facto industry standard for soft real time development on Windows(R) platform.

Rationale

Telephony application are essentially highly parallel applications. Writing parallel applications using OS threads is inherently difficult. Asynchronous programming multiplies it by factor of million. Using fibers provides user with synchronous interface without opening too many threads. Additionally user has control over rescheduling mechanism which makes infrastructure more robust and scalable .

Initial Goals

The initial goals for IvrWorx are:

  • Donate the existing codebase and import it.
  • Get people involved in advancing the code base in different directions, integrating it with other projects at Apache.

Current Status

The current codebase is developed and tested. RC build is issued and provides POC of the idea behind the project. The project is hosted Google Code(R) code under altalena name. It has a discussion group hosted by Google Groups(R).

Meritocracy

N/A

Community

N/A

Core Developers

Currently IvrWorx is being developed by single developer. We certainly hope to extend the team to more developers.

Alignment

N/A

Known Risks

N/A.

Initial Source

IvrWorx was developed as a part of http://code.google.com/p/altalena/ Google Code(R) project.

Source and Intellectual Property Submission Plan

The current codebase is owned by mailto:bouretskey@cosmocom.com under GPL-V3 license, and will be donated together with its documentation.

External Dependencies

There are quite a few open source libraries already used. The libraries, their sources and licenses are listed here:

Strong core dependency on:-

  • Kent C++ CSP

Weak dependency on :-

  • lua (may be replaced by any other embeddable scripting language)
  • json spirit (used to read configuration)

Pluggable (may be replaced with any other protocol implementation) dependency on:-

  • medisatreamer2
  • resiprocate
  • live555
  • unimrcp

Required Resources

N/A

Initial Committers

  • Boris Ouretskey

Community Members

N/A

Affiliations

N/A

Sponsors

Champion:

N/A

Mentors:

N/A

Sponsor:

N/A

  • No labels