SIP消息
文章平均质量分 55
SIP消息应用和分析
wh8_2011
这个作者很懒,什么都没留下…
展开
-
呼叫保持取消
基本概念呼叫保持取消,当需要和正在处于呼叫保持状态的用户回复原来通话时,再继续与原来的通话方通话,即取消原来通话的保持状态,停止播放背景音乐。呼叫保持取消流程图呼叫保持取消信令简要概述在呼叫保持信令中提到,用户1000发送re-INVITE消息给IPBX,需要保持1000和1002之间的通话。Re-INVITE消息携带SDP中c=IN IP40.0.0.原创 2015-07-18 09:19:36 · 4490 阅读 · 0 评论 -
P-Called-Party-ID头域
典型的proxy 服务器在路由 INVITE 请求到目标时插入 P-Called-Party-ID 头域.该头域用 porxy 收到请求的 Request-URI 填写。UAS 从几个已注册的 AORs 中标识出是会话邀请发送给哪个AOR。 3GPP IMS 的用户可以获得一个或多个标识用户的 SIP URIs(AOR)。例如:一个用户可以获得一个业务 SIP URI 和一个个人 SIP UR原创 2015-07-25 09:19:43 · 1846 阅读 · 0 评论 -
ptime在SIP中的应用
主叫在发送的INVITE请求中的SDP携带ptime属性,表示主叫方媒体的打包时长是ptime携带的数值。服务器收到该请求消息后回复200 OK中的SDP携带ptime属性,表示服务器端支持该媒体的打包时长是ptime携带的数值。主叫方根据200 OK中SDP携带ptime属性进行协商最终发送媒体打包时长,即ptime数值。详细流程如下:1) 主叫2001呼叫被叫2009,发送呼叫请求消原创 2015-07-05 21:46:37 · 3442 阅读 · 0 评论 -
ptime概述
官方给出的ptime的定义是:ptime gives the length of time in milliseconds represented by themedia in a packet。简单来讲就是一个数据包中媒体的时长,以毫秒为单位。例如:ptime:20就是定义为20毫秒。每种媒体的时间是不一样,例如:G711媒体时长默认20ms,G.726媒体时长默认是10ms,G.729媒体原创 2015-07-05 21:16:30 · 5016 阅读 · 0 评论 -
呼叫保持流程
呼叫保持流程图呼叫保持信令:1) 用户1000发送re-INVITE消息给IPBX,需要保持1000和1002之间的通话。Re-INVITE消息携带SDP中c=IN IP4 0.0.0.0,说明该re-INVITE消息是呼叫保持消息。INVITE sip:1002@192.168.50.22:5060SIP/2.0Via: SIP/2.0/UDP192.168.50.20原创 2015-06-27 11:17:33 · 4281 阅读 · 0 评论 -
呼叫保持
基本概念呼叫保持就是正在通话的用户,可以暂时中断数据原来的电话,而打出新的电话,同时与原来的电话保持联系;当需要回复原来的通话时,则使新打出的电话处于保持状态,再继续与原来的通话方通话,即可以通过操作按键选择及切换这两个通话,还可以分别或同时结束与他们的通话。呼叫保持业务与基本通话的不同之处在于,它使得我们可以有两个处于连接中的呼叫,而且可以在这两个呼叫之间进行任意次的来回切换。原创 2015-06-27 10:08:25 · 2882 阅读 · 0 评论 -
SDP协议简述
SDP协议也是文本协议,只需要按照协议本身的格式填充。SDP协议格式即详细信息如下:会话描述 格式及举例v=(protocol version)v=0o=(owner/creator and session identifier)o=用户名 会话id版本网络类型地址类型地址o=hua 2531原创 2015-06-13 10:42:03 · 2996 阅读 · 0 评论 -
SDP举例
SDP数据v=0o=- 20082 20082 IN IP4 192.168.4.193s=Mr.Wangc=IN IP4 192.168.4.193t=3149328600 3149338600m=audio 3456 RTP/AVP 0 3 4 5a=rtpmap:0PCMU/8000a=rtpmap:3GSM/8000a=rtpmap:4G723/8000原创 2015-06-20 20:54:32 · 1891 阅读 · 2 评论 -
SDP在SIP协议中的应用
SDP用于构建INVITE、200OK和ACK消息的消息体,供主被叫用户交换媒体信息。1.媒体流的配置(1)主被叫媒体描述必须完全对应主被叫的第n个媒体流(m=)对应,都包含a=rtpmap.这样的目的是易于适应静态净荷类型到动态净荷类型的转换。(2)被叫不想接收主叫提出的某个媒体流则在响应中设置该媒体流的端口号为0.并且必须返回对应的媒体流行。2.单播SDP值的设定(1)只发原创 2015-06-19 21:51:02 · 5742 阅读 · 2 评论 -
注册(七) 失败
注册失败,消息处理流程原创 2014-06-03 09:27:01 · 1594 阅读 · 0 评论 -
注册(六)之有效期过小
UAC发送注册消息到UAS,UAS根据注册请求处理的8(注册())步骤进行分析。UAS开启了注册鉴权业务,UAC发送的注册消息中没有鉴权信息,向UAC回401,要求带上鉴权信息。UAC重新发起注册,并带上鉴权信息(鉴权信息,在Authorization头域),UAS继续对注册请求进行分析,注册有效期过小,向UAC回423,并携带Min-Expires头域(UAS支持的最小注册时间)。重复以上过程完原创 2014-05-30 16:54:37 · 1149 阅读 · 0 评论 -
注册(五)之请求处理
一个注册服务器(registrar)就是一个UAS,这个UAS用来响应REGISTER的请求,并且维持一个绑定表,这个绑定表用来提供给它所管理的区域中的proxy服务器和重定向服务器的。一个注册服务器禁止产生6xx应答。一个注册服务器可以适当的转发REGISTER请求。通常用于一个注册服务器(registar)监听一个多点广播,并且通过302应答(临时转移)转发这个多点广播的REGISTER请求到原创 2014-05-30 16:49:38 · 1324 阅读 · 0 评论 -
注册(四)之删除绑定
注册信息是一个纯粹软件的状态,并且如果不刷新会过期。如果需要,也可以被删除。一个客户端可以设置注册服务器(registar)的有效期。一个UA可以通过发出有效期为“0”的REGISTER请求,使某一个联系地址立刻失效。UAS都需要实现这个机制使得在联系地址过期前能够被删除。REGISTER规范中的Contact头域如果设置成为“*”则表示需要操作所有的注册项。但是也只能在具有一个Expires原创 2014-05-30 16:46:45 · 876 阅读 · 0 评论 -
注册(三)之设置Contact地址的过期参数
当一个客户端发出一个REGISTER请求,它可能包含一个过期参数用来表示这个注册的地址的有效期。(注册服务器(registrar)根据自己的策略选取实际的时间间隔来计算有效期)。客户端设置有效期的方法有两种:一个是通过设置Expires头域,一个是通过设置“expires”contact头域的参数来设置。后一种允许针对同一个REGISTER请求中的多个绑定联系地址中的每一个联系地址单独设定有效原创 2014-05-30 16:45:04 · 2994 阅读 · 0 评论 -
注册(二)之增加绑定
REGISTER请求是向注册服务器(registrar)发送一个包含对某一个address-of-record的地址的SIP请求应当发送的实际联系地址。address-of-record包含在REGISTER请求的To头域中。请求中的Contact头域通常包含了SIP或者SIPS的URI,这些URI表明了特定的SIP端点(比如sip:carol@cube2214a.chicago.com),他原创 2014-05-30 16:40:13 · 1214 阅读 · 0 评论 -
注册(一)
注册服务为特定地区的位置服务创建绑定关系,这个绑定关系是用来建立包含一个或者多个联系地址的address-of-record URI。因而,当那个地区的proxy接收到一个请求,这个请求的Request-URI和address-of-record的记录匹配,那么这个proxy会转发请求到这个address-of-record中登记的联系地址中去。Address-of-Record: 记录地址。原创 2014-05-30 16:36:47 · 1007 阅读 · 0 评论 -
事物(三)之服务端事务匹配请求
当服务端从网络上收到一个请求以后,他必须和现有的事务进行判定。这个是根据下边的规则来判定的。首先要检查请求中的Via头域的最上一个branch参数。如果他以z9hG4bk开头,那么这个请求一定是由客户端事务根据本规范产生的。因此,branch参数在该客户端发出的所有的事务中都是唯一的。根据下列规则我们可以判定请求是否和事务匹配:1、 请求中的最上的Via头域的branch参数和创建本事务的原创 2014-05-30 09:28:36 · 1618 阅读 · 1 评论 -
事物(二)之客户端事务应答匹配
当客户端事务的通讯层,收到一个应答,他必须决定是否由客户端事务来处理这个应答。在Via头域的最上边的branch参数就是用来做这个的,但前提是branch的参数以z9hG4bk开头。一个应答和一个客户端事务匹配的话,就有两个条件:1、 应答Via最上边的branch参数和创建这个客户端事务的请求的Via最上边的branch参数相同。2、 Cseq头域的方法参数和创建事务的请求的方法原创 2014-05-30 09:14:31 · 1216 阅读 · 0 评论 -
事务(一)
SIP是一个基于事务处理的协议:部件之间的交互是通过一系列无关的消息交换所完成的。1)事务处理主要用于处理消息的交互,它的实现使用了状态机。向上它向事务使用者(TU)提交事务的触发事件(计时器超时和传输层消息),向下把所要发送的SIP消息包传送给传输层代为转发。2)在事务中一定有客户端和服务器端,两者没有必然的界限。只要是发起请求的,在该事务中充当的当然是客户端,接受请求的必然是服原创 2014-05-30 09:09:38 · 1066 阅读 · 0 评论 -
三方通话(二)
话机上三方通话建立过程如下消息:(1) 用户3315呼叫用户3305,终端发送INVITE消息给IPBX.INVITE sip:3305@192.168.50.244 SIP/2.0Via: SIP/2.0/UDP 192.168.50.119:31682;branch=z9hG4bK1791327125;rportFrom: "3315" ;tag=107903851原创 2015-05-31 23:55:01 · 2176 阅读 · 1 评论 -
session timer(一)
功能介绍 SIP并没有为所建立的会话定义存活机制。尽管用户代理可以通过会话特定的机制判断会话是否超时,但是代理服务器却做不到这点。如此一来,代理服务器有时会无法判断会话是否还是活动的。例如,当一个用户代理在会话结束时发送BYE消息失败,或者由于网络问题BYE消息丢失,代理服务器将不会知道会话已经结束。在这种情况下,代理服务器将保持呼叫的状态并且无法知道呼叫状态信息何时原创 2015-06-07 15:54:49 · 2139 阅读 · 0 评论 -
无条件前传
该项服务允许一个用户对于他的呼入呼叫可以转到另一个号码。使用该业务时对该用户号码的所有呼叫,不管被叫用户是在什么状态,都自动转到一个预先指定的号码。例如:用户3000设置无条件前传3001;用户2000呼叫3000,此时3001振铃,显示主叫号码2000。详细消息流程如下:A (2000) IPBX C(3001)|----in原创 2015-05-19 11:01:17 · 1291 阅读 · 0 评论 -
三方通话(一)
三方通话功能描述:三方通话功能是指双方通话时,用户可在不中断通话的状态下主叫第三方,从而实现三方同时通话,其他两方任何一方挂断都不影响主叫方与另一方的通话。 三方通话的使用方法例:用户A作为三方通话的发起人。首先用户A与用户B建立通话,通知并保持与B的通话;然后用户A按正常拨打电话的方式拨打用户C,与用户C通话后,A通过某种操作后,即可实现客户A、B、C同时通话。 三原创 2015-05-23 08:03:21 · 6282 阅读 · 0 评论 -
带鉴权信息的SIP呼叫
带鉴权信息的SIP呼叫原创 2014-06-12 10:20:12 · 6218 阅读 · 1 评论 -
无应答前传消息流程
无应答前传业务原创 2014-06-11 14:29:45 · 2123 阅读 · 1 评论 -
注册(八)正确注册流程
SIP注册消息流程原创 2014-06-04 09:25:20 · 1373 阅读 · 1 评论 -
注册(九)重注册
重注册消息简介原创 2014-06-05 09:39:31 · 1198 阅读 · 0 评论 -
注册(十) 重注册没有带鉴权信息
重注册消息没有带鉴权事列和讲解原创 2014-06-06 09:55:51 · 1821 阅读 · 0 评论 -
注册(十一)重注册带有鉴权信息
重注册消息带有鉴权信息,不需要发起新的鉴权挑战原创 2014-06-09 09:16:06 · 3508 阅读 · 0 评论 -
SIP基本呼叫
SIP消息基本呼叫原创 2014-06-10 09:54:33 · 5015 阅读 · 0 评论