JsSIP API 文档

JsSIP API 文档

Module JsSIP

JsSIP 是一个模块化的 SIP 客户端库,提供了多种类和接口来帮助开发者构建 SIP 用户代理。

Module JsSIP.debug

JsSIP.debug 模块提供了调试工具,可以用来记录 SIP 交互和其他相关信息。

Class JsSIP.UA

JsSIP.UA 类代表一个 SIP 用户代理,它是 JsSIP 的核心组件之一,用于处理 SIP 通信的所有方面。

构造函数
new JsSIP.UA(configuration)
  • configuration: 配置对象,定义了 UA 的行为和设置。
属性
  • configuration: UA 的配置。
  • registrations: 当前有效的注册列表。
  • sessions: 当前有效的会话列表。
方法
  • start(): 开始 UA 的工作,包括注册到 SIP 服务器。
  • stop(): 停止 UA 的所有活动,包括注销和关闭会话。
  • RTCSession: 创建新的 RTCSession 实例。
  • Message: 创建新的 Message 实例。
事件
  • registered: 注册成功时触发。
  • failed: 注册失败时触发。
  • registrationFailed: 注册失败时触发。
  • registrationTimeout: 注册超时时触发。
  • newRTCSession: 新会话到达时触发。
  • newMessage: 接收到新消息时触发。

Class JsSIP.Registrator

JsSIP.Registrator 类用于管理 SIP 注册过程。

Class JsSIP.RTCSession

JsSIP.RTCSession 类代表一个 SIP 会话,用于处理多媒体会话的建立和控制。

构造函数
new JsSIP.RTCSession(configuration)
  • configuration: 配置对象,定义了会话的行为和设置。
方法
  • call(): 发起一个 SIP INVITE 请求。
  • answer(): 回答一个 SIP INVITE 请求。
  • hangup(): 发送一个 SIP BYE 请求以终止会话。
  • hold(): 发送一个 SIP MESSAGE 请求以暂停会话。
  • resume(): 发送一个 SIP MESSAGE 请求以恢复会话。
  • transfer(): 转移会话。
  • refer(): 引用会话。
  • sendDtmf(): 发送 DTMF 信号。
事件
  • progress: 会话进展时触发。
  • accepted: 会话接受时触发。
  • confirmed: 会话确认时触发。
  • terminated: 会话终止时触发。
  • failed: 会话失败时触发。

Class JsSIP.Message

JsSIP.Message 类用于处理 SIP 文本消息。

构造函数
new JsSIP.Message(configuration)
  • configuration: 配置对象,定义了消息的行为和设置。
方法
  • send(): 发送一个 SIP MESSAGE 请求。
  • receive(): 接收一个 SIP MESSAGE 请求。

Class JsSIP.Options

JsSIP.Options 类用于配置 SIP 消息的选项。

Class JsSIP.OutgoingRequest

JsSIP.OutgoingRequest 类代表一个 SIP 请求。

Class JsSIP.IncomingMessage

JsSIP.IncomingMessage 类代表一个接收的 SIP 消息。

Class JsSIP.IncomingRequest

JsSIP.IncomingRequest 类代表一个接收的 SIP 请求。

Class JsSIP.IncomingResponse

JsSIP.IncomingResponse 类代表一个接收的 SIP 响应。

Class JsSIP.Socket

JsSIP.Socket 类代表一个 SIP Socket,用于连接到 SIP 服务器。

Class JsSIP.WebSocketInterface

JsSIP.WebSocketInterface 类实现了 WebSocket 接口,用于通过 WebSocket 连接到 SIP 服务器。

Class JsSIP.URI

JsSIP.URI 类用于解析和构建 SIP URI。

Class JsSIP.NameAddrHeader

JsSIP.NameAddrHeader 类用于解析和构建 SIP 名称地址头。

Class JsSIP.RTCSession.ReferSubscriber

JsSIP.RTCSession.ReferSubscriber 类用于订阅会话引用事件。

jssip-node-websocket

jssip-node-websocket 是 JsSIP 在 Node.js 环境中的 WebSocket 实现。

UA Configuration Parameters

JsSIP.UA 的配置参数包括但不限于:

  • uri: SIP 用户标识。
  • password: 用户密码。
  • wsServers: WebSocket 服务器列表。
  • registrarServer: 注册服务器地址。
  • transport: 传输方式。
  • sessionDescriptionHandler: 会话描述处理器配置。
  • mediaConstraints: 媒体约束。
  • traceSip: 是否开启 SIP 消息跟踪。
  • traceSdp: 是否开启 SDP 消息跟踪。

Events

JsSIP 提供了多个事件来通知 SIP 交互的重要时刻,例如:

  • registered: 注册成功时触发。
  • failed: 注册失败时触发。
  • registrationFailed: 注册失败时触发。
  • registrationTimeout: 注册超时时触发。
  • newRTCSession: 新会话到达时触发。
  • newMessage: 接收到新消息时触发。

Failure and End Causes

JsSIP 定义了一系列失败和结束的原因码,用于表示 SIP 交互的结果。

DOM Exceptions

JsSIP 可能抛出的 DOM 异常包括:

  • InvalidStateError: 当操作不符合当前状态时抛出。
  • SyntaxError: 当语法错误时抛出。
  • TypeError: 当类型错误时抛出。
  • SecurityError: 当安全限制被违反时抛出。
  • NetworkError: 当网络错误时抛出。
  • AbortError: 当操作被取消时抛出。

这些是 JsSIP 的主要 API 组件概述。你可以根据这些信息进一步探索 JsSIP 的文档和源代码,以便更深入地了解如何使用这个库来构建 SIP 应用程序。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容