网站开发运营工作总结,潍坊做网站联系方式,资源下载类网站源码,做网站邯郸SIP协议是由IETF提出的在IP网络上进行多媒体通信的应用层控制协议。采用分层的方法来创建服务#xff0c;是应用层上的一个控制协议#xff0c;用来创建#xff0c;修改和终止有多个参与者的多媒体会话进程。参与会话的成员可以通过组播#xff0c;单播或者两者结合的方式进… SIP协议是由IETF提出的在IP网络上进行多媒体通信的应用层控制协议。采用分层的方法来创建服务是应用层上的一个控制协议用来创建修改和终止有多个参与者的多媒体会话进程。参与会话的成员可以通过组播单播或者两者结合的方式进行通信。可以用来邀请一个新的成员加入其中也可以创建全新的会话。一般情况下sip协议使用RTP协议传送音频和视频流使用SDP协议进行媒体描述。 SIP协议首先要建立呼叫信道由服务器的IP地址和端口号建立客户和服务器端的呼叫信道客户端在发出自己的请求消息中的参数告诉服务器端它自己的媒体通道的IP地址和端口号然后服务器端在发出最终响应的时候客户端和服务器端的媒体信道建立起来了。当服务器端接收到客户端发来的确认消息后他们才开始通信。 SIP协议采用文本格式的client/server工作方式是一个请求应答的协议该协议定义了多个执行相应功能的网络实体。这些网络实体通常包含用户代理UA和网络服务器NSUA又分为用户代理客户端UAC和用户代理服务器UASUAC负责发起SIP呼叫请求UAS负责对呼叫请求作出响应。网络服务器主要为客户代理提供注册认证鉴权和路由等服务。根据其功能不同网络服务器可分为代理服务器重定向服务器和注册服务器三种。 代理服务器主要完成消息的转发 重定向服务器接收SIP请求把请求中的源地址映射成多个或零个新地址返回给客户端UAC. 注册服务器接收客户端的注册请求完成用户地址的注册。 SIP支持三种呼叫方式1由客户端像服务器端直接呼叫 2由UAC在重定向服务器的辅助下进行重定向呼叫 3由代理服务器代表UAC向被叫发起呼叫 Sip把一个呼叫分为三个阶段呼叫建立呼叫保护呼叫释放。 首先要建立呼叫信道即一个TCP/UDP连接。因此由服务器的IP地址和端口号建立客户端与服务器端之间的呼叫信令道。然后客户端向服务器端发送消息INVITE消息如果服务器段同意呼叫发送23消息。其中1xx状态码表示请求已收到正在处理中200表示请求已经完成。这时如果客户端突然不想参加此次会话可以向服务器发送BYE。 图中3xx相应只会在用重定向服务器出现的时候表示对请求的重定向处理4xx响应表示客户端的请求有语法错误不能被服务器执行。5xx响应表示服务器出错不能执行合法请求。6xx响应表示所有服务器出错不能执行合法请求。当客户接受3xx4xx5xx响应后可根据响应中的消息修改消息并重发请求。当客户端接受6xx响应后结束此次呼叫。 消息 用法 INVITE 呼叫一个用户代理传送一次呼叫。 ACK 确认呼叫。 BYE 终止呼叫。 CANCEL 终止还未OK的呼叫。 REGISTER 提供一项注册服务带有一个联系地址和可以用来代替的别名。 OPTIONS 询问一个用户代理的“能力”例如该用户代理能够识别的消息和编码。 响应消息 消息 用法 100 Trying 消息已收到但是最终用户代理尚未进行处理。请等待。 180 Ringing 最终用户代理已经收到消息正在提示用户。请等待。 200 OK 最终用户已经接受消息。 301 Moved Permanently 302 Moved Temporarily 用户代理的地址已经改变新的永久或临时地址位于Contact字段中。 400 Bad Request 普通错误消息。客户端不能识别消息。 401 Unauthorized 407 请使用证书重试。 404 Not Found 要联系的用户不存在或尚未注册。 408 Request Timeout 另一方没有响应。这意味着SIP消息永远不会OK。所有重试都将被丢弃。这并不意味着电话响太长时间电话可以永远响铃。 消息使用类似的头字段类型 头字段 用法 From SIP请求的发送者。 To SIP请求的接受者。这通常与SIP URI相同可以是一个“别名”或一个实际地址。 Contact 用户代理的实际地址。 Call-ID 代表两个用户代理之间的完整呼叫或对话。所有相关的SIP消息都使用同一个Call-ID。例如当一个用户代理收到一条BYE消息根据Call-ID它就知道要挂断哪次呼叫。 CSeq 消息的顺序编号。这在一次对话或一个Call-ID中是惟一的。这用于区别新的消息和“重试消息”。当一条初始消息没有及时OK时重试就会进行并会定时发送。 Content-Type 消息内payload的MIME类型。 Content-Length payload的大小以字节为单位。信封和payload之间由一空行隔开。