From: Pekka Riikonen <priikone@ik...> - 2006-07-10 06:35:53
I ressurrected the media API and added VOIP support for SILC. The patch
and files are at http://iki.fi/priikone/voip/ and include the new media
API which is based on Gstreamer 0.10.x. If you want to commit it, it
effectively adds secure VOIP to Gaim (with SILC). I already sent this
email yesterday but apparently the attachments were too big and the email
didn't get through, so they are at that address now.
Some background on multimedia support in SILC. In SILC protocol MIME is
employed to deliver any kind of media in the network. It can deliver
audio, video and any other type of media that MIME can represent.
Because of this it also is able to encapsulate practically any kind of
multimedia protocol into SILC. This means multimedia sessions can be set
up with SIP, H.323, Jingle, etc. We have however selected as default
protocol the SDP (Session Description Protocol) to describe multimedia
sessions and simple exchange using SILC message packets to set up the
session (based on RFC 3264). The SDP is also used by SIP protocol. In
case of SILC, SDP is the simplest method to set up multimedia session, and
it is this protocol that the patch is using. Personally I have no plans
adding SIP or any other support, for now.
The protocol allows setting up four basic types of multimedia sessions:
Peer-to-peer with other client, peer-to-server for group conferencing,
direct conferencing with client inside SILC network and group conferencing
inside SILC network (bypassing NATs). The patch supports currently only
peer-to-peer with another client. The current SILC Toolkit doesn't bend
very well to the others, but this will be rectified in SILC Toolkit 1.1
which specifically includes optimizations and features for multimedia
applications. The peer-to-peer was hard enough to glue into the Toolkit.
Currently also only TCP is supported, UDP will come later.
It's been tested, but can't hurt by testing more. Patch against trunk.
Tested with Gstreamer 0.10.8, all plugins installed. The files voice.[ch]
and sdpmessage.[ch] go into src/protocols/silc/. Any chance this might
get into 2.0.0?
Pekka Riikonen priikone at silcnet.org
Secure Internet Live Conferencing (SILC) http://silcnet.org/