获知会话描述协议信息的方法、系统及承载控制服务器的制作方法

文档序号:7968241阅读:176来源:国知局
专利名称:获知会话描述协议信息的方法、系统及承载控制服务器的制作方法
技术领域
本发明涉及第三代通讯技术领域,尤其涉及应用服务器(ApplicationServer,AS)获知会话描述协议(Session Description Protocol,SDP)信息的方法、系统及承载控制服务器。

背景技术
在第三代合作伙伴计划(3rd Generation Partnership Project,3GPP)版本5的因特网多媒体子网(Internet Multimedia Subsystem,IMS)结构中,会话发起协议(Session Initiated Protocol,SIP)被当作一种会话控制协议来使用,端点之间采用SIP作为信令协议建立会话。
SDP是一种用来描述多媒体会话通告,多媒体会话邀请和其他形式的多媒体会话初始化的协议,在一次SIP会话过程中,会使用SDP描述发生的会话事件信息,包括会话建立、会话建立的类型、会话进行的时间、等,所有使用SDP进行描述的事件被称为SDP事件;网络中任何进行SDP事件协商的端点,都被称为承载控制服务器(Bearer Control Server,BCS)。
随着通讯技术的发展,SIP网络中的各种应用服务器(Application Server,AS)需要获知一些会话事件信息,以提供多样化的服务,比如,通讯费用将不仅根据通讯的时长或数据交换量来计算,而且要根据数据交换的质量来计算。例如,对于高质量的视频呼叫,费用要高,而对于低质量的视频呼叫,费用也相应地降低。一般来说,视频或其他业务通讯的质量取决于通讯所使用的编解码器以及可用的带宽。在一次SIP会话的SDP协商中,如果端点选择了大带宽的编解码器,则通讯所需的带宽较大,用户在相同通话时间里,需要支付更多的通讯费用,反之,则只需支付较少的通讯费用。
为了实现根据数据交换的质量来计算通讯费用,和计费相关的AS就需要获知和会话类型及质量相关的信息,这些信息都包含在SDP事件中的会话建立的类型事件信息里,也就是说,AS需要获知会话建立的类型协商事件信息,来实现根据数据交换的质量来计算通讯费用。
当AS需要获知SDP事件中的会话建立的类型事件信息时,必须参与到SIP会话建立的全部过程,现以一次两方通话为例描述AS获知SDP信息的过程,通话双方为用户A及用户B,SDP事件协商过程通过BCS完成,具体流程参见图1 步骤101、用户A呼叫用户B,直接发出SIP呼叫请求消息至BCS。
步骤102、BCS进行SDP会话协商后将呼叫请求消息发送到AS,此呼叫请求消息中携带有SDP事件信息,此SDP事件信息包含用户A的编解码器信息。
此时AS获知用户A的编解码器信息。
步骤103、AS将呼叫请求消息发送到用户B。
步骤104、用户B发送SIP回铃音消息给AS。
步骤105、AS发送SIP回铃音消息给BCS。
步骤106、BCS发送SIP回铃音消息给用户A。
步骤107、用户B响应用户A的呼叫,发送携带SDP事件信息的200OKSIP消息至AS,此SDP信息包含用户B的编解码器信息。
此时AS获知用户B的编解码器信息,加上之前获知的用户A的编解码器信息,就可以判断出,一旦通话建立用户A和用户B之间的数据交换的质量,并据此决定通讯费用收取的标准。
步骤108、AS发送响应消息200OK至BCS。
步骤109、BCS发送响应消息200OK至用户A。
步骤110、用户A发送确认消息至BCS。
步骤111、BCS发送确认消息至AS。
步骤112、AS发送确认消息至用户B。
至此,用户A和用户B之间的双向通话建立。
步骤113、用户B发出中止通话请求至AS。
步骤114、AS发送终止通话请求至BCS。
步骤115、BCS发送终止通话请求至用户A。
步骤116、用户A释放资源,终止通话,并返回响应消息200OK至BCS。
步骤117、BCS释放这个会话,返回响应消息200OK至AS。
步骤118、AS释放这个会话,返回响应消息200OK至用户B。
至此一次双方通话的过程结束。
在这个过程中,用户A与用户B之间所有的SIP消息都必须通过BCS和AS进行传递,这就照成AS执行的动作非常复杂,负担也很重。
进一步,在这个过程中出现的所有SDP信息,比如会话建立事件信息、会话进行的时间信息都会通知给AS,但是由上文可知,只有在步骤102和步骤107中通知给AS的SDP信息才是AS实现根据数据交换的质量来计算通讯费用所需要的,造成了系统资源的浪费。
同时,如果参与这个会话建立过程的实体不完全是使用SIP协议的实体,那么AS将不能参与到整个的会话建立过程,也就无法获知需要得知的全部SDP信息。


