Pre-Submission Checklist

Type Of Change

Checklist:

Tested with various sofphones : Ekiga, Linphone, CSipSimple

Description

By combining Kamailio, oRTP and mediastreamer2
this module is providing some very good foundation to support RTP endpoint and various media processing features.

This seems like a great idea for various use cases like IoT, IVR or other specific needs.

Kamailio is handling everything related to SIP/SDP (the module is adding some SDP parsing) as well as providing a scripting engine.

oRTP is providing RTP endpoints compliant with (RFC 3550)

MediaStreamer2, even if written in C is quite a high level library, because it is implementing a framework for audio processing using graphs of filters, filters can be to do various things.
Similar to playing with lego blocks :)

Mediastream2 is creating one thread per call "msticker", this can work smoothly in Kamailio even if it is forking processes.
Shared memory allocation is supported using wrapper around malloc/free used by the libraries.

Some extra work that needs to be done shorty

This project was started last year, I think it is time to submit it, I will surely find the time to do the extra work needed shortly.

Example config using the features already implemented

event_route[rms:start] {
        xnotice("[rms:start] play ...\n");
        rms_play("/tmp/reference_8000.wav", "rms:after_play");
};

event_route[rms:after_play] {
        xnotice("[rms:after_play] play done...\n");
        rms_hangup();
};

route {
        if (t_precheck_trans()) {
                t_check_trans();
                exit;
        }
        t_check_trans();
        if (is_method("INVITE") && !has_totag()) {
                if (!rms_answer()) {
                        t_reply("503", "server error");
                }
        }

        if (is_method("BYE")){
                rms_media_stop();
        }
}

You can view, comment on, or merge this pull request online at:

  https://github.com/kamailio/kamailio/pull/1701

Commit Summary

File Changes

Patch Links:


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.