[reSIProcate] progress update: splitting reCon API and sipX implementation code

Scott Godin sgodin at sipspectrum.com
Mon Apr 26 09:31:56 CDT 2021


Great job Daniel.  I just updated and ran a couple of my tests - no
issues.  No compilation issues - thanks for keeping the windows project
files up to date!

Cheers!
Scott

On Sun, Apr 25, 2021 at 2:40 PM Daniel Pocock <daniel at pocock.pro> wrote:

>
> I made some commits for this work
>
> The goal is to give people the flexibility to choose your own media
> stack.  For example, you could use Farstream, GStreamer, ffmpeg or
> Kurento Media Server.
>
> A lot of the recon code is already very generic and useful for arbitrary
> media stacks.  I found quite a few methods that are 99% SIP logic and
> they have one line of code touching sipXtapi.  I've created some pure
> virtual functions to replace some of the most common interactions with
> sipXtapi, here are some trivial examples:
>
>
> https://github.com/resiprocate/resiprocate/commit/33d0333564c3c24057dbd7457930045e8f3395a3#diff-b3b2761215e678b972bd1b483df12aadccdff55fcc0db530bf7eb1bc60a4c2aa
>
>
> https://github.com/resiprocate/resiprocate/commit/36f5f25680ed039d90b361f4fd0ecfd33a5261e3#diff-b3b2761215e678b972bd1b483df12aadccdff55fcc0db530bf7eb1bc60a4c2aa
>
> Another important concept is the use of the builder pattern to create
> the Participant classes, they can return the right subclass for any
> media stack:
>
>
> https://github.com/resiprocate/resiprocate/commit/bbd61211eeb28664d4f19e4c64784de4de036d03#diff-b3b2761215e678b972bd1b483df12aadccdff55fcc0db530bf7eb1bc60a4c2aa
>
> After doing all that, the bulk of the work is in this monster commit:
>
>
> https://github.com/resiprocate/resiprocate/commit/c835e6f030d88a55cb708800f75429888c930d84#diff-b3b2761215e678b972bd1b483df12aadccdff55fcc0db530bf7eb1bc60a4c2aa
>
> There is still some remaining work to do in LocalParticipant and
> MediaResourceParticipant (for example, DTMF tones).  I thought I would
> push as far as I can with RemoteParticipant and then circle back for the
> other types of Participant.
>
> We may need to create a type or class to encapsulate the bridge port
> IDs.  I haven't looked at Kurento in depth but I notice it is using some
> UUIDs while sipXtapi uses integer IDs.
>
> After this is settled, the next thing I plan to work on is the Session
> concept.  Farstream has an extra layer in the class hierarchy for the
> session, e.g. audio session, video session, screenshare session.  reCon
> only has a single audio session, this will need to become a list of
> [0..*] sessions.
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20210426/b71fae3c/attachment.htm>


More information about the resiprocate-devel mailing list