{"id":16252973,"url":"https://github.com/neki-dev/sip-gateway","last_synced_at":"2025-03-19T20:31:49.076Z","repository":{"id":60536035,"uuid":"209007855","full_name":"neki-dev/sip-gateway","owner":"neki-dev","description":"📟 Simple gateway server for SIP via WebSocket","archived":false,"fork":false,"pushed_at":"2025-01-02T18:00:00.000Z","size":69,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-16T16:11:34.508Z","etag":null,"topics":["gateway","server","sip","websocket"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neki-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-17T09:05:55.000Z","updated_at":"2024-08-25T22:34:39.000Z","dependencies_parsed_at":"2025-02-26T22:17:37.308Z","dependency_job_id":null,"html_url":"https://github.com/neki-dev/sip-gateway","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neki-dev%2Fsip-gateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neki-dev%2Fsip-gateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neki-dev%2Fsip-gateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neki-dev%2Fsip-gateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neki-dev","download_url":"https://codeload.github.com/neki-dev/sip-gateway/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244501466,"owners_count":20462863,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gateway","server","sip","websocket"],"created_at":"2024-10-10T15:15:32.812Z","updated_at":"2025-03-19T20:31:45.814Z","avatar_url":"https://github.com/neki-dev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 📟 SIP gateway\n[![Npm package version](https://badgen.net/npm/v/sip-gateway)](https://npmjs.com/package/sip-gateway)\n[![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)\n\nSimple gateway server for SIP via WebSocket\n\n.\n\n* ### Install\n\n```sh\nnpm i sip-gateway\n```\n\n* ### Configuration\n| Parameter | Type | Default | Description |\n| --- | --- | --- | --- |\n| port | number | - | Port of gateway server |\n| host | string | (localhost) | Host of gateway server |\n| portSIP | number | 5060 | Port of SIP server |\n| hostSIP | string | (autodetect) | Host of SIP server |\n| ssl | Object | - | Using SSL |\n| ssl.cert | string | - | Path to .crt file |\n| ssl.key | string | - | Path to .key file |\n| timeout | number | 60000 | Connection timeout |\n| maxListeners | number | - | Max listeners |\n| onListen | function | - | Callback for listen event |\n| onSend | function | - | Callback for send event |\n| onReceive | function | - | Callback for receive event |\n\n* ### Events\n| Name | Parameters | Description |\n| --- | --- | --- |\n| connect | socket | New socket connection |\n| disconnect | socket | Socket disconnection |\n| streamCreate | stream | Create stream |\n| streamDestroy | stream | Destroy stream |\n| transferData | data, stream | Transfer stream data |\n\n* ### Usage\n\n```js\nconst sipGateway = require('sip-gateway');\nsipGateway.start({\n    // Configuration \n});\n```\n\n* ### Example\n\n```js\nconst sipGateway = require('sip-gateway');\nsipGateway.start({\n    port: 3000,\n    portSIP: 5061,\n    ssl: { \n        cert: '/root/ssl/test.crt',\n        key: '/root/ssl/test.key',\n    },\n    onSend: (data, stream) =\u003e {\n        if (!someFunctionForCheckData(data)) {\n            // Return false for stop send (if needed)\n            return false;\n        }       \n    },\n    onReceive: (data, stream) =\u003e {\n        if (!someFunctionForCheckData(data)) {\n            // Return false for stop receive (if needed)\n            return false;\n        }       \n    },\n    onListen: (socket) =\u003e {\n        console.log('Listening on wss://127.0.0.1:3000');\n    },\n});\n```\n```js\nsipGateway.on('connect', (socket) =\u003e {\n    console.log('Add socket', socket);\n});\n\nsipGateway.on('disconnect', (socket) =\u003e {\n    console.log('Remove socket', socket);\n});\n\nsipGateway.on('streamCreate', (stream) =\u003e {\n    console.log('Add stream', stream);\n});\n\nsipGateway.on('streamDestroy', (stream) =\u003e {\n    console.log('Remove stream', stream);\n});\n\nsipGateway.on('transferData', (data, stream) =\u003e {\n    console.log('Message:', data);\n});\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneki-dev%2Fsip-gateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneki-dev%2Fsip-gateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneki-dev%2Fsip-gateway/lists"}