主页(http://www.pttcn.net):PJSIP开源SIP协议栈
PJSIP 开源SIP协议栈是英国公司Teluu Ltd维护的SIP开源项目。
官方是这样描述PJSIP协议栈的:
PJSIP是免费开源的多媒体通信的软件包,支持的协议包括:SIP, SDP, RTP, STUN, TURN, 和ICE。它提供了基于SIP的多媒体开发框架,和NAT 支持包,通过高级API 接口提供支持。因此,它可以支持桌面系统开发,嵌入式开发和移动手持设备的开发。
PJSIP本身非常紧凑,功能非常丰富。支持语音,视频,在线状态,及时通讯服务,具有非常详细的开发文档。PJSIP本身具有非常良好的可移植性,支持多种操作系统和开发环境,例如windows, Linux, Mac和安卓操作系统。
2005年,PJSIP 由一个小的开发团队发起。经过多年的持续开发和维护,目前来自世界各地的上百个开发人员参与了这个项目。从2007开始,一直配合SIPit 进行SIP兼容性测试。
PJSIP 数据手册
支持的操作系统
-
Mac OS X
-
Windows (32 and 64bit), including Windows 8
-
Linux/uClinux
-
Smartphones:
-
iPhone OS/iOS including iOS 7 (on iPhone, iPad, iPod Touch) with iOS background support
-
Android
-
BlackBerry (BB10)
-
Windows Mobile/Windows CE
-
(Windows Phone 8 is currently under development)
-
Symbian S60 3rd Edition and 5th Edition
-
Community supported:
-
OpenBSD
-
FreeBSD
-
Solaris
-
MinGW
-
RTEMS
SIP 处理能力
-
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)
-
Routing/NAT:
-
rport (RFC 3581)
-
Service-Route header (RFC 3608)
-
SIP outbound for TCP/TLS (RFC 5626)
-
Path header (with SIP outbound) (RFC 3327)
-
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)
-
Reason header (RFC 3326, partially supported)
-
P-Header (RFC 3325, partially supported)
-
SDP:
-
RFC 2327 (obsoleted by RFC 4566)
-
RTCP attribute (RFC 3605)
-
IPv6 support (RFC 3266)
-
Multipart (RFC 2046, RFC 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, RFC 3863)
-
xpidf+xml
-
RPID (subset) (RFC 4480)
-
Other extensions:
-
INFO (RFC 2976)
-
AKA, AKA-v2 authentication (RFC 3310, RFC 4169)
-
ICE option tag (RFC 5768)
-
Message summary/message waiting indication (MWI,RFC 3842)
-
Compliance, best current practices:
-
Issues with Non-INVITE transaction (RFC 4320)
-
Issues with INVITE transaction (RFC 4321)
-
Multiple dialog usages (RFC 5057)
-
SIP torture messages (RFC 4475, tested when applicable)
-
SIP torture for IPv6 (RFC 5118)
-
Message Body Handling (RFC 5621. Partial compliance: multipart is supported, butContent-Disposition header is not handled)
-
The use of SIPS (RFC 5630. Partial compliance: SIPS is supported, but still make use oftransport=tls parameter)
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:
-
Other:
-
QoS support on sockets (DSCP, WMM)
(中国集群通信网 | 责任编辑:陈晓亮) |