Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neki-dev/sip-gateway
📟 Simple gateway server for SIP via WebSocket
https://github.com/neki-dev/sip-gateway
gateway server sip websocket
Last synced: 10 days ago
JSON representation
📟 Simple gateway server for SIP via WebSocket
- Host: GitHub
- URL: https://github.com/neki-dev/sip-gateway
- Owner: neki-dev
- License: mit
- Created: 2019-09-17T09:05:55.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-09T16:33:23.000Z (almost 2 years ago)
- Last Synced: 2024-10-23T06:25:09.617Z (15 days ago)
- Topics: gateway, server, sip, websocket
- Language: JavaScript
- Homepage:
- Size: 122 KB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 📟 SIP gateway
[![Npm package version](https://badgen.net/npm/v/sip-gateway)](https://npmjs.com/package/sip-gateway)
[![Small size](https://img.badgesize.io/neki-dev/sip-gateway/master/src/index.js)](https://github.com/neki-dev/sip-gateway/blob/master/src/index.js)Simple gateway server for SIP via WebSocket
.
* ### Install
```sh
npm i sip-gateway
```* ### Configuration
| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| port | number | - | Port of gateway server |
| host | string | (localhost) | Host of gateway server |
| portSIP | number | 5060 | Port of SIP server |
| hostSIP | string | (autodetect) | Host of SIP server |
| ssl | Object | - | Using SSL |
| ssl.cert | string | - | Path to .crt file |
| ssl.key | string | - | Path to .key file |
| timeout | number | 60000 | Connection timeout |
| maxListeners | number | - | Max listeners |
| onListen | function | - | Callback for listen event |
| onSend | function | - | Callback for send event |
| onReceive | function | - | Callback for receive event |* ### Events
| Name | Parameters | Description |
| --- | --- | --- |
| connect | socket | New socket connection |
| disconnect | socket | Socket disconnection |
| streamCreate | stream | Create stream |
| streamDestroy | stream | Destroy stream |
| transferData | data, stream | Transfer stream data |* ### Usage
```js
const sipGateway = require('sip-gateway');
sipGateway.start({
// Configuration
});
```* ### Example
```js
const sipGateway = require('sip-gateway');
sipGateway.start({
port: 3000,
portSIP: 5061,
ssl: {
cert: '/root/ssl/test.crt',
key: '/root/ssl/test.key',
},
onSend: (data, stream) => {
if (!someFunctionForCheckData(data)) {
// Return false for stop send (if needed)
return false;
}
},
onReceive: (data, stream) => {
if (!someFunctionForCheckData(data)) {
// Return false for stop receive (if needed)
return false;
}
},
onListen: (socket) => {
console.log('Listening on wss://127.0.0.1:3000');
},
});
```
```js
sipGateway.on('connect', (socket) => {
console.log('Add socket', socket);
});sipGateway.on('disconnect', (socket) => {
console.log('Remove socket', socket);
});sipGateway.on('streamCreate', (stream) => {
console.log('Add stream', stream);
});sipGateway.on('streamDestroy', (stream) => {
console.log('Remove stream', stream);
});sipGateway.on('transferData', (data, stream) => {
console.log('Message:', data);
});
```