Skip to content

Commit 961a487

Browse files
Update documentation
- generate new docs - add migration guide for upcoming 0.21 release - update static docs as needed to reflect SessionManager
1 parent d7fe217 commit 961a487

File tree

58 files changed

+641
-77
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+641
-77
lines changed

RELEASE.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ All the demos must work.
2828

2929
## Documentation
3030

31-
Make sure the documentation is up to date and review any changes to the API. Commit any new documentation and consider the version number bump based on the changes to the API.
31+
Make sure the documentation is up to date and review any changes to the API. Commit any new documentation and consider the version number bump based on the changes to the API. If you commit any changes, go back to the Clean, Build and Test step.
3232

3333
* `npm run build-docs`
3434

@@ -53,8 +53,7 @@ This approach will leverage the `npm pack` command to package up and zip your np
5353
1. From within your npm package directory, run `npm pack` in your terminal. Note the .tgz file it produces and the location of it.
5454
2. Change directories to the project directory where you want to use the npm package. Example: `cd /path/to/project`
5555
3. From within the client project directory, run `npm install /path/to/package.tgz` but replace it with the proper path to the location of the .tgz file from step 1.
56-
4. Then you can start using the package in that client project to test things out
57-
This will give you the closest to production experience for using your npm package.
56+
4. Then you can start using the package in that client project to test things out. This will give you the closest to production experience for using your npm package.
5857
5. Delete the .tgz file created in step 1.
5958

6059
## Tag, Push and Publish

docs/MIGRATION.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
* From [Simple to SimpleUser](./migration-simple.md) is relatively simple.
44

5+
* From [0.20 to 0.21](./migration-0.20-0.21.md)
6+
* 0.21 has two minor breaking changes with 0.20
7+
* ECMAScript module support and SessionManager introduction
8+
59
* From 0.19 to 0.20
610
* 0.20 is backwards compatible with 0.19
711

