Milestone release-2.8
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:
pjlib, pjlib-util:
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:
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:
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:
applications, python, unit-tests, third-party:
List of Tasks
Note: See
TracRoadmap for help on using
the roadmap.