SipUnit provides a class library that allows software developers to create automated unit tests for SIP applications. Session Initiation Protocol (SIP) is widely used for providing telephone services over the Internet. SipUnit extends the JUnit framework to incorporate SIP-specific assertions, and it provides a high-level API for performing the SIP operations needed to interact with or invoke a test target. A test program using the SipUnit API is written in Java and acts as a network element that sends/receives SIP requests and responses.
Mediastreamer is a portable C library that allows you to create and run audio and video streams. It is designed for any kind of voice over IP applications. It features RTP connectivity, audio codecs (Speex, iLBC, G711, GSM, and AMR), video codecs (MPEG4, H263, H264, and Theora), sound card I/O, wav file streaming, webcam video capture, echo-cancellation, conferencing, parametric equalization, and various other utilities. It has a modular design that makes it extensible through plugins. This is the media-streaming component of linphone, a GPL SIP video phone.
oRTP is a library implementing the Real-time Transport Protocol (RFC3550), written in C. It is easy to use and provides a packet scheduler for sending and receiving packets on time, adaptive jitter compensation, automatic sending of RTCP compound packets, and the RTCP parser API. It works with IPv6.
reSIProcate is a high performance, object-oriented, C++ sip stack that is compliant with RFC 3261. It includes support for a wide variety of operating systems, including Windows and Linux. It has full support for UDP, TCP, and TLS transports on both IPv4 and IPv6. It also implements the full set of specifications for DNS usage in SIP, including NAPTR and SRV lookups (RFCs: 3263, 2915, 2782) using an asynchronous DNS library (ares).
VoiceXML::Client is a library that provides Perl programs with the ability to act as a user agent that fetches Voice Extensible Markup Language (VoiceXML) documents, parses them, and then executes the instructions therein by playing prompts and collecting user DTMF input/voice recordings through a handle to some type of telephone or other device interface. VoiceXML::Client's focus is on the client side. The XML documents are generated by a distinct process of your choice, unrelated to the library.