Status: New
Owner: ----
Labels: Type-Defect Priority-Medium

New issue 2799 by [email protected]: REGISTER sip sessions are not replicated in cluster cache
http://code.google.com/p/mobicents/issues/detail?id=2799

- What steps will reproduce the problem?

1. Application registers in an external SIP system so it can receive requests.

2. Application deployed in cluster, REGISTER is renewed before expiration by setting up a timer. Subsequent REGISTERs are built based on previous ones, same SIP Session.

3. Master node in the cluster taken down.

3. Application and timers migrate fine. When timer for refreshing registration fires, the subsequent REGISTER can not be built based on previous ones, as the SIP Session is not found.

- What is the expected output? What do you see instead?

REGISTER does not open a dialog, but a certain state must be kept so that, e.g. CSeq numbers are incremented, etc. MSS keeps the REGISTER sessions marked with sepcial "sessionCreatingTransactionRequest" element.

It would desirable to maintain this also accross the cluster, so registrations can be kept undisturbed by cluster changes.

- What version of the product are you using? On what operating system?

Verified with r19587

Please provide any additional information below.

storeSipSession(ClusteredSipSession session) in JBossCacheSipManager.java

never stores the REGISTER sessions, as they never moved beyond the "INITIAL" state:

        if (session.isValidInternal()
&& (session.isSessionDirty() || session.getMustReplicateTimestamp()) &&
                (State.CONFIRMED.equals(session.getState()) ||
(((ClusteredSipStack)StaticServiceHolder.sipStandardService.getSipStack()).getReplicationStrategy().equals(ReplicationStrategy.EarlyDialog) && State.EARLY.equals(session.getState())))) {






Reply via email to