News
October 16, 2010
blah blah blah blah blah blah blah blah .
Read More

September 27, 2010
blah blah blah blah blah blah blah blah .
Read More

Framework

Developement

Valid HTML 4.0! Valid CSS!
Welcome to doubango project!
cross-platform, open source 3GPP NGN/IMS framework for embedded systems

doubango is an experimental cross-platform, open source 3GPP NGN/IMS framework for embedded systems (it also works on Windows XP/Vista/7, Mac OS X and unix-like systems). It is fully written in ANSI C.
The framework has been carefully designed to efficiently work on embedded systems with limited memory and low computing power and to be extremely portable.

Supported platforms
Supported Systems

SIP/IMS Stack

The SIP/IMS stack (RFC 3261) implements 3GPP TS 24.229 Rel-9 and can be used to develop VoIP applications targeting embedded systems, desktop computers, laptops, tablet PCs or handheld PCs.
You can also use the stack to develop IM clients (Both Page Mode and Session Mode) using SIMPLE protocol. Almost all SIP methods are supported (INVITE, MESSAGE, REFER, UPDATE, INFO ...) and the stack could be easily extended to implement any missing or custom method.
The Stack contains both MMTel and PoC extensions to allow developing rich multimedia applications.
The transport layer offers possibilities to use UDP, TCP, TLS or SCTP protocols.

Networking

To ease portability, doubango framework contains several platform independent network stacks such as HTTP/HTTPS(RFC 2616), DHCPv6(RFC 3315 and many othes), DHCPv4(RFC 2131 and many others) or DNS(RFC 1034, 1035 and many others).

- HTTP/HTTPS: used in conjunction with the XCAP stack and for SIP content indirection.

- DHCPv4/DHCPv6: used for Proxy-CSCF discovery (RFC 3319 and RFC 3361), Geoconf (RFC 3825), Civic Addresses Configuration Information (RFC 4676), Emergency call, ...

- DNS: used for Proxy-CSCF discovery (NAPTR), to locate SIP Servers (RFC 3263), to support E.164 numbers (RFC 2916), ...

All these stacks are part of tinyNET

Signaling Compression (SigComp)

SIP messages can be compressed using SigComp (RFC 3320) which is natively supported through tinySigComp.

Security

All SIP messages can be protected using IPSec or TLS with or without security agreement mechanism (RFC 3329).
IPSec is natively supported through tinyIPSec and TLS through openssl.

NAT Traversal

NAT traversal is a key feature for any VoIP application and allows media (RTCP/RTP) and signaling (SIP) packets to traverse NATs.
Symmetric Response Routing (RFC 3581) is used by default for SIP signaling and either STUN2 (RFC 5389) or ICE (draft-ietf-mmusic-ice-19) can be used at media layer.
ICE makes use of STUN protocol and its extension, traversal Using Relay NAT (TURN) which is natively supported by tinyNET.

XCAP with OMA extensions

XCAP (RFC 4825) is used to remotely manage your contacts (resource-lists), avatars (oma_status-icon), pres-rules, poc-settings, rls-services ...
Only the engine (HTPP stack with support for basic/digest authentication and the URL generator) is provided and it's up to you to parse the returned XCAP/XML messages.
XCAP is natively supported through tinyXCAP.

MSRP with OMA SIMPLE IM extensions

MSRP (RFC 4975 and RFC 5547) is used for Large message transfer and for either Image Sharing (GSMA IR.79) and File transfer.
MSRP is natively supported through tinyMSRP.

SDP Offer-Answer

The media layer contains a complete SOA (SDP Offer-Answer) framework with MMTel and PoC extensions to develop Multimedia telephony applications without having to read hundreds of technical specifications. The SOA machine is designed as per RFC 3264 and draft-ietf-sipping-sip-offeranswer-12.

The media framework uses GStreamer for audio/video transport. You don't need to understand how GStreamer works in order to develop your application but it is up to you to compile it for your target platform. GStreamer is known to work on Windows, Mac OS X, Android, Symbian (S60) and many other systems.