# doubango - open source 3GPP IMS/LTE framework for embedded systems
cross-platform and open source 3GPP IMS/LTE framework for embedded devices such as Android, Symbian, iPhone, Windows Mobile or uLinux.
Keywords: doubango, 3GPP IMS/LTE framework, open source, SIP, RFC 3261, 3GPP TS 24.229, VoIP, MMTel, IPTV, 4G, LTE, XCAP, MSRP, IPSec, SigComp, One Voice

doubango

## Welcome

3GPP IMS (IP Multimedia Subsystem) is the next generation network for delivering IP multimedia services. IMS is standardized by the 3rd Generation Partnership Project (3GPP).
IMS services could be used over any type of network, such as 3GPP LTE, GPRS, Wireless LAN, CDMA2000 or fixed line.

doubango is an experimental, open source, 3GPP IMS/LTE framework for both embedded and desktop systems.
The framework is written in ANSI-C to ease portability and has been carefully designed to efficiently work on embedded systems with limited memory and low computing power and to be extremely portable.

## Features

- SIP (RFC 3261, 3GPP TS 24.229 Rel-9)
- IMS-AKA (RFC 3310, 3GPP TS 33.203, 35.205, 35.206, 35.207, 35.208 and 35.909)
- Private extension headers for 3GPP
- IPv4/IPv6 dual stack
- UDP, TCP, TLS and SCTP
- Service-Route Discovery (RFC 3608)
- Proxy-CSCF discovery using DHCPv4/v6 or/and DNS NAPTR
- SigComp (RFC 3320, 3485, 4077, 4464, 4465, 4896, 5049, 5112 and 1951)
- IPSec
- Security Agreement (RFC 3329)
- NAT Traversal (STUN, TURN and ICE)
- Preconditions (RFC 3312, 4032 and 5027)
- SMS over IP (3GPP TS 23.038, 24.040, 24.011, 24.341 and 24.451)
- ENUM (RFC 3761)
- The tel URI for Telephone Numbers (RFC 3966)
- SIP SIMPLE (Presence Subscription/Publication and Pager Mode IM)
- MMTel (UNI)
- SDP (RFC 3264)
- XCAP (RFC 4825)
- MSRP (RFC 4975 and 5547)
- Audio/Video (AMR, Speex, G.711, H.264, H.263, MPEG4...)
- ...and many other features

## The One Voice Profile (4G/LTE)

doubango supports both Voice and SMS over LTE as defined by the One Voice initiative.
For more information, please refer to Voice over IMS profile V1.0.0(2009-11).

## Multimedia Telephony (MMTel)

- MMTel Supplementary Services (3GPP TS 24.173, 24607, 24.608, 24.607, 24.604, 24.611, 24.610, 24.606, 24.615 and 24.605)
- Supplementary Service Configuration (3GPP TS 24.623)
- Ad-Hoc Multi Party Conference (3GPP TS 24.605)
- Communication Waiting (3GPP TS 24.615)
- Message Waiting Indication (3GPP TS 24.606 and RFC 3842)
- Originating/Terminating Identification Restriction (3GPP TS 24.607/608)
- Communication Diversion (3GPP TS 24.604)
- Communication Barring (3GPP TS 24.611)

Supplementary Service Configuration, Communication Diversion and Communication Barring services use XCAP protocol, which is supported throught tinyXCAP.

All these features are used as part of One Voice Profile (LTE).

## Protocols

- SIP/SigComp
- SDP
- RTP/RTCP (using GStreamer)
- XCAP (RFC 4825)
- MSRP/MSRPS (RFC 4975 and 5547)
- HTTP/HTTPS (RFC 2616 and 2617)
- DHCPv4 (RFC 2131)
- DHCPv6 (RFC 3315)
- DNS (RFC 1034, 1035, 3401, 3402, 3403, 3404, 3596, 2035, 2671, and 2782)

## 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.

## OMA SIMPLE IM

- Pager Mode IM (MESSAGE)
- Session Mode Messaging (MSRP)
- Large Message IM (OMA)
- File Transfer(MSRP) and Image Sharing (GMSA IR.79)

"come share with us 3GPP IMS/LTE experience."