Skip to content

neki-dev/sip-gateway

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“Ÿ SIP gateway

Npm package version Small size

Simple gateway server for SIP via WebSocket

.

  • Install

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

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);
});

About

πŸ“Ÿ Simple gateway server for SIP via WebSocket

Topics

Resources

License

Stars

Watchers

Forks