Tích hợp WebRTC vào webphone của bạn - Thay thế Tinyphone desktop
Bước 1: Include SDK vào trang web:
// Import SDK <script src="sdk/acl-webrtc-phone.js"></script>
Bước 2: Khởi tạo và đăng ký:
// Tạo instance const phone = new ACLPhone({ server: 'ws://your-janus:8188', sipServer: 'sip.example.com', username: '1005', password: 'secret' }); // Đăng ký SIP await phone.register();
Bước 3: Thực hiện cuộc gọi:
// Gọi đi await phone.dial('0901234567'); // Ngắt máy await phone.hangup(); // Mute/unmute phone.mute(true); // Gửi DTMF phone.sendDTMF('1');
Bước 4: Xử lý sự kiện:
phone.on('onIncomingCall', (call) => { if (confirm('Incoming: ' + call.caller)) { phone.answer(); } else { phone.reject(); } }); phone.on('onCallConnected', (call) => { console.log('Connected to', call.number); }); phone.on('onCallEnded', (info) => { console.log('Call ended:', info.reason); });
📋 API tương thích Tinyphone:
register() | Đăng ký SIP |
unregister() | Hủy đăng ký |
dial(number) | Gọi đi |
answer() | Trả lời |
hangup() | Ngắt máy |
mute(bool) | Tắt/bật mic |
hold(bool) | Giữ/tiếp tục |
sendDTMF(digit) | Gửi DTMF |
transfer(target) | Chuyển cuộc gọi |
getStatus() | Lấy trạng thái |