使用 vLine API 更改人员的状态

  • 本文关键字:状态 vLine API 使用 vline
  • 更新时间 :
  • 英文 :


用户接受呼叫后,如何更改人员的状态(setPresenceState)?我需要将该人员的状态设置为"忙碌"。

我想当"enterState:active"事件启动时,我可以将存在设置为忙碌,但我到底该如何做到这一点?

在我们的文档中,我们说在进行调用时,我们会自动将状态设置为"忙碌",但仔细查看我们的代码,我们目前似乎没有这样做。我会解决这个问题,但同时我会举一个例子,说明你如何自己做到这一点(以防你想有其他行为)。

一般的想法是当vline.MediaSession进入active状态时将存在状态设置为繁忙。在本例中,假设client为登录的vline.Clientsession为登录后返回的vline.Session

client.on('add:mediaSession', function(event) {
  var mediaSession = event.target;
  mediaSession.on('enterState:active', function() {
    session.setPresence('busy');
  }, this);
  mediaSession.on('enterState:closed', function() {
    session.setPresence('online');
  }, this);
}, this);

一切都会正常工作,当你发送视频通话时,没有人可以发送其他视频通话

PresenceStates"忙"不起作用,任何你想做的事情。。我使用"do_not_disturb"PresenceStates,而不是,并重置"do_not _disturb"的状态,即使媒体会话"断开连接"或被客户端或人员中断。

你明白了吗?

添加此代码而不是:

//----------------------------------------------------------------

client.on('add:mediaSession', function(event) {
var mediaSession = event.target;
mediaSession.on('enterState:active', function() {
session.setPresence('do_not_disturb');
}, this);
mediaSession.on('enterState:closed', function() {
session.setPresence('online');
}, this);
mediaSession.on('enterState:outgoing', function() {
session.setPresence('do_not_disturb');
}, this);
mediaSession.on('enterState:incoming', function() {
session.setPresence('do_not_disturb');
}, this);
mediaSession.on('enterState:disconnected', function() {
session.setPresence('online');
}, this);
}, this);

//----------------------------------------------------------------

要重置"do_not_disturb"的状态,发生了什么事件,即使客户端或个人中断了会话,也只需在以下位置添加此代码:

//获取与用户名关联的人员对象:session.getPerson(userId).done(function(person){

session.setPresence('online');

(vline.MediaSession被假定为处于活动状态。会话被假定为vline。登录后返回会话。)

最新更新