Milestone release-2.2
New Features
New PJSUA2 API
PJSUA2 is an object-oriented abstraction on top of PJSUA API. It's written in C++, has SWIG binding to Python and Java. A draft documentation is available in https://trac.pjsip.org/repos/wiki/pjsip-doc/index
Android Port
Android port is now available, using PJSUA2 API for Java. Please see Getting-Started/Android for more info.
Third Party Echo Canceller
A third party echo canceller implementation from BDSound was added. It supports Windows, Android, Mac OS X, iOS, and Linux. See ticket #1636 for more info.
Support for Windows 64bit
Implemented in ticket #1680
Ticket List:
Android port
- #1516
- Build system for Android target
- #1518
- Android audio device
- #1519
- pjsua2: New high level API in C++ on top of PJSUA-LIB
- #1520
- SWIG binding for JNI for the new high level API
- #1546
- apjsua sample application for Android
- #1564
- Guide for Android native debugging and deployment topics
- #1639
- Android branch integration
List of Enhancements
common:
- #1576
- Add support for Apple iOS LLVM compiler (clang)
- #1657
- BlackBerry BB10 Integration
- #1680
- Support for Windows 64bit (Win64)
- #1707
- Fix parallel build support (thanks to Mark Michelson for the patch)
- #1713
- Enable building the libraries as shared libraries/DLLs for GNU targets
- #1715
- PJSIP Book
- #1720
- Add configure flags for external libsrtp and disabling libresample (thanks David Lee for the patch)
- #1723
- pjsua2 branch integration
pjlib, pjlib-util:
pjnath:
No results
pjmedia, pjmedia-audiodev:
- #1636
- Add BDsound IMproved Audio Device (bdIMAD) integration
- #1658
- Stop media endpoint's worker threads first when destroying media subsystem
- #1681
- Add setting for RTP socket buffer size
- #1692
- Allow multiple codecs in SDP answer (thanks to Joshua Colp for the patch)
- #1705
- Add playback and capture callbacks for echo canceller algo
- #1730
- Deprecation of srtp_deinit() (thanks Tzafrir Cohen for the report)
- #1734
- Add flash support for DTMF based on RFC 2833
- #1736
- Update to bdSound's bdiMad audio device to support output routing
pjmedia-videodev:
No results
pjsip, pjsua-lib:
- #817
- Callback to allow application to respond to re-INVITE manually (thanks Ruud Klaver for the patch)
- #1628
- Modify SIP transaction to use group lock to avoid deadlock etc.
- #1629
- Add pjsua_call_set_hold2() API to allow update of Contact header
- #1644
- Option to switch media session to the latest early media SDP received on forked early media
- #1645
- Option to add "alias" param in Via header in sending request
- #1661
- Option to use SO_REUSEADDR for TCP and TLS listeners and use it by default on non-Windows platforms
- #1667
- Handle incoming UPDATE before 101-199 response is received
- #1668
- Option to use the IP address found in REGISTER response in the SDP
- #1673
- Use Request URI when matching incoming request to account if the To URI contains tel: URL
- #1675
- Callback for specifying account to handle incoming message
- #1682
- Configurable local port range for UDP media transport
- #1687
- Allow media type change during SDP negotiation
- #1688
- Add support for different To and Target URI in outgoing call and sending IM (thanks Johan Lantz for the suggestion)
- #1696
- IP change detection (Contact rewrite method) based on any REGISTER final response (e.g. 401)
- #1721
- Sending new re-INVITE after the on-progress re-INVITE transaction is terminated.
applications, python, unit-tests, third-party:
- #1655
- pjsua app using CLI framework
- #1694
- Python enhancement: added QoS and RTP settings in account config
- #1701
- Python enhancement: added received message into incoming call callback
- #1708
- PyGUI: New Python GUI Application based on pjsua2+SWIG API
- #1716
- New Android application based on pjsua2+SWIG API
- #1728
- Remove milenage library from linking setting (thanks Tzafrir Cohen for the patch)
List of Bugs
common:
pjlib, pjlib-util:
- #1648
- Timer heap new API pj_timer_heap_cancel_if_active() should not assert if given bad entry
- #1663
- Crash in socket registration in ioqueue
- #1664
- Ioqueue epoll stops processing socket events
- #1672
- Fail to replace UDP socket during iOS wakeup causing app to be killed when IPv6 is used simultaneously
- #1686
- Deadlock on DNS when cached query is available
- #1709
- Fixed scanner in processing escaped quote right after quote begin
- #1710
- Bug in resolver when updating cache entry
pjnath:
- #1685
- Crash in TURN session when DNS callback invoked after TURN session destroyed
- #1691
- Deadlock in NAT detect
- #1695
- ICE stream transport fails to send packet before ICE nego completes
- #1700
- Possible buffer overflow in ICE session
- #1726
- Assertion in ICE connectivity check (thanks Amit Chowdhary for the report)
pjmedia, pjmedia-audiodev:
- #1656
- BB10 audio device fixes (EC, hardcoded settings, etc)
- #1659
- SDP offer version number is not incremented if re-INVITE offer is rejected
- #1674
- Deadlock when third party media employs external lock and ICE is active
- #1678
- Proper error handling in WAV writer
- #1732
- Error setting audio output route in BlackBerry 10 (BB10) version 10.2.1
pjmedia-videodev:
pjsip, pjsua-lib:
- #1181
- Incorrect SDP direction attribute in answering call unhold request after double holds
- #1632
- Remove Contact header in MESSAGE requests (thanks to Anil Giri for the report)
- #1633
- Crash if on_redirected() callback is not implemented and UAC receives 422 response (thanks to Romain Jezequel for the report)
- #1637
- Fixed crash in pjsua_media_channel_update() if one media gets rejected
- #1640
- Registration is terminated permanently on 480 (Temporarily Not Available) response when it should have been retried
- #1641
- Handling transport disconnection when the transaction state is still in null state
- #1642
- Media transport may not be cleaned up if call is hung up quickly
- #1646
- Deadlock and crash problem in transaction related to transport
- #1647
- Premature termination of REFER (call transfer) subscription
- #1649
- SIP TLS transport not destroyed after verification error
- #1650
- Close sound device when outgoing call fails
- #1651
- Incoming CANCEL request isn't reported in any callbacks
- #1652
- Media feature tag "+sip.ice" is not used because of wrong account initialization sequence
- #1653
- [incompatible] pjsua_call_update() API should not release hold
- #1654
- Possible broken SDP negotiator state after previous re-INVITE is rejected
- #1660
- Fail to generate contact when making call via UDP on WM6
- #1662
- Call slot unavailable after some fail calls due to codec mismatch
- #1665
- Assertion on retransmitting a pending message
- #1666
- Handle case when call unhold failed
- #1669
- Modified account proxy not applied in the reregistration
- #1670
- Configurable RTCP SDES/BYE in outgoing RTCP packets
- #1671
- Unfreed transmit buffer (pjsip_tx_data) upon stack shutdown/restart
- #1683
- Fixes for via_rewrite feature
- #1684
- Failed assertion when scheduling timer in the registration client
- #1689
- The bound address is not updated when UDP transport is restarted
- #1690
- Assertion in timer in SIP transaction: Timer being rescheduled when already running
- #1693
- Header lists are not updated in pjsua_acc_modify() and bug in pjsua_acc_get_config()
- #1698
- Follow account config in generating contact's secure scheme
- #1706
- Race condition fix in SIP transaction
- #1712
- Must not send BYE before ACK is received
- #1714
- Workaround for stuck in TCP/TLS shutdown when another thread is destroying the transport
- #1717
- Assertion in accessing conference from on_call_state() callback while pjsua destroy is on progress (thanks Johan Lantz for the report)
- #1718
- Delayed call disconnection state after receiving malformed 422 response (thanks Marcus Froeschl for the report)
- #1722
- Session timers refresher needs to send BYE if it never gets a response to the session refresh request
- #1725
- ACK is not sent upon receiving 200/OK retransmission if re-INVITE is sent
- #1727
- Issues in event subscription server timer (thanks Mark Michelson for the report)
- #1731
- Fix TCP/TLS transport leak problem
- #1733
- Fix polling mechanism during STUN server resolution
- #1737
- Deadlock between ioqueue key mutex and SIP dialog when adding video media with ICE and STUN enabled
- #1738
- Infinite loop when re-INVITE is received while adding new media
applications, python, unit-tests, third-party:
- #1702
- Warnings when building/linking the Python module due to different linker architecture
Note: See
TracRoadmap for help on using
the roadmap.