Roadmap

Milestone: release-2.8

Due in 12 days (07/01/18 18:00:00)

76%

Number of tickets:
closed:
51
active:
16
Total:
67

Release Focus

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


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

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
#2090
Support trickle ICE
#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

pjmedia-videodev:

No results

pjsip, pjsua-lib:

#484
Allow to use binary certificate in TLS transport
#1049
PJSUA-LIB should report disconnection event immediately after pjsua_call_hangup() is called
#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
#2107
Add option to use loopback media transport in pjsua
#2119
Don't raise assert when receiving an incoming call without a pjsua account

pjsua2, swig:

#2069
Add outbound proxy settings in pjsua2
#2105
Add option to specify SWIG bindings

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

pjnath:

No results

pjmedia, pjmedia-audiodev:

#2084
Opus decode/recovery issue when FEC or PLC is enabled
#2088
Match telephone-event's clock rate in generating SDP answer
#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

pjmedia-videodev:

No results

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
#2109
NAT64: Rewrite remote IPv4 address in Contact or Route
#2115
Deadlock between PJSUA LOCK and conference mutex
#2120
Crash in SIP session timer after call hold responded with 422

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

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


List of Tasks

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

Milestone: Known-Issues-and-Ideas

No date set

40%

Number of tickets:
closed:
38
active:
56
Total:
94

Wish List

common

No results

pjlib

No results

pjlib-util

No results

pjnath

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

pjmedia

#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)
#1679
Video FPS/framerate converter

pjmedia-audiodev

No results

pjsip

No results

pjsua-lib

#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

No results

third-party

No results


Known Issues

common

#1724
Use static analysis tool to detect bugs

pjlib

No results

pjlib-util

#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)

pjmedia

#645
Bad tone generated by the floating point backend with high tone frequency (thanks Olle Frimanson for the report)
#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

applications

No results

python

No results

unit-tests

No results

third-party

No results

Milestone: release-2.9

No date set

0%

Number of tickets:
closed:
0
active:
5
Total:
5

Release Focus

  • WebRTC video interop
  • iOS native SSL backend


Ticket List:


List of Enhancements

common:

#1298
Use PJ_ERROR consistently

pjlib, pjlib-util:

No results

pjnath:

No results

pjmedia, pjmedia-audiodev:

#589
Update Speex AEC to the latest version to get multichannel EC
#1177
SDP signaling for RTCP-XR
#1778
Support for Voice Processing IO Audio Unit on Mac

pjmedia-videodev:

No results

pjsip, pjsua-lib:

No results

pjsua2, swig:

No results

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

No results


List of Bugs

common:

No results

pjlib, pjlib-util:

No results

pjnath:

No results

pjmedia, pjmedia-audiodev:

No results

pjmedia-videodev:

No results

pjsip, pjsua-lib:

#1840
Review API pjsua_transport_close()

pjsua2, swig:

No results

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

No results


List of Tasks

No results

Milestone: release-2.x

No date set

89%

Number of tickets:
closed:
24
active:
3
Total:
27


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

No results

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

No results

pjsip

No results

pjsua-lib

#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.