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