Hi
We are in the process of developing a branch for Kamailio IMS extensions
held at *jason.penton/kamailio_ims_extensions *branch in the GIT
repository. This branch largely originates from the Open IMS Core project
and Carsten Block's Kamailio IMS branch with the intention of using core,
tried and tested Kamailio modules (dialog, registrar, tm, usrloc, etc.) in
place of the custom defined functionality in the Open IMS Core project.
In the coming weeks we will push modules and cfg files to this branch to
implement basic xCSCF functionality, so watch this space.
Right now the branch includes stock standard Kamailio 3.3.x with an
overhauled dialog2 module which is central to the functionality of the
xCSCFs; and a slightly modified rr module (one additional method exposed to
add mo/mt to the record-route).
The dialog2 module implements the new dialog design according to:
http://www.kamailio.org/dokuwiki/doku.php/modules-new-design:dialog-module-….
This allows for forked calls, concurrently confirmed calls and proxy
initiated dialog termination for early and confirmed dialogs.
- For each dialog there is now a dlg_cell structure with one or more
dlg_out cell structures.
- Forked calls have multiple dlg_out structures; once a call is confirmed
all other dlg_out structures are removed except for the confirmed one.
- Concurrent calls are allowed where multiple dialogs are confirmed at
the same time - in this case a dlg_cell structure is created for each
confirmed dialog.
- Dialog's can be terminated as in the previous dialog module from mi,
api and cfg; but this now also caters for terminating early state /
unconfirmed dialogs.
Still TO DO: Integrate old dialog functionality for dialog transfer, dialog
database management, statistics and RPC functions and general bug fixes as
they come up.
API changes: Two new exposed methods *get_current_dialog* and *
terminate_dlg_with_id*
We want to get as many eyes on the code as possible to get it integrated
into the master branch ASAP.
Regards
Richard.