gpt4 book ai didi

javascript - 如何使用 RingCentral Web 电话客户端库取消注册用户代理?

转载 作者:行者123 更新时间:2023-11-30 15:51:48 25 4
gpt4 key购买 nike

我可以看到我必须使用基于此 API 资源的 /restapi/v1.0/client-info/sip-provision 端点注册一个 SIP 设备:https://developers.ringcentral.com/api-docs/latest/SipDeviceRegistration.html

基于RingCentral Web Phone Client Library ,并使用 RingCentral JS-SDK我能够配置 SIP 设备:

// Setup RingCentral
var RC = require('ringcentral');
var sdk = new RC({
server: process.env.RC_SERVER,
appKey: process.env.RC_APP_KEY,
appSecret: process.env.RC_APP_SECRET
});

var platform = sdk.platform();

// Login
platform
.login({
username: process.env.RC_USERNAME,
extension: process.env.RC_EXTENSION,
password: process.env.RC_PASSWORD
})
.catch(function(e) {
console.error('RC LOGIN ERROR: ', e);
throw e;
});

// SIP Provision
platform
.post('/client-info/sip-provision', {
sipInfo: [{transport: 'WSS'}]
})
.then(function(res) {
io.emit('sipProvisionResponse', res.json());
})
.catch(function(e) {
console.error(e);
throw e;
});

一旦设备的 SIP 配置完成,我就使用该信息来实例化 WebPhone

var webPhone;
var rcSipProvision; // Is set to result of request to /restapi/v1.0/client-info/sip-provision
rcSipProvision = data.sipInfo[0] || data.sipInfo;;
//console.log('RingCentral: ', RingCentral);
webPhone = new RingCentral.WebPhone(data, {
logLevel:1,
audioHelper: {
enabled: true, // enables audio feedback when phone is ringing or making call
incoming: '/audio/incoming.ogg', // path to audio file for incoming call
outgoing: '/audio/outgoing.ogg' // path to audio file for outgoing call
}
});
$callButton.removeAttr('disabled');

webPhone.userAgent.on('invite', onInvite);
webPhone.userAgent.on('connecting', onConnecting);
webPhone.userAgent.on('connected', onConnected);
webPhone.userAgent.on('disconnected', onDisconnected);
webPhone.userAgent.on('registered', onRegistered);
webPhone.userAgent.on('unregistered', onUnregistered);
webPhone.userAgent.on('registrationFailed', onRegistrationFailed);
webPhone.userAgent.on('message', onMessage);

使用上面的方法,我可以使用网络电话客户端库邀请其他人使用 WebRTC 和 webPhone.userAgent.invite 进行通话.如果用户关闭浏览器并终止 session 怎么办?如何通过终止 SIP 提供和取消注册用户代理来确保我的应用程序更新 RingCentral?

我不知道如何取消注册 RingCentral Web Phone Client Library 中引用的用户代理因为这包含在从 RingCentral Web Phone Client Library 创建 WebPhone 的过程中, RingCentral JS SDK ,或 RignCentral API Reference for SIP Device Registration .

我没有看到 WebPhone 公开了注销用户代理的能力,我正试图弄清楚如何正确地做到这一点。

欢迎任何帮助。

最佳答案

RingCentral Web Phone 是 SIP.JS 的自定义包装器,因此要取消注册,您只需调用 SIP.JS 的方法:http://sipjs.com/api/0.7.0/ua/#unregisteroptions

在您的情况下,它将是 webPhone.userAgent.unregister

关于javascript - 如何使用 RingCentral Web 电话客户端库取消注册用户代理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39211403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com