SIP.js

A simple, intuitive, and powerful JavaScript signaling library

MIT License

Downloads
62.5K
Stars
1.9K
Committers
80

Bot releases are hidden (Show)

SIP.js - 0.15.2

Published by egreenmachine about 5 years ago

Changes

  • Inviter Fixes
SIP.js - 0.15.1

Published by james-criscuolo about 5 years ago

Changes

  • A few beta API changes, notably one to make the timing of session establishment match up better with the legacy API, and the addition of a logConfiguration UserAgent Configuration variable
  • stricter check for window.addEventListener
SIP.js - 0.15.0

Published by james-criscuolo about 5 years ago

The 0.15.x release is a backwards compatible drop-in replacement for 0.14.x.

The 0.15.x release introduces a "new" API and deprecates the "legacy" API in 0.14.x.

The 0.15.x release is intended to facilitate migration from the legacy API to the new API.

The 0.15.x release contains both the new API and the legacy API, but the two are not compatible. That is, you may use one or the other but cannot "mix" the usage of the two. For example, a Session created with the legacy API is not compatible with a Session in the new API.

The legacy API will be removed in 0.16.x in favor of the new API.

It's important to note that we are considering the new API to be in the beta state for 0.15.x. While the heavy majority of breaking changes are covered, we are not ruling out making breaking changes in patch versions for the new API, until the 0.16.0 release. This will be covered in the release notes, as always.

To begin moving to the new API, please see our migration document. The largest use cases are covered, and as 0.15.x continues we plan to complete all sections. We've also updated our documentation to be auto-generated from the code, the new docs folder will now be home to the most up to date documentation. Our website will be updated to reflect this over the lifetime of 0.15.x. We also have some more changes planned before 0.16.0, you can see them in our roadmap. The biggest planned changes:

  • The Simple API will be transitioned to be backed by the new API. Simple will be a bit more flexible at that point, likely being enough for more users than before.

  • With 0.16.0, we will stop distributing our webpack bundles with the npm release. Taking its place will be an es6-module capable build, next to the currently default typescript build, which targets es5.

  • a new demo phone

SIP.js - 0.14.6

Published by james-criscuolo over 5 years ago

Fixes

  • Small fix to 0.14.5, check for window must be typeof window !== "undefined"
  • move @types/nodes to devDependency
SIP.js - 0.14.5

Published by james-criscuolo over 5 years ago

Fixes

  • Since we began using importHelpers to dedupe code, tslib was a required dependency. If that was not in your own project, sip.js would break your build. This has been rectified, and tslib is now a dependency of sip.js.
  • PublishContext now cleans up its event listeners
  • The default web Transport now rejects if it fails immediately
  • We are no longer reliant on node (global was used in a handful of places)
SIP.js - 0.14.4

Published by james-criscuolo over 5 years ago

Fixes

  • There was an issue with 183s being sent in the Invite with SDP case that has been resolved.
  • a type in that case (for on("progress")) was also fixed
SIP.js - 0.14.3

Published by james-criscuolo over 5 years ago

Fixes

  • There was a lingering set of underscore_variables that should have been converted to camelCase. They involved anonymous User Agents.
  • usePreloadedRoute was partially removed in version 0.11.0, and didn't work prior to that, it was re-added as an option and fixed.
  • passing fromUri to invite as a string (as it was typed) would not work, this was fixed and it can now be passed as a URI as well.
SIP.js - 0.14.2

Published by james-criscuolo over 5 years ago

This release is primarily refactoring in preparation for the upcoming new public facing API, and is planned to be the last before the new API is introduced. There are no breaking changes.

Fixes

  • React SessionDescriptionHandler constructor is now fixed
  • ts-pegjs updated to work with optimize:size, so reduce bundle size by 10%
SIP.js - 0.14.1

Published by james-criscuolo over 5 years ago

Fixes

  • #689: re-add stopping subscriptions and transport connect on UA.stop()
  • #690: fix log-level integers
  • #692: fix issue calling peerConnection in standard sessiondescriptionhandler (introduced by noImplicitAny introduction
  • size reductions: add importHelpers to tsConfig and reduce what is brought in crypto-js
SIP.js - 0.14.0

Published by james-criscuolo over 5 years ago

In this release significant and substantial portions of the “core library code”
have been replaced, however an attempt was made to alter little to none of the
existing public facing API. The rewrite changes the internal architecture of the
library and is a precursor to addressing long standing issues which will entail
introducing a new public API in the near future.

Breaking Changes: Nothing public API-facing

In short, the new core code replaces all the dialog, UAC core, and UAS core
related implementation in the library as well has the internal implementations
of all the Context classes as well as Session, Subscription, and UA classes.
If you are utilizing properties or methods not documented as part of the
public API, there have been significant “internal changes” as follows...

Removed completely

  • Dialogs.ts
  • RequestSender.ts
  • SanityCheck.ts

Modified significantly

  • ClientContext.ts
  • InviteClientContext.ts
  • InviteServerContext.ts
  • PublisherContext.ts
  • ReferContext.ts
  • RegisterContext.ts
  • ServerContext.ts
  • Session.ts
  • SIPMessage.ts
  • Subscription.ts

