You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"One thing I have noted is that unless Diameter activities are ended by their state machine (e.g. a CCR-T message is received) the activities never expire and there is no way for the SBB to remove them.
In the event of (non-Mobicents!) Diameter clients malfunctioning or rebooting this can cause a memory leak.
e.g.
Diameter Gx Client sends CCR-INIT for a certain IP address with session ID ABC
Diameter Gx Client malfunctions and sends CCR-INIT for the same IP address with session ID DEF
Gx Client never every terminate session ID ABC and it stays forever and is never free-ed.
The SBB application actually knows that session ID ABC needs to be removed when it receives a CCR-INIT for the same IP.
If you edit the Diameter GX RA by adding to GxServerSessionActivityImpl.java:
public void delayedEndActivity() {
this.setTerminateAfterProcessing(true);
super.baseListener.startActivityRemoveTimer(getActivityHandle());
}
And to GxServerSessionActivity.java
void delayedEndActivity();
The SBB can explicitly end an activity if it needs to by calling delayedEndActivity on the activity.
This could be applied to all session based Diameter RAs"
This issue broghut here from jdiameter project issue log
The text was updated successfully, but these errors were encountered:
xphudin
pushed a commit
to xphudin/jain-slee.diameter
that referenced
this issue
Nov 7, 2016
Hi @chathsuom@brainslog !
Can we realize this ending on Diameter protocol level?
What about expiration (and expiration time)?
As I read spec 8.4. Session Termination:
When a user session that required Diameter authorization terminates,
the access device that provided the service MUST issue a Session-
Termination-Request (STR) message to the Diameter server that
authorized the service, to notify it that the session is no longer
active. An STR MUST be issued when a user session terminates for any
reason, including user logoff, expiration of Session-Timeout,
administrative action, termination upon receipt of an Abort-Session-
Request (see below), orderly shutdown of the access device, etc.
xphudin
pushed a commit
to xphudin/jain-slee.diameter
that referenced
this issue
Jan 8, 2017
"One thing I have noted is that unless Diameter activities are ended by their state machine (e.g. a CCR-T message is received) the activities never expire and there is no way for the SBB to remove them.
In the event of (non-Mobicents!) Diameter clients malfunctioning or rebooting this can cause a memory leak.
e.g.
Diameter Gx Client sends CCR-INIT for a certain IP address with session ID ABC
Diameter Gx Client malfunctions and sends CCR-INIT for the same IP address with session ID DEF
Gx Client never every terminate session ID ABC and it stays forever and is never free-ed.
The SBB application actually knows that session ID ABC needs to be removed when it receives a CCR-INIT for the same IP.
If you edit the Diameter GX RA by adding to GxServerSessionActivityImpl.java:
public void delayedEndActivity() {
this.setTerminateAfterProcessing(true);
super.baseListener.startActivityRemoveTimer(getActivityHandle());
}
And to GxServerSessionActivity.java
void delayedEndActivity();
The SBB can explicitly end an activity if it needs to by calling delayedEndActivity on the activity.
This could be applied to all session based Diameter RAs"
This issue broghut here from jdiameter project issue log
The text was updated successfully, but these errors were encountered: