🙊

jsSip 开发

SIP协议

本段参考https://www.cnblogs.com/xiaxveliang/p/12434170.html

简介

SIP(Session Initiation Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议。广泛应用于CS(Circuit Switched,电路交换)、NGN(Next Generation Network,下一代网络)以及IMS(IP Multimedia Subsystem,IP多媒体子系统)的网络中,可以支持并应用于语音、视频、数据等多媒体业务,同时也可以应用于Presence(呈现)、Instant Message(即时消息)等特色业务。可以说,有IP网络的地方就有SIP协议的存在。SIP是类似于HTTP,SIP可以减少应用特别是高级应用的开发时间。由于基于IP协议的SIP利用了IP网络,固定网运营商也会逐渐认识到SIP技术对于他们的远意义。

两种模式

session model 消息体内容大于1300字节时使用,一般用于音视频

pager model 消息体内容小于1300字节时使用,一般用于及时消息

sip消息体格式

状态行

格式 SIP-Version Status-Code Reason-Phrase CRLF

示例 SIP/2.0 200 OK /r/n

状态码

状态码含义
1xx:临时响应、表示请求消息正在被处理
2xx成功响应、表示请求已被成功接收完全理解并接收
3xx重定向响应、表示需采取进一步完成请求
4xx客户机错误、表示请求消息中包含语法错误信息或服务器无法完成客户机的请求
5xx服务器错误、表示服务器无法合法完成请求
6xx全局故障 、表示任何服务器都无法完成该请求

常用状态码

状态码msg含义
100Trying试呼叫
180Ringing振铃
181Call is Being Forwarded呼叫正在前转
200OK成功响应
302Moved Temporarily临时迁移
400Bad Request错误请求
401Unauthorized未授权
403Forbidden禁止
404Not Found用户不存在
408Request Timeout请求超时
480Temporarily Unavailable暂时无人接听
486Busy Here线路忙
504Server Time-out服务器超时
600Busy Everywhere全忙

jssip

本段参考https://www.jianshu.com/p/5f11e35254a3?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

特征

js的 web的 可音视频通话的 可及时通信的 基于sip协议与webrtc的 库

创建websocket 信令服务器

var socket = new JsSIP.WebSocketInterface('wss://sip.myhost.com');(详见三API)

业务