Diamter CCA IDLE ActivityContexts after Termination of Session

56 views
Skip to first unread message

faizan naqvi

unread,
Nov 1, 2012, 7:23:28 AM11/1/12
to mobicent...@googlegroups.com
Hi

System
CentOs 5.6
mobicents-diameter-1.4.0.FINAL-src

In my implementation of CCA Server SBB, I have noticed that ACs stay alive for a long time after CCR-Termination response sent by SBB. Moreover, the TTL value is in negative and I am not sure if it should be such.
Attached is screenshot.

What is best way to signal AC to endActivity from event handler
onCreditControlRequest(net.java.slee.resource.diameter.cca.events.CreditControlRequest event, ActivityContextInterface aci)


I have tried calling endActivity on DiameterActivity which was just a bad idea to do right after answer.

// bad idea
session.sendCreditControlAnswer(answer);
diamAc.endActivity();




--
Regards
Faizan Naqvi (Tili)
@faizann

shot_mobicents_dcca_aci_ttl.png

Faizan Naqvi

unread,
Nov 6, 2012, 6:32:02 AM11/6/12
to mobicent...@googlegroups.com
Any ideas on this guy? How can I tell those CCA Activities to close without waiting for timeout.

Richard Good

unread,
Nov 13, 2012, 7:51:38 AM11/13/12
to Faizan Naqvi, mobicent...@googlegroups.com
Hi

You should not have to be explicitly end the activity - it should end when the underlying credit control session ends - i.e. goes back to IDLE.

When a server receives a CCR INIT the credit control session goes from IDLE to OPEN and when the server receives a CCR TERM it goes back to IDLE resulting in the activity being removed.

I've tested this briefly with the Gx RA (i.e. sending Gx CCR INIT and then Gx CCR TERM) and the activity is correctly removed.

Check your log file and confirm that the CCR TERM is successfully received at your server and the state goes back to IDLE.

The negative TTL is another issue.  I don't think this is correct, I would assume that eventually the activity would expire and be removed (to prevent stale data from building up) and with negative TTL this doesn't seem to happen.  I am investigating this now.

Does anyone else have some insights on whether the Diameter session based activities (Ro, Gx, Rx, etc.) ever expire or will they only be removed if a CCR TERM is received?

Regards
Richard.
This email is subject to the disclaimer of Smile Communications (PTY) Ltd. at http://www.smilecoms.com/disclaimer

faizan naqvi

unread,
Nov 13, 2012, 7:55:04 AM11/13/12
to Richard Good, mobicent...@googlegroups.com
Hi Richard

Thanks for your response. 

I can see that activities are in IDLE state after CCR-T but they linger for a long time. I think 10 minutes or more. I think it has to do with negative TTL. I will check on negative TTL.

Alexandre Mendonça

unread,
Nov 15, 2012, 7:18:10 AM11/15/12
to mobicent...@googlegroups.com, Richard Good
Hi,

The negative TTL was a miscalculation from the web console, it was just a display error, not from the SLEE itself. It has been fixed: http://code.google.com/p/jain-slee/issues/detail?id=12

Regarding activities not being terminated, they should be when CCR-T is received/answered. If they don't then, it is a bug. What can happen is if the session is not properly terminated with such messages, the activity will persist.. until some change in the activity occurs or if calling queryLiveness forces a check on session validity and finds it to be invalid, causing it to terminate the activity.

You can force this check via JMX or Web Console or, by default, it runs every 60 minutes. You can configure this timer at mobicents-slee/META-INF/jboss-beans.xml, property "timeBetweenLivenessQueries" in minutes (0 is disabled).

Regards,
Alexandre
Reply all
Reply to author
Forward
0 new messages