Milestone release-1.5
Release Focus
Release focus:
- Work on TLS transport (#957):
- generic secure socket abstraction in PJLIB
- rewrite SIP TLS transport
- 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
pjlib
pjlib-util
No results
pjnath
No results
pjmedia
No results
pjmedia-audiodev
No results
pjsip
No results
pjsua-lib
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
No results
pjsip
- #411
- Cannot update account presence's status while previous PUBLISH is in progress (thanks Olivier Beytrison for the report)
- #917
- INVITE/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 <person> 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