Milestone release-2.1
Release Focus
New Codecs! SILK and OpenCore AMR-WB
SILK and OpenCore AMR-WB codecs are now supported!
BlackBerry 10 (BB10) Support
Support for BlackBerry 10 (BB10) release version.
Synchronization Fixes PJNATH and The Introduction of Group Lock
Please see ticket #1616 and #1617
Bug Fixes and Tested on SIPit 30
Many bugs were found and squashed. This release was also tested on SIPit 30.
API Changes and Incompatibilities
Some PJNATH API have been changed with the introduction of Group Lock which break software compatibility for applications that use PJNATH API directly. We feel that this was necessary to reflect the importance of the changes and to make them more explicit. Please see ticket #1617 for the detail of the changes.
Ticket List:
List of Enhancements
common:
pjlib, pjlib-util:
- #1616
- Group lock and other foundation in PJLIB for fixing synchronization issues
pjnath:
pjmedia, pjmedia-audiodev:
pjmedia-videodev:
No results
pjsip, pjsua-lib:
- #1242
- Too many re-INVITEs sent by PJSUA-LIB, to lock codec and to conclude ICE negotiation
- #1412
- Account specific NAT settings: STUN, ICE, and TURN
- #1553
- Account setting to disable re-INVITE or UPDATE to lock codec
- #1561
- New lookup function in PJSIP server authentication framework
- #1567
- Option to use STUN2 format for resolving mapped address
- #1568
- Smarter media re-initialization on call refresh with SDP re-offer/answer
- #1569
- Option to allow hash character ('#') to appear in user part of SIP URL
- #1575
- Bind TCP and TLS client socket to the configured address too
- #1587
- Option to accept call replace when in early state and as UAS
- #1590
- APIs to facilitate pending processing of pjsip_rx_data
- #1595
- Allow call hangup immediately after outgoing call
- #1606
- Support query-only on registration bindings
- #1614
- Option to use new URI for To header in processing call redirection
applications, python, unit-tests, third-party:
No results
List of Bugs
common:
- #1548
- Crash due to racing condition in timer when call is disconnected quickly (thanks Joshua Colp for the report!)
- #1562
- Miscellaneous fixes
- #1592
- Multithreading issues in PJSIP (thanks to Matt Williams for the report and expert analysis)
- #1615
- Bug in URI scheme check macro PJSIP_URI_SCHEME_IS_SIP()/SIPS/TEL
- #1623
- Concurrency issues in PJSUA-LIB
pjlib, pjlib-util:
- #1558
- Bug in parsing quoted URI strings (thanks Gustavo Garcia Bernardo for the report)
- #1565
- DNS deadlock
- #1573
- Deadlock in SSL socket (thanks to Jeff Anderson for detailed report)
- #1593
- Possible wrap around in caching pool capacity value
- #1603
- Dangling UDP socket of DNS resolver not replaced after going background on iOS
- #1613
- Use appropriate request for ioctl() function to access the interface flags (thanks to Peter Koletzki for the report)
- #1618
- Bug SSL socket send callback always report success
pjnath:
- #1551
- Assertion in TURN code when shutdown or destroy is called more than once (thanks Guilherme Balena Versiani for the report)
- #1552
- Possible crash if media transport stop() is called on ICE transport while no ICE is running (thanks Iliya Prince for the fix)
- #1554
- Assertion in ICE when STUN resolution yields a same address as one of the host candidate and there is only one host candidate exists (thanks Claudio De Angelis for the report)
- #1557
- Fixed assertion when TURN session is already destroyed (thanks to Guilherme Balena for the report)
- #1594
- Deadlock between TURN and ioqueue locks
- #1604
- Crash caused by double destructions of ICE stream transport
- #1610
- Workaround for reported crash on stun_sock's on_data_recvfrom() callback
- #1617
- Major synchronization fixes in PJNATH
- #1620
- Fix the calculation of transmission count during retransmission of STUN request (thanks to Itay for the report)
- #1621
- Handle the case when ICE session cannot create valid checklist
- #1624
- Representation in ICE session to make it more IPv6 ready
pjmedia, pjmedia-audiodev:
- #1547
- Separating max packet size settings for incoming and outgoing in pjmedia
- #1549
- Last frame of a non-looping WAV file is played continuously by conference bridge
- #1566
- Metallic audio on audio+video call with audio codec G.722
- #1579
- Update Symbian APS/VAS to use new pjmedia_format
- #1582
- DTMF digit E (End) bit fixes according to RFC 4733 (RFC 2833)
- #1612
- Bugs with jitter buffer fixed mode operation
- #1622
- Apply H264 SDP fmtp parameters: max-fs, max-mbps, max-br
pjmedia-videodev:
pjsip, pjsua-lib:
- #1488
- Problem with sending and receiving large (INVITE) requests over TCP on Android 4.0.2/4.0.3 possibly due to fragmentation
- #1550
- Auto re-registration does not work if application does not set on_transport_state().
- #1555
- Bug with via_rewrite feature when the account gets deleted (thanks to Regis Montoya for the report)
- #1556
- Fix From/To tag and Via branch comparison to be case insensitive
- #1560
- Missing 'timer' in require header in sending 2xx response when session timer refresher is 'uac'
- #1563
- Crash when resolving STUN when there is no network connectivity
- #1572
- Modifying video stream in a call caused duplicate transport attributes in the SDP (thanks to Itay Bianco for the report)
- #1574
- Failure to initialize media channel when answering call using pjsua_call_answer()/answer2() with opt set to NULL (thanks to Regis for the report)
- #1578
- Possible deadlock when call is adding new media with ICE and STUN enabled
- #1580
- Assertion in local SDP validation when using SRTP mandatory and receiving offer with SRTP optional duplicated media
- #1583
- Unexpected SIP message transmission after transaction has timed-out
- #1588
- State PJSIP_INV_STATE_NULL is called after call has been disconnected
- #1591
- Fixed dialog locking in acquire_call() when media transport is created asynchronously.
- #1596
- Fix handling of incoming UPDATE request (thanks Matt DiMeo for the report)
- #1597
- Handle socket failure in STUN resolution when coming back from iPhone/iOS background mode
- #1598
- Fixed assertion when sip error code is not set (thanks Peter Koletzki for the report)
- #1599
- Fixed bug that caused new contact not being used in UPDATE/re-INVITE
- #1601
- Add locking mechanism when ICE transport is in negotiation state (thanks to Itay for the report)
- #1605
- Cannot enable video via pjsua_call_reinvite2()/update2()
- #1607
- Send UDP keep-alive to original request address if response comes from different address
- #1609
- Garbage is printed for tel: URI in the URI parameter in Authorization/Proxy-Authorization header
- #1611
- Add missing Supported header in UPDATE for Session Timers
- #1619
- Bug: transport error on re-INVITE should not terminate call
- #1626
- Assertion when remote sends re-INVITE with less media
- #1627
- Callback on_tsx_state_changed() not invoked on call disconnection
applications, python, unit-tests, third-party:
No results