Skip to content
Compare
Choose a tag to compare

Features

  • Add support for extraHeaders on Invitation.accept (#910)
  • Make the interval at which re-REGISTER requests are sent configurable (UserAgentOptions.refreshFrequency) (#902)
  • Add onAck delegation for Session (#911)

Fixes

  • add gruu check to registerer to restore previous behavior
  • publisher: add check so that it does not attempt to enter published state when already there
  • fix a typo in extra headers for an uncommon failure case
Compare
Choose a tag to compare

Features

  • Add configuration parameter for automatically sending an initial response (sendInitialProvisionalResponse) (#892)

Breaking Changes

  • Update Web SDH and SimpleUser hold implementation. Our built-in implementations are now RFC compliant with the latest relevant transceivers RFC (RFC 8829). Previously, there were some situations where the previous implementation didn't work (see #898). Users who extend our Web SessionDescriptionHandler may have worked around these broken situations in the past, so should be sure to review their code and test while updating.
Compare
Choose a tag to compare

Fixes

  • Adding host and port checks may break people not using the contactName UserAgent parameter, so this fix changes the checks to only check those if the parameter is set. The server mucking with host and port is entirely legal, so in cases where that occurs usage of contactName is currently broken.
Compare
Choose a tag to compare

Breaking Changes

  • Removed hackWssInTransport UserAgent parameter. If you were using this, it is now replaced with contactParams: { transport: "wss" }

Features

  • Add contactName UserAgent parameter
  • Add contactParams UserAgent parameter. It defaults to { transport: "ws" }
  • Add the possibility to change log level in logger

Fixes

  • Fix hold bug in SimpleUser
  • Fix bug in parser with error reporting
  • Improve some internal types
Compare
Choose a tag to compare

Fixed a hold issue with 0.17.0 (see #835)

Compare
Choose a tag to compare

The Session Description Handler has been reworked with tests and documentation added. For users without custom session description handlers, no change will be needed, it is not a breaking change. Existing custom Session Description Handlers will continue to work, unless the old default Session Description Handler was extended (as it's no longer in the same location). For those cases, the old one should be fully copied to your source if you'd like it to continue to work as it did. Extending the old default was not easy, but the new one attempts to rectify this, so in many situations there may be some potential for code cleanup.

Additionally, we will no longer be distributing the webpack-bundled source with our npm package. Importing sip.js has not been using the webpack bundle for several versions, so we anticipate no issue for most users. For those who imported from sip.js/dist/<one of the bundles> or used sip.js/dist in some other fashion, the bundles are still attached to the release notes here, and will continue to be.

Also related to distribution, we now ship with no dependencies and are entirely tree shakeable, so we hope this eliminates a subset of potential issues with bundling and transpiling.

Fixes

  • Guard contact missing on dialog response (#793)
  • Fix reliable response handling bug (#805)

Features

  • Add ha1 authentication option to digest authentication (#820)
  • Session Description Handler rework (#815)
Compare
Choose a tag to compare

Fixes

  • Fix ACK re-INVITE race when offer in 200 Ok (see #798)
  • Prevent invalid state transition in Registerer (see #800)
  • Add documentation of WebSocket Transport (see #801)
  • Fix subscription bugs related to timer N (see #802)

Features

  • Add support for Retry-After on REGISTER reject (see #799)

Other

  • tslint is deprecated, so replace with eslint and prettier
  • Remove tslib (unnecessary after update from es5 build target)
  • Remove crypto-js (new update broke some environments)
  • Update target to es2017
  • Update module to es2015, with package.json changes to make SIP.js a proper ES module
Compare
Choose a tag to compare

This is the first release without the legacy API. If you have not migrated, 0.15.x contains both the legacy and new APIs. The new API on 0.15.11 is the same as the only API on this version. If you need help migrating, please see our migration document.

Other changes:

  • remove old API
  • remove old tests
  • update documentation
  • update dependencies
  • new API available importing from root
  • if you are using typescript, you must now use typescript >= 3.6.5.
  • node 8 has been EOL'ed, so node must now be >= 10.
  • we no longer build with es5 as the target, so es5 browser support has been dropped (mainly IE11).
  • new README.md
Compare
Choose a tag to compare

Both APIs

  • in dialog MESSAGE support
  • fixed handling of received binary WebSocket messages

New API

  • removed Byer, Infoer, and Referer in favor of Session methods
  • added auth support for re-INVITE
  • added incoming DTMF handling to SimpleUser
  • updates to docs and demo

Legacy API:

  • DTMF now checks for array on tones as a safety check
Compare
Choose a tag to compare

Reverted updated to typescript 3.7.x, as it forces all applications using the types to also be >= 3.7.x. For more information see microsoft/TypeScript#33939.