Hello people,
here's some random notes about the farsight-netsocket.h interface I'm
currently working on. Very shortly put, farsight-netsocket is a async,
gobject-based API to create and bind datagram sockets for media (like RTP
use). I'll integrate this stuff to the new farsight branch with initially
two implementations - plain bind() and STUN based one.
The idea would be that apps could use this API to create the sockfds
needed for setting up rtpbin for symmetric RTP. This API can be used for
NAT traversal stuff that can be done at the start of the session: STUN,
UPnP-IGD, http(s)-proxy trickery, etc. Things like TURN, ICE and other
relay mechanisms, still need more work...
Inputs (via properties)
-----------------------
- local interface address to use (or NULL to bind to 0.0.0.0)
- local port (or 0 for random)
- paired-ports mode (to make life easier for RTP+RTCP users)
- address family (IPv4 or v6)
Outputs (via signal + properties)
---------------------------------
- "ready" signals completion of bind()
- contact-address (if different from local-interface address)
- contact-ports (-- " --)
- handle/sockfd for the bound socket
- aux sockfd (port + 1) if pair-port requested
The paired-ports stuff is a bit ugly, but I thought it's better to have
the ugly details solved in once place, rather than in all apps.
--
under work: Sofia-SIP at http://sofia-sip.sf.net
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Farsight-devel mailing list
Farsight-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/farsight-devel