Confusion with the flow of Sbb life cycle methods

65 views
Skip to first unread message

Sachin Parnami

unread,
Oct 23, 2008, 6:42:14 AM10/23/08
to mobicents-public
Hi,

I have a doubt about the flow of Sbb life cycle methods. Here you have
the calls to per method one after another. when you fire an event
first time(checked with tranning/example1)

setSbbContext()
|
sbbCreate()
|
sbbPostCreate()
|
setSbbContext()-------->?
|
sbbActivate()
|
sbbLoad()
|
sbbOnInvite()
|
sbbStore()
|
sbbPassivate()

so why does it again goes to setSbbContext() when it is already into
pool, as indicated above?
As per JAIN SLEE specs "The SLEE invokes this method after a new
instance of the SBB abstract class is created."

Amit Bhayani

unread,
Oct 23, 2008, 6:47:16 AM10/23/08
to mobicent...@googlegroups.com
Please point the example, probably that's copy paste error in log :)

Sachin Parnami

unread,
Oct 23, 2008, 6:53:40 AM10/23/08
to mobicent...@googlegroups.com
Hi Amit,

Thanks for your reply.

I have checked  with server/jain-slee/training/example1
and these log i have added to check the flow of sbb ;)

Eduardo Martins

unread,
Oct 23, 2008, 8:21:18 AM10/23/08
to mobicent...@googlegroups.com
When you see the setSbbContext() it means the object pool for that sbb created a new object instance, and this may not be related with the specific event being delivered. It may be the pool managing the number of objects to speed up availability for another event since the only one that existed was assigned. Just consider what's in the specs, not the implementation ;-)

Eduardo Martins

unread,
Oct 23, 2008, 8:22:25 AM10/23/08
to mobicent...@googlegroups.com
By the way, if you put a log msg in the unsetSbbContext and leave the server idle  a bit you should see one of those objects being destroyed.

Amit Bhayani

unread,
Oct 23, 2008, 8:37:06 AM10/23/08
to mobicent...@googlegroups.com
while logging the message at setSbbContext add this
logger.debug("setSbbContext"+ this)


It should show that method's called are on different Sbb Objects

Eduardo Martins

unread,
Oct 23, 2008, 8:48:02 AM10/23/08
to mobicent...@googlegroups.com
Of course, otherwise it would be a bug :-)

Sachin Parnami

unread,
Oct 24, 2008, 1:16:53 AM10/24/08
to mobicent...@googlegroups.com
Hi Guys,

Got some doubt with jain-slee/example/training/example1

1> I couldn't find out where it is checking whether the event is being fired by same messageID and it has to serve with the existing sbb which is being INIT by that event, and it should not create new SBB?

2> with initial event selector method

if (event instanceof MessageEvent) {
     // If request event, the convergence name to callId
     messageId = ((MessageEvent) event).getMessage().getId();
     if (messageId.equals("110")) {
..........

there's no message id with the number 110 might be some typo error :)

when i have changed it to 100 it is serving only that event which is being fired by messageId 100. when i try with other messageId's like 101 or 102 it says.

09:58:45,795 INFO  [STDOUT] onEvent of RAFrameResourceAdaptor 101 INIT
09:58:45,796 INFO  [STDOUT] RAFrameResourceAdaptor.onEvent(): RAFrameRA fires event into SLEE. EventID: 16; CallID:  101; Command: INIT
09:58:45,822 INFO  [STDOUT] The Message Id is 101 and this is NOT initial event

So InitialEventSelector method takes care depending on your business logic whether it has to invoke the initial event or not, right?
by setting ies.setInitialEvent(true);




On Thu, Oct 23, 2008 at 7:06 PM, Sachin Parnami <sachin...@gmail.com> wrote:
Hi,

Thanks for the clarification.
Second setSbbContext() it is using for the different SBB. :)


setSbbContext()----org.mobicents.slee.training.example1.BounceSbbImpl@2bd615
       |
 sbbCreate()
       |
sbbPostCreate()
       |
setSbbContext()----org.mobicents.slee.training.example1.BounceSbbImpl@150ecc7

       |
sbbActivate()
       |
sbbLoad()
       |
sbbOnInvite()
       |
sbbStore()
       |
sbbPassivate()


Sachin Parnami

unread,
Oct 23, 2008, 9:36:12 AM10/23/08
to mobicent...@googlegroups.com
Hi,

Thanks for the clarification.
Second setSbbContext() it is using for the different SBB. :)


setSbbContext()----org.mobicents.slee.training.example1.BounceSbbImpl@2bd615
       |
 sbbCreate()
       |
sbbPostCreate()
       |
setSbbContext()----org.mobicents.slee.training.example1.BounceSbbImpl@150ecc7
       |
sbbActivate()
       |
sbbLoad()
       |
sbbOnInvite()
       |
sbbStore()
       |
sbbPassivate()


Reply all
Reply to author
Forward
0 new messages