Milestone release-2.9

3 weeks late (May 1, 2019 5:00:00 AM)

79%

Total number of tickets: 75 - closed: 59 - active: 16

common

2 / 5

pjlib

10 / 11

pjlib-util

2 / 2

pjmedia

10 / 16

pjmedia-audiodev

1 / 2

pjnath

2 / 2

pjsip

17 / 17

pjsua-lib

7 / 11

pjsua2

8 / 9

Release Focus

  • Video conference
  • Darwin (Mac & iOS) native SSL backend
  • NAT enhancement: TURN over TLS
  • SIP multiple listeners


Ticket List:


List of Enhancements

common:

#1298
Use PJ_ERROR consistently

pjlib, pjlib-util:

#2153
Make timer entry structure opaque
#2179
Wipe out memory used for storing SSL keys before released
#2180
Refactoring SSL socket backend implementations
#2185
Darwin (Mac OS & iOS) native SSL backend

pjnath:

#1017
TURN TLS transport
#2197
Support TURN extensions for TCP allocations (RFC 6062)

pjmedia, pjmedia-audiodev:

#589
Update Speex AEC to the latest version to get multichannel EC
#1177
SDP signaling for RTCP-XR
#1297
Dynamic payload type allocation
#1778
Support for Voice Processing IO Audio Unit on Mac
#2090
Support trickle ICE
#2171
Apply returned frame quality filter in OpenH264 decoder
#2181
Video conference implementation
#2186
Enable video stream keep alive mechanism

pjmedia-videodev:

No results

pjsip, pjsua-lib:

#1019
Support for multiple TCP listeners
#1049
PJSUA-LIB should report disconnection event immediately after pjsua_call_hangup() is called
#2107
Add option to use loopback media transport in pjsua
#2148
Add parsing support for the OAuth 2.0 authentication mechanism
#2149
Add option to disable transport connection reuse
#2150
Add new callback to notify when accept operation fails on TLS listener
#2151
Call tp_drop_data_cb() when there is PJSIP_EMISSINGHDR or PJSIP_EINVALIDSTATUS error on incoming message
#2162
If listener restart fail, don't proceed with handling account re-registration (update contact) on IP change process
#2165
Support video only call in pjsua
#2187
Delay the creation of video capture until it is needed
#2198
SIP resolve to return IPv4 and IPv6 synthesized addresses for IPv4 address literals

pjsua2, swig:

#2105
Add option to specify SWIG bindings
#2142
Export pjmedia_echo_flag to PJSUA2 SWIG Java interface
#2158
Avoid shared PJSUA2 Call instance in call transfer scenario

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

No results


List of Bugs

common:

#2147
Miscellaneous fixes
#2177
Updated configure-android script for NDK r17, r18, r19

pjlib, pjlib-util:

#2172
Crash due to double reference decrements in timer
#2174
Fix out of bound error when enabling GnuTLS
#2176
Create stress test for timer heap
#2178
Crash in getting TLS certificate info when subject/issuer line is empty
#2190
Crash in ioqueue post completion if callback is not set
#2193
Buffered read data on SSL socket might not immediately get read after handshake is complete
#2199
Assertion when DNS SRV resolver receives empty record in response
#2200
Ignore/discard DNS SRV response with truncated flag set
#2201
Restart UDP transport after replace_udp_socket fail when sending data

pjnath:

No results

pjmedia, pjmedia-audiodev:

#2088
Match telephone-event's clock rate in generating SDP answer
#2124
Separate DTLS-SRTP negotiation for RTP and RTCP
#2152
Avoid premature video frame decoding due to RTP reordering
#2157
Update media transport adapter sample
#2160
Fix stuck issue in ioqueue when detaching UDP media transport
#2163
Frame rate (fps) detection issue
#2166
Possible buffer overread if RTCP packet length is invalid
#2168
Add media event for audio device error
#2188
RTCP RR not generated if stream's encoder channel is paused

pjmedia-videodev:

No results

pjsip, pjsua-lib:

#1840
Review API pjsua_transport_close()
#2109
NAT64: Rewrite remote IPv4 address in Contact or Route
#2134
STUN server resolution failure causes delay
#2146
Revisit IPv4/IPv6 settings and behavior in pjsua
#2155
Cleanup call setting flag before sending reinvite on IP change
#2161
Avoid deadlock triggered by incoming message when transport is being shutdown
#2164
Subscription may get terminated when NOTIFY is challenged
#2169
Update invite options when receiving INVITE provisional response with Allow UPDATE header
#2170
When using pjsua2 API, Re-INVITE with no SDP will be responded with 488 response
#2175
Delayed sending of ACK request (using on_send_ack() ) may prematurely send the ACK
#2182
Prevent crash in unpublishing presence when deleting account
#2183
Dialog not destroyed on late media offer scenario
#2191
Crash due to double timer entry scheduling in SIP transport
#2192
Update dialog local contact for non registering account
#2195
Assertion when receiving more calls than the configured maximum
#2196
Assertion due to unset sip error code when media initialization fails during incoming call

pjsua2, swig:

#2156
Object slicing in MediaFormatVector
#2159
Add synchronization for Endpoint::libRegisterThread()
#2173
On PJSUA2, application will not be notified when when SDP nego fails due to unsupported codec.
#2184
PJSUA2 cannot switch from null audio device
#2189
PJSUA2: thread safety issue in list of objects
#2194
onStreamDestroyed callback is not called upon call disconnection

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

No results


List of Tasks

#1820
Helgrind thread error detector test and analysis
#2143
Investigate AEC info to be added into call info & statistics dump
#2154
Test with Opus 1.3
#2167
Perform RTP fuzzing

Note: See TracRoadmap for help on using the roadmap.