Proposal and question to add a new plugin for ZRTP

Werner Dittmann Werner.Dittmann at t-online.de
Mon Feb 6 08:57:19 PST 2012


Hi Ed,

thanks for the links - however, no real stuff to use,
just a proposal for GSoC 2008 but it seems nothing happened.

I'm just looking and try to get an understanding of
gstreamer's plugin meachnisms.

After some first analysis ZRTP would use a filter that
offers a full duplex connection, that is a sink and a
source in both directions, something like this:

 +-------------------------------------------------+
 |                                                 |
 +--------+                             +----------+
 |source  |                             |sink      |
 |to UDP  |                             |from RTP  |
 +--------+                             +----------+
 |                                                 |
 |                 ZRTP filter                     |
 |                                                 |
 |                                                 |
 +--------+                             +----------+
 |sink    |                             |source    |
 |from UDP|                             |to RTP    |
 +--------+                             +----------+
 |                                                 |
 +---------+----------------------------+----------+
           |                            |
           | uses                       | uses
 +---------+-----------+      +---------+----------+
 |   SRTP/SRTCP        |      |    ZRTP library    |
 |   library           |      |    implements      |
 |                     |      |    ZRTP protocol   |
 |                     |      |                    |
 +---------------------+      +--------------------+

I've yet to see how such a filter could be done for gstreamer.
Also, because the Gstreamer plugins are self contained and
dynamicall loaded I need to check/know if this also works if
parts of the code (the ZRTP and the SRTP parts) are written
in C++. A C wrapper is already available thus it's no
problem to use both libs from C - only the dynamic loading
nedds to be checked.

Depending on the complexity of filters and how they can be
added to dynamically SRTP/SRTCP could be a filter as well, in
the same sense as ZRTP. In that case the ZRTP filter must be able
to dynamically add the SRTP/SRTCP filter to the pipeline.
Otherwise the structure shown above would be simpler and
easier to use, also for applications.

Do you know whom to ask and/or can give a hand to address the
gstreamer specific parts of such a filter, e.g. how to add the
pads, that both flows have access to the associated data
structures, etc.

Best regards
Werner


Am 06.02.2012 05:10, schrieb Endejan, Edward:
> I am also interested in similar funtionality. Some work has already been done for this - I'm not sure how complete it is since I've just started researching it. Check out these links:
> 
> http://gstreamer.freedesktop.org/wiki/SrtpSupport
> 
> http://www.freedesktop.org/wiki/Software/Farstream
> 
> Regards,
> Ed
> 
> _______________________________________
> From: gstreamer-devel-bounces+edward.endejan=dmh-global.com at lists.freedesktop.org [gstreamer-devel-bounces+edward.endejan=dmh-global.com at lists.freedesktop.org] On Behalf Of Werner Dittmann [Werner.Dittmann at t-online.de]
> Sent: Sunday, February 05, 2012 5:57 AM
> To: gstreamer-devel at lists.freedesktop.org
> Subject: Proposal and question to add a new plugin for ZRTP
> 
> Dear all,
> 
> this is a proposal combined with some questions to create a
> gstreamer plugin that supports ZRTP and SRTP/SRTCP to provide
> secure, encrypted RTP connections.
> 
> I just browsed through gstreamer's RTP stuff and it should be
> possible to add such a plugin.
> 
> Thus my first questions here:
> Would it make sense to develop such a plugin?
> Would it be used given that the application needs to just implement
> a few additional callbacks to get security status information (the
> application does not deal with protocol, encryption and alike)?
> 
> Any ideas, feedback?
> 
> Best regards,
> Werner
> 

<SNIP --- SNAP>


More information about the gstreamer-devel mailing list