wiki:PJSIP-Datasheet

Version 20 (modified by bennylp, 14 years ago) (diff)

--

PJSIP Datasheet

Operating Systems Supported

  • Windows
  • Mac OS X
  • Linux/uClinux
  • Smartphones:
    • Windows Mobile/Windows CE
    • Symbian
    • iPhone OS/iOS (iPhone, iPad, iPod Touch)
  • Community supported:
    • OpenBSD
    • FreeBSD
    • Solaris
    • MinGW
    • RTEMS
    • Android

SIP Capabilities

  • Base specs:
    • Core methods: RFC 3261: INVITE, CANCEL, BYE, REGISTER, OPTIONS, INFO
    • Digest authentication (RFC 2617)
  • Transports:
    • UDP, TCP, TLS (server or mutual)
    • DNS SRV resolution (RFC 3263)
    • IPv6 (UDP only)
    • QoS (DSCP, WMM)
  • Call:
    • Offer/answer (RFC 3264)
    • hold, unhold
    • redirection
    • transfer/REFER (attended and unattended):
      • Base (RFC 3515)
      • replaces (RFC 3891)
      • Referred-by (RFC 3892)
    • sipfrag support (RFC 3420)
    • norefersub (RFC 4488)
    • UPDATE (RFC 3311)
    • 100rel/PRACK (RFC 3262)
    • tel: URI (RFC 3966)
    • Session Timers (RFC 4028)
  • SDP:
    • RFC 2337 (obsoleted by RFC 4566)
    • RTCP attribute (RFC 3605)
    • IPv6 support (RFC 3266)
  • Multipart (RFC 2046, 5621)
  • Presence and IM:
    • Event framework (SUBSCRIBE, NOTIFY) (RFC 3265)
    • Event publication (PUBLISH) (RFC 3903)
    • MESSAGE (RFC 3428)
    • typing indication (RFC 3994)
    • pidf+xml (RFC 3856, 3863)
    • xpidf+xml
    • RPID (subset) (RFC 4480)
  • Other extensions:
    • INFO (RFC 2976)
    • rport (RFC 3581)
    • AKA, AKA-v2 authentication (RFC 3310, 4169)
    • Service-Route header (RFC 3608)
    • ICE option tag (RFC 5768)
  • Compliance:
    • Issues with Non-INVITE transaction (RFC 4320)
    • Issues with INVITE transaction (RFC 4321)
    • Multiple dialog usages (RFC 5057)

Media/audio capabilities

  • Core:
    • any clockrates
    • N-channels support
    • zero thread
  • Base:
    • event (RFC 2833)
    • echo cancellation (Speex, CANEC, suppressor, or native)
    • client conferencing
    • tone generation
    • file playback and recording
    • file playlist
    • adaptive jitter buffer
    • packet lost concealment
    • clock drift recovery
  • Codecs:
    • Bundled:
      • Speex 8KHz, 16Khz, 32KHz
      • iLBC, GSM,
      • L16, G.711A/U (PCMA/PCMU),
      • G.722,
      • G.722.1 16KHz/32KHz (Siren7/Siren14, licensed from Polycom)
    • with Intel IPP library:
      • AMR-NB, AMR-WB,
      • G.722, G.722.1,
      • G.723.1, G.726, G.728, G.729A,
    • Hardware codecs:
      • on Nokia with APS/VAS-Direct: AMR-NB, G.729, iLBC, PCMA, PCMU
      • on iPhone: iLBC
  • Transports:
    • RTP and RTCP with media statistic (RFC 3550, 3551)
    • RTCP XR (subset, RFC 3611)
    • UDP, STUN, ICE
    • IPv6 (UDP only)
    • SRTP (RFC 3711) and SRTP SDES (RFC 4568)
    • QoS (DSCP, WMM)
  • Audio devices:
    • native WMME (Windows, Windows Mobile)
    • native ALSA (Linux)
    • native Symbian MMF (Symbian/Nokia S60)
    • native APS (Nokia S60) with hardware EC, and APS-Direct to support hardware codecs
    • native VAS (Nokia S60) with hardware EC, and VAS-Direct to support hardware codecs
    • native CoreAudio (Mac OS X, iPhone) with support for native/hardware EC
    • PortAudio (WMME, DirectSound, OSS, ALSA, CoreAudio, etc.)

NAT Traversal

  • STUN:
    • RFC 5389
    • Some RFC 3489 compatibility
    • DNS SRV resolution
    • short/long term authentication
    • fingerprinting
  • TURN:
    • RFC 5766
    • DNS SRV resolution
    • UDP and TCP client connection
  • ICE:
    • RFC 5245
    • host, srflx, and relayed candidates
    • aggressive and regular nomination
    • ICE option tag (RFC 5768)
  • NAT type detection:
    • legacy RFC 3489
  • Other:
    • QoS support on sockets (DSCP, WMM)