Roadmap

Milestone: release-2.7

3 weeks late (06/30/17 18:00:00)

92%

Number of tickets:
closed:
37
active:
3
Total:
40

Release Focus

  • DTLS for SRTP keying
  • iOS (and Mac) H.264 Native Encoder and Decoder
  • NAT64


Ticket List:


List of Enhancements

common:

No results

pjlib, pjlib-util:

#1999
Linking errors with OpenSSL 1.1.0 when backward compatibility settings turned off
#2006
Android build fail when using NDK r14 caused by the removal of android_alarm.h

pjnath:

No results

pjmedia, pjmedia-audiodev:

#1991
Support ALSA audio device volume setting
#2018
Support DTLS for SRTP keying
#2022
Video Toolbox H264 encoder and decoder for Mac and iOS
#2026
Add option to for the SDP version to not increment when there's no change from previous answer/offer
#2029
Support for bcg729

pjmedia-videodev:

No results

pjsip, pjsua-lib:

#1995
Add API pjsip_transport_shutdown2() to immediately disconnect a transport
#1998
Add API pjsip_evsub_set_uas_timeout()
#2003
Add API pjsip_multipart_get_raw() to get raw body of a multipart message body

pjsua2, swig:

No results

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

#1997
Add setting to retry timer upon transport disconnection failure (503)
#2015
Add multicast option in streamutil sample app


List of Bugs

common:

#1968
Failure in configure-android when specifying --use-ndk-cflags with Android NDK r13 or later
#1994
Miscellaneous fixes

pjlib, pjlib-util:

#2000
Prevent overflow on pj_generate_unique_string() for android
#2019
Conflict with "isblank" when building using g++ 5.4.0
#2020
pj_hash_calc_tolower() might return a different hash value
#2024
Fixed crash due to uncancelled timer if there's an error in resolver's query transmit
#2027
Assertion in pj_gethostip() when system hostname is empty

pjnath:

#2008
iOS specific issue: Error 488 when answering call after app goes background
#2009
Crash in TURN server resolution callback when ICE objects already destroyed

pjmedia, pjmedia-audiodev:

#2013
Prevent crash when timer refresh with SRTP is interrupted by a re-INVITE
#2014
When receiving an SDP answer for SRTP, process the tag correctly based on the offer

pjmedia-videodev:

No results

pjsip, pjsua-lib:

#1966
IPv6 media failed if only one of the party uses ICE
#1996
Via-Header mismatch in CANCEL
#2001
Deadlock between dialog lock and transaction group lock
#2002
Deadlock between PJSUA LOCK, transaction group lock, and UA mutex
#2005
Crash when hanging up call if video capture device fails to open
#2007
Possible crash when using session timer due to the early release of dialog pool
#2010
Failure in initializing registration due to unescaped user part in account contact
#2012
Prevent memory leak when rejecting a call from on_incoming_call() callback
#2016
Buffer overrun in PJSIP transaction layer
#2017
Incorrect parsing of zero length multipart body parts
#2023
Crash on pjsip_dlg_create_uac() when specifying URI with valueless header parameter
#2025
Fixed crash in pjsua_destroy if there's pending outgoing TCP/TLS transmission
#2028
Cannot send UPDATE when call is ringing

pjsua2, swig:

#2011
Fixed crash when accessing video device info in pjsua2
#2021
Crash in getting call info with long Contact header

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

No results


List of Tasks

#1993
Update bundled libSRTP version to enable AES-GCM on OpenSSL 1.1.0 or later
#2004
Update libyuv version to fix compile errors on old gcc versions

Wish List

common

No results

pjlib

#450
PJLIB function to query the DNS server configured in the system

pjlib-util

No results

pjnath

#1017
TURN TLS transport
#1022
Universal Plug and Play (UPnP) support

pjmedia

#116
Patch to disable ALSA support in configure script
#173
AGC and other audio preprocessor filters
#323
Code to use different clock for the bridge (thanks ChenHuan)
#532
Avoid truncated calculation of samples per frame on some 'odd' clock rates.
#587
Conference bridge modifications to reduce latency.
#589
Update Speex AEC to the latest version to get multichannel EC
#679
Support for adding and parsing optional lines in SDP
#865
More clever RTP transport remote address switch
#879
Add pjmedia synchronizer port (for audio device).
#1102
Run-time configuration for controlling keep-alive mechanism sent by stream
#1177
SDP signaling for RTCP-XR
#1180
Support G726 RTP packetization variants
#1437
Video keyframe request/response using RTCP feedback Picture Loss Indication
#1477
Wait for keyframe after a video frame lost to minimize video distortion (thanks Faba Aa for the feedback)
#1544
New codec interface for incremental encoding to improve performance with multiple frames per packet
#1679
Video FPS/framerate converter
#1830
Option to maintain video aspect ratio between requested size and supported size