Benefits

  • New library “core” with consistent internal interface
  • To spec invite and non-invite transaction implementations
  • To spec method specific user agent client/server implementations
  • To spec session and subscription dialog usage implementations
  • Errors completely and reliably passed through internal stack
  • Fixed retransmission behavior during hold and un-hold
  • Fixed in dialog NOTIFY sequence number issue on REFER
  • Fixed invalid RSeq in some PRACK scenarios
  • Fixed subscription refresh interval issue
  • Fixed incorrect ACK event emission
  • Doubled number of integration/unit tests
  • Additional TypeScript typing
SIP.js - 0.13.8

Published by egreenmachine over 5 years ago

Fixes

  • PR #679: Fix from tag on CANCEL requests. Fix typings in Subscription.ts.
  • PR #669: Fix Route header in 2XX ACK.
  • PR #668: Move to compiler generated types.
  • PR #667: Escape URI component in Refer-To.
  • PR #665: Do not use for in on arrays.
SIP.js - 0.13.7

Published by james-criscuolo over 5 years ago

Fixes

  • PR #658: More transport types and fixing a case where no transport was set when end of wsServers is hit.
  • PR #662: Transactions rewrite. A lot of changes, but we believe all changes to be internal. There were some other fixes in this PR, please go to the link for more info. This is in anticipation of some public API changes, which would initiate a 0.14.0 release.
  • PR #661: Some logger types/cleanup
  • Issue #663: back to underscore_variable for a grammar object, fixes some REFER handling.
SIP.js - 0.13.6

Published by james-criscuolo over 5 years ago

Fixes

  • parse was removed from URI in 0.13.0, but the type still had it. Please user Grammar.URIParse now.
  • receiving an Invite with replaces is now fixed
SIP.js - 0.13.5

Published by james-criscuolo over 5 years ago

Fixes

  • Fixed DTMF via INFO packet when you were the UAS (the less common case).
SIP.js - 0.13.4

Published by james-criscuolo over 5 years ago

Fixes

  • After the fat arrow notation update, one of the trickier uses of this needed a bind
SIP.js - 0.13.3

Published by james-criscuolo over 5 years ago

Fixes
A few default settings of options objects were left off of the sessionDescriptionHandler, those cases should new be fixed.

SIP.js - 0.13.2

Published by james-criscuolo over 5 years ago

Fixes

  • There were more cases where binds were missing, those are now fixed, and bind has been removed in favor of fat arrow notation where possible.
SIP.js - 0.13.1

Published by james-criscuolo over 5 years ago

Fixes

  • Add a bind to environListener so stop does not have an error on non-chrome browsers

Packaging

  • We are no longer testing our library on Node 6, and our build process will no longer work with Node 6. We expect the library to work on Node 6, but will not guarantee that moving forward.
SIP.js - 0.13.0

Published by james-criscuolo over 5 years ago

This release converts the entire library to TypeScript, but attempts to do so with extremely little change to our public-facing API.

Changes

  • Breaking Change: ws_uri is now wsUri when passing wsServers with weights to the Web Transport.
  • Breaking Change: All options arguments now require camelCase variables instead of underscore_variables. In your code, look for status_code (now statusCode), reason_phrase (reasonPhrase), and most arguments passed within a params property (less common).
  • The library is now fully typed and written in TypeScript, and uses the types in the types folder when possible.
  • The library is now written with ES Modules instead of IIFE.
  • our EventEmitter wrapper has been removed. It's been deprecated for several versions. Use the EventEmitter from events instead.
  • React SessionDescriptionHandler updated to use MediaDevices.getUserMedia instead of getUserMedia.
  • Most internal use of underscored_variables has been converted to camelCase.
  • Internal: NameAddrHeader.parse is now Grammar.nameAddrHeaderParse
  • Internal URI.parse is now Grammar.URIParse

Known Issue: We've grown in size slightly, 25kb more when minified. This is due to an issue with ts-pegjs, which we have an issue and pull request open with to resolve.

SIP.js - 0.12.0

Published by egreenmachine almost 6 years ago

Changes

  • Add Typescript Types
  • Inband DTMF is no longer "beta" feature. Default is still SIP INFO.
  • Remove support for underscored config options
  • Move registration options into their own config section
  • Better support for instanceId and regId
  • Add support registration contact header params
  • Deprecated support for custom authentication factories
  • Remove support for bower
  • Update Authors
  • Replace Utils.Promise and promisucous with native promise
  • Remove unused Utils
  • Replace all instances of bind with fat arrow functions in the Web Session Description Handler
  • Log SDP after modifiers have run before setting it on the PeerConnection to help debug media issues
  • Make refer NOTIFY messages more descriptive
  • Add connecting event to Websocket Transport
  • Do not eat errors from the SDH
  • Websocket transport emits disconnecting event
  • Remove global environment references

Packaging

  • Update dependencies
  • Use typescript compiler
  • Better packaging for Node.js which includes unbundled files

Fixes

  • Fix edge cases related to unexpected Websocket disconnects
  • Fix Grammar for sipfrag messages
  • Register expires can be 0
  • Fix connection timeout issue where connection promise could be hanging and Transport be left in an unusable state
  • Websocket disconnect default code is now 1000
  • Prevent processing multiple ACK's with SDP
Package Rankings
Top 1.03% on Npmjs.org
Top 3.5% on Bower.io
Top 23.64% on Repo1.maven.org
Badges
Extracted from project README
npm version