多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ## 概述 SIP是[Session](https://so.csdn.net/so/search?q=Session&spm=1001.2101.3001.7020) Initialization Protocol(会话初始协议)的缩写 - 它是IP网上的呼叫控制协议,用来初始(建立)、更改和终止一个或多个参与者会议的协议 - 它只描述建立/更改/终止一个会话,并不描述会话的内容。所以可以承载任何会话的内容,如语音、视频、游戏等 - SIP单独不能完成多媒体呼叫,必须要与其他协议(这里主要指应用层)一起才能组件完整的多媒体通信系统,与RTP(Real-Time Protocol)/RTCP(Real-Time Control Protocol)、SDP(Session Description Protocol)、MGCP(Media Gateway Control Protocol)、DNS(Domain Name System)等协议配合共同完成多媒体会话过程 <br/> SIP协议是一种应用层协议,独立于传输层,可以承载不同的传输层协议,如UDP(User Datagram Protocal)、TCP(Transmission Control Protocal)、TLS(Transport Layer Security)、SCTP(Stream Control Transmission Protocol) <br/><br/> SIP是一种纯文本协议,它的形式如下 ``` INVITE sips:Bob@vvsip.com SIP/2.0 Via: SIP/2.0/TLS client.vvsip.com:5061; branch = z9hG4bK74bf9 Max-Forwards: 70 From: Alice <sips:Alice@vvsip.com> ;tag = 1234567 To: Bob <sips:Bob@vvsip.com> Call-ID: 12345601@vvsip.com CSeq: 1 INVITE Contact: <sips:Alice@client.vvsip.com> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY Supported: replaces Content-Type: application/sdp Content-Length: ... v = 0 o = Alice 2890844526 2890844526 IN IP4 client.vvsip.com s = Session SDP c = IN IP4 client.vvsip.com t = 3034423619 0 m = audio 49170 RTP/AVP 0 a = rtpmap:0 PCMU/8000 ``` 响应行 > RFC3261定义了6个方法:INVITE\CANCEL\ACK\BYE\REGISTER\OPTIONS. ``` SIP/2.0 200 OK ``` sip消息的状态码为一组三位数的数字,1XX为临时响应,2XX-6XX为最终响应。 ``` 1XX:临时响应,表示请求正在被处理; 2XX:成功响应,表示请求已被成功接收,完全理解并被接受; 3XX:重定向响应,表示需采取进一步以完成该需求; 4XX:客户机错误,表示请求消息中包含语法错误信息或服务器无法完成客户机请求; 5XX:服务器错误,表示服务器无法完成合法请求; 6XX:全局故障,表示任何服务器无法完成该请求。 ```