Initiation of CLR from HSS.
CLR (Cancel-Location-Request) triggered by HSS in following scenarios.
1) Subscription is withdrawal for a user (IMSI).
2) To inform previous MME/SGSN about change in location.
3) To inform MME/SGSN about initial attach.
There could be 3 kinds of control nodes
1) Stand-alone MME
2) Stand-alone SGSN
3) Combined MME/SGSN
1) Subscription is withdrawal for a user (IMSI).
Now let discuss how Subscription withdrawal take place, HSS sends CLR to MME/SGSN or on combined for a IMSI that is already provisioned at HSS and attached at-least once (ULR/ULA successfully performed). Following table shall help you to understand how HSS send CLR and how MME handles it.
Sent To
|
Cancellation-type
|
CLR-Flag
|
Description
|
MME-1
|
SUBSCRIPTION_WITHDRAWAL
|
Not Required
|
|
SGSN-1
|
SUBSCRIPTION_WITHDRAWAL
|
Not Required
|
|
Combined-1
|
SUBSCRIPTION_WITHDRAWAL
|
Not Required
|
Delete Both
data.
|
CLR-Flag
required only when Cancellation type is INITIAL_ATTACH on combined node.
|
2) To inform previous MME/SGSN about change in location.
When UE moves/changes it location then it may go from one MME area to another, HSS informs old MME about change of location by sending CLR with MME_UPDATE_PROCEDURE so that context (MM and Bearer context) can be transferred to New MME over s10 interface. Old MME shall delete (MM and Bearer context) data. Following image clears the idea, it is immaterial that MME is of HOME or Foreign.
Similarly UE is attached to SGSN and goes to new SGSN then HSS shall inform old SGSN by sending CLR with SGSN_UPDATE_PROCEDURE so that context can be transferred to New SGSN.Old SGSN shall delete (MM and Bearer context) data.
3) To inform MME/SGSN about initial attach
In case of Initial attach previous node shall not delete the data. while previous node is combined node and CLR Flag "S6a/S6d-Indicator" is set then only MME data to be deleted. CLR with "INITIAL_ATTACH_PROCEDURE " flag shall only be trigger-red when MME sends Initial attach Indication in ULR Flag. Initial attach generally take place in Emergency situations
Sent To
|
Cancellation-type
|
CLR-Flag
|
Description
|
MME
|
INITIAL_ATTACH_PROCEDURE
|
Not Required
|
|
SGSN
|
INITIAL_ATTACH_PROCEDURE
|
Not Required
|
|
Combined
|
INITIAL_ATTACH_PROCEDURE
|
S6a/S6d-Indicator
|
Only MME
Data is deleted
|
CLR-Flag
required only when Cancellation type is INITIAL_ATTACH on combined node.
|
Your Comments /Suggestions and Questions are always welcome, shall clarify with best of knowledge. So feel free to put Questions.
Hi,
ReplyDeleteAnyone knows what is importance of waiting for Cancel Location Answer from Old MME before sending Update Location Answer to New MME from HSS ?
What if HSS replies back ULA to new MME without waiting for CLA from old MME.
Hi Bhushan
DeleteMay I know if you got an answer for this query? Any answers based on specs?
Hi Sudheer,
DeleteI did post this query to some other forum, It is required to wait for CLA to exchange context from old MME in order to continue session from new location.
HSS should not wait for CLA to send ULA. These operations could be asynchronous. As per standard only PUR and NOR could come to HSS and HSS have procedures to handle it.
DeletePUR:
If the received identity does not match the stored MME-identity and does not match the stored SGSN-identity, the HSS shall clear the PUA flags "freeze M-TMSI" and "freeze P-TMSI in the answer message.
NOR:
If the IMSI is known, and the source MME or SGSN originating the Notify message is not currently registered in HSS for that UE, a result code of DIAMETER_ ERROR_ UNKNOWN_SERVING_NODE shall be returned.
Hi Ajay,
DeleteThen How it transfers context information from old to new MME if CLA response is not awaited. As per above diagram, It shows exchange of bearer context. Can you point to any specification for this clarification of not waiting for CLA?
Hi Bhushan,
DeleteIn Context information transfer, Context information is not transferred via HSS. It is directly shared by MMEs over s10 interface using Identification Request/Response, Context Request/Respose etc messages.
So, HSS need not wait for CLA to send ULA. MMEs can take care of context transfer. I saw the same behavior with HSS which i studied. Thanks for reply.
DeleteHSS never waits form CLA. It Sends CLR and immediately to old MME and send ULA to new MME. Remember this is because from HSS perspective it is priority to complete the attach transaction. Even if the Old MME looses the CLR, the attach should not wait/timeout/fail on the new MME. That's from HSS standpoint and it never cares how and when the inter-MME context is transferred over S10, it is not in its purview.
DeleteIs there open source tool to simulate S6a request/response with HSS over SCTP ?
ReplyDeleteHi Bhushan,
DeleteSeagull is one of the open source tool to that is used to simulate multiple protocols including diameter.
Thanks for your query.
Happy to help you again.
Team-Diameter
Thanks for the reply.
DeleteI tried to simulate with seagull using SCTP but somehow it fails when Server sends DWR request. Connection gets broken.
Works fine with TCP.
Hi,
DeleteIt is not at all required to wait for the CLA from the Old MME. HSS will still proceed with ULA. They are independent transactions
How ever based on implementation, HSS will not remove some of the attributes like VPLMN id. This will be helpful in identifying the previous registered Location Information(This is implemenation specific)
Hi,
ReplyDeleteI have a question, how CLR works in case MME is connected to HSS via DRA/DEA. In one case HSS is connected to MME via DRA/DEA and when location in HSS is CANCELED by command, HSS does not send CLR message towards MME via DRA/DEA connection although MME record is correctly update in HSS when diameter signaling is established with MME via DRA/DEA.
CLR message is sent from HSS and can be seen in HSS-MME interface when MME has direct diameter signaling with HSS (without) DRA/DEA.
Asif, Having DRA and not has nothing to do with call flow. DRA behaves like a proxy switch passing information from one side to other. When HSS sends a CLR to a Particular MME, the destination host (for Diameter message) and CdPA (for SS7) would have the MME identity. Then if HSS is connected to DRA, it's DRA's headache to route it properly to the destination. It is similar to SS7 network where STPs route messages to the VLR. No VLR is directly connected to HLR but the CanLoc is routed through STPs.
DeleteAsif, Having DRA and not has nothing to do with call flow. DRA behaves like a proxy switch passing information from one side to other. When HSS sends a CLR to a Particular MME, the destination host (for Diameter message) and CdPA (for SS7) would have the MME identity. Then if HSS is connected to DRA, it's DRA's headache to route it properly to the destination. It is similar to SS7 network where STPs route messages to the VLR. No VLR is directly connected to HLR but the CanLoc is routed through STPs.
DeleteHi Asif, I've found this post recently and was wondering what the solution was - I am seeing the same situation - no CLR if connection is via DRA/DEA.
DeleteHi Asif
ReplyDeleteThanks for your query.
|HSS| <---> CLR <---> |DRA| <---> CLR <---> |MME|
It is not necessary that HSS must be directly connected to MME.
Happy to help you again.
Team-Diameter
Hi Mates. Just a query.
ReplyDeleteIf subscriber has run out his balance, a CL type 'SW' is sent to the VLR.
Could be the CL 'SW' sent again if subscriber retries attachment in the same network? Is the CL 'SW' sent just once?
HSS require FQDN naming while executing s6a message ????
ReplyDeleteElaborate your question.
DeleteI think below details will help you to find correct answer.
Origin-Host AVP:
The Origin-Host AVP (AVP Code 264) is of type DiameterIdentity, and it MUST be present in all Diameter messages.
DiameterIdentity AVP Format.
DiameterIdentity = FQDN/Realm
What I dont understand and is not even mentioned in the spec properly, why is it needed for old MME to retain the subscriber profile if the CLR contains the 'Initial Attach' bit set?
ReplyDeleteThis comment has been removed by the author.
ReplyDelete
ReplyDeletePlease let me know at what situation/scenario/flag/configuration HSS should send CLR with cancellation type as INITIAL_ATTACH_PROCEDURE.Actually if MME changes I found HSS sending CLR with cancellation type as MME update procedure if ULR comes from different MME and old MME having the context.Whatever explained above in scenario 3 that in ULR flag MME should set intial attach indicator then only HSS will send CLR with cancellation type as INITIAL_ATTACH_PROCEDURE.But how HSS will now that MME has changed becoz in normal attach scenario also MME is including that ULR flags Initial-Attach-Indicator. Please clarify
Hi Babu,
Delete-1)HSS shall set INITIAL_ATTACH_PROCEDURE when it receives indication of initial attach under ULR-Flag field in Update location.
2)HSS save MME identity at its database for each subscriber, if received Update location is not from already save MME identity means MME is changed.
3)If you want to know when MME shall do Update procedure and when initial attach then here are some of the scenarios of Update location.
-- If UE (User Equipment) detects it has entered New TA (Tracking Area)
--Periodic TA update timer is expired
--UE Reselects E-Utran
--Tracking Area Update initiated because of Load Balancing etc.
Initial attach
- Very First attach, emergency attach etc.
Hope it suffice you.
For point 1: In our network, I only found CLR with cancellation type as 'MME update procedure' whenever MME changes. I never found CLR with cancellation type as 'Initial attach procedure'.May be scenario will be like user attached with MME and now when it goes to SGSN.It might send CLR to MME with initial attach.
DeleteYes, you are right
DeleteThis is also one of the case where Intial attach is send when UE already attached to MME or SGSN and going for other network SGSN or MME repectively.
For more details please refer 3gpp 23401
Thanks.
Hi All, If the HSS send a cancel location with subscription withdrawal, and the mobile has an active bearer, (Eg: user is browsin internet), is the bearer terminated?. Thanks.
ReplyDeleteHi Luis,
DeleteBearer shall terminate if CLR is received with Subscription withdrawal.
Happy to help you again.
Thanks.
ReplyDeleteHello,
ReplyDeleteCan you please anyone confirm this : If i will delete IMSI record ( i mean the particular IMSI) from HSS database then which Cancel type it should send : MME_UPDATE_PROCEDURE or SUBSCRIPTION_WITHDRAWAL
Thanks
SUBSCRIPTION_WITHDRAWAL
DeleteThanks.
Thank you so much Dinesh for your reply.
DeleteThis comment has been removed by the author.
ReplyDeleteHi team,
ReplyDeleteCould anyone explain why the old MME doesnot delete the subscription data when cancellation type is initial attach procedure.
Hi team,
ReplyDeleteCould any one tell what all data should be removed from Diamter node in CLR when HSS receives ULR with flag single registration bit set ?
Thanks and Regards,
Alok
Many thanks for this amazing post! This blog has a lot of good information.
ReplyDeleteorganic noni
This blog is awesome. So my scenario is that I have 2 MMEs in pool..A and B...From stats, I get 100% CLA for B but not for A and the CLR towards A is always MME_UPDATE_PROCEDURE. Could someone explain why this could be happening
ReplyDeleteHi Niidii,
DeleteKindly explain from which MME user is moving (A -->B) or (B-->A), can you explain your scenario a bit more.
Thanks your query.
Happy to help you again.
Team-Diameter
Hi, Can anyone clarify which cancellation type will HSS send in CLR if MS moved to new MME and Intiial Attach bit is set, now there could be 2 cancellation type 1. MME_Update and 2. Initial-Attach as MME has changed and Initial Attach flag also set. Will HSS send 2 CLRs one with each cancellation type or HSS should send only 1 with Initial Attach?
ReplyDeleteIf the initial-attach flag is set, HSS needs to send only one CLR with initial-attach. MME Update will not do MME-Update, since it has detected that the UE attach needs to be categorized as an initial attach.
Deletevery interesting keep posting. kündigen
ReplyDeleteHi Team,
ReplyDeleteI have a doubt. Assume I am triggering a ULR from dummy MME(a small Diameter gateway triggering ULR with IMSI ) to retrieve MSISDN against that IMSI from HSS ,how I can avoid user service interruption as HSS will trigger an CLR towards current registered MME and the MME who actually triggering is not an actual MME.
This we have implemented only for retrieve MSISDN against IMSI ,if you have any other message in diameter that I can use that really help.
This we have implemented with 2G/3G using SIGTRAN because in SIGTRAN we have U-Abort option but in diameter its end to end synchronous. Could you please suggest a way forward.