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 应用程序。