pjmedia-audiodev

No results

pjsip

#413
Implement draft-sparks-sip-invfix
#432
Support 3GPP refresh interval rule
#484
Allow to use binary certificate in TLS transport
#1021
HTTP tunnel support
#1253
Module data in pjsip_tx_data similar to pjsip_rx_data

pjsua-lib

#143
Dynamically allocate maximum number of accounts, calls, etc in PJSUA-API
#659
Implement RFC3263 for locating servers
#1059
Null sound device for single-threaded environment (thanks Björn Riemer for the report and suggestion)
#1169
Automatically retry the re-INVITE or UPDATE request upon receiving 419/Request Pending response
#1217
Support for custom presence message body with existing PJSUA-LIB buddy management
#1293
Option to specify explicit entity-tag in PUBLISH request (thanks Johan Lantz for the suggestion)

applications

No results

python

No results

unit-tests

#154
Implement dialog tests

third-party

No results


Known Issues

common

#1724
Use static analysis tool to detect bugs

pjlib

#677
System wall clock/time change will cause timer heap entries to be scheduled wrongly

pjlib-util

#545
Handle nameserver that (incorrectly) returns DNS RCODE 2/5/9 for DNS SRV query
#656
Error processing DNS SRV response when SRV entries contain the same host

pjnath

#647
Assign STUN and TURN as default candidate only when the resolution/allocation is complete (thanks Stephen D. Strowes for the suggestion)
#663
ICE negotiation may not complete indefinitely if remote doesn't perform any connectivity checks

pjmedia

#510
Smaller PTIME for L16 codecs
#645
Bad tone generated by the floating point backend with high tone frequency (thanks Olle Frimanson for the report)
#848
Audio drops out with the DirectSound sound device after few hours running
#1105
SDP connection info with multicast address not parsed properly (thanks Simon Bolten for the report)
#1178
Handle SRTP SDES parameters
#1198
Wrong RTCP loss period calculation with multiple frames per RTP packet
#1411
Rejecting SDP (re)offer with c line 0.0.0.0 and port non zero, but no rtpmap for dynamic payload types
#1543
When multiple frames per packet is set, DTMF event retransmission is reduced
#1973
Data races in pjmedia stream

pjmedia-audiodev

No results

pjsip

#378
Implement merged request detection
#530
Transaction PJSIP_TSX_STATE_TRYING state is not propaged properly to dialog usages
#949
Refreshing session in Session Timer should also notice media transport attributes in SDP offer/answer.
#1019
Support for multiple TCP listeners
#1083
The design of the SIP TLS transport may not allow multiple certificates to be loaded
#1096
Assertion in sending UPDATE after receiving 200/INVITE response without to-tag
#1150
Fail to process PIDF XML document if the nodes are namespaced (thanks Johan Lantz for the report)
#1167
Receiving 481 response while in early dialog stage does not seem to terminate the dialog
#1711
Reversed order of on_call_tsx_state() notifications on incoming request within call
#1992
Set INVITE transaction state to Terminated after sending OK

pjsua-lib

#1082
Plain SIP URI is used in Contact header with SIPS destination
#1840
Review API pjsua_transport_close()

applications

#1179
SRTCP with HMAC-SHA1 authentication must always use 80 bits tag length
#1498
SDL event polling gets stuck in vidgui app

python

No results

unit-tests

No results

third-party

No results

Milestone: release-2.x

No date set

79%

Number of tickets:
closed:
23
active:
6
Total:
29


These are list of features and fixes that we want to implement in 2.x lifetime. These tickets are here because we don't have a definite time frame on when they will be implemented (otherwise they will go to a specific release version), so please don't ask for more specific plans for these.


Wish List

Things that we wish to implement in 2.x:

common

#1298
Use PJ_ERROR consistently

pjlib

#1125
Thread based ioqueue to reduce power consumption on some mobile/embedded platforms

pjlib-util

No results

pjnath

No results

pjmedia

#1297
Dynamic payload type allocation

pjmedia-audiodev

#1778
Support for Voice Processing IO Audio Unit on Mac

pjsip

No results

pjsua-lib

#1049
PJSUA-LIB should report disconnection event immediately after pjsua_call_hangup() is called
#1829
Avoid recreating video renderer due to format change in the beginning of video session

applications

No results

python

No results

unit-tests

No results

third-party

No results


Known Issues

Defects that we wish to fix in 2.x:

common

No results

pjlib

No results

pjlib-util

No results

pjnath

No results

pjmedia

No results

pjmedia-audiodev

No results

pjsip

No results

pjsua-lib

No results

applications

No results

python

No results

unit-tests

No results

third-party

No results

Note: See TracRoadmap for help on using the roadmap.