docs/README.md

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,15 @@ Bundle? Download UMD [here](https://sipjs.com/download).
1818

1919
## What is here?
2020

21-
Herein lies software enabling Session Initiation Protocol (SIP) internet endpoints (called user agents) to carry various forms of real-time multimedia session data such as voice, video, or text messages. Said software is organized into three (3) divisions - each of which provides a different integration point for development...
21+
Herein lies software enabling Session Initiation Protocol (SIP) internet endpoints (called user agents) to carry various forms of real-time multimedia session data such as voice, video, or text messages. Said software is organized into four (4) divisions - each of which provides a different integration point for development...
2222

2323
* SimpleUser class
2424
* [Demo](../demo/README.md)
2525
* [Overview](./simple-user.md)
2626
* [Reference](./simple-user/sip.js.md)
27+
* SessionManager class
28+
* [Overview](./session-manager.md)
29+
* [Reference](./session-manager/sip.js.md)
2730
* API framework
2831
* [Overview](./api.md)
2932
* [Reference](./api/sip.js.md)
@@ -42,11 +45,15 @@ Additional supporting implementations of classes for use with web browser enviro
4245

4346
### SimpleUser class
4447

45-
The [SimpleUser](./simple-user.md) class provides a representation of a simple internet endpoint (a simple user agent). It requires an understanding of what a phone call is, but minimal knowledge of SIP. There are working [Demonstrations](../demo/README.md) provided to help get started. It is the recommended interface for many applications. It has its limitations. The [SimpleUser](./simple-user.md) class is implemented utilizing the [API](./api.md) framework and as such provides a working example of how one might utilize the [API](./api.md) framework.
48+
The [SimpleUser](./simple-user.md) class provides a representation of a simple internet endpoint (a simple user agent). It requires an understanding of what a phone call is, but minimal knowledge of SIP. There are working [Demonstrations](../demo/README.md) provided to help get started. It is the recommended interface for many applications. It has its limitations. The [SimpleUser](./simple-user.md) class is implemented utilizing the [SessionManager](./session-manager.md) class and as such provides a working example of how one might utilize the [SessionManager](./session-manager.md) class.
49+
50+
### SessionManager class
51+
52+
The [SessionManager](./session-manager.md) class provides a representation of a simple internet endpoint which can handle multiple concurrent calls (a user agent). It requires an understanding of what a phone call is, but minimal knowledge of SIP. It is the recommended interface for many applications which require managing multiple concurrent calls. It has its limitations. The [SessionManager](./session-manager.md) class is implemented utilizing the [API](./api.md) framework and as such provides a working example of how one might utilize the [API](./api.md) framework.
4653

4754
### API framework
4855

49-
The [API](./api.md) framework is intended to provide a complete and suitable framework on which to build most end user applications - business phones, video conferencing endpoints, smart doorbells. A working knowledge of the SIP protocol is a prerequisite for using it. The framework provides infrastructure to connect with a SIP server as well as establish and maintain SIP registrations, sessions and subscriptions. There are no user interface components in it. The source code of the [SimpleUser](./simple-user.md) class is well documented and provides a good example of how to get started using the [API](./api.md) framework. The framework is implemented on top of the [Core](./core.md) library and as such provides a working example of how one might utilize the [Core](./core.md) library.
56+
The [API](./api.md) framework is intended to provide a complete and suitable framework on which to build most end user applications - business phones, video conferencing endpoints, smart doorbells. A working knowledge of the SIP protocol is a prerequisite for using it. The framework provides infrastructure to connect with a SIP server as well as establish and maintain SIP registrations, sessions and subscriptions. There are no user interface components in it. The source code of the [SessionManager](./session-manager.md) class is well documented and provides a good example of how to get started using the [API](./api.md) framework. The framework is implemented on top of the [Core](./core.md) library and as such provides a working example of how one might utilize the [Core](./core.md) library.
5057

5158
### Core library
5259

docs/api/sip.js.cancel.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [sip.js](./sip.js.md) &gt; [Cancel](./sip.js.cancel.md)
4+
5+
## Cancel class
6+
7+
A request to reject an [Invitation](./sip.js.invitation.md) (incoming CANCEL).
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
export declare class Cancel
13+
```
14+
15+
## Remarks
16+
17+
The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the `Cancel` class.
18+
19+
## Properties
20+
21+
| Property | Modifiers | Type | Description |
22+
| --- | --- | --- | --- |
23+
| [request](./sip.js.cancel.request.md) | | IncomingRequestMessage | Incoming CANCEL request message. |
24+

docs/api/sip.js.cancel.request.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [sip.js](./sip.js.md) &gt; [Cancel](./sip.js.cancel.md) &gt; [request](./sip.js.cancel.request.md)
4+
5+
## Cancel.request property
6+
7+
Incoming CANCEL request message.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
get request(): IncomingRequestMessage;
13+
```

docs/api/sip.js.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ A simple yet powerful API which takes care of SIP signaling and WebRTC media ses
1212
| --- | --- |
1313
| [Ack](./sip.js.ack.md) | A request to confirm a [Session](./sip.js.session.md) (incoming ACK). |
1414
| [Bye](./sip.js.bye.md) | A request to end a [Session](./sip.js.session.md) (incoming BYE). |
15+
| [Cancel](./sip.js.cancel.md) | A request to reject an [Invitation](./sip.js.invitation.md) (incoming CANCEL). |
1516
| [ContentTypeUnsupportedError](./sip.js.contenttypeunsupportederror.md) | An exception indicating an unsupported content type prevented execution. |
1617
| [Info](./sip.js.info.md) | An exchange of information (incoming INFO). |
1718
| [Invitation](./sip.js.invitation.md) | An invitation is an offer to establish a [Session](./sip.js.session.md) (incoming INVITE). |

docs/api/sip.js.registereroptions.instanceid.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44

55
## RegistererOptions.instanceId property
66

7+
> Warning: This API is now obsolete.
8+
>
9+
> Use UserAgentOptions.instanceId
10+
>
11+
712
UUID to provide with "+sip.instance" Contact parameter.
813

914
<b>Signature:</b>

docs/api/sip.js.sessiondelegate.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export interface SessionDelegate
1818
| --- | --- |
1919
| [onAck(ack)](./sip.js.sessiondelegate.onack.md) | Called upon receiving an incoming in dialog ACK request. |
2020
| [onBye(bye)](./sip.js.sessiondelegate.onbye.md) | Called upon receiving an incoming in dialog BYE request. |
21+
| [onCancel(cancel)](./sip.js.sessiondelegate.oncancel.md) | Called upon receiving an incoming CANCEL request. |
2122
| [onInfo(info)](./sip.js.sessiondelegate.oninfo.md) | Called upon receiving an incoming in dialog INFO request. |
2223
| [onInvite(request, response, statusCode)](./sip.js.sessiondelegate.oninvite.md) | Called upon receiving an incoming in dialog INVITE request. |
2324
| [onMessage(message)](./sip.js.sessiondelegate.onmessage.md) | Called upon receiving an incoming in dialog MESSAGE request. |

docs/api/sip.js.sessiondelegate.onack.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,7 @@ onAck?(ack: Ack): void;
2222
2323
void
2424
25+
## Remarks
26+
27+
Includes the ACK confirming an accepted initial Invite as well as ACKs associated with in dialog INVITE requests.
28+
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
2+
3+
[Home](./index.md) &gt; [sip.js](./sip.js.md) &gt; [SessionDelegate](./sip.js.sessiondelegate.md) &gt; [onCancel](./sip.js.sessiondelegate.oncancel.md)
4+
5+
## SessionDelegate.onCancel() method
6+
7+
Called upon receiving an incoming CANCEL request.
8+
9+
<b>Signature:</b>
10+
11+
```typescript
12+
onCancel?(cancel: Cancel): void;
13+
```
14+
15+
## Parameters
16+
17+
| Parameter | Type | Description |
18+
| --- | --- | --- |
19+
| cancel | [Cancel](./sip.js.cancel.md) | The cancel. |
20+
21+
<b>Returns:</b>
22+
23+
void
24+
25+
## Remarks
26+
27+
Relevant to an Invitation only. CANCEL reqeusts are being handled as a special case and there is currently no way to externally impact the response to the a CANCEL request. See core implementation for details.
28+

0 commit comments

Comments
 (0)