JsSIP API 文檔
Module JsSIP
JsSIP 是一個模塊化的 SIP 客戶端庫,提供了多種類和接口來幫助開發(fā)者構(gòu)建 SIP 用戶代理。
Module JsSIP.debug
JsSIP.debug 模塊提供了調(diào)試工具,可以用來記錄 SIP 交互和其他相關(guān)信息。
Class JsSIP.UA
JsSIP.UA 類代表一個 SIP 用戶代理,它是 JsSIP 的核心組件之一,用于處理 SIP 通信的所有方面。
構(gòu)造函數(shù)
new JsSIP.UA(configuration)
- configuration: 配置對象,定義了 UA 的行為和設(shè)置。
屬性
-
configuration: UA 的配置。 -
registrations: 當(dāng)前有效的注冊列表。 -
sessions: 當(dāng)前有效的會話列表。
方法
-
start(): 開始 UA 的工作,包括注冊到 SIP 服務(wù)器。 -
stop(): 停止 UA 的所有活動,包括注銷和關(guān)閉會話。 -
RTCSession: 創(chuàng)建新的 RTCSession 實例。 -
Message: 創(chuàng)建新的 Message 實例。
事件
-
registered: 注冊成功時觸發(fā)。 -
failed: 注冊失敗時觸發(fā)。 -
registrationFailed: 注冊失敗時觸發(fā)。 -
registrationTimeout: 注冊超時時觸發(fā)。 -
newRTCSession: 新會話到達(dá)時觸發(fā)。 -
newMessage: 接收到新消息時觸發(fā)。
Class JsSIP.Registrator
JsSIP.Registrator 類用于管理 SIP 注冊過程。
Class JsSIP.RTCSession
JsSIP.RTCSession 類代表一個 SIP 會話,用于處理多媒體會話的建立和控制。
構(gòu)造函數(shù)
new JsSIP.RTCSession(configuration)
- configuration: 配置對象,定義了會話的行為和設(shè)置。
方法
-
call(): 發(fā)起一個 SIP INVITE 請求。 -
answer(): 回答一個 SIP INVITE 請求。 -
hangup(): 發(fā)送一個 SIP BYE 請求以終止會話。 -
hold(): 發(fā)送一個 SIP MESSAGE 請求以暫停會話。 -
resume(): 發(fā)送一個 SIP MESSAGE 請求以恢復(fù)會話。 -
transfer(): 轉(zhuǎn)移會話。 -
refer(): 引用會話。 -
sendDtmf(): 發(fā)送 DTMF 信號。
事件
-
progress: 會話進(jìn)展時觸發(fā)。 -
accepted: 會話接受時觸發(fā)。 -
confirmed: 會話確認(rèn)時觸發(fā)。 -
terminated: 會話終止時觸發(fā)。 -
failed: 會話失敗時觸發(fā)。
Class JsSIP.Message
JsSIP.Message 類用于處理 SIP 文本消息。
構(gòu)造函數(shù)
new JsSIP.Message(configuration)
- configuration: 配置對象,定義了消息的行為和設(shè)置。
方法
-
send(): 發(fā)送一個 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 響應(yīng)。
Class JsSIP.Socket
JsSIP.Socket 類代表一個 SIP Socket,用于連接到 SIP 服務(wù)器。
Class JsSIP.WebSocketInterface
JsSIP.WebSocketInterface 類實現(xiàn)了 WebSocket 接口,用于通過 WebSocket 連接到 SIP 服務(wù)器。
Class JsSIP.URI
JsSIP.URI 類用于解析和構(gòu)建 SIP URI。
Class JsSIP.NameAddrHeader
JsSIP.NameAddrHeader 類用于解析和構(gòu)建 SIP 名稱地址頭。
Class JsSIP.RTCSession.ReferSubscriber
JsSIP.RTCSession.ReferSubscriber 類用于訂閱會話引用事件。
jssip-node-websocket
jssip-node-websocket 是 JsSIP 在 Node.js 環(huán)境中的 WebSocket 實現(xiàn)。
UA Configuration Parameters
JsSIP.UA 的配置參數(shù)包括但不限于:
-
uri: SIP 用戶標(biāo)識。 -
password: 用戶密碼。 -
wsServers: WebSocket 服務(wù)器列表。 -
registrarServer: 注冊服務(wù)器地址。 -
transport: 傳輸方式。 -
sessionDescriptionHandler: 會話描述處理器配置。 -
mediaConstraints: 媒體約束。 -
traceSip: 是否開啟 SIP 消息跟蹤。 -
traceSdp: 是否開啟 SDP 消息跟蹤。
Events
JsSIP 提供了多個事件來通知 SIP 交互的重要時刻,例如:
-
registered: 注冊成功時觸發(fā)。 -
failed: 注冊失敗時觸發(fā)。 -
registrationFailed: 注冊失敗時觸發(fā)。 -
registrationTimeout: 注冊超時時觸發(fā)。 -
newRTCSession: 新會話到達(dá)時觸發(fā)。 -
newMessage: 接收到新消息時觸發(fā)。
Failure and End Causes
JsSIP 定義了一系列失敗和結(jié)束的原因碼,用于表示 SIP 交互的結(jié)果。
DOM Exceptions
JsSIP 可能拋出的 DOM 異常包括:
-
InvalidStateError: 當(dāng)操作不符合當(dāng)前狀態(tài)時拋出。 -
SyntaxError: 當(dāng)語法錯誤時拋出。 -
TypeError: 當(dāng)類型錯誤時拋出。 -
SecurityError: 當(dāng)安全限制被違反時拋出。 -
NetworkError: 當(dāng)網(wǎng)絡(luò)錯誤時拋出。 -
AbortError: 當(dāng)操作被取消時拋出。
這些是 JsSIP 的主要 API 組件概述。你可以根據(jù)這些信息進(jìn)一步探索 JsSIP 的文檔和源代碼,以便更深入地了解如何使用這個庫來構(gòu)建 SIP 應(yīng)用程序。