Kundan Singh

 
  • Increase font size
  • Default font size
  • Decrease font size
Home Browse Source

Browse Source Code

There are two parts in the software -- the standards and applications. The standards as specified in certain RFCs and Internet-drafts are implemented in the std package whereas the high-level applications are implemented in the app package. As mentioned earlier, one of the main advantage of building on 39 peers is that the source code is much smaller in terms of lines of code.

The following table summarizes the std package content and allows your to browse the source code with embedded documentation extracted from the corresponding specifications.

Module Description Lines
rfc2198Implements RTP payload type for redundant audio data. 45
rfc2396Implements various forms of addresses such as URI or SIP address 177
rfc2617Implements HTTP basic and digest authentication which is reused in SIP. 131
rfc2833Implements the DTMF touch-tone payload in a RTP packet.
40
rfc3261Implements the user agent part of Session Initiation Protocol (SIP). 1558
rfc3263
Implements SIP server discovery using DNS NAPTR, SRV and A.
108
rfc3264Implements the SDP offer answer model for unicast session as used in SIP 120
rfc3489bisImplements basic NAT traversal technologies such as STUN, NAT discovery using STUN, and variation on TURN.
693
rfc3550Implements the Real-time Transport Protocol (RTP) and its companion control protocol RTCP. 687
rfc3551Defines the static payload types for RTP.
48
rfc3920Implements XMPP core for client. 435
rfc3921Implements IM and Presence of XMPP client (incomplete). 373
rfc4566Implements the session description protocol (SDP). 162

 

The high level application modules use some of these modules and build additional applications or libraries as summarized below:

Module Description Lines
voipImplements a SIP user agent library for registration, call, instant messaging and conferences. 1261
dhtImplements a variation of the Bamboo/Pastry distributed hash table algorithm
1983
opendhtImplements the client side library to connect to existing OpenDHT service. 71
p2pImplements a peer-to-peer pipe abstraction between two peers using a DHT. (incomplete). 642
p2psipImplements various P2P-SIP application scenarios using p2p and voip modules. (incomplete). 285
cryptoImplements an abstraction for cryptography algorithms to be used in dht or p2p. (incomplete). 261
dhtgui
Implements a test tool to launch p2p/dht module and display the nodes in a circle. 427
sipdImplements a very simple SIP registration and proxy server using rfc3261 module. (incomplete) 115

 

There are several supporting modules. Below are some of the important ones.

Module Description Lines
simplexmlImplements a simple XML DOM with convenient methods and operators to work on XML and XMLList. 420

 You can also browse the sources on Google Code but without the embedded documentation.