FreeSWITCH is a scalable open source cross-platform telephony
platform designed to route and interconnect popular communication
protocols using audio, video, text or any other form of media. It
was created in 2006 to fill the void left by proprietary commercial
solutions. FreeSWITCH also provides a stable telephony platform
on which many applications can be developed using a wide range of
free tools.
It all started when we got some new routers, which told me the
following when trying to upload configuration or download images
from it: The TFTP server doesn't support the blocksize option.
My curiousity was triggered, it took me some reading of RFCs and
other documentation to find out what was possible and what could
be done. Was plain TFTP very simple in its handshake, TFTP with
options was kind of messy because of its backwards capability: The
first packet returned could either be an acknowledgement of options,
or the first data packet.
Going through the source code of src/libexec/tftpd and going through
the code of src/usr.bin/tftp showed that there was a lot of duplicate
code, and the addition of options would only increase the amount
of duplicate code. After all, both the client and the server can
act as a sender and receiver.
At the end, it ended up with a nearly complete rewrite of the tftp
client and server. It has been tested against the following TFTP
clients and servers:
- Itself (yay!)
- The standard FreeBSD tftp client and server
- The Fedora Core 6 tftp client and server
- Cisco router tftp client
- Extreme Networks tftp client
It supports the following RFCs:
RFC1350 - THE TFTP PROTOCOL (REVISION 2)
RFC2347 - TFTP Option Extension
RFC2348 - TFTP Blocksize Option
RFC2349 - TFTP Timeout Interval and Transfer Size Options
RFC3617 - Uniform Resource Identifier (URI) Scheme and Applicability
Statement for the Trivial File Transfer Protocol (TFTP)
It supports the following unofficial TFTP Options as described at
http://www.compuphase.com/tftp.htm:
blksize2 - Block size restricted to powers of 2, excluding protocol headers
rollover - Block counter roll-over (roll back to zero or to one)
From the tftp program point of view the following things are changed:
- New commands: "blocksize", "blocksize2", "rollover" and "options"
- Development features: "debug" and "packetdrop"
If you try this tftp/tftpd implementation, please let me know if
it works (or doesn't work) and against which implementaion so I can
get a list of confirmed working systems.
OpenLDAP is a suite of Lightweight Directory Access Protocol (v3) servers,
clients, utilities and development tools.
This package includes the following major components:
* slapd - a stand-alone LDAP directory server
* LDIF tools - data conversion tools for use with slapd
This is the latest stable release of OpenLDAP Software for general use.
Mediastreamer2 is a powerful and lightweight streaming engine specialized
in voice/video telephony applications.
It is the library that is responsible for all the receiving and sending of
multimedia streams in linphone, including voice/video capture, encoding and
decoding, and rendering.
Features:
* Capture and playback from various platform dependent sound architectures
* Send and receive RTP streams
* Encode and decode the following audio formats: OPUS, speex, G711, GSM, iLBC,
AMR, AMR-WB, G722, SILK, G729, and video formats H263, theora, MPEG4,
H264 and VP8
* RTP/AVPF support: RTCP control messages for video error recovery: PLI, SLI,
RPSI, FIR
* Audio conferencing
* Supports SRTP and ZRTP (encryption of voice and video)
* Supports any webcam, based on OS's camera API: quicktime, directshow,
video4linux, android.camera
* Acoustic echo cancellation using the speex echo canceler or webrtc AECm
* Read and write .wav files
* Optimized rendering of YUV pictures, using OpenGL, DrawDib, X11/Xv
* Dual tones generation
* Custom tone detector
* Audio parametric equalizer
* Volume control, automatic gain control
* ICE for optimized NAT traversal (RFC5246) to allow peer to peer audio and
video connections without media relay server
* Adaptive bitrate control algorithm: for automatic adaption of encoder
bitrate based on received RTCP feedback
* Can use plugins to add new codecs, new sound input/output backends,...
IP Messenger is a pop up style message communication software for
multi platforms. It is based on TCP/IP(UDP).
Win, Win16, Mac/MacOSX, X11R6/GTK/GNOME, Java, Div version and
all source is open to public.
The FreeRADIUS Client is a framework and library for writing RADIUS
Clients which additionally includes radlogin, a flexible RADIUS aware
login replacement, a command line program to send RADIUS
authentication/authorisation requests and accounting records and a
utility to query the status of a RADIUS server. All these programs are
based on a library which lets you develop a RADIUS-aware application in
less than 50 lines of C code. It is highly portable and runs on Linux,
many BSD variants and Solaris.
Geoclue is a D-Bus service that provides location information. The primary goal of
the Geoclue project is to make creating location-aware applications as simple as
possible, while the secondary goal is to ensure that no application can access location
information without explicit permission from user.
geocode-glib is a convenience library for the geocoding (finding longitude,
and latitude from an address) and reverse geocoding (finding an address from
coordinates). It uses Nominatim service to achieve that. It also caches
(reverse-)geocoding requests for faster results and to avoid unnecessary server
load.
freevrrpd is a VRRP (Virtual Router Redundancy Protocol) implementation
daemon under FreeBSD, NetBSD and OpenBSD.
This daemon has been rewritten from scratch and is not based on
existing projects. In this second public release, you can find:
* A daemon RFC 2338 Compliant adapted on FreeBSD systems
* Implementation of Virtual Adresses
* Support for multiples VRID
* Master announce state by sending multicast packets via BPF
* Changing routes and IP in 3 seconds
* Doing gratuitous ARP requests to clean the cache of all hosts
* Election between different slave servers
* Same host can be Slave and Master at the same time
* Automatic Downgrade to Slave if a Master is up again
* Anti-Address Conflict system
* Multi-threaded vrrp daemon
* Plain text password authentication
* Using now only one BPF device for all VRID
* Support netmask for Virtual IP addresses
* Support for monitored circuit and dependances between VRIDs
* Support for VLAN pseudo devices under *BSD
A GObject library for Facebook Graph API
This library is in a very early stage of development,
don't use in a final application right now. Use it just
for test purposes at your own risk.