Milestone release-2.8

Completed 6 years ago (Sep 5, 2018 4:35:44 AM)

100%

Total number of tickets: 82 - closed: 82 - active: 0

applications

2 / 2

common

5 / 5

pjlib

8 / 8

pjlib-util

1 / 1

pjmedia

20 / 20

pjmedia-audiodev

1 / 1

pjmedia-videodev

1 / 1

pjnath

2 / 2

pjsip

14 / 14

pjsua-lib

20 / 20

pjsua2

5 / 5

third-party

2 / 2

unit-tests

1 / 1

Release Focus

  • OPUS param on the fly
  • WebRTC interopability - RTP/SAVPF - SSRC

Backward incompatibility

  • Application using PJMEDIA API directly should explicitly invoke pjmedia_transport_media_start() to start receiving RTP packets. Application that does not use SDP can simply pass zero/null for pool and SDP params, e.g: pjmedia_transport_media_start(tp, 0, 0, 0, 0). Please check #2097 for more info.


Ticket List:


List of Enhancements

common:

#2070
Print IPv6 addresses with brackets in the log
#2098
Add SDP attribute SSRC and CNAME

pjlib, pjlib-util:

#2082
Add support for GnuTLS
#2083
Fix build error when building with LibreSSL as SSL backend
#2101
Prevent crash due to access to an already destroyed atomic object
#2127
Replace DNS resolver mutex with group lock

pjnath:

No results

pjmedia, pjmedia-audiodev:

#865
More clever RTP transport remote address switch
#2057
Optimization: Improve conference mix loop performance
#2068
Add compile time option to enable/disable simple AGC in conference
#2073
Enable wav playlist to play WAV files with extra chunks after DATA chunk
#2087
Support for RTP and RTCP multiplexing
#2089
Support receiving Opus packets with various frame lengths
#2097
Start read operation in UDP media transport in pjmedia_transport_media_start()
#2103
Green screen in the beginning of video call
#2111
Add compile-time setting to specify DTMF duration in ms
#2113
Implement conference signal level adjustment for a specific connection
#2126
Implement RTCP Feedback

pjmedia-videodev:

No results

pjsip, pjsua-lib:

#484
Allow to use binary certificate in TLS transport
#2036
Support DTMF via SIP INFO
#2058
New PJSUA API to register a transport factory
#2063
Add more documentation throughout PJSIP to prevent stack buffer overflow
#2071
Update pjsip_resolve() to be able to return more than one resolved address
#2077
New PJSUA & PJSUA2 APIs for instantiating extra audio device
#2078
Revisit IPv4/IPv6 settings and behavior in pjsua
#2080
API for updating remote target via re-INVITE/UPDATE
#2100
Move SRTP setting in PJSUA and PJSUA2 to account setting
#2119
Don't raise assert when receiving an incoming call without a pjsua account
#2123
Follow SDP answer changes in 18x & 2xx responses
#2128
Add feature to allow responding incoming INVITE/re-INVITE asynchronously and set the SDP answer
#2132
Updated account matching algo for incoming request
#2133
Skip IPv4 STUN resolution if account is using NAT64
#2141
Add TCP initial receive timeout for server connection

pjsua2, swig:

#2069
Add outbound proxy settings in pjsua2

applications, python, unit-tests, third-party:

#2086
Add C# binding using SWIG, and support for Xamarin.


List of Bugs

common:

#2059
Miscellaneous fixes
#2067
Fix various linker error when building as dll on Visual Studio 2015

pjlib, pjlib-util:

#2091
On iOS11, replace_udp_sock() might fail and lead to unusable UDP transport
#2099
SSL connection suddenly gets closed after sending packets intensively
#2112
Initialization of ephemeral ECDH (EECDH) when accepting TLS session works incorrectly when linked with OpenSSL 1.1.0x
#2129
Crash when PJ_GRP_LOCK_DEBUG is set
#2140
Timestamp clock issue when device is asleep in iOS

pjnath:

#2136
Increase default ICE password length as mandated by the RFC
#2138
Missing IPv6 ICE candidates when IPv6 media is configured in PJSUA

pjmedia, pjmedia-audiodev:

#2084
Opus decode/recovery issue when FEC or PLC is enabled
#2092
Crash when receiving SDP with invalid fmtp attribute
#2093
Crash when parsing SDP with an invalid media format description
#2096
Various updates in DTLS-SRTP
#2106
Fixed SID counter for AMR-WB
#2110
Fix incorrect DTMF duration/timestamp for codecs with RTP timestamp unit not using actual sampling rate
#2114
Reset VideoToolbox on iOS when app switches from background to active
#2118
Possible insufficient stream buffer size when using Opus
#2131
Incorrect Opus fmtp settings
#2139
Fix potentially incorrect buffer allocation for video port renderer

pjmedia-videodev:

#2122
Fail to start video preview on Android due to error creating converter

pjsip, pjsua-lib:

#2060
Prevent releasing unacquired lock in SIP dialog
#2061
Unable to destroy certain PJSIP transports
#2064
Fix return code in pjsip_find_msg()
#2066
SDP ignored in 180/183 response without To tag
#2072
on_call_transfer_status() callback is not called when REFER is responded with failure response
#2074
Blocking select() on Android
#2076
Call disconnection in failover scenario due to transport error on previous INVITE request
#2079
Crash in pjsip due to race condition in account's keep alive timer
#2085
Via header mismatch in CANCEL
#2102
Fixed crash when transaction timer callback is called after transaction is destroyed
#2104
Prevent double free on Failed STUN resolution
#2108
Fixed RTP socket to bind to any available port if port is zero
#2115
Deadlock between PJSUA LOCK and conference mutex
#2120
Crash in SIP session timer after call hold responded with 422
#2125
Fixed crash when hanging up call if call invite hasn't been created
#2130
Re-INVITE not sent for non-registering accounts on IP change
#2137
Race condition in 183 re transmission can result in a deadlock
#2144
Cannot query stream info from pjsua on_stream_created() callback
#2145
Don't rearrange media when sending re-INVITE with PJSUA_CALL_REINIT_MEDIA

pjsua2, swig:

#2075
Cannot change active sound device using PJSUA2 setPlaybackDev/setCaptureDev()
#2081
Fixed assertion when setting audio dev in PJSUA2
#2117
Crash when deleting PJSUA2 Account
#2121
SWIG exception in mapping an invalid C++ enum value to Java

applications, python, unit-tests, third-party:

#2065
Update libyuv version to fix linker error when building dll on Visual Studio 2015
#2116
iLBC using memcpy instead of memmove for overlapping mem
#2135
Various PJSUA tests (Python scripts, unit tests) updates and fixes


List of Tasks

#2038
Review pjsua app sample about pjsua_call_info usage
#2062
Remove deprecated Linux kernel implementation

Note: See TracRoadmap for help on using the roadmap.