feat: add JsSIP SIP client and useSipPhone hook for Ozonetel softphone integration

This commit is contained in:
2026-03-17 18:03:31 +05:30
parent 4f9bdc7312
commit d5feaab75a
5 changed files with 425 additions and 0 deletions

41
package-lock.json generated
View File

@@ -20,6 +20,7 @@
"@untitledui/file-icons": "^0.0.8",
"@untitledui/icons": "^0.0.21",
"input-otp": "^1.4.2",
"jssip": "^3.13.6",
"motion": "^12.29.0",
"qr-code-styling": "^1.9.2",
"react": "^19.2.3",
@@ -37,6 +38,7 @@
"devDependencies": {
"@tailwindcss/postcss": "^4.1.18",
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
"@types/jssip": "^3.5.3",
"@types/node": "^24.10.9",
"@types/react": "^19.2.9",
"@types/react-dom": "^19.2.3",
@@ -3710,6 +3712,16 @@
"license": "MIT",
"peer": true
},
"node_modules/@types/jssip": {
"version": "3.5.3",
"resolved": "http://localhost:4873/@types/jssip/-/jssip-3.5.3.tgz",
"integrity": "sha512-Rvw7hJPEJ12dlinAyzGpt3wxyPFMJemKRU4jTGRlRATZIdaIZUmpehsdU0oq9jIhx9bNNqIgzR+eR5Xe/U0/2g==",
"dev": true,
"license": "MIT",
"dependencies": {
"jssip": "*"
}
},
"node_modules/@types/node": {
"version": "24.12.0",
"resolved": "http://localhost:4873/@types/node/-/node-24.12.0.tgz",
@@ -4423,6 +4435,15 @@
"node": ">=0.10.0"
}
},
"node_modules/events": {
"version": "3.3.0",
"resolved": "http://localhost:4873/events/-/events-3.3.0.tgz",
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"license": "MIT",
"engines": {
"node": ">=0.8.x"
}
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "http://localhost:4873/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -4730,6 +4751,17 @@
"license": "MIT",
"peer": true
},
"node_modules/jssip": {
"version": "3.13.6",
"resolved": "http://localhost:4873/jssip/-/jssip-3.13.6.tgz",
"integrity": "sha512-Bf1ndrSuqpO87/AG56WACR7kKcCvKOzaIQROu7JUMh0qFaGOV4NuR+wsnaXa7f3/d6xhwVczczFyt1ywJmTjPg==",
"license": "MIT",
"dependencies": {
"debug": "^4.3.1",
"events": "^3.3.0",
"sdp-transform": "^2.14.1"
}
},
"node_modules/keyv": {
"version": "4.5.4",
"resolved": "http://localhost:4873/keyv/-/keyv-4.5.4.tgz",
@@ -5638,6 +5670,15 @@
"integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
"license": "MIT"
},
"node_modules/sdp-transform": {
"version": "2.15.0",
"resolved": "http://localhost:4873/sdp-transform/-/sdp-transform-2.15.0.tgz",
"integrity": "sha512-KrOH82c/W+GYQ0LHqtr3caRpM3ITglq3ljGUIb8LTki7ByacJZ9z+piSGiwZDsRyhQbYBOBJgr2k6X4BZXi3Kw==",
"license": "MIT",
"bin": {
"sdp-verify": "checker.js"
}
},
"node_modules/semver": {
"version": "7.7.4",
"resolved": "http://localhost:4873/semver/-/semver-7.7.4.tgz",