voip24h-sip-gateway
v1.0.8
Published
Sip gateway is libary to use WebRTC custom by VOIP24h
Downloads
29
Readme
voip24h-sip-gateway
Mục lục
Tính năng và các Event
| Chức năng | Mô tả | | --------- | ----- | | CallKit | • Kết nối tài khoản SIP • Gọi đi/Nhận cuộc gọi đến • Chấp nhận cuộc gọi/Từ chối cuộc gọi đến/Ngắt máy • Pause/Resume cuộc gọi • Hold/Unhold cuộc gọi • Bật/Tắt mic • Lấy trạng thái mic • Transfer cuộc gọi • Send DTMF |
• Event khởi tạo và đăng ký tài khoản SIP | Event | Mô tả và Response | | --------- | ----- | | Registered | • Đăng ký tài khoản SIP thành công.| | RegistrationFailed | • Đăng ký tài khoản SIP thất bại. |
• Event cuộc gọi đến | Event | Mô tả và Response | | --------- | ----- | | Incomingcall | • Sự kiện đang có cuộc gọi đến. • Response: {phonenumer: số_điện_thoại}| | Accepted | • Sự kiện chấp nhận cuộc gọi đến. | | Hangup EmployerHangup CustomerHangup | • Sự kiện kết thúc cuộc gọi. CustomerHangup : Khách hàng cúp máy EmployerHangup: Nhân viên cúp máy | | Reject | • Sự kiện từ chối cuộc gọi đến. |
• Event cuộc gọi đi | Event | Mô tả và Response | | --------- | ----- | | Calling | • Bắt sự kiện cuộc gọi đi. | | Accepted | • Chấp nhận cuộc gọi đi từ phía người nhận. | | Hangup EmployerHangup CustomerHangup | • Sự kiện kết thúc cuộc gọi. CustomerHangup : Khách hàng cúp máy EmployerHangup: Nhân viên cúp máy |
• Event kiểm tra các xử lý trong cuộc gọi | Event | Mô tả và Response | | --------- | ----- | | transfer | • Chuyển tiếp cuộc gọi. | | holding unholding | • Kiểm tra trạng thái giữ cuộc gọi. Hoặc sử dụng hàm isHold( ). | | Hangup EmployerHangup CustomerHangup | • Sự kiện kết thúc cuộc gọi. CustomerHangup : Khách hàng cúp máy EmployerHangup: Nhân viên cúp máy | | |Kiểm tra Bật/Tắt mic sử dụng hàm isMute( ).|
• Event kiểm tra tiến trình WebRTC | Event | Mô tả và Response | | --------- | ----- | | Error | • Kiểm tra lỗi trong tiến trình. • Response: {error: thông_tin_lỗi}| | Destroyed | • Kiểm tra sự kiện hủy tiến trình. | | ServerDown | • Kiểm tra sự kiện server ngưng hoạt động. • Response: {event: thông_tin_sự_kiện}| | Closing | • Kiểm tra sự kiện mất tính hiệu do tắt trang.|
Cài đặt
Sử dụng npm:
$ npm install voip24h-sip-gateway
Sử dụng yarn:
$ yarn add voip24h-sip-gateway
Sử dụng
• Import thư viện voip24h-sip-gateway vào
import { Voip24hModule, EventSipGateway } from 'voip24h-sip-gateway';
• Khởi chạy thư viện bằng cách gọi Voip24hModule.getInstance()
và initializeModule();
trong function 'cha' của hệ thống và truyền chuỗi 'all'
để bật debug
//Khởi tạo không có debug
var module = Voip24hModule.getInstance()
await module.initializeModule();
//Khởi tạo có debug
var module = Voip24hModule.getInstance('all')
await module.initializeModule();
• Khởi tạo hàm để bắt các sự kiện của thư viện trả về. Bằng cách gọi hàm pushEventToSide
trong hook useEffect
***Lưu ý: Các sự kiện có trả Response và cách lấy Response:
| Event | Mô tả và Response |
| --------- | ----- |
| Incomingcall | • Sự kiện đang có cuộc gọi đến. • Response: {phonenumer: số_điện_thoại}|
| Error | • Kiểm tra lỗi trong tiến trình. • Response: {error: thông_tin_lỗi}|
| ServerDown | • Kiểm tra sự kiện server ngưng hoạt động. • Response: {event: thông_tin_sự_kiện}|
useEffect(() => {
module.pushEventToSide(
{
onmessageOutSide: function (event,data) {
console.log("Trạng thái: " + event);
if(event === EventSipGateway.Incomingcall){
console.log("Số gọi đến: " + data.phonenumber)
}else if(event === EventSipGateway.Error){
console.log("Thông tin lỗi: " + data.error)
}
}
}
);
}, []);
• Đăng ký tài khoản SIP sử dụng hàm registerSip(ipAddressSIP, numberSIP, password);
module.registerSip("14.225.254.251", "100", "password");
-Kiểm tra xem trạng thái đã đăng ký tài khoản SIP bằng cách check Event register hoặc sử dụng hàm isRegistered();
.
module.isRegistered();
| Response | Mô tả | | --------- | ----- | | true | • Đã đăng ký SIP| | false | • Chưa đăng ký SIP|
• Thực hiện cuộc gọi sử dụng hàm call(phonenumber);
module.call("0981998945");
• Ngắt/Hủy cuộc gọi sử dụng hàm hangUp();
module.hangUp();
• Các hàm xử lý cuộc gọi đến
//Nhận cuộc gọi
module.answer();
//Từ chối cuộc gọi
module.reject();
• Các hàm xử lý trong cuộc gọi -Trong cuộc gọi, hàm Tắt/Bật mic :
module.toggleMute();
-Kiểm tra xem trạng thái của mic đang bật hay tắt:
module.isMute();
| Response | Mô tả | | --------- | ----- | | true | • Mic đang tắt| | false | • Mic đang bật|
-Trong cuộc gọi, hàm Hold/Unhold :
module.toggleHold();
-Kiểm tra xem trạng thái Hold/Unhold:
module.isHold();
| Response | Mô tả | | --------- | ----- | | true | • Đang hold cuộc gọi| | false | • Cuộc gọi bình thường|
• Trong cuộc gọi, muốn chuyển tiếp cuộc gọi cho số điện thoại khác sử dụng hàm transfer(phonenumber_to_transfer)
:
module.transfer(102)
• Trong cuộc gọi, sử dụng dtmf, hàm sendDtmf(number)
:
module.sendDtmf(2);
• Hàm hủy tiến trình WebRTC sử dụng hàm release()
:
module.release();