How do I synchronize against a sip application session across a cluster?

View: New views
1 Messages — Rating Filter:   Alert me  

How do I synchronize against a sip application session across a cluster?

by Tom Lauren :: Rate this Message:

| View Threaded | Show Only this Message

I am currently porting a VoIP application that ran on BEA WebLogic SIP
Server (WLSS) to SailFin.  I have been able to entirely
decouple our application from WLSS except in one area.  Our
application (on rare occasions but sometimes necessary) takes advantage of a WLSS API to perform tasks that are
synchronized against a sip application session across the cluster.  Normally this behavior is taken care of automatically by the container, but we occasionally have the need to do this manually.

Here is how it is done in WLSS:

import com.bea.wcp.sip.WlssAction;
import com.bea.wcp.sip.WlssSipApplicationSession;

WlssSipApplicationSession wlssSipApplicationSession =
(WlssSipApplicationSession) sipApplicationSession;

wlssSipApplicationSession.doAction(new WlssAction() {
  public void run() {
    // No other threads for this sip application session
    // across the cluster will be running when this code block is
executed.
    ...
  }
});

Mobicents also provides this same functionality in its extension of the SIP Servlets 1.1 JSR:

http://hudson.jboss.org/hudson/view/Mobicents/job/MobicentsBooks/lastSuccessfulBuild/artifact/api-docs/jsr289/extensions/index.html?org/mobicents/javax/servlet/sip/SipApplicationSessionExt.html

Is there a way that the above can be accomplished using SailFin?