Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface UserAgent

请使用 NECCC.UA 创建 UserAgent 对象,ua对象作为云呼叫电话终端

Hierarchy

  • UserAgent

Index

Methods

call

  • call(target: string, option?: any): Promise<void | BaseError>
  • 主动外呼用户手机

    Parameters

    • target: string

      要呼叫的电话号码

    • Optional option: any

    Returns Promise<void | BaseError>

    如果该方法执行失败,sdk会返回BaseError对象

connect

  • 连接服务;用户主动行为,连接结果通过事件通知

    Returns Promise<void | BaseError>

    如果该方法执行失败,sdk会返回 BaseError 对象

    • @note
    • 执行成功之后,建议马上执行 ua.register() 注册,否则一段时间之后,服务器会主动断开此次链接

destroy

  • destroy(): void
  • 销毁该UA实例

    Returns void

disconnect

  • 断开服务连接; 用户主动行为, 断开结果通过事件通知

    Returns Promise<void | BaseError>

    如果该方法执行失败,sdk会返回BaseError对象

getCause

  • getCause(): string
  • 若查看服务器连接未准备就绪,则可以查看具体原因;

    Returns string

getSession

  • 返回当前正在进行中的会话session对象实例

    Returns RtcSession

init

innerCall

  • innerCall(target: string, option?: any): Promise<void | BaseError>
  • 主动外呼内部的坐席

    Parameters

    • target: string

      要呼叫的坐席的账号

    • Optional option: any

    Returns Promise<void | BaseError>

    如果该方法执行失败,sdk会返回BaseError对象

isConnected

  • isConnected(): Boolean
  • 返回当前服务器的连接状态

    Returns Boolean

isReady

  • isReady(): Boolean
  • 获取当前ua是否已经注册完成

    Returns Boolean

on

  • on(event: "connecting", callback: () => void): void
  • on(event: "disconnected", callback: (evt: { cause: string; code: number; error: boolean }) => void): void
  • on(event: "connected", callback: () => void): void
  • on(event: "registered", callback: () => void): void
  • on(event: "unregistered", callback: () => void): void
  • on(event: "registrationFailed", callback: (evt: BaseError) => void): void
  • on(event: "kickout", callback: () => void): void
  • on(event: "error", callback: (evt: BaseError) => void): void
  • on(event: "newRTCSession", callback: (evt: { originator: "local" | "remote"; session: RtcSession; sessionType: number }) => void): void
  • on(event: "ringing", callback: (evt: { callee: string; caller: string; direction: "outgoing" | "incoming"; originator: "local" | "remote"; screenPopUp: boolean; sessionType: number }) => void): void
  • 该UA实例正在建立与服务器的连接

    Parameters

    • event: "connecting"
    • callback: () => void
        • (): void
        • Returns void

    Returns void

  • 该UA实例与服务器的连接断开了

    Parameters

    • event: "disconnected"
    • callback: (evt: { cause: string; code: number; error: boolean }) => void
        • (evt: { cause: string; code: number; error: boolean }): void
        • Parameters

          • evt: { cause: string; code: number; error: boolean }
            • cause: string

              断开的原因

            • code: number

              断开的socket code码

            • error: boolean

              是否因异常断开

          Returns void

    Returns void

  • 该UA实例连接服务器成功时触发

    Parameters

    • event: "connected"
    • callback: () => void
        • (): void
        • Returns void

    Returns void

  • 该UA实例登陆成功

    Parameters

    • event: "registered"
    • callback: () => void
        • (): void
        • Returns void

    Returns void

  • 该UA实例注销成功

    Parameters

    • event: "unregistered"
    • callback: () => void
        • (): void
        • Returns void

    Returns void

  • 该UA实例注册失败

    Parameters

    Returns void

  • 该UA实例初始化成功时触发

    note
    • 相同的账号在别的地方上登录了,你被顶掉了
    • 调用服务器接口主动把该UA踢掉了

    Parameters

    • event: "kickout"
    • callback: () => void
        • (): void
        • Returns void

    Returns void

  • sdk内部发生了错误,反馈错误通知

    Parameters

    Returns void

  • 会话建立的通知,可以从中获取RtcSession对象

    note
    • 无论是自己呼叫别人还是别人呼叫自己,UA都能收到该事件

    Parameters

    • event: "newRTCSession"
    • callback: (evt: { originator: "local" | "remote"; session: RtcSession; sessionType: number }) => void
        • (evt: { originator: "local" | "remote"; session: RtcSession; sessionType: number }): void
        • Parameters

          • evt: { originator: "local" | "remote"; session: RtcSession; sessionType: number }
            • originator: "local" | "remote"

              通话来源 ['remote' | 'local'] remote 呼入 local 呼出

              note
              • 建议根据originator判断,是外呼还是呼入,如果是外呼,建议sdk开发者主动执行 accept() 动作,呼入在页面上显示振铃UI
            • session: RtcSession

              当前会话实例对象

            • sessionType: number

              当前会话的类型,1: 用户呼入;2: 坐席呼出;3: 坐席自动接听

          Returns void

    Returns void

  • 新进呼入或呼出会话, 符合振铃条件时触发;

    Parameters

    • event: "ringing"
    • callback: (evt: { callee: string; caller: string; direction: "outgoing" | "incoming"; originator: "local" | "remote"; screenPopUp: boolean; sessionType: number }) => void
        • (evt: { callee: string; caller: string; direction: "outgoing" | "incoming"; originator: "local" | "remote"; screenPopUp: boolean; sessionType: number }): void
        • Parameters

          • evt: { callee: string; caller: string; direction: "outgoing" | "incoming"; originator: "local" | "remote"; screenPopUp: boolean; sessionType: number }
            • callee: string

              被叫号码。自己呼叫别人,则是自己要呼叫的号码;别人呼叫自己,则是自己的account

            • caller: string

              主叫号码。自己呼叫别人,则是自己的account;别人呼叫自己,则是对端的号码

            • direction: "outgoing" | "incoming"

              通话方向 ['outgoing' | 'incoming'] incoming 呼入,outgoing 呼出

            • originator: "local" | "remote"

              通话来源 ['remote' | 'local'] remote 呼入,local 呼出

            • screenPopUp: boolean

              是否需要页面振铃

            • sessionType: number

              当前会话的类型,1: 用户呼入;2: 坐席呼出;3: 坐席自动接听

          Returns void

    Returns void

register

  • 主动注册

    Returns Promise<void | BaseError>

    如果该方法执行失败,sdk会返回 BaseError 对象

unregister

  • 账号注销

    Returns Promise<void | BaseError>

    如果该方法执行失败,sdk会返回 BaseError 对象