发明内容
本发明要解决的技术问题是提供一种获知会话描述协议信息的方法、系统及承载控制服务器。
为解决上述技术问题,本发明提供了一种应用服务器获知会话描述协议信息的方法,该方法包括 增加会话描述协议事件的事件包,来定义用于通知事件信息的消息; 承载控制服务器在检测到会话描述协议事件时,通过所述用于通知事件信息的消息,发送所述会话描述协议事件的信息给应用服务器。
其中,所述方法还包括 在所述会话描述协议事件的事件包中,进一步定义用于登记的消息及可登记会话描述协议事件列表; 应用服务器通过所述用于登记的消息在承载控制服务器上登记需要获知的会话描述协议事件,所述需要获知的会话描述协议事件属于所述可登记会话描述协议事件列表。
其中,所述承载控制服务器在检测到会话描述协议事件时是承载控制服务器在检测到应用服务器登记过的会话描述协议事件时。
其中,所述承载控制服务器在检测到会话描述协议事件时是 在承载控制服务器上配置应用服务器需要获知的会话描述协议事件,承载控制服务器在检测到配置过的会话描述协议事件时。
其中,所述会话描述协议事件的事件包支持会话发起协议。
本发明还提供了一种获知会话描述协议信息的系统,包括应用服务器、承载控制服务器 所述承载控制服务器用于在检测到会话描述协议事件时,通过增加的会话描述协议事件的事件包预先定义的用于通知事件信息的消息,发送所述会话描述协议事件的信息给所述应用服务器。
其中,所述应用服务器用于通过增加的会话描述协议事件的事件包预先定义的用于登记的消息,在承载控制服务器上登记需要获知的会话描述协议事件,所述需要获知的会话描述协议事件属于所述事件包预先定义的可登记会话描述协议事件列表; 所述承载控制服务器用于在检测到应用服务器登记过的会话描述协议事件时,通过增加的会话描述协议事件的事件包预先定义的用于通知事件信息的消息,发送所述会话描述协议事件的信息给应用服务器。
其中,所述承载控制服务器用于预先配置应用服务器需要获知的会话描述协议事件,在检测到配置过的会话描述协议事件时,通过增加的会话描述协议事件的事件包预先定义的用于通知事件信息的消息,发送所述会话描述协议事件的信息给应用服务器。
本发明还提供了一种承载控制服务器,该承载控制服务器包括发送单元和检测单元 所述检测单元用于检测会话描述协议事件,将检测到的会话描述协议事件通知给所述发送单元; 所述发送单元用于在收到检测单元的通知时,通过增加的会话描述协议事件的事件包预先定义的用于通知事件信息的消息,发送所述会话描述协议事件的信息给应用服务器。
其中,所述承载控制服务器还包括登记单元 所述登记单元用于接收及记录应用服务器需要获知的会话描述协议事件,所述需要获知的会话描述协议事件属于所述事件包预先定义的可登记会话描述协议事件列表; 所述检测单元用于检测会话描述协议事件,在检测到登记单元上登记的应用服务器需要获知的会话描述协议事件时,将检测到的会话描述协议事件通知给所述发送单元。
由上可知,本发明通过增加会话描述协议事件的事件包,使承载控制服务器可以直接将会话描述协议事件信息发送给应用服务器,应用服务器不需要参与到会话的过程就可以获知会话描述协议信息,应用服务器的执行的动作大大减少,负担也得到了减轻。
进一步,本发明还提供了使应用服务器可以在承载控制服务器上登记需要获知的会话描述协议事件的技术方案,承载控制服务器只有在检测到应用服务器需要获知的会话描述协议事件时,才发送会话描述协议事件的信息给应用服务器,保证了所有发送的会话描述协议信息都是应用服务器需要知道的,节约了系统资源。
而且,由于在本发明中应用服务器只需要和承载控制服务器进行信令的交互,只要应用服务器和承载控制服务器是支持SIP协议的,应用服务器就可以获知会话描述协议信息,不受系统中其他参与会话过程的实体影响。



图1、现有技术的信令图; 图2、本发明提供的承载控制服务器结构图; 图3、本发明的实施例系统图; 图4、本发明的实施例流程图; 图5、本发明的实施例信令图。

具体实施例方式 本实施方式提供了一种获知会话描述协议信息的方法、系统及承载控制服务器,通过增加支持SIP协议的SDP事件包,使BCS可以使用此事件包在发生SDP事件时通知AS。
本实施方式提供的承载控制服务器内部结构如图2所示,包括发送单元201、检测单元202和登记单元203 发送单元201用于在检测单元202检测到SDP事件时,将SDP事件信息通知给应用服务器。
如果应用服务器事先有在登记单元203登记过需要获知的SDP事件类型,或者事先在登记单元203配置过不同应用服务器需要获知的不同SDP事件,则发送单元201只有在检测单元202检测到应用服务器需要获知的SDP事件时,才将应用服务器需要获知的SDP事件信息通知给应用服务器。
检测单元202检测SDP事件,在发生SDP事件时通知发送单元201。
如果应用服务器事先有在登记单元203登记过需要获知的SDP事件类型,或者事先在登记单元203配置过不同应用服务器需要获知的不同SDP事件,则检测单元202只有在检测到应用服务器需要获知的SDP事件时,才通知给发送单元201。
登记单元203应用服务器通过消息在登记单元203登记需要获知的SDP事件类型,或者事先在登记单元203配置不同应用服务器需要获知的不同SDP事件。
本实施方式提供的承载控制服务器具体在系统中的应用,参见下文对系统的描述。
本实施方式提供的获知会话描述协议信息的系统包括应用服务器、承载控制服务器,和至少1个用户,现以两个用户为例进行系统的描述,如图3所示 应用服务器301和承载控制服务器303相连,用于在需要获知SDP信息时,在承载控制服务器上通过签约登记需要获知的SDP事件类型。
用户A302和用户B304通过承载控制服务器303互连,用户A和用户B之间通过承载控制服务器建立会话连接。
承载控制服务器303用于在会话进行过程中检测发生的SDP事件,再检测到应用服务器301登记过的事件时,将SDP事件信息通知给应用服务器301。
如果应用服务器不在承载控制服务器上登记,则承载控制服务器会直接把发生过的SDP事件信息通知给想要获知SDP事件的应用服务器,也可以预先在承载控制服务器上配置不同应用服务器需要获知的不同SDP事件,在发生配置过的SDP事件时发送给相应应用服务器。
在实际使用中系统可能包含更多的用户,如果是包含更多用户的系统,所有用户均只与承载控制服务器相连。
以上所述相连或互联均指信令上的连接或互联。
本实施方式提供的获知会话描述协议信息的系统及承载控制服务器的具体工作方式将在下文对方法的描述中进行详细阐述。
本实施方式提供的获知会话描述协议信息的方法首先要定义一个支持SIP协议的SDP事件包,此事件包定义了SDP事件和用于通知SDP事件信息得消息“通知”消息,使承载控制服务器可以使用此事件包在发生SDP事件时通知应用服务器。
但是在实际使用中,应用服务器会需要获知一些特定的SDP信息,而不需要知道全部的SDP事件信息,为了节约系统资源,本实施方式提供了事先在承载控制服务器上预设应用服务器需要获知的SDP事件,承载控制服务器只有在检测到应用服务器需要获知的SDP事件后,才发送相应SDP事件信息给应用服务器的方案。
在承载控制服务器上预设应用服务器需要获知的SDP事件,可以通过直接在承载控制服务器预设实现,也可以通过应用服务器在承载控制服务器上登记实现,下文讲述的实施例中将以通过应用服务器在承载控制服务器上登记实现。
应用服务器在承载控制服务器上登记需要获知的SDP事件,要在事件包里定义用于登记SDP事件的消息“签约”消息,使应用服务器可以在承载控制服务器上登记想要获知的SDP事件,承载控制服务器只有在检测到登记过的事件后,才发送相应SDP事件信息给应用服务器。
现在举例说明支持SIP协议的SDP事件包的定义,事件包里对SDP事件的参数“事件(Event)”和“结果(Result)”进行了定义,程序示例如下 event-package=.../tpackage/token tpackage ="SDP-event"*[SEMI tparams] tparams =event-name COMMA event-condition event-name = [“CALLING-SDP”/”Called-SDP”/”NEGOTIATED-SDP”/”ALL-SDP”] event-condition = [“IMMEDIATE”/”CALL-SUCC”/”CALL-FAIL”/”SDP-RENOGOATIATE”/”ALWAYS” 上述程序里定义了可签约(SUBSCRIBE)的事件参数清单,即应用服务器可能需要获知可以在承载控制服务器上登记的事件列表。
在定义好支持SIP协议的SDP事件包后,获知会话描述协议信息的方法流程如图4所示 步骤401、应用服务器在承载控制服务器上通过签约登记需要获知的SDP事件类型。
此步可以在系统开始运行时进行,也可以在每次呼叫开始前进行。
步骤402、承载控制服务器检测到发生了应用服务器登记的SDP事件。
步骤403、承载控制服务器通知应用服务器SDP信息,此时,应用服务器获知了他需要获知的SDP信息。
下面仍然以一次两方通话为例描述本实施方式提供的获知会话描述协议信息的方法,具体信令交互过程参见图5 步骤501、应用服务器发送SIP签约消息到承载控制服务器,在承载控制服务器上登记需要获知的SDP事件,这些SDP事件都是属于事先在可签约事件列表定义过的,此签约事件包程序示例如下 SUBSCRIBE sip:gateway.huawei.com SIP/2.0 Call-Id:100@huawei.com To:<sip:notifier@huawei.com> From:<sip:appserver.com>;tag=abcd CSeq:1 SUBSCRIBE Event:SDP-event;All-SDP,sdp-renegotiate;All-sdp,call-succ Expires:3600 Content-Length:0 这签约事件包里要求在承载控制服务器上登记的SDP事件包括所有成功呼叫(call-succ)的SDP事件,和所有协商(sdp-renegotiate)的SDP事件,其中所有协商的SDP事件又包括正在进行的呼叫、已经结束的呼叫和协商过的SDP事件。
步骤502、用户A发起对用户B的呼叫,发送SIP呼叫请求消息到承载控制服务器。
步骤503、承载控制服务器收到呼叫请求消息后,发送SIP呼叫请求消息到用户B。
步骤504、用户B收到呼叫请求消息后,返回SIP回铃音消息(180Ringing)到承载控制服务器。
步骤505、承载控制服务器收到回铃音消息后,发送SIP回铃音消息到用户A。
步骤506、用户B响应用户A的呼叫,返回携带用户B的SDP信息的SIP响应消息(200OK)至承载控制服务器。
步骤507、承载控制服务器收到用户B发出的响应消息后,将此响应消息发送给用户A。
此时,承载控制服务器的事件检测点检测到一次成功的呼叫,和应用服务器在承载控制服务器上登记过的SDP事件,正在进行的呼叫、已经结束的呼叫和协商过的SDP事件,这些事件的信息都需要被通知给应用服务器。
步骤508、由于承载控制服务器在步骤406到步骤407中检测到发生了应用服务器登记过的SDP事件正在进行的呼叫,承载控制服务器发送SIP通知消息(NOTIFY)到应用服务器,通知应用服务器关于正在进行的呼叫事件SDP信息,此通知程序示例如下 NOTIFY sip:appserver.com SIP/2.0Call-Id:3848276298220188511@huawei.example.comTo:<sip:appserver.com>;tag=abcdFrom:<sip:notifier@huawei.com>;tag=efghCSeq:7 NOTIFYEvent:sdp-event;calling-sdp,call-succSubscription-State:activeContent-Type:application/SDPContent-Length:Content-Length:151v=0o=SubscriberA 2890844526 2890844526 IN IP4 sub.huawei.example.coms=-c=IN IP4 192.0.2.101<!-- SIPO <DP n="10"> --><dp n="d10"/>t=00m=audio 49172 RTP/AVP 0a=rtpmap:0 PCMU/8000 步骤409、由于承载控制服务器在步骤406到步骤407中检测到发生了应用服务器登记过的SDP事件已经结束的呼叫,承载控制服务器发送SIP通知消息(NOTIFY)到应用服务器,通知应用服务器关于已经结束的呼叫事件SDP信息,此通知程序示例如下 NOTIFY sip:appserver.com SIP/2.0Call-Id:3848276298220188511@huawei.example.comTo:<sip:appserver.com>;tag=abcdFrom:<sip:notifier@huawei.com>;tag=efghCSeq:7 NOTIFYEvent:sdp-event;called-sdp,call-succSubscription-State:activeContent-Type:application/SDPContent-Length:Content-Length:147v=0o=SubscriberB 2890844527 2890844527 IN IP4 sub.huawei.example.coms=-c=IN IP4 192.0.2.201t=00m=audio 3456 RTP/AVP 0a=rtpmap:0 PCMU/8000 步骤510、由于承载控制服务器在步骤406到步骤407中检测到发生了应用服务器登记过的SDP事件协商过的SDP,承载控制服务器发送SIP通知消息(NOTIFY)到应用服务器,通知应用服务器协商过的SDP信息,此通知程序示例如下 NOTIFY sip:appserver.com SIP/2.0Call-Id:3848276298220188511@huawei.example.comTo:<sip:appserver.com>;tag=abcdFrom:<sip:notifier@huawei.com>;tag=efghCSeq:7 NOTIFYEvent:sdp-event;negotiated-sdp,call-succSubscription-State:activeContent-Type:application/SDPContent-Length:Content-Length:147v=0o=SubscriberB 2890844527 2890844527 IN IP4 sub.huawei.example.coms=-c=IN IP4 192.0.2.201t=00m=audio 3456 RTP/AVP 0a=rtpmap:0 PCMU/8000 步骤511、用户A发送SIP确认消息(ACK)至承载控制服务器。
步骤512、承载控制服务器收到确认消息后,将确认消息发送给用户B。
至此,用户A和用户B之间的双方通话建立。
步骤513、用户B发出SIP终止通话请求(BYE)到承载控制服务器,请求结束和用户A之间的通话。
步骤514、承载控制服务器将收到的终止通话请求发送给用户A,请求结束用户B和用户A之间的通话。
步骤515、用户A收到终止通话请求,释放资源,并发送SIP响应消息(200OK)到承载控制服务器。
步骤516、承载控制服务器收到响应消息后,释放这个呼叫,并将响应消息发送到用户B,用户B结束这个呼叫。
以上就是在两方通话时的信令交互过程,如果参与通话的用户多于两个,是一个多方通话的过程,所有的用户仍然只需通过承载控制服务器完成会话的全部过程,不需要和应用服务器进行信令的交互,应用服务器在承载控制服务器登记过需要获知的SDP事件后,只需等待承载控制服务器在检测到发生了登记过的事件时,发送相应的SDP事件信息通知即可。
以上对本实施方式所提供的一种应用服务器获知会话描述协议信息的方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种获知会话描述协议信息的方法,其特征在于,该方法包括
增加会话描述协议事件的事件包,来定义用于通知事件信息的消息;
承载控制服务器在检测到会话描述协议事件时,通过所述用于通知事件信息的消息,发送所述会话描述协议事件的信息给应用服务器。
2、如权利要求1所述的获知会话描述协议信息的方法,其特征在于,所述方法还包括
在所述会话描述协议事件的事件包中,进一步定义用于登记的消息及可登记会话描述协议事件列表;
应用服务器通过所述用于登记的消息在承载控制服务器上登记需要获知的会话描述协议事件,所述需要获知的会话描述协议事件属于所述可登记会话描述协议事件列表。
3、如权利要求2所述的获知会话描述协议信息的方法,其特征在于,所述承载控制服务器在检测到会话描述协议事件时是承载控制服务器在检测到应用服务器登记过的会话描述协议事件时。
4、如权利要求1所述的获知会话描述协议信息的方法,其特征在于,所述承载控制服务器在检测到会话描述协议事件时是
在承载控制服务器上配置应用服务器需要获知的会话描述协议事件,承载控制服务器在检测到配置过的会话描述协议事件时。
5、如权利要求1、2、3或4所述的获知会话描述协议信息的方法,其特征在于,所述会话描述协议事件的事件包支持会话发起协议。
6、一种获知会话描述协议信息的系统,其特征在于,包括应用服务器、承载控制服务器
所述承载控制服务器用于在检测到会话描述协议事件时,通过增加的会话描述协议事件的事件包预先定义的用于通知事件信息的消息,发送所述会话描述协议事件的信息给所述应用服务器。
7、如权利要求6所述的获知会话描述协议信息的系统,其特征在于
所述应用服务器用于通过增加的会话描述协议事件的事件包预先定义的用于登记的消息,在承载控制服务器上登记需要获知的会话描述协议事件,所述需要获知的会话描述协议事件属于所述事件包预先定义的可登记会话描述协议事件列表;
所述承载控制服务器用于在检测到应用服务器登记过的会话描述协议事件时,通过增加的会话描述协议事件的事件包预先定义的用于通知事件信息的消息,发送所述会话描述协议事件的信息给应用服务器。
8、如权利要求6所述的获知会话描述协议信息的系统,其特征在于
所述承载控制服务器用于预先配置应用服务器需要获知的会话描述协议事件,在检测到配置过的会话描述协议事件时,通过增加的会话描述协议事件的事件包预先定义的用于通知事件信息的消息,发送所述会话描述协议事件的信息给应用服务器。
9、一种承载控制服务器,其特征在于,该承载控制服务器包括发送单元和检测单元
所述检测单元用于检测会话描述协议事件,将检测到的会话描述协议事件通知给所述发送单元;
所述发送单元用于在收到检测单元的通知时,通过增加的会话描述协议事件的事件包预先定义的用于通知事件信息的消息,发送所述会话描述协议事件的信息给应用服务器。
10、如权利要求9所述的承载控制服务器,其特征在于,所述承载控制服务器还包括登记单元
所述登记单元用于接收及记录应用服务器需要获知的会话描述协议事件,所述需要获知的会话描述协议事件属于所述事件包预先定义的可登记会话描述协议事件列表;
所述检测单元用于检测会话描述协议事件,在检测到登记单元上登记的应用服务器需要获知的会话描述协议事件时,将检测到的会话描述协议事件通知给所述发送单元。
全文摘要
本发明公开了一种获知会话描述协议信息的方法,该方法包括增加会话描述协议事件的事件包,定义了用于通知事件信息的消息;承载控制服务器在检测到SDP事件时,通过所述用于通知事件信息的消息发送所述SDP事件的信息给应用服务器。本发明还公开了一种获知会话描述协议信息的系统,包括应用服务器、承载控制服务器承载控制服务器用于在检测到SDP事件时,发送所述SDP事件的信息给应用服务器。本发明还公开了一种承载控制服务器,该承载控制服务器包括发送单元和检测单元;检测单元将检测到的SDP事件通知给所述发送单元;发送单元发送所述SDP事件的信息给应用服务器。通过应用本发明,应用服务器不需要参与到建立会话的全过程。
文档编号H04L12/26GK1960373SQ20061012694
公开日2007年5月9日 申请日期2006年9月6日 优先权日2006年9月6日
发明者拉胡尔 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1