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

doubango

For newbies, please refer to the Programmer's Guide v1.0.0

## tinySAK(a.k.a tiny Swiss Army Knife)

- ANSI-C Object Programing
- Linked lists
- String utility functions
- Memory management
- Dynamic buffers
- Threading
- Runnable
- Mutexes
- Semaphores
- Conditional Variables
- Timers
- Time
- Final State Machine (FSM) manager
- Base64 encoder/decoder
- UUID generator
- CRC32 and CRC16
- URL encoder/decoder
- SHA-1, MD5, HMAC-MD5, HMAC-SHA-1

No dependencies.

## tinyNET (Networking)

- IPv4/IPv6 Sockets (UDP, TCP, TLS and SCTP)
- DHCPv4/v6
- DNS (NAPTR, PTR, SRV, MX, A, AAAA, OPT, CNAME ...)
- ENUM
- NAT Traversal (STUN, TURN and ICE)

Depends on tinySAK

## tinyHTTP (HTTP/HTTPS stack)

- Digest/Basic Authentication
- Pipelining
- CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT and TRACE

Depends on tinySAK and tinyNET

## tinyXCAP (XCAP implementation)

- AUID manager
- URL generator

Depends on tinySAK, tinyNET and tinyHTTP

## tinySMS (SMS over IP)

- SM-TL (3GPP TS 23.040)
- SM-RL (3GPP TS 24.011)
- SMS over 3GPP IMS/LTE networks (3GPP TS 24.341)

Depends on tinySAK

## tinySigComp (Signaling Compression)

- Stream and Dgram compression/decompression
- SIP/SDP and Presence dictionaries
- Deflate Compressor
- UDVM

Depends on tinySAK

## tinyIPSec (IPSec)

- Mode: Transport and Tunnel
- Protocol: AH, ESP or both
- IP Protocol: UDP and TCP
- Algorithm: HMAC-MD5-96 and HMAC-SHA-1-96
- Encryption Algorithm: NULL, DES-EDE3-CBC and AES

Depends on tinySAK

## tinyMSRP(MSRP)

- Large Message IM (RFC 4975 and OMA SIMPLE IM)
- File Transfer (RFC 5547)
- Image Sharing (GSMA IR.79)

Depends on ...

## tinySDP (SDP)

- SDP Offer Answer (RFC 3262 and draft-ietf-sipping-sip-offeranswer-12)

Depends on tinySAK

## tinyMEDIA (Audio, Video, File transfer, Large Message IM ...)

- Plugins, codecs ...

Depends on tinySAK, tinyNET and tinySDP

## tinySIP (3GPP IMS/LTE framework)

- SIP (RFC 3261, 3GPP TS 24.229 Rel-9)
- IMS-AKA (RFC 3310, 3GPP TS 33.203)
- 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 subsciption/publication, Pager Mode IM, ...)
- MMTel (UNI)
- SDP Offer-Answer (SOA)
- Session Timers
- File transfer (RFC 5547) and Image Sharing(GSMA IR.79)
- Large Message IM (OMA SIMPLE IM)
- To be continued....

Depends on tinySAK, tinyNET, tinySDP, tinyMEDIA, tinyHTTP and tinyIPSec