Table of Contents

Kamailio v5.0 Design

Overview

After 15 years of development, it is time for Kamailio v5.0.

This page collects suggestions and ideas for major refactoring of various components to make the leap to v5.0.

When adding a remark that needs to be tracked by author, use initials in front of the paragraph. The list of contributors to this document and initials:

Initial Remarks

Initial content for this document is listing also ideas popped up during discussions at Fosdem 2016 and Kamailio Development Workshop - among participants: Camille Oudout, Daniel-Constantin Mierla, Federico Cabiddu, Giacomo Vacca, Henning Westerholt, Olle E. Johansson, Torrey Searle, Victor Seva.

Configuration File Interpreters

Goals:

Ongoing implementation that enables writing routing blocks in Lua and Python as alternative to native language is documented at:

Source Tree Structure

Goals:

Reorganizing Source Files Location

It was discussed in the past:

Two models proposed:

Build System

Goals:

Reviewing Alternative Build Systems

Alternatives to analyze:

Continuous Integration

Goals:

Unit Test Framework

Reviving the exiting unit testing or selecting another framework.

Available frameworks:

Minimal Unit Tests

Defining a minimum set of automatic tests that needs to be provided by each module:

loadmodule "foo.so"

request_route {
  ;
}