2.2.0 • Published 1 year ago

sip-gateway v2.2.0

Weekly downloads
6
License
MIT
Repository
github
Last release
1 year ago

📟 SIP gateway

Npm package version Small size

Simple gateway server for SIP via WebSocket

.

  • Install

npm i sip-gateway
  • Configuration

    ParameterTypeDefaultDescription
    portnumber-Port of gateway server
    hoststring(localhost)Host of gateway server
    portSIPnumber5060Port of SIP server
    hostSIPstring(autodetect)Host of SIP server
    sslObject-Using SSL
    ssl.certstring-Path to .crt file
    ssl.keystring-Path to .key file
    timeoutnumber60000Connection timeout
    maxListenersnumber-Max listeners
    onListenfunction-Callback for listen event
    onSendfunction-Callback for send event
    onReceivefunction-Callback for receive event
  • Events

    NameParametersDescription
    connectsocketNew socket connection
    disconnectsocketSocket disconnection
    streamCreatestreamCreate stream
    streamDestroystreamDestroy stream
    transferDatadata, streamTransfer stream data
  • Usage

const sipGateway = require('sip-gateway');
sipGateway.start({
    // Configuration 
});
  • Example

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');
    },
});
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);
});
2.2.0

1 year ago

2.1.1

2 years ago

2.1.0

2 years ago

2.0.0

2 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago