获取主被叫用户信息

更新时间: 2024/08/23 10:16:57

在报表统计等场景中,您可能需要上报主被叫的一些用户信息。本文介绍获取主被叫的用户 ID(uid)、房间 ID (cid)、房间名称(cname)等信息。

呼叫时透传扩展信息给被叫

您可以在发起呼叫时设置扩展信息,例如用户昵称等。

  1. 发起呼叫时在 extraInfo 参数中设置扩展信息,发起呼叫的详情参数参考如下:
type SignalControllerCallParams = {
  /** 被叫im id */
  accId: string
  /** 呼叫类型 */
  callType: SignalControllerCallType
  /** 通话id,可选 */
  callId?: string
  /** 信令房间名称,可选 */
  signalChannelName?: string
  /** 信令推送,可选 */
  signalPushConfig?: SignalControllerPushInfo
  /** 是否离线可以接收,可选 */
  enableOffline?: boolean
  /** 额外信息,被邀请端可以获取,可选 */
  extraInfo?: string
  /** 全局抄送,可选 */
  globalExtraCopy?: string
  /** rtc 房间名称,可选 */
  nertcChannelName?: string
  /** rtc token 超时时间,可选 */
  nertcTokenTtl?: number
  /** rtc 快呼叫参数,内部实现,用户可以忽略 */
  nertcJoinRoomQueryParamMap?: string
}

  1. 被叫用户获取相应的扩展信息。

被叫用户在收到来电通知时,通过 onReceiveInvited 回调中的 exraInfo 参数获取主叫方透传的扩展信息。

type NECallInfo = {
  /** 呼叫id */
  callId: string
  /** 呼叫人信息 */
  callerInfo: UserInfo
  /** 被叫人信息 */
  calleeInfo: UserInfo
  /** 呼叫类型 */
  callType: SignalControllerCallType
  /** 用户自定义扩展字段 */
  exraInfo?: string
}

获取本端的用户信息

主叫和被叫在加入 RTC 房间成功后,您可以在neCall.rtcController.client.getChannelInfo() 回调中获取本端的 RTC 用户 ID(uid)、RTC 房间 ID(cid)、RTC 房间名称(channelName)。

getChannelInfo 接口模型如下:

  getChannelInfo(): {
    /**
     * 频道ID,可用于服务端API调用。
     */
    cid: number
    /**
     * 用户输入的频道名。
     */
    channelName: string
    /**
     * 用户输入的id。当用户输入的uid为0时,则可获取服务端随机分配的uid。
     */
    uid: number | string
    /**
     * 用户输入的token。
     */
    token: string
  }

获取对端的用户信息

获取对端用户的 IM accid

被叫收到呼叫邀请时会触发onReceiveInvited回调,在该回调中会返回主叫和被叫到 IM accid。

onReceiveInvited 回调的接口模型如下:

type NECallInfo = {
  /** 呼叫id */
  callId: string
  /** 呼叫人信息 */
  callerInfo: UserInfo
  /** 被叫人信息 */
  calleeInfo: UserInfo
  /** 呼叫类型 */
  callType: SignalControllerCallType
  /** 用户自定义扩展字段 */
  exraInfo?: string
}

获取对端用户的 RTC Uid

主叫在调用 call 接口成功后,在通话过程中,您可以调用 getUidByAccId 接口,根据对端用户的 IM accid 获取对端用户的 uid。

示例代码如下:

// accId w
neCall.getUidByAccId(accId)
此文档是否对你有帮助?
有帮助
去反馈
  • 呼叫时透传扩展信息给被叫
  • 获取本端的用户信息
  • 获取对端的用户信息
  • 获取对端用户的 IM accid
  • 获取对端用户的 RTC Uid