第五部分基于SIP协议的IP电话技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

IP语音网络通信基于SIP协议的IP电话第五章基于SIP协议的IP电话技术重点:熟悉SIP协议的IP电话结构难点:对SIP协议栈的了解和熟悉思考题目:1、SIP呼叫流程有多少种2、SDP/UDP协议的作用IP语音网络通信基于SIP协议的IP电话SIP(SessionInitiationProtocol,即初始会话协议)是IETF(Internet工程任务组)提出的基于文本编码的IP电话/多媒体会议协议。用于建立、修改并终止多媒体会话。SIP协议可用于发起会话,也可以用于邀请成员加入已经用其它方式建立的会话。一、SIP概述IP语音网络通信基于SIP协议的IP电话SIP协议特点应用层协议基于文本的消息编码独立于较低层次的传输协议通过代理、重定向功能支持用户的移动性易实现性易扩展性具有多个层次的可实现性,最小的实现非常简单。最完全的实现相对复杂,但能够完成非常多的功能IP语音网络通信基于SIP协议的IP电话SIP有哪些关联协议IP语音网络通信基于SIP协议的IP电话SIP可以做啥SIP不仅仅用于VoIP(可以用它实现QQ,MSN的所有信令功能)SIP(SIP-I/SIP-T)是NGN中软交换通信的重要协议之一SIP是IMS的核心协议IP语音网络通信基于SIP协议的IP电话SIP应用视频会议视频浏览视频点播VoIP软交换IP语音网络通信SIP网络模型重定向服务器定位服务器注册服务器代理服务器PSTN网关SIP网络实体代理服务器用户代理呼叫重定向(不转发)认证用户,保存用户网络地址Presence服务器SIP用户地址数据库查询呼叫转发(拨号方案)IP网与PSTN的接口呈现服务器(用户状态刷新,IM转发)基于SIP协议的IP电话IP语音网络通信基于SIP协议的IP电话SIP基本信令流程INVITE180RingingINVITEsip:userb@beijing.com180RingingACKSoftphoneASIPServer(beijing.com)SoftphoneB100TryingBYE200OKMediaStream(RTP/RTCP)200OK200OKREGISTER200OK请求临时响应最终响应媒体流IP语音网络通信基于SIP协议的IP电话SIP消息SIP协议是一个基于文本的协议,其消息包括请求和响应。请求:INVITE、ACK、OPTIONS、BYE、CANCEL、REGISTER等。响应:1XX、2XX、3XX、4XX、5XX、6XX等。IP语音网络通信基于SIP协议的IP电话SIP消息的格式与编码文本协议消息格式开始行(请求行、状态行)消息头域空行(CRLF)[消息体]消息体包含媒体信息,采用SDP协议描述IP语音网络通信基于SIP协议的IP电话SIP请求:主要方法:INVITE:表示请求用户或服务加入一个会话ACK:用来确认客户已经收到了一个对INVITE请求的最终响应OPTIONS:用于查询对方用户代理的能力BYE:用于结束一个会话CANCEL:用于撤销一个正在等待的请求REGISTER:用于将自己的地址信息注册到服务器上其他方法:INFO,REFER,PRACK,COMET,SUBSCRIBE,UNSUBSCRIBE,NOTIFY,MESSAGE等格式:MethodSPRequest-URISPSIP-VersionCRLF例子:INVITEsip:picard@wcom.comSIP/2.0IP语音网络通信基于SIP协议的IP电话SIP请求例子SIP请求消息实例:Request-Line:INVITEsip:8882101@10.77.226.41SIP/2.0(开始行:INVITE+URL+SIP的版本号)MessageHeader(消息头)From:sip:8882100@10.77.226.41;tag=1c13959(From:说明本次会话是由谁发起的)To:sip:8882101@10.77.226.41(To:说明本消息是送给谁的)Call-Id:call-973574765-4@10.77.226.121(CALL-ID:用来唯一标识一次SIP呼叫的编号)Cseq:1INVITE(Cseq:用来区分同一个呼叫不同INVITE消息的编号)IP语音网络通信Content-Type:application/sdp(Content-Type:用来说明消息体的类型)Content-Length:199(Content-Length:用来说明消息体的长度)Accept-Language:en(Accept-Language:用来说明消息体语言类型)Contact:sip:8882100@10.77.226.121(Contact:用来告诉对方回信息给谁)User-Agent:Pingtel/1.0.0(VxWorks)(User-Agent:指明UA的用户类型)Via:SIP/2.0/UDP10.77.226.121(Via:记录消息的地址路径)SIP请求例子(续)基于SIP协议的IP电话IP语音网络通信SessionDescriptionProtocol(SDP)SessionDescription,version(v):0(SDP版本号)Owner/Creator,SessionId(o):INIP410.77.226.121(描述源端信息)SessionName(s):phone-call(SDP本次呼叫名字)ConnectionInformation(c):INIP410.77.226.121(本端IP信息)TimeDescription,activetime(t):00MediaDescription,nameandaddress(m):audio8766RTP/AVP0968(RTP媒体类型描述)MediaAttribute(a):rtpmap:0pcmu/8000/1(支持PCMU率压缩编码方式)MediaAttribute(a):rtpmap:96telephone-event/8000/1(支持telephone-event)MediaAttribute(a):rtpmap:8pcma/8000/1(支持PCMA率压缩编码方式)该消息用来指明本次呼叫需要由谁和谁参与,采用那种媒体类型。SIP请求例子(续)IP语音网络通信基于SIP协议的IP电话SIP响应响应类型:1XX进展报告,请求已收到,正在处理2XX请求成功3XX重定向,还需进一步操作才能完成请求4XX客户端错误,请求包含无效语法,或服务器不能接受该请求5XX服务器端错误6XX全局错误格式:SIP-VersionSPStatus-CodeSPReason-PhraseCRLF例子:SIP/2.0404NotFoundIP语音网络通信基于SIP协议的IP电话SIP响应例子Status-Line:SIP/2.0100TryingMessageHeaderCall-ID:call-973574765-4@10.77.226.121CSeq:1INVITE(注意CSeq没有变,说明本消息是对INVITE的响应)From:sip:8882100@10.77.226.41;tag=1c13959To:sip:8882101@10.77.226.41Via:SIP/2.0/UDP10.77.226.121Content-Length:0该消息只是表明已接收方接受INVITE消息并正在处理中,其Call-ID、CSeq、From、To、Via是INVITE消息中的复制,由于没有SDP,所以Content-Length为0。IP语音网络通信基于SIP协议的IP电话会话描述协议(SDP)当描述一个会话时,SIP消息体是一个会话描述协议(SDP)消息。SDP是一个用来描述会话的应用层协议,是一个基于文本的协议,采用提供/应答模型。SDP主要包含了3级信息IP语音网络通信基于SIP协议的IP电话1.会话级描述包含会话标示和其他会话级参数,如IP地址、主题、会话或创建人的联系信息等。2.时间描述包括开始和停止时间、重复次数以及一个或多个媒体级描述。3.媒体类型和格式包括传输协议和端口号,其他媒体参数。SDP描述有两个目的:告知某会话的存在和给出参与该会话所必须的信息。会话描述协议(SDP)续IP语音网络通信基于SIP协议的IP电话09/15/2007SIP协议--AsteriskSDP协议实例用于描述会话的媒体属性.通常放在SIP协议的消息体中携带.基于文本的编码方式INVITEsip:01082253150@asterisk.comSIP/2.0……Content-Type:application/sdpContent-Length:278v=0o=Seawolf55INIP4192.168.1.119s=phone-callc=INIP4192.168.1.119//连接信息t=00m=audio9000RTP/AVP018208101//媒体信息a=rtpmap:0pcmu/8000/1//属性a=rtpmap:18g729/8000/1a=fmtp:18annexb=noa=rtpmap:20ilbc/8000/1a=rtpmap:8pcma/8000/1a=rtpmap:101telephone-event/8000/1IP语音网络通信基于SIP协议的IP电话SIP协议呼叫模式SIP基本呼叫流程INVITEisaRequestandcontainsTesla’smediainformation180RingingisanInformationalresponseandisnotrequired200OKisafinalResponseandcontainsMarconi’smediainformationACKcompletesthree-way-handshake.BYEtearsdownsessionIP语音网络通信基于SIP协议的IP电话SIP代理呼叫流程INVITEissenttoProxyinsteadoftoHeisenbergdirectly.ProxylooksupaddressofHeisenbergandforwardsINVITEtothatIPAddress.ResponsestoINVITEroutebackthroughtheProxy:180Ringingand200OK200OKcontainsaContactheaderwhichallowstheACKandallfuturerequeststogodirectlybypassingProxy.IP语音网络通信基于SIP协议的IP电话SIP重定向呼叫流程INVITEissenttoRedirectServerServerlooksupaddressofHeisenbergandreturnsthataddressinaContactheaderina302MovedTemporarilyresponseTheACKcompletesthetransactionwiththeServerSchroedingerthenre-sendstheINVITEdirectlytoHeisenbergIP语音网络通信基于SIP协议的IP电话SIP注册呼叫流程HeisenbergsendsaREGISTERrequesttoaRegistrarServer.TherequestcontainsContactheaderslistingtheURLsforwhichHeisenbergwishestoreceiveincomingSIPcallsRegistrarAcceptsregistrationandreplieswith200OKandechoescurrentContactlistIP语音网络通信基于SIP协议的IP

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功