更新sip會話狀態的方法及裝置制造方法
【專利摘要】本發明公開了一種更新SIP會話狀態的方法及裝置,涉及信息【技術領域】,可以簡化網元的消息流程。所述方法包括:網元首先接收攜帶有會話定時器周期字段的REGISTER消息,然后根據REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態。本發明適用于對網元的會話狀態進行更新。
【專利說明】
更新SIP會話狀態的方法及裝直
【技術領域】
[0001]本發明涉及信息【技術領域】,特別涉及一種更新會話發起協議(英文全稱=Sess1nInitiat1n Protocol,英文縮寫:SIP)會話狀態的方法及裝置。
【背景技術】
[0002]隨著信息技術的發展,越來越多的用戶通過建立SIP會話,以實現與其他用戶的交流。在會話建立后,網元需要周期性地對會話定時器進行更新,以實現對會話狀態的更新。其中,會話狀態包括正在通話狀態及已掛斷狀態。
[0003]目前,一種更新SIP會話狀態的方法,通過在發送給網元的呼叫請求(英文全稱:REINVITE)消息或更新(英文全稱:UPDATE)消息中,攜帶有會話定時器周期字段,以使得網元根據會話定時器周期字段對會話定時器進行更新,從而實現網元對會話狀態的更新。其中,對會話定時器進行更新,是指將會話定時器置零。
[0004]然而,在通過上述方法對會話狀態進行更新時,網元需要通過額外的REINVITE消息或UPDATE消息,對會話定時器進行更新,從而導致網元的消息流程較為復雜。
【發明內容】
[0005]本發明提供一種更新SIP會話狀態的方法及裝置,可以簡化網元的消息流程。
[0006]本發明采用的技術方案為:
[0007]第一方面,本發明提供一種更新SIP會話狀態的方法,包括:
[0008]網元接收注冊REGISTER消息,所述REGISTER消息中攜帶有會話定時器周期字段,所述網元為代理呼叫會話控制功能P-CSCF或服務呼叫會話控制功能S-CSCF ;
[0009]所述網元根據所述REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態,所述會話狀態包括所述正在通話狀態及已掛斷狀態。
[0010]第二方面,本發明提供一種更新SIP會話狀態的裝置,用于網元,所述網元為代理呼叫會話控制功能P-CSCF或服務呼叫會話控制功能S-CSCF ;所述裝置包括:
[0011]接收單元,用于接收注冊REGISTER消息,所述REGISTER消息中攜帶有會話定時器周期字段;
[0012]更新單元,用于根據所述接收單元接收的所述REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態,所述會話狀態包括所述正在通話狀態及已掛斷狀態。
[0013]本發明提供的更新SIP會話狀態的方法及裝置,網元首先接收攜帶有會話定時器周期字段的REGISTER(注冊)消息,然后根據REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態。與目前網元需要通過額外的REINVITE消息或UPDATE消息,對會話定時器進行更新相比,本發明通過在已有的用于更新注冊定時器的REGISTER消息中,增加會話定時器周期字段,以實現對網元中的會話定時器進行更新,同時由于已注冊的用戶設備,必須按照周期向網元發送RGISTER消息,以保證該用戶設備處于注冊正常狀態,而REINVITE消息或UPDATE消息僅可用于當用戶設備存在會話時,對網元的會話定時器進行更新,因此通過攜帶有會話定時器周期字段的REGISTER消息更新會話定時器,能夠避免通過額外的REINVITE消息或UPDATE消息更新會話定時器,即可以實現網元僅通過REGISTER消息,更新會話定時器及注冊定時器,從而可以簡化網元的消息流程。
【專利附圖】
【附圖說明】
[0014]為了更清楚地說明本發明或現有技術中的技術方案,下面將對本發明或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。
[0015]圖1為本發明實施例中更新SIP會話狀態的方法流程圖;
[0016]圖2為本發明實施例中另一種更新SIP會話狀態的方法流程圖;
[0017]圖3為本發明實施例中更新SIP會話狀態的裝置結構示意圖;
[0018]圖4為本發明實施例中另一種更新SIP會話狀態的裝置結構示意圖;
[0019]圖5為本發明實施例中另一種更新SIP會話狀態的裝置結構示意圖。
【具體實施方式】
[0020]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。
[0021]本發明實施例提供一種更新SIP會話狀態的方法,能夠降低網元對會話狀態的更新復雜度,如圖1所示,所述方法包括:
[0022]101、網元接收 REGISTER 消息。
[0023]其中,REGISTER消息中攜帶有會話定時器周期字段。
[0024]對于本發明實施例,網元可以為代理呼叫會話控制功能(英文全稱:Proxy CallSess1n Control Funct1n,英文縮寫:P-CSCF)或服務呼叫會話控制功能(英文全稱:Service Call Sess1n Control Funct1n,英文縮寫:S-CSCF)。在本發明實施例中,當網元為P-CSCF時,步驟101具體可以為=P-CSCF接收用戶設備(英文全稱:User Equipment,英文縮寫:UE)發送的REGISTER消息;當網元為S-CSCF時,步驟101具體可以為:S_CSCF接收查詢呼叫會話控制功能(英文全稱interrogating Call Sess1n Control Funct1n,英文縮寫:I_CSCF)發送的REGISTER消息。
[0025]對于本發明實施例,網元是指主叫側網元。例如,網元具體可以為主叫側P-CSCF,或主叫側S-CSCF。
[0026]對于本發明實施例,網元更新會話定時器,從而實現對會話狀態的更新;網元更新注冊定時器,從而實現對注冊狀態的更新。其中,會話狀態包括正在通話狀態及已掛斷狀態,注冊狀態包括注冊正常狀態及已注銷狀態。
[0027]具體地,當網元在會話定時器周期內,接收到攜帶有會話定時器周期字段的消息,則網元將會話狀態更新為正在通話狀態;當網元在會話定時器周期內,未接收到攜帶有會話定時器周期字段的消息,則網元將會話狀態更新為已掛斷狀態;當網元在注冊定時器周期內,接收到攜帶有注冊定時器周期字段的消息,則網元將注冊狀態更新為注冊正常狀態;當網元在注冊定時器周期內,未接收到攜帶有注冊定時器周期字段的消息,則網元將注冊狀態更新為已注銷狀態。
[0028]對于本發明實施例,當UE正在通話時,UE按照會話定時器周期及注冊定時器周期中的較小周期,向P-CSCF發送REGISTER消息,即P-CSCF按照會話定時器周期及注冊定時器周期中的較小周期,接收UE發送的REGISTER消息。
[0029]可選地,當網元為P-CSCF時,步驟101之前,還可以包括:當達到會話定時器周期或達到注冊定時器周期中的較小周期時,UE向P-CSCF發送REGISTER消息。例如,會話定時器周期為60秒,注冊定時器周期為480秒,當距離前一次發送REGISTER消息的時間達到60秒時,UE再次向P-CSCF發送REGISTER消息。
[0030]對于本發明實施例,通過UE按照會話定時器周期及注冊定時器周期中的較小周期,向網元發送REGISTER消息,能夠實現網元按照會話定時器周期及注冊定時器周期中的較小周期,對會話定時器及注冊定時器進行更新。在本發明實施例中,由于僅當會話定時器達到會話定時器周期,并且網元仍未接收到新的攜帶有會話定時器周期字段的REGISTER消息時,網元將會話狀態更新為已掛斷狀態;僅當注冊定時器達到注冊定時器周期,并且網元仍未接收到新的REGISTER消息時,網元將注冊狀態更新為已注銷狀態,因此網元按照會話定時器周期及注冊定時器周期中的較小周期,對會話定時器及注冊定時器進行更新,并不影響網元對會話定時器及注冊定時器的更新。
[0031]例如,會話定時器周期為60秒,注冊定時器周期為480秒,UE按照60秒為周期,向網元發送攜帶有會話定時器周期字段的REGISTER消息,網元按照60秒為周期,對會話定時器及注冊定時器進行更新,由于60秒小于480秒,即網元在注冊定時器周期480秒之內接收到新的REGISTER消息,因此更新后的注定狀態仍為注冊正常狀態。
[0032]對于本發明實施例,通過達到會話定時器周期或達到注冊定時器周期中的較小周期時,UE再次發送REGISTER消息,能夠避免UE分別判斷是否達到會話定時器周期,以及是否達到注冊定時器周期,從而可以簡化UE對是否達到定時器周期的判斷流程,降低UE的判斷復雜度。
[0033]102、網元根據REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態。
[0034]其中,會話狀態包括正在通話狀態及已掛斷狀態。
[0035]對于本發明實施例,當網元接收到REGISTER消息時,網元更新會話定時器,將會話定時器置零,當會話定時器達到會話定時器周期,并且網元沒有接收到新的REGISTER消息時,網元將會話狀態由正在通話狀態更新為已掛斷狀態。
[0036]對于本發明實施例,當網元為P-CSCF時,若P-CSCF接收到REGISTER消息后,在會話定時器周期內,沒有接收到UE發送的新的REGISTER消息,則P-CSCF將會話狀態由正在通話狀態更新為已掛斷狀態;若P-CSCF接收到REGISTER消息后,在會話定時器周期內,接收到UE發送的新的REGISTER消息,則P-CSCF將會話狀態更新為正在通話狀態。
[0037]對于本發明實施例,當網元為S-CSCF時,若S-CSCF接收到REGISTER消息后,在會話定時器周期內,沒有接收到新的REGISTER消息,則S-CSCF將會話狀態由正在通話狀態更新為已掛斷狀態;若S-CSCF接收到REGISTER消息后,在會話定時器周期內,接收到UE發送的新的REGISTER消息,則S-CSCF將會話狀態更新為正在通話狀態。
[0038]本發明實施例提供的更新SIP會話狀態的方法,網元首先接收攜帶有會話定時器周期字段的REGISTER消息,然后根據REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態。與目前網元需要通過額外的REINVITE消息或UPDATE消息,對會話定時器進行更新相比,本發明實施例通過在已有的用于更新注冊定時器的REGISTER消息中,增加會話定時器周期字段,以實現對網元中的會話定時器進行更新,同時由于已注冊的用戶設備,必須按照周期向網元發送RGISTER消息,以保證該用戶設備處于注冊正常狀態,而REINVITE消息或UPDATE消息僅可用于當用戶設備存在會話時,對網元的會話定時器進行更新,因此通過攜帶有會話定時器周期字段的REGISTER消息更新會話定時器,能夠避免通過額外的REINVITE消息或UPDATE消息更新會話定時器,即可以實現網元僅通過REGISTER消息,更新會話定時器及注冊定時器,從而可以簡化網元的消息流程。
[0039]作為對圖1所示方法的具體說明,本發明實施例提供另一種更新SIP會話狀態的方法,如圖2所示,所述方法包括:
[0040]201、P-CSCF 接收 REGISTER 消息。
[0041]其中,REGISTER消息中攜帶有會話定時器周期字段。
[0042]具體地,步驟201可以為=P-CSCF接收UE發送的REGISTER消息。在本發明實施例中,P-CSCF為主叫側P-CSCF,UE為主叫側UE。
[0043]對于本發明實施例,會話定時器周期字段可以包括:SeSS1n(會話標識)、Sess1n-expires (會話定時器周期)、Sess1n-refresher (會話執行者)、Sess1n-from(會話發起方)、Sess1n-to (會話接收方)、Sess1n-call id(會話地址)。其中,Sess1n可以為I, Sess1n-refresher可以為用戶代理客戶端(英文全稱:UserAgent Client,英文縮寫:UAC)或用戶代理服務器(英文全稱-.User Agent Server,英文縮寫:UAS)。
[0044]對于本發明實施例,UAC用于標識會話執行者為主叫側終端,UAS用于標識會話執行者為被叫側終端或代理服務器(英文全稱=Agent Server,英文縮寫:AS)。在本發明實施例中,由于P-CSCF —般為主叫側P-CSCF,因此Sess1n-refresher —般為UAC。
[0045]例如,用戶A的用戶標識為AlieOexample.com,用戶B的用戶標識為BobOexample, com,并且在通話建立過程中協商的會話定時器周期為90秒,此時,會話定時器周期字段具體可以為:Sess1n 為 I, Sess1n-expires 為 90, Sess1n-refresher 為 UAC,Sess1n-from 為 Alieiexample.com, Sess1n-to 為 Bobiexample.com, Sess1n-call id為 a84b4c76e66710。
[0046]對于本發明實施例,REGISTER消息可以按照文本信息格式進行傳輸,由于文本信息格式本身可以傳輸任意字節的消息,因此能夠實現在REGISTER消息中增加會話定時器周期字段。例如,目前的REGISTER消息中包括:SIP字段、TO字段、FROM字段、CSeq字段、Contact字段、Call-1D字段、Max-Forwards字段、Via字段等,當UE處于會話狀態時,可以在REGISTER消息中的Contact字段后增加會話定時器周期字段。在本發明實施例中,若會話定時器周期字段較長,則可以將攜帶有會話定時器周期字段的REGISTER消息,按照傳輸層的傳輸控制協議/用戶數據報協議(英文全稱!Transmiss1n Control Protocol/UserDatagram Protocol,英文縮寫:TCP/UDP)進行拆分,并分別傳輸拆分后的各段消息。
[0047]202,P-CSCF根據REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態。
[0048]其中,會話狀態包括正在通話狀態及已掛斷狀態。
[0049]對于本發明實施例,當UE向P-CSCF發送的REGISTER消息中攜帶的Sess1n為0,即REGISTER消息不用于更新會話定時器時,P-CSCF僅可根據該REGISTER消息更新注冊定時器,而不可根據該REGISTER消息更新會話定時器;當UE向P-CSCF發送的REGISTER消息中攜帶的Sess1n為1,即REGISTER消息用于更新會話定時器時,P-CSCF可以根據該REGISTER消息,同時更新會話定時器及注冊定時器。
[0050]對于本發明實施例,UE向P-CSCF發送的REGISTER消息中攜帶的Sess1n為O或I,P-CSCF通過判斷Sess 1n的值是否為I,確定REGISTER消息是否能夠用于更新會話定時器。
[0051]203、P-CSCF根據REGISTER消息中攜帶的Sess1n-call id,獲取對應的會話事務信息。
[0052]其中,會話事務信息包括call id、主叫號碼、被叫號碼及呼叫類型等。
[0053]204、P-CSCF將會話事務信息插入REGISTER消息中,并將插入會話事務信息的REGISTER消息發送給1-CSCF。
[0054]對于本發明實施例,當網元發生故障時,SBC (Sess1n Boarder Controller,會話邊界控制器)配置一個新的網元,作為對應的容災網元。例如,當S-CSCF發生故障時,SBC配置一個新的S-CSCF,作為對應的容災網元。
[0055]對于本發明實施例,P-CSCF根據存儲的會話事務信息,對REGISTER消息中進行更新,以使得將后續網元的路由信息加入該REGISTER消息中。在本發明實施例中,通過在REGISTER消息中插入會話事務信息,能夠實現當后續網元為容災網元時,該容災網元接收到該REGISTER消息后,可以根據該REGISTER消息中攜帶的路由信息,將該REGISTER消息發送至對應的網元。
[0056]可選地,步驟204之后,還可以包括:P-CSCF判斷在會話定時器周期內,是否接收至斷的REGISTER消息,若在會話定時器周期內,接收到新的REGISTER消息,則P-CSCF更新會話定時器,并將會話狀態更新為正在通話狀態;若在會話定時器周期內,沒有接收到新的REGISTER消息,則P-CSCF將會話狀態更新為已掛斷狀態。
[0057]對于本發明實施例,當UE正在通話時,UE按照會話定時器周期及注冊定時器周期中的較小周期,向P-CSCF發送REGISTER消息,即P-CSCF按照會話定時器周期及注冊定時器周期中的較小周期,接收UE發送的REGISTER消息;當UE被迫通話終止時,P-CSCF在會話定時器周期內,無法接收到UE發送的用于更新會話定時器的REGISTER消息。
[0058]205、S-CSCF 接收 REGISTER 消息。
[0059]其中,REGISTER消息中攜帶有會話定時器周期字段。
[0060]具體地,步驟205可以為:S-CSCF接收1-CSCF發送的REGISTER消息。
[0061 ] 對于本發明實施例,步驟205之前,還可以包括:1-CSCF接收P-CSCF發送的REGISTER消息,并將該REGISTER消息發送給S-CSCF。
[0062]具體地,1-CSCF根據REGISTER消息中攜帶的用戶標識,在用戶歸屬服務器(英文全稱:,英文縮寫:HSS)中查詢該用戶標識對應的S-CSCF的地址,并按照查詢到的S-CSCF的地址,將REGISTER消息發送給S-CSCF,以使得S-CSCF能夠根據REGISTER消息更新S-CSCF中的會話定時器。
[0063]206,S-CSCF根據REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態。
[0064]其中,會話狀態包括正在通話狀態及已掛斷狀態。
[0065]對于本發明實施例,當1-CSCF向S-CSCF發送的REGISTER消息中攜帶的Sess1n為0,即REGISTER消息不用于更新會話定時器時,S-CSCF僅可根據該REGISTER消息更新注冊定時器,而不可根據該REGISTER消息更新會話定時器;當1-CSCF向S-CSCF發送的REGISTER消息中攜帶的Sess1n為1,即REGISTER消息用于更新會話定時器時,S-CSCF可以根據該REGISTER消息,同時更新會話定時器及注冊定時器。
[0066]對于本發明實施例,若S-CSCF為容災網元,則S-CSCF根據REGISTER消息中攜帶的會話事務信息,接收1-CSCF發送的消息,并將對應的消息發送給應用服務器(英文全稱:Applicat1n Server,英文縮寫:AS)。
[0067]207、S-CSCF根據REGISTER消息,生成呼叫請求REINVITE消息或更新UPDATE消肩、O
[0068]對于本發明實施例,S-CSCF根據REGISTER消息中攜帶的會話定時器周期,生成攜帶有會話定時器周期字段的REINVITE消息,或攜帶有會話定時器周期字段的UPDATE消息,該REINVITE消息及該UPDATE消息均符合對應的通信標準。在本發明實施例中,S-CSCF具有生成REINVITE消息及UPDATE消息的功能。具體地,S-CSCF中保存有REINVITE消息的格式信息,以及UPDATE消息的格式信息,當S-CSCF接收到REGISTER消息后,S-CSCF將該REGISTER消息中攜帶的會話定時器周期字段,按照REINVITE消息的格式信息,生成REINVITE消息;或者,S-CSCF將該REGISTER消息中攜帶的會話定時器周期字段,按照UPDATE消息的格式信息,生成UPDATE消息。
[0069]208、S-CSCF 將 REINVITE 消息或 UPDATE 消息發送給 AS。
[0070]進一步地,通過S-CSCF將REINVITE消息或UPDATE消息發送給AS,以使得AS可以根據REINVITE消息或UPDATE消息,對會話定時器進行更新。在本發明實施例中,當AS接收到REINVITE消息或UPDATE消息時,AS對會話定時器進行更新,進一步對會話狀態進行更新,并將該REINVITE消息或該UPDATE消息發送給被叫UE對應的網元及被叫UE’從而實現端對端的更新流程。
[0071]對于本發明實施例,當AS、被叫UE對應的網元及被叫UE分別對會話狀態更新后,由被叫UE返回2000K消息(成功響應消息)給被叫UE對應的網元,被叫UE對應的網元將該2000K消息返回給AS,AS將該2000K消息返回給S-CSCF,S-CSCF將該2000K消息返回給1-CSCF, 1-CSCF將該2000K消息返回給P-CSCF,P-CSCF將該2000K消息返回給主叫UE。
[0072]可選地,步驟208之后,還包括:S-CSCF判斷在會話定時器周期內,是否接收到新的REGISTER消息,若在會話定時器周期內,接收到新的REGISTER消息,則S-CSCF更新會話定時器,并將會話狀態更新為正在通話狀態;若在會話定時器周期內,沒有接收到新的REGISTER消息,則S-CSCF將會話狀態更新為已掛斷狀態。
[0073]對于本發明實施例,當UE正在通話時,UE按照會話定時器周期及注冊定時器周期中的較小周期,向P-CSCF發送REGISTER消息,即P-CSCF按照會話定時器周期及注冊定時器周期中的較小周期,向1-CSCF發送REGISTER消息,即1-CSCF按照會話定時器周期及注冊定時器周期中的較小周期,向S-CSCF發送REGISTER消息,即S-CSCF按照會話定時器周期及注冊定時器周期中的較小周期,接收1-CSCF發送的REGISTER消息;當UE被迫通話終止時,S-CSCF在會話定時器周期內,無法接收到1-CSCF發送的用于更新會話定時器的REGISTER 消息。
[0074]對于本發明實施例,當網元發生容災倒換時,REINVITE消息及UPDATE消息無法抗容災,而REGISTER消息本身具有抗容災的能力。具體地,由于網元按照用于建立會話的INVITE (請求)消息中攜帶的傳輸路徑,確定UPDATE消息及REINVITE消息的傳輸路徑,因此當網絡中的某網元發生容災倒換時,即當原網元發生故障,并更換為新網元進行后續處理時,UPDATE消息及REINVITE消息的傳輸路徑,仍然為INVITE消息中攜帶的傳輸路徑,從而導致當網元發生容災倒換時,UPDATE消息及REINVITE消息無法按照正確的傳輸路徑進行傳輸;另外,由于網元按照當前的網絡環境和配置,確定REGISTER消息的傳輸路徑,因此當網絡中的某網元發生容災倒換時,網元可以按照容災倒換后的網絡環境,為REGISTER消息確定正確的傳輸路徑,即當網元發生容災倒換時,REGISTER消息仍能夠按照正確的傳輸路徑進行傳輸。
[0075]對于本發明實施例,當網元發生容災倒換時,與現有技術中通過無法抗容災的REINVITE消息,或無法抗容災的UPDATE消息更新會話狀態相比,本發明實施例通過能夠抗容災的REGISTER消息更新會話狀態,由于REGISTER消息本身具有抗容災的能力,因此當網元為容災網元時,容災網元能夠根據該REGSITER消息及時更新路由信息,以使得容災網元能夠按照路由信息將REGISTER消息發送給后續網元,從而可以避免網元容災倒換時無法及時更新路由而導致資源吊死,或導致正在通話的用戶被迫中斷的情況,進而可以提高用戶體驗。
[0076]本發明實施例提供的更新SIP會話狀態的方法,網元首先接收攜帶有會話定時器周期字段的REGISTER消息,然后根據REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態。與目前網元需要通過額外的REINVITE消息或UPDATE消息,對會話定時器進行更新相比,本發明實施例通過在已有的用于更新注冊定時器的REGISTER消息中,增加會話定時器周期字段,以實現對網元中的會話定時器進行更新,同時由于已注冊的用戶設備,必須按照周期向網元發送RGISTER消息,以保證該用戶設備處于注冊正常狀態,而REINVITE消息或UPDATE消息僅可用于當用戶設備存在會話時,對網元的會話定時器進行更新,因此通過攜帶有會話定時器周期字段的REGISTER消息更新會話定時器,能夠避免通過額外的REINVITE消息或UPDATE消息更新會話定時器,即可以實現網元僅通過REGISTER消息,更新會話定時器及注冊定時器,從而可以簡化網元的消息流程。
[0077]進一步地,本發明實施例提供的更新SIP會話狀態的方法,通過在REGISTER消息中插入會話事務信息,能夠實現當后續網元為容災網元時,該容災網元接收到該REGISTER消息后,可以根據該REGISTER消息中攜帶的路由信息,將該REGISTER消息發送至對應的網元;當AS接收到REINVITE消息或UPDATE消息時,AS對會話定時器進行更新,進一步對會話狀態進行更新,并將該REINVITE消息或該UPDATE消息發送給被叫UE對應的網元及被叫UE,從而實現端對端的更新流程。
[0078]作為對圖1及圖2所示方法的實現,本發明實施例還提供了一種更新SIP會話狀態的裝置,該裝置可以位于網元中,用于降低對會話狀態的更新復雜度,如圖3所示,所述裝置包括:接收單元31、更新單元32。
[0079]接收單元31,用于接收REGISTER消息。
[0080]其中,REGISTER消息中攜帶有會話定時器周期字段。
[0081]更新單元32,用于根據接收單元31接收的REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態。
[0082]其中,會話狀態包括正在通話狀態及已掛斷狀態。
[0083]接收單元31接收的會話定時器周期字段包括:Sess1n、Sess1n-expires、Sess1n—refresher、Sess1n-from、Sess1n—to、Sess1n-call id。
[0084]接收單元31接收的Sess1n為I。
[0085]接收單元31接收的Sess1n-refresher為用戶代理客戶端UAC或用戶代理服務器 UAS。
[0086]進一步地,該裝置可以位于P-CSCF中,如圖4所示,所述裝置還包括:獲取單元41、插入單元42、發送單元43。
[0087]獲取單元41,用于P-CSCF中,根據接收單元31接收的REGISTER消息中攜帶的Sess1n-call id,獲取對應的會話事務信息。
[0088]插入單元42,用于P-CSCF中,將獲取單元41獲取的會話事務信息插入REGISTER消息中。
[0089]發送單元43,用于將插入單元42插入會話事務信息的REGISTER消息發送給1-CSCF。
[0090]可選地,所述裝置還包括:判斷單元44。
[0091]判斷單元44,用于判斷在會話定時器周期內,是否接收到新的REGISTER消息。
[0092]更新單元32,還用于當判斷單元44判斷在會話定時器周期內,接收到新的REGISTER消息時,更新會話定時器,并將會話狀態更新為正在通話狀態。
[0093]更新單元32,還用于當判斷單元44判斷網元在會話定時器周期內,沒有接收到新的REGISTER消息時,將會話狀態更新為已掛斷狀態。
[0094]更進一步地,該裝置還可以位于S-CSCF中,如圖5所示,所述裝置還包括:生成單元51、發送單元52。
[0095]生成單元51,用于S-CSCF中,根據接收單元31接收的REGISTER消息,生成呼叫請求REINVITE消息或更新UPDATE消息。
[0096]發送單元52,還用于將生成單元51生成的REINVITE消息或UPDATE消息發送給AS。
[0097]可選地,所述裝置還包括:判斷單元53。
[0098]判斷單元53,用于判斷在會話定時器周期內,是否接收到新的REGISTER消息。
[0099]更新單元32,還用于當判斷單元53判斷在會話定時器周期內,接收到新的REGISTER消息時,更新會話定時器,并將會話狀態更新為正在通話狀態。
[0100]更新單元32,還用于當判斷單元53判斷網元在會話定時器周期內,沒有接收到新的REGISTER消息時,將會話狀態更新為已掛斷狀態。
[0101]本發明實施例提供的更新SIP會話狀態的裝置,網元首先接收攜帶有會話定時器周期字段的REGISTER消息,然后根據REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態。與目前網元需要通過額外的REINVITE消息或UPDATE消息,對會話定時器進行更新相比,本發明實施例通過在已有的用于更新注冊定時器的REGISTER消息中,增加會話定時器周期字段,以實現對網元中的會話定時器進行更新,同時由于已注冊的用戶設備,必須按照周期向網元發送RGISTER消息,以保證該用戶設備處于注冊正常狀態,而REINVITE消息或UPDATE消息僅可用于當用戶設備存在會話時,對網元的會話定時器進行更新,因此通過攜帶有會話定時器周期字段的REGISTER消息更新會話定時器,能夠避免通過額外的REINVITE消息或UPDATE消息更新會話定時器,即可以實現網元僅通過REGISTER消息,更新會話定時器及注冊定時器,從而可以簡化網元的消息流程。
[0102]進一步地,本發明實施例提供的更新SIP會話狀態的裝置,通過在REGISTER消息中插入會話事務信息,能夠實現當后續網元為容災網元時,該容災網元接收到該REGISTER消息后,可以根據該REGISTER消息中攜帶的路由信息,將該REGISTER消息發送至對應的網元;當AS接收到REINVITE消息或UPDATE消息時,AS對會話定時器進行更新,進一步對會話狀態進行更新,并將該REINVITE消息或該UPDATE消息發送給被叫UE對應的網元及被叫UE,從而實現端對端的更新流程。
[0103]需要說明的是,本發明實施例中提供的更新SIP會話狀態的裝置中各單元所對應的其他相應描述,可以參考圖1及圖2中的對應描述,在此不再贅述。
[0104]本發明實施例提供的更新SIP會話狀態的裝置可以實現上述提供的方法實施例,具體功能實現請參見方法實施例中的說明,在此不再贅述。本發明實施例提供的更新SIP會話狀態的方法及裝置可以適用于對網元的會話狀態進行更新,但不僅限于此。
[0105]本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機存儲記憶體(Random AccessMemory, RAM)等。
[0106]以上所述,僅為本發明的【具體實施方式】,但本發明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍為準。
【權利要求】
1.一種更新會話發起協議SIP會話狀態的方法,其特征在于,包括: 網元接收注冊REGISTER消息,所述REGISTER消息中攜帶有會話定時器周期字段,所述網元為代理呼叫會話控制功能P-CSCF或服務呼叫會話控制功能S-CSCF ; 所述網元根據所述REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態,所述會話狀態包括所述正在通話狀態及已掛斷狀態。
2.根據權利要求1所述的更新SIP會話狀態的方法,其特征在于,所述會話定時器周期字段包括:會話標識Sess1n、會話定時器周期Sess1n-expires、會話執行者Sess1n-refresher、會話發起方Sess1n-from、會話接收方Sess1n-to、會話地址Sess1n—call id ; 所述Sess1n為I ; 所述Sess1n-refresher為用戶代理客戶端UAC或用戶代理服務器UAS0
3.根據權利要求1或2所述的更新SIP會話狀態的方法,其特征在于,當所述網元為所述P-CSCF時,所述網元根據所述REGISTER消息,更新會話定時器的步驟之后,還包括: 所述P-CSCF根據所述REGISTER消息中攜帶的所述Sess1n-call id,獲取對應的會話事務信息; 所述P-CSCF將所述會話事務信息插入所述REGISTER消息中,并將插入所述會話事務信息的REGISTER消息發送給查詢呼叫會話控制功能1-CSCF。
4.根據權利要求1所述的更新SIP會話狀態的方法,其特征在于,當所述網元為所述S-CSCF時,所述網元根據所述REGISTER消息,更新會話定時器的步驟之后,還包括: 所述S-CSCF根據所述REGISTER消息,生成呼叫請求REINVITE消息或更新UPDATE消息; 所述S-CSCF將所述REINVITE消息或所述UPDATE消息發送給代理服務器AS,以使得所述AS根據所述REINVITE消息或UPDATE消息,對會話定時器進行更新。
5.根據權利要求1所述的更新SIP會話狀態的方法,其特征在于,所述網元根據所述REGISTER消息,更新會話定時器的步驟之后,還包括: 所述網元判斷在會話定時器周期內,是否接收到新的REGISTER消息; 若所述網元在所述會話定時器周期內,接收到新的REGISTER消息,則所述網元更新所述會話定時器,并將所述會話狀態更新為所述正在通話狀態;或者 若所述網元在所述會話定時器周期內,沒有接收到新的REGISTER消息,則所述網元將所述會話狀態更新為所述已掛斷狀態。
6.一種更新會話發起協議SIP會話狀態的裝置,用于網元,其特征在于,所述網元為代理呼叫會話控制功能P-CSCF或服務呼叫會話控制功能S-CSCF ;所述裝置包括: 接收單元,用于接收注冊REGISTER消息,所述REGISTER消息中攜帶有會話定時器周期字段; 更新單元,用于根據所述接收單元接收的所述REGISTER消息,更新會話定時器,并將會話狀態更新為正在通話狀態,所述會話狀態包括所述正在通話狀態及已掛斷狀態。
7.根據權利要求6所述的更新SIP會話狀態的裝置,其特征在于, 所述接收單元接收的所述會話定時器周期字段包括:會話標識Sess1n、會話定時器周期 Sess1n-expires、會話執行者 Sess1n-refresher、會話發起方 Sess1n-from、會話接收方 Sess1n-to、會話地址 Sess1n-call id ; 所述接收單元接收的所述Sess1n為I ; 所述接收單元接收的所述Sess1n-refresher為用戶代理客戶端UAC或用戶代理服務器 UAS。
8.根據權利要求6或7所述的更新SIP會話狀態的裝置,其特征在于,所述裝置還包括:獲取單元、插入單元、發送單元; 所述獲取單元,用于所述P-CSCF中,根據所述接收單元接收的所述REGISTER消息中攜帶的所述Sess1n-call id,獲取對應的會話事務信息; 所述插入單元,用于所述P-CSCF中,將所述獲取單元獲取的所述會話事務信息插入所述REGISTER消息中; 所述發送單元,用于將所述插入單元插入所述會話事務信息的REGISTER消息發送給查詢呼叫會話控制功能1-CSCF。
9.根據權利要求6所述的更新SIP會話狀態的裝置,其特征在于,所述裝置還包括:生成單元; 所述生成單元,用于所述S-CSCF中,根據所述接收單元接收的所述REGISTER消息,生成呼叫請求REINVITE消息或更新UPDATE消息; 所述發送單元,還用于將所述生成單元生成的所述REINVITE消息或所述UPDATE消息發送給代理服務器AS。
10.根據權利要求6所述的更新SIP會話狀態的裝置,其特征在于,所述裝置還包括:判斷單元; 所述判斷單元,用于判斷在會話定時器周期內,是否接收到新的REGISTER消息; 所述更新單元,還用于當所述判斷單元判斷在所述會話定時器周期內,接收到新的REGISTER消息時,更新所述會話定時器,并將所述會話狀態更新為所述正在通話狀態; 所述更新單元,還用于當所述判斷單元判斷所述網元在所述會話定時器周期內,沒有接收到新的REGISTER消息時,將所述會話狀態更新為所述已掛斷狀態。
【文檔編號】H04L12/24GK104168283SQ201410419477
【公開日】2014年11月26日 申請日期:2014年8月22日 優先權日:2014年8月22日
【發明者】李延斌, 馬瑞濤, 姜先貴, 符剛, 朱斌, 呂光旭, 吳瓊, 薛淼 申請人:中國聯合網絡通信集團有限公司