ISSUE固网产品课程开发室AA000007SIP协议原理2.0学习目标了解SIP协议的作用掌握SIP命令掌握SIP协议的消息交互过程学习完本课程,您应该能够:参考资料随机手册--技术手册--信令与协议--SIP协议课程内容第一节概述第二节协议消息第三节呼叫流程SIP协议概念会话启动协议SIP(SessionInitiationProtocol)是一个在IP网络上进行多媒体通信的应用层控制协议,它被用来创建、修改、和终结一个或多个参加者参加的会话进程。SIP协议可用于发起会话,也可以用于邀请成员加入已经用其它方式建立的会话。SIP协议透明地支持名字映射和重定向服务,便于实现ISDN、智能网以及个人移动业务。SIP协议的特点一个正在发展和不断研究中的协议。简练、开放、兼容和可扩展等原则。充分注意到因特网开放而复杂的网络环境下的安全问题。充分考虑了对传统公共电话网的各种业务,包括IN业务和ISDN业务的支持。SIP协议的信令功能用户定位:确定参加通信的终端用户的位置;用户通信能力协商:确定通信的媒体类型和参数;用户意愿交互:确定被叫是否乐意参加某个通信;建立呼叫:包括向被叫“振铃”,确定主叫和被叫的呼叫参数;呼叫处理和控制:包括呼叫重定向、呼叫转移、终止呼叫等等。术语呼叫事务SIP是一个客户/服务器协议。客户和服务器之间的操作从第1个请求至最终响应为止的所有消息构成一个SIP事务。SIPURL——寻址方式,例如:Sip;55500200@127.0.0.1:5061;User=phone;Sip:alice@registrar.com;method=REGISTER;用户定位定位服务(LocationService)术语代理,代理服务器(Proxy、Proxysever)作为一个逻辑网络实体代表客户端转发请求或者响应,可以同时作为客户端和服务器端;代理服务器的主要功能:路由、认证鉴权、计费监控、呼叫控制、业务提供等。重定向服务器(Redirectserver)重定向服务器将请求中的目的地址映射为零个或多个新的地址,然后返回给客户端,客户端直接再次向这些新的地址发起请求。注册员(Registrar)术语用户助理(UserAgent)用户助理客户(UserAgentClient)用户助理服务器(UserAgentServer)协议栈H.323SIPRTSPRSVPRTCPH.263etc.RTPTCPUDPIPPPPSonetAAL3/4AAL5ATMEthernetPPPV.34SoftX3000SoftPhoneIPCoreSoftX3000SoftPhoneSIP/SIP-TIPIPIPIPSIP协议在SoftX3000中的实现课程内容第一节概述第二节协议消息第三节呼叫流程SIP协议消息的分类SIP消息采用文本方式编码,分为两类:请求消息和响应消息。请求消息:客户端为了激活按特定操作而发给服务器的SIP消息。响应消息:用于对请求消息进行响应,指示呼叫的成功或失败状态。请求消息和响应消息都包括SIP头字段和SIP消息字段。请求消息请求消息消息含义INVITE发起会话请求,邀请用户加入一个会话,会话描述含于消息体中。对于两方呼叫来说,主叫方在会话描述中指示其能够接受的媒体类型及其参数。被叫方必需在成功响应消息的消息体中指明其希望接受哪些媒体,还可以指示其行将发送的媒体。如果收到的是关于参加会议的邀请,被叫方可以根据Call-ID或者会话描述中的标识确定用户已经加入该会议,并返回成功响应消息。ACK证实已收到对于INVITE请求的最终响应。该消息仅和INVITE消息配套使用。BYE结束会话CANCEL取消尚未完成的请求,对于已完成的请求(即已收到最终响应的请求)则没有影响REGISTER注册OPTIONS查询服务器的能力响应消息序号状态码消息功能1xx信息响应(呼叫进展响应)表示已经接收到请求消息,正在对其进行处理2xx成功响应表示请求已经被成功接受、处理3xx重定向响应表示需要采取进一步动作,以完成该请求4xx客户出错表示请求消息中包含语法错误或者SIP服务器不能完成对该请求消息的处理5xx服务器出错表示SIP服务器故障不能完成对正确消息的处理6xx全局故障表示请求不能在任何SIP服务器上实现命令名称对端UPI版本Call-ID:值Form:值To:值Cseq:值Via:值Contact:值Max-Forwards:值起始行消息头SIP请求消息结构Allow:值Content-Length:值Supported:值User-Agent:值Content-Type:值……空格SDP消息头消息体SIP请求消息结构(续)SIP/协议版本状态码描述性短语Call-ID:值Form:值To:值Cseq:值Via:值Contact:值Max-Forwards:值起始行消息头响应格式Allow:值Content-Length:值Supported:值User-Agent:值Content-Type:值……空格SDP响应格式(续)消息头消息体课程内容第一节概述第二节消息结构第三节呼叫流程用户注册流程SoftX3000SIPPhoneRegister401UnauthorizedRegister200OKSoftX3000SIPPhoneASIPPhoneBINVITE5100Trying6INVITE7100Trying8180Ringing9180Ringing10200OK12200OK11INVITE1100Trying24073ACK4SIP实体之间的SIP呼叫流程SoftX3000SIPPhoneASIPPhoneBConversationACK13ACK14BYE1548716BYE17200OK18SIP实体之间的SIP呼叫流程(续)SoftX3000SoftX3000INVITE1100Trying2180Ringing3PRACK4ACK5BYE6487RequestTerminated7SIP中继呼叫流程SGASoftX3000ASoftX3000BSGBIAMIAMACMANMANMRELRELRLCRLCConversationINVITE1100Trying2180Ring3200OK4ACK5BYE6200OK7ACM成功的SIP-T呼叫流程小结SIP协议用于建立、修改并终止多媒体会议,如互联网电话会议。SIP协议可用于发起会话,也可以用于邀请成员加入已经用其它方式建立的会话。SIP请求消息:这是客户端为了激活按特定操作而发给服务器的SIP消息,包括INVITE,PRACK,BYE,CANCEL和UPDATE消息。SIP响应消息:这是服务器为了显示客户发给服务器的请求的状态,包括1xx、2xx、3xx、4xx、5xx、6xx响应和ACK。SIP呼叫流程中各命令的作用应重点掌握。