Skip to content

0.14.0

Compare
Choose a tag to compare
@james-criscuolo james-criscuolo released this 20 May 15:31
· 655 commits to master since this release

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