Skip to content
Compare
Choose a tag to compare

Security Issue

Bug fix

See also milestone 2.12.1

Compare
Choose a tag to compare

Release Focus

  • WebRTC updates with AEC3 & AGC2 (#2722)
  • Support Oboe for Android (#2707)

Backward Incompatibility

  • UAS INVITE transaction no longer terminated upon transport error/disconnection (#2683)

Security Issue

For ticket list, please see Milestone 2.12

Compare
Choose a tag to compare

Release Focus

Security update. This version is recommended for all users to improve the security of applications using PJSIP.

For more information, please see Milestone 2.11.1

Compare
Choose a tag to compare

Release Focus

  • Trickle ICE
  • iOS native SSL
  • Android native codecs (H264, VP8, VP9, AMR-NB & AMR-WB)
  • iOS Swift and Android Kotlin sample apps.

For ticket list, please see Milestone 2.11

Compare
Choose a tag to compare

Release Focus

  • WebRTC interop for video:
    • RTCP-FB PLI
    • VP8 and VP9 video codec
  • Audio Enhancements
    • Voice Processing IO for MacOS
  • Timer refactoring

Backward incompatibility

  1. Due to #2209 (Insufficient variable storage to contain Expires header field/ parameter):
    • Any sign comparison of expiration fields MUST be modified, for example: pjsip_contact_hdr.expires < 0 should be changed to pjsip_contact_hdr.expires == PJSIP_EXPIRES_NOT_SPECIFIED.
    • Direct setting/comparison with -1 should still work, for example: pjsip_pres_inititate(sub, -1, ...) or pjsip_contact_hdr.expires == -1. This is because PJSIP_EXPIRES_NOT_SPECIFIED == (unsigned) -1. Nevertheless, for future compatibility, it is recommended to change any -1 to PJSIP_EXPIRES_NOT_SPECIFIED.
  2. Due to #2233 (Change enumeration typemaps in SWIG Java), Java applications needs to be updated:
    • Accessing enumeration value is no longer using swigValue() method, e.g: pjsip_inv_state.PJSIP_INV_STATE_CONFIRMED.swigValue() must be changed to pjsip_inv_state.PJSIP_INV_STATE_CONFIRMED.
    • All enumeration types are now int, e.g: pjsip_status_code code must be changed to int code.
  3. Due to #2251 (Deadlock between PJSUA LOCK and conference mutex):
    • pjmedia_*_set_eof_cb() and pjmedia_*_set_cb() are deprecated and replaced with pjmedia_*_set_eof_cb2()/set_cb2(). The callbacks will now be asynchronous.
  4. Due to #2265 (Compatibility issues on Python 3.7 or above):
    • PJSUA2 async field in OnCallRxReinviteParam is renamed to isAsync.

For ticket list, please see Milestone 2.10

Compare
Choose a tag to compare

Released on 2019-06-13T10:14:40Z

Release Focus

  • Video conference
  • Darwin (Mac & iOS) native SSL backend
  • NAT enhancement: TURN over TLS
  • SIP multiple listeners

For more details about the ticket list, please see Release Notes

Compare
Choose a tag to compare

Released on 2018-09-05T05:35:44Z

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.

For more details about the ticket list, please see Release Notes

Compare
Choose a tag to compare

Released on 2018-02-21T03:15:18Z

Release Focus

Security update. This version is recommended for all users to improve the security of applications using PJSIP.


For more details about the ticket list, please see Release Notes

Compare
Choose a tag to compare

Released on 2017-11-08T03:23:59Z

Release Focus

Security update. This version is recommended for all users to improve the security of applications using PJSIP.


For more details about the ticket list, please see Release Notes

Compare
Choose a tag to compare

Released on 2017-09-25T06:23:19Z

Release Focus

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

For more details about the ticket list, please see Release Notes