CN101741807B - 一种sip会话刷新过程中协商更新时间的方法 - Google Patents
一种sip会话刷新过程中协商更新时间的方法 Download PDFInfo
- Publication number
- CN101741807B CN101741807B CN2008100684782A CN200810068478A CN101741807B CN 101741807 B CN101741807 B CN 101741807B CN 2008100684782 A CN2008100684782 A CN 2008100684782A CN 200810068478 A CN200810068478 A CN 200810068478A CN 101741807 B CN101741807 B CN 101741807B
- Authority
- CN
- China
- Prior art keywords
- uac
- session
- information
- uas
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种SIP会话刷新过程中协商更新时间的方法,包括步骤:UAC向UAS发起会话请求的会话时,UAC查找并获得UAC与UAS会话的会话持续时间关联表SPT中的路由会话持续时间SE信息,向UAC和UAS之间的所述至少一代理服务器发起会话请求,所述至少一代理服务器获取所述SE信息,对照所述至少一代理服务器所允许的会话持续时间最小值MSE,如果所述SE大于等于所述MSE,则转发直至到达UAS;如果所述SE小于等于所述MSE,将MSE作为新的SE返回UAC重新发起会话,当UAS收到会话请求,将把收到的SE信息返回给SPT表中。这样可以减小SIP消息交互流量,降低呼叫响应时间,提高用户体验。
Description
技术领域
本发明涉及通信领域,更具体地涉及一种SIP会话刷新过程中减少网络流量的方法。
背景技术
当前许多通信系统中控制层采用会话启动协议(Session InitiationProtocol,简称SIP)作为控制信令。SIP在RFC4028中定义了一种会话刷新机制。支持RFC4028的终端会周期性的发送对话请求(re-INVITE)或刷新请求(UPDATE)用来保持会话的活动。会话更新请求的间隔通过RFC4028的协商机制决定。如果在间隔内没有收到会话更新请求,该会话被认为已经终止。终端发送一个结束会话(BYE)消息,有状态代理服务器则将该呼叫的所有状态移除。
在SIP会话刷新机制中,SIP消息体扩展了两个头字段:会话持续时间(Session-Expires,简称SE),会话允许的最小持续时间(Min-SE,简称MSE)和以及一个新的响应码(422,表示会话定时器持续时间太短)。
图1是SIP会话的系统参考框架。整个呼叫模型包括用户代理客户端(User Agent Client,简称UAC)101、SIP代理服务器A(SIP Proxy A,简称Proxy A)102、SIP代理服务器B(SIP Proxy B,简称Proxy B)103、用户代理服务端(User Agent Server,简称UAS)104。其中UAC为呼叫发起方,UAS为呼叫接收方。SIP信令从UAC路由到UAS不一定是仅经过两个SIP代理服务器。此处假定为两个。
根据SIP会话刷新机制的要求,UAC在发起呼叫时会携带本地配置的SE,如果SE的间隔太低(低于代理服务器要维护的MSE头字段的值),那么代理服务器将拒绝这个请求并返回一个422响应。该响应包含一个MSE头字段表明它所支持的最小会话间隔。UAC收到422响应后。再次尝试发送请求,这次请求中包含了SE头字段,其值等于先前接收到的所有422响应中最大的MSE头字段值。同样包含MSE头字段,其值等于先前接收到的所有422响应中最大的MSE头字段值。这样一来,SE和MSE就能满足所经过的所有代理服务器的约束条件。
现有技术中,会话流程以及对422响应的处理过程如附图2所示,包括以下步骤:
S201,当UAC发起呼叫,向Proxy A发送呼叫请求,消息中包含会话持续时间SE,例如,设置为100秒;
S202,Proxy A收到呼叫请求时,发现会话间隔小于本地所允许的最小值3600,因此Proxy A用一个422响应来拒绝请求,设置MSE为3600;
S203,UAC发送会话确认消息到Proxy A;
S204,UAC重新发送呼叫请求。这次,请求中包含了一个MSE头字段值为422响应的带的3600,SE头字段的值也为3600;
S205,由于现在的会话间隔值Proxy A可以接受,Proxy A将这个请求前向发送到Proxy B;
S206,Proxy B收到呼叫请求时,发现会话间隔小于本地所允许的最小值4000,因此Proxy B用一个422响应来拒绝请求,设置MSE为4000;
S207,Proxy A发送会话确认消息到Proxy B;
S208,ProxyA转发422响应到UAC;
S209,UAC发送会话确认消息到Proxy A;
S210,UAC重新发送呼叫请求。这次,请求中包含了一个MSE头字段值为422响应带的4000,SE头字段的值也为4000;
S211,由于现在的会话间隔值Proxy A可以接受,Proxy A将这个请求前向发送到Proxy B;
S212,由于现在的会话间隔值Proxy B也可以接受,Proxy B将这个请求前向发送到UAS;
S213,UAS收到呼叫请求消息,检查SE的值自己可以接受,返回200响应消息,同时带有协商好的SE的值为4000;
S214,Proxy B转发200响应到Proxy A;
S215,Proxy A转发200响应到UAC,呼叫建立。
从上述过程中可以看出,会话刷新机制的协商过程可能会多次返回422响应到UAC,导致UAC不得不用422响应中新的SE来重新发起呼叫,而如果用户挂断电话后,下次继续呼叫被叫时,不得不又重复以上的协商机制。这样多次交互中,使得网络带宽急剧浪费,另外用户呼叫振铃,和接通的时长明显增长,用户体验降低。如果呼叫繁忙的情况下,会严重影响网络处理性能。
发明内容
本发明所要解决的技术问题是提供一种SIP会话刷新过程中协商更新时间的方法,应用于包括用户代理客户端UAC、用户代理服务端UAS和设置于UAC与UAS之间的至少一代理服务器的系统中,其特征在于包括如下步骤:
101UAC向UAS发起会话请求的会话时,UAC查找并获得UAC与UAS会话的会话持续时间关联表SPT中的路由会话持续时间SE信息;
102向UAC和UAS之间的所述至少一代理服务器发起会话请求,会话请求中包括所述UAC获得的SE信息;
103所述至少一代理服务器获取所述SE信息,对照所述至少一代理服务器所允许的会话持续时间最小值MSE,如果所述SE大于等于所述
MSE,则转发直至到达UAS;如果所述SE小于所述MSE,所述至少一代理服务器发送拒绝请求响应消息至UAC,拒绝请求响应消息中包括所述MSE的时间信息,执行102步骤;
104UAS收到会话请求,将SE信息返回200响应消息给所述UAC,并且更新SPT表中的相应的SE信息更新。
进一步地,其特征在于,所述的会话持续时间关联表SPT包括被叫标识,呼叫路径上的代理服务器以及相应的SE信息。
进一步地,所述UAS的标识信息是SIP URI标志。
进一步地,其特征在于,所述SPT表在UAC启动或注册后清空。
进一步地,其特征在于,步骤101中,所述UAC查找UAC与UAS会话的会话持续时间关联表SPT失败,则UAC根据本地设置的SE信息发起会话请求;
进一步地,其特征在于,步骤103后,如果UAC中没有所述SPT表,则UAC插入所述SPT表。
与现有技术相比,由于本发明在SIP会话刷新协商过程中,UAC采用了针对UASSIP URI来分别存储SE值的方法,因此克服现有会话刷新机制过程中多次交互产生422响应的弊端。减小SIP消息交互流量,降低呼叫响应时间,提高用户体验。
附图说明
图1为现有技术的SIP呼叫的参考框架示意图;
图2为现有技术的SIP呼叫会话刷新协商流程图;
图3为本发明的SIP初次呼叫会话刷新协商流程图;
图4为本发明的第二次呼叫UAS的呼叫流程图;
图5为本发明的UAS发生漫游后的协商流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。
为了实现本发明的目的,在UAC本地保持一张会话持续时间关联表(SEPOLICY TABLE,简称SPT),此表项包括被叫标识,例如被叫的SIP统一资源标识符(SIP Uniform Resource Identifier,简称SIP URI),呼叫路径上的Proxy以及他们相应的SE信息。UAC启动或注册后此SPT为空。
请注意SPT表项中是包括了路径上所有Proxy的SE信息,还是为其中一个Proxy的及其相应的SE信息?
图3是对于一个指定的被叫,初次SIP呼叫会话刷新协商,并且建立SPT表的流程图。在这个流程中,UAC与UAS会话协商过程中确定的SE信息被保存在UAC的SPT表中。具体地,这个流程包括以下步骤:
S301,当UAC发起呼叫,查找本地SPT,假设此次呼叫是UAC启动或者注册后的第一次向此UAS的呼叫。查找SPT未找到UAS的SIP URI。向Proxy A发送呼叫请求消息,呼叫请求消息中包含本地策略默认的会话持续时间SE信息,例如,设置为100秒;
S302,Proxy A收到呼叫请求时,发现会话间隔小于本地所允许的最小值3600,因此Proxy A用一个422响应来拒绝请求,设置MSE为3600;
S303,UAC发送会话确认消息到Proxy A;
S304,UAC重新发送呼叫请求。这次,请求中包含了一个MSE头字段值为422响应的带的3600,SE头字段的值也为3600;
S305,由于现在的会话间隔值Proxy A可以接受,Proxy A将这个请求前向发送到Proxy B;
S306,Proxy B收到呼叫请求时,发现会话间隔小于本地所允许的最小值4000,因此Proxy B用一个422响应来拒绝请求,设置MSE为4000;
S307,Proxy A发送会话确认消息到Proxy B;
S308,Proxy A转发422响应到UAC;
S309,UAC发送会话确认消息到Proxy A;
S310,UAC重新发送呼叫请求。这次,请求中包含了一个MSE头字段值为422响应带的4000,SE头字段的值也为4000;
S211,由于现在的会话间隔值Proxy A可以接受,Proxy A将这个请求前向发送到Proxy B;
S312,由于现在的会话间隔值Proxy B也可以接受,Proxy B将这个请求前向发送到UAS;
S313,UAS收到呼叫请求消息,检查SE的值自己可以接受,返回200响应消息,同时带有协商好的SE的值为4000;
S314,Proxy B转发200响应到Proxy A;
S315,Proxy A转发200响应到UAC,UAC收到后,发现200OK回应中携带SE头域,根据被叫SIP URI查找SPT,没有找到,插入一项,SIP
URI和SE值分别为此被叫的SIP URI和200OK回应中的SE头域的值4000。
图4是再次呼叫图3中相同的UAS的呼叫流程图。因为在图3的流程图中,UAC已经获得了合适的SE信息并且保存在与该UAS关联的STP表中,所以,这个再次呼叫过程减少了SE协商的过程。具体地,流程包括以下步骤:
S401,当UAC发起呼叫时,查找本地SPT,根据被叫SIP URI找到对应的SE值为4000,发起呼叫,消息中包含会话刷新协商时间SE为4000秒;
S402,PROXY A检查消息,发现SE值大于本地最低值限制,直接转发呼叫到PROXY B;
S403,PROXY B检查消息,发现SE值大于本地最低值限制,直接转发呼叫到UAS;
S404,UAS带协商好的SE值回应200OK消息连同UAS得SIP URI信息到PROXY B;
S405,PROXY B转发回应200OK消息到PROXY A;
S406,PROXY A转发回应200OK消息到UAC,UAC收到带SE头域的200OK回应消息。根据UAS的SIP URI更新SPT表中的该SIP URI的SE值为最新SE值4000,会话刷新协商成功。
从上述过程可以看出,UAC在一开始就具有了合适的SE值,省却了和呼叫路径上的ProxyA,ProxyB的SE协商过程。
图5所表示的情形是,当在图3所表述的流程中,即使UAC已经保存了关于的STP表格,因为UAS发生了位置的变化,而这种变化是的呼叫路径上的代理服务器发生变化(在图5中的Prxoy C),如何协商SE信息。它包括以下步骤:
S501,当UAC发起呼叫时,查找本地SPT,根据被叫SIP URI找到对应的SE值为4000,发起呼叫到PROXY A,消息中包含会话刷新协商时间SE为4000秒;
S502,由于UAS发生了漫游,PROXY A将呼叫请求中转到PROXY C处理;
S503,由于PROXY C发现会话间隔小于本地所允许的最小值6000,因此Proxy C用一个422响应来拒绝请求,设置MSE为6000;
S504,Proxy A转发422响应到UAC;
S505,PROXY A发送会话确认消息到Proxy C;
S506,UAC发送会话确认消息到Proxy A;
S507,UAC重新发送呼叫请求。这次,请求中包含了一个MSE头字段值为422响应带的6000,SE头字段的值也为6000;
S508,由于现在的会话间隔值Proxy A可以接受,Proxy A将这个请求前向发送到Proxy C;
S509,由于现在的会话间隔值Proxy C也可以接受,Proxy B将这个请求前向发送到UAS;
S510,UAS收到呼叫请求消息,检查SE的值自己可以接受,返回200响应消息,同时带有协商好的SE的值为6000;
S511,Proxy C转发200响应到Proxy A;
S512,Proxy A转发200响应到UAC,UAC收到带SE头域的200OK回应消息。根据SIP URI更新SPT表中的该SIP URI的SE值为最新SE值6000,会话刷新协商成功。
在现有技术中UAC的SE值总是由本地策略设置的。如果本地策略值比呼叫经过的路由路径的要求值小,每次呼叫最要返回多余的422响应占用网络带宽,如果本地策略值设置的非常大,比经过的路由路径的要求值大很多,虽然不会有422响应产生,但这可能导致会话刷新迟钝而失去意义。在本实施例中改进为UAC的SE值是根据UAS的路由路径所动态决定的。从而可以避免对此用户的后续呼叫产生422响应。即提高了呼叫响应速度,又减少网络流量负担。
综上所述,采用本发明方法,应用于SIP呼叫会话刷新协商过程,UAC采用了针对UASSIP URI来分别存储SE值的方法,因此克服现有会话刷新机制过程中多次交互产生422响应的弊端。减小SIP消息交互流量,降低呼叫响应时间,提高用户体验。
Claims (5)
1.一种SIP会话刷新过程中协商更新时间的方法,应用于包括用户代理客户端UAC、用户代理服务端UAS和设置于UAC与UAS之间的至少一代理服务器的系统中,其特征在于包括如下步骤:
101UAC向UAS发起会话请求的会话时,UAC查找并获得UAC与UAS会话的会话持续时间关联表SPT中的路由会话持续时间SE信息;
102向UAC和UAS之间的所述至少一代理服务器发起会话请求,会话请求中包括所述UAC获得的SE信息;
103所述至少一代理服务器获取所述SE信息,对照所述至少一代理服务器所允许的会话持续时间最小值MSE,如果所述SE信息大于等于所述MSE,则转发直至到达UAS;如果所述SE信息小于所述MSE,所述至少一代理服务器发送拒绝请求响应消息至UAC,拒绝请求响应消息中包括所述MSE,并将所述MSE作为UAC的新的SE信息,执行102步骤;
104UAS收到会话请求,返回响应消息给所述UAC,响应消息中包括所述SE信息,并且根据所述SE信息更新SPT表中的SE信息。
2.如权利要求1所述的方法,其特征在于,所述的会话持续时间关联表SPT包括被叫标识,呼叫路径上的代理服务器以及相应的SE信息。
3.如权利要求2所述的方法,其特征在于,所述被叫标识为UAS的标识信息,即SIP URI标志。
4.如权利要求1所述的方法,其特征在于,所述SPT表在UAC启动或注册后清空。
5.如权利要求1所述的方法,其特征在于,步骤101中,若关联表SPT为空,则UAC根据选择默认的SE信息发起会话请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100684782A CN101741807B (zh) | 2008-11-19 | 2008-11-19 | 一种sip会话刷新过程中协商更新时间的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100684782A CN101741807B (zh) | 2008-11-19 | 2008-11-19 | 一种sip会话刷新过程中协商更新时间的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101741807A CN101741807A (zh) | 2010-06-16 |
CN101741807B true CN101741807B (zh) | 2012-12-05 |
Family
ID=42464702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100684782A Active CN101741807B (zh) | 2008-11-19 | 2008-11-19 | 一种sip会话刷新过程中协商更新时间的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101741807B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016141513A1 (zh) * | 2015-03-06 | 2016-09-15 | 华为技术有限公司 | 业务处理方法及装置 |
CN109257323B (zh) * | 2017-07-14 | 2022-03-08 | 中兴通讯股份有限公司 | 一种通话方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018233A (zh) * | 2007-03-20 | 2007-08-15 | 杭州华为三康技术有限公司 | 会话的控制方法及控制装置 |
CN101170517A (zh) * | 2007-12-06 | 2008-04-30 | 杭州华三通信技术有限公司 | 对控制会话表进行老化的方法及装置 |
KR20080037448A (ko) * | 2006-10-26 | 2008-04-30 | 한국전자통신연구원 | 스테이트풀 sip 프락시 서버에서의 호 관리 방법 및시스템 |
-
2008
- 2008-11-19 CN CN2008100684782A patent/CN101741807B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080037448A (ko) * | 2006-10-26 | 2008-04-30 | 한국전자통신연구원 | 스테이트풀 sip 프락시 서버에서의 호 관리 방법 및시스템 |
CN101018233A (zh) * | 2007-03-20 | 2007-08-15 | 杭州华为三康技术有限公司 | 会话的控制方法及控制装置 |
CN101170517A (zh) * | 2007-12-06 | 2008-04-30 | 杭州华三通信技术有限公司 | 对控制会话表进行老化的方法及装置 |
Non-Patent Citations (1)
Title |
---|
S.Donovan等.Session Timers in the Session Initiation Protocol (SIP).《RFC 4028》.2005, * |
Also Published As
Publication number | Publication date |
---|---|
CN101741807A (zh) | 2010-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1623539B1 (en) | Registrations in a communication system | |
US6654606B1 (en) | Call state control function (CSCF) call processing | |
CN100356815C (zh) | 用于在移动网络与无线网络之间漫游的方法和系统 | |
EP1882348B1 (en) | System and method for providing interactive communications | |
EP2262322A1 (en) | Method, system and equipment for shifting call based on a mobile terminal with the same number and a soft terminal | |
EP1973283A1 (en) | Interworking network element, interworking system between the csi terminal and the ims terminal and the method thereof | |
EP1514432A1 (en) | A system and method for event notifications in a multimedia network | |
WO2007033549A1 (fr) | Procede de transmission de message hors ligne | |
EP3172880B1 (en) | Method of and communications handling equipment for controlling communication session establishment in a multimedia communications network. | |
CN104284360A (zh) | P-cscf故障处理方法和系统 | |
CN102035813A (zh) | 端到端呼叫的实现方法、端到端呼叫终端及系统 | |
EP2797285B1 (en) | Method and apparatus for network communication | |
JPWO2008044265A1 (ja) | 呼接続処理方法およびメッセージ送受信代理装置 | |
CN102026127A (zh) | 紧急呼叫跨越业务的实现方法、装置和系统 | |
CN108307082B (zh) | 一种实现ip语音业务接入的方法 | |
CN101741807B (zh) | 一种sip会话刷新过程中协商更新时间的方法 | |
US11522923B2 (en) | Method for enabling a calling User Equipment, UE, to retry a Session Initiation Protocol, SIP, call attempt to a called UE, over a Circuit Switched domain | |
WO2015196809A1 (zh) | 消息处理方法及装置 | |
KR101080383B1 (ko) | 브이오아이피 호설정 방법 및 이를 수행하는 브이오아이피 통신 시스템 | |
CN102487495B (zh) | Hss异常时实现呼叫的方法及cscf | |
CN101635672A (zh) | 一种群组方式下实现融合业务会话的装置和方法 | |
CN101404674A (zh) | 一种呼叫路由选择的方法、代理服务器和中继设备 | |
EP3742695B1 (en) | Network service system and method | |
KR102160697B1 (ko) | 착신 그룹의 대표 모회선 번호를 이용한 그룹 착신 서비스 제공 시스템 및 그 방법 | |
JP7364813B1 (ja) | 移動通信に用いられる管理装置、方法、システム及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |