package org.mobicents.servlet.sip.seam.media.framework; import java.util.HashMap; import javax.servlet.sip.SipSession; import org.mobicents.servlet.sip.seam.entrypoint.media.MediaControllerManager; /** * Central place for all IVRHelpers in the application. * * @author vralev * */ public class IVRHelperManager { private static IVRHelperManager ivrHelperManager; private HashMap<SipSession, MediaSessionStore> mediaSessionMap = new HashMap<SipSession, MediaSessionStore>(); public void put(SipSession sipSession, MediaSessionStore mediaSessionStore) { mediaSessionMap.put(sipSession, mediaSessionStore); } public void remove(SipSession sipSession) { mediaSessionMap.remove(sipSession); } public MediaSessionStore getMediaSessionStore(SipSession sipSession) { return mediaSessionMap.get(sipSession); } public IVRHelper getIVRHelper(SipSession sipSession) { // TODO: Review return new IVRHelper(sipSession, getMediaSessionStore(sipSession), MediaControllerManager.instance().getMediaController(sipSession)); } public synchronized static IVRHelperManager instance() { if(ivrHelperManager == null) { ivrHelperManager = new IVRHelperManager(); } return ivrHelperManager; } }