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