1

/restapi/v1.0/client-info/sip-provisionこの API リソースに基づくエンドポイントを使用して 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);

上記を使用して、Web 電話クライアント ライブラリを使用して、webPhone.userAgent.inviteで WebRTC を使用して他のユーザーを通話に招待できます。ユーザーがブラウザーを閉じてセッションを終了するとどうなりますか? SIP プロビジョニングを終了し、ユーザー エージェントを登録解除して、アプリケーションが RingCentral を確実に更新するようにするにはどうすればよいですか?

RingCentral Web Phone Client LibraryRingCentral JS SDK、またはRignCentral API Referenceからの WebPhone の作成に含まれているため、 RingCentral Web Phone Client Libraryで参照されているユーザー エージェントの登録を解除する方法がわかりませんSIP デバイス登録

WebPhone がユーザー エージェントを登録解除する機能を公開しているとは思いません。これを適切に行う方法を見つけようとしています。

どんな助けでも大歓迎です。

4

1 に答える 1

2

RingCentral Web Phone は SIP.JS のカスタム ラッパーであるため、登録を解除するには、SIP.JS のメソッドを呼び出すだけです: http://sipjs.com/api/0.7.0/ua/#unregisteroptions

あなたの場合、それはwebPhone.userAgent.unregister.

于 2016-08-29T17:12:54.307 に答える