akibsayyed / jain-slee

Automatically exported from code.google.com/p/jain-slee
0 stars 0 forks source link

Diameter S6a RA fixes for client side #76

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
(From https://code.google.com/p/jdiameter/issues/detail?id=44)

Reported by richard.good@smilecoms.com, Jun 4, 2013
When using S6a as a client there were a number of problems:

Number 1:
org.mobicents.slee.resource.diameter.s6a.S6aServerSessionImpl there is no 
method to create DeleteSubscriberDataRequest (even though the Server should be 
able to create these requests)

Number 2:
org.mobicents.slee.resource.diameter.s6a.DiameterS6aResourceAdaptor
Typo on line 912 (Server is used instead of client)
Should be:
((org.jdiameter.client.impl.app.s6a.S6aClientSessionImpl) 
session).processRequest(request);

Number 3:
org.mobicents.slee.resource.diameter.s6a.EventIDCache
There is no event for DeleteSubscriberDataRequest

The attached patch fixes all three of these issues (They are small changes and 
completely separate so easy to read within this single patch)

Original issue reported on code.google.com by brainslog on 6 Jul 2013 at 6:11

Attachments:

GoogleCodeExporter commented 9 years ago
Thanks for reporting Richard.

After checking, Number 2 is a valid problem and fix is appropriate, Number 3 
too along with other missing entries for other events.

As for Number 1, what would be the advantage of having such method in Server 
Session rather than using the Message Factory ? is there any information from 
the the session that makes sense to use ?

Original comment by brainslog on 6 Jul 2013 at 6:12

GoogleCodeExporter commented 9 years ago
Thanks for taking up the issue.

For number 1 - I may have misunderstood the architecture but I thought the 
Message Factory was for creating messages and the Server Session for sending 
them?

I just added sendDeleteSubscriberDataRequest to ServerSession as that is where 
all the other send request methods were:  e.g. sendInsertSubscriberDataRequest

As far as I can see without this extra method there is no way for an S6a server 
to send a Delete Subscriber Request.

Original comment by richard....@smilecoms.com on 8 Jul 2013 at 7:39

GoogleCodeExporter commented 9 years ago
Hi Richard,

With regards to the S6aServerSessionImpl, what I see in the patch being added 
(and described in your issue summary too), is the addition of a method for 
creating a DSR:

  public DeleteSubscriberDataRequest createDeleteSubscriberDataRequest() { ...

The method for sending it seems to be already present, see 
https://code.google.com/p/mobicents/source/browse/trunk/servers/jain-slee/resour
ces/diameter-s6a/ra/src/main/java/org/mobicents/slee/resource/diameter/s6a/S6aSe
rverSessionImpl.java#277

Let me know if I am correct and if I can safely discard those changes to 
S6aServerSessionImpl.

Original comment by brainslog on 8 Jul 2013 at 12:00

GoogleCodeExporter commented 9 years ago
Sorry my mistake.  Yes you can discard those changes to S6aServerSessionImpl.  
Not sure why I included them as in my application I use the Message Factory.

Original comment by richard....@smilecoms.com on 8 Jul 2013 at 12:55

GoogleCodeExporter commented 9 years ago
This issue was updated by revision 546b579fba73.

Fixed #2 and #3 as per patch (with some addtition to EventIDCache)

Original comment by brainslog on 17 Dec 2013 at 1:21