http://trac.pjsip.org/repos/milestone/release-1.5 Release focus: --------------- * Work on TLS transport (#957): o generic secure socket abstraction in PJLIB o rewrite SIP TLS transport o TLS transport in Symbian * Socket QoS (TOS/DSCP, WMM) support in all components (#950) * Support for SIP Message Summary / Message Waiting Indication extension (#982) * Many presence related works (#937, #411, #364) * More mature native WMME audio backend, it is now used by default on Windows (#983) Incompatibility Info -------------------- SSL On GNU build system: please re-run configure On other build systems: Previously the macro PJSIP_HAS_TLS_TRANSPORT is used to enable TLS transport in PJSIP. Now use (new) configuration macro PJ_HAS_SSL_SOCK to enable SSL/TLS support in PJLIB. By default, TLS support in PJSIP (the PJSIP_HAS_TLS_TRANSPORT macro) will be enabled based on this (PJ_HAS_SSL_SOCK) macro value. Presence There have been some behavioral changes which may need some attention to: * presence: ticket #937 among other things implemented automatic buddy's presence resubscription upon receiving several specific termination causes. Ticket #411 and #364 improved the PUBLISH request handling. If you have these features implemented in your application you may want to disable it. Deprecation Info --------------------- None detected List of Enhancements ---------------------- common #957 SSL/secure socket abstraction and SIP TLS transport rewrite #982 Support for SIP Message Summary/Message Waiting Indication (MWI, RFC 3842) pjlib #950 Support for QoS settings (TOS, DSCP, WMM, 802.1p) for sockets #981 New pj_perror() and PJ_PERROR() APIs to print error message to the log pjlib-util No results pjnath No results pjmedia No results pjmedia-audiodev #983 Native WMME audio device backend is now the default device on Win32 and Windows Mobile. PortAudio is by default disabled. pjsip No results pjsua-lib #864 Revise on account registration Contact update rule #937 Revamping of presence management to make it more efficient #970 More gracefull PJSUA-LIB shutdown sequence applications #956 SIP conference bot application python No results unit-tests No results third-party No results List of Bugs -------------------- common #951 Miscellaneous fixes pjlib #972 setsockopt options compatibility on various platforms (thanks Yann, John Ridges, and Dan Arrhenius for the reports) #973 pj_ioqueue_accept() fails on Windows NT IOCP backend if connection is immediately available and the "local" parameter is NULL (thanks John Ridges for the report) #975 Symbian timer heap implementation unable to schedule duration more than 2147 seconds (thanks Nir Elkayam for the report) #980 Memory pool alignment error when alignment is set to be greater than 4 bytes (thanks John Ridges for the report) #984 Active socket fails to accept two or more concurrent incoming connections. #989 Issues with Windows Unicode build (thanks Michele Cicciotti for the patch) pjlib-util No results pjnath #953 ICE may find the wrong best candidate (thanks John Ridges for the report) #960 STUN compatibility problem with RFC 3489 servers (in encoding SERVER-NAME or SOFTWARE attribute) #971 Assertion in ICE with regular nomination strategy when registering timer #974 Crash if ICE session is destroyed by the application inside "on_ice_complete" with an PJ_ICE_STRANS_OP_NEGOTIATION op callback (thanks John Ridges for the report) pjmedia #941 Lots of compilation wanings in libg7221 in basic_op.h with gcc #952 Error in calculating RTP packet extended header (thanks Thomas Falk for the patch) #958 Passthrough codec overwrites codec parameters with iLBC setting. #964 Assertion when receiving SDP media with port 0 and without rtpmap attribute for the dynamic payload type formats (thanks Andrey Kovalenko for the report) #977 ICE does not change role to Controlling when talking to ice-lite agents (thanks Amaresh Marekar for the report) #988 Aray bounds checking in SDP functions (thanks Mark Webster for the report) pjmedia-audiodev #968 WMME audio device initialization should not return non-PJ_SUCCESS just because of no audio device installed. #978 Some noise in APS G.729 decoding/playback on some devices. #990 S60 VAS audio device may fail to start properly in the first call. pjsip #411 Cannot update account presence's status while previous PUBLISH is in progress (thanks Olivier Beytrison for the report) #917 CANCEL may be sent to different servers than the INVITE when DNS SRV is used (thanks Alexei Kuznetsov for the report) #936 CANCEL must be sent with TCP if the INVITE was sent with TCP because of 1300 bytes message size/MTU limit (thanks Johan Lantz for the report) #940 Multiple header rows with the same name may not be completely processed by PJSIP modules. #954 Session Timer fixes #959 Assertion upon receiving malformed SIP messages (thanks Andrey Kovalenko for the report) #965 Receiving (malformed) re-INVITE with the same Via branch parameter value as previous INVITE would raise assertion (thanks Daniel Nanassy for the report) #966 Bad RPID id attribute generation (thanks Filipe Figueiredo for the report) #967 Wrong Route header generation in CANCEL request with strict route #979 Crash when printing Retry-After header (thanks Andrey Kovalenko for the report) #986 Assertion when authorization PJSIP_AUTH_AUTO_SEND_NEXT is enabled (thanks Zhefeng Du for the report) pjsua-lib #364 Upon shutdown, un-REGISTER request should be sent only after un-PUBLISH request has completed successfully #881 PJSUA-LIB should send UPDATE or re-INVITE after ICE negotiation, if the default candidate has changed #976 Account must be associated with the call before initializing media channel in making call (thanks Tal Fromm for the fix) applications No results python #955 Fixes and some enhancements to Python module (thanks Saśl Ibarra for the patches!) unit-tests No results third-party No results