Package com.ericsson.ssa.sip

Examples of com.ericsson.ssa.sip.SipSessionDialogImpl


            throw new IllegalStateException("SIP servlet " + servletName +
                " not found.");
        }

        // Set the new servlet as handler in the Dialog for Application Path, UAS/Proxy
        SipSessionDialogImpl dialog = (SipSessionDialogImpl) ((SipServletRequest) request).getSession();
        dialog.setHandler(servletName);
       
        // Set servlet as currentServlet in the ApplicationSesson, used for UAC case
        session.setCurrentServlet(servletName);
       
        servlet.service(request, response);
View Full Code Here


        boolean validSSExists = false;
        boolean forcedInvalidation = false;

        for (Iterator<PathNode> pnIt = df.getCallee2CallerPath(); pnIt.hasNext();) {
            SipSessionDialogImpl ss;

            try {
                ss = (SipSessionDialogImpl) (SipSessionImplBase) pnIt.next().getSipSession();

                if (ss != null) {
                    if (ss.isValid()) {
                        validSSExists = true;
                    } else {
                        if (ss.invalidatedDueIWR() == false) {
                            // we have got a explicit or sas expire invalidation
                            // I.e SipSession ends before sip dialog ends, a.k.a "forcedInvalidation"
                            forcedInvalidation = true;

                            break;
                        } else {
                            ss.doCleanup();
                        }
                    }
                } else {
                    // This is quite OK if there is two or more sipsessions in df have different lifecycles
                    if (logger.isLoggable(Level.FINEST)) {
View Full Code Here

        }
    }

    private void forcedInvalidate(DialogFragment df) {
        for (Iterator<PathNode> pnIt = df.getCallee2CallerPath(); pnIt.hasNext();) {
            SipSessionDialogImpl ss;

            try {
                ss = (SipSessionDialogImpl) (SipSessionImplBase) pnIt.next().getSipSession();

                if (ss != null) {
                    if (ss.isValid()) {
                        if (logger.isLoggable(Level.FINEST)) {
                            logger.log(Level.FINEST, "Forced invalidation of SipSession involved in a dialog, id: " + ss.getId());
                        }

                        ss.invalidate();
                    }

                    ss.doCleanup();
                }
            } catch (Throwable t) {
                if (logger.isLoggable(Level.FINE)) {
                    logger.log(Level.FINE, "Exception at invalidation" + t + "; Continue with all other sessions in the DF");
                }
View Full Code Here

    }
   
    public ReplicableEntity findSipSessionAndPassivate(String id,
                                                       AtomicBoolean cachedSipSessionIsLocal) {
        HASipSession haSipSession = null;
        SipSessionDialogImpl sipSession
                = findSipSessionFromCacheOnly(id);
        //SipSession is considered belonging on this instance (isLocal)
        //if its parent sasId isLocal
        cachedSipSessionIsLocal.set(false);
        if (sipSession instanceof HASipSession) {
View Full Code Here

        }
    }

    public void processLoadReceivedSipSession(String id) {
        //remove active sip session if present and is not locked
        SipSessionDialogImpl sipSession = findSipSessionFromCacheOnly(id);
        if(sipSession != null
                && !sipSession.isForegroundLocked()) {
            sipSession.passivate();
        }
    }
View Full Code Here

            }
        }
    }
   
    protected void clearFromSipSessionManagerCache(String id) {
        SipSessionDialogImpl sess
            = super.findSipSessionFromCacheOnly(id);
        if(sess != null) {                              
            this.removeSipSessionFromCache(sess);
        }
    }   
View Full Code Here

        if (store == null) {
            return null;
        }

        try {
            SipSessionDialogImpl session = null;
            try {
                if (SecurityUtil.isPackageProtectionEnabled()){
                    try{
                        session = (SipSessionDialogImpl) AccessController.doPrivileged(new PrivilegedStoreLoadSipSession(id, version, loadDependencies, store));
                    } catch(PrivilegedActionException ex){
View Full Code Here

    public SipSessionDialogImpl activate(SipSessionDialogImpl session,
                                         boolean removeFromExpat) {
        if (session == null)
            return (null);

        SipSessionDialogImpl activatedSession = null;
        if (!session.isValid()) {
            // TODO :: shouldn't we call removeSipSessionReplica(session.getId())?
            if (_logger.isLoggable(Level.INFO)) {
                _logger.log(Level.INFO,
                        "SipSession with id: " +
View Full Code Here

            return;
        }

        Iterator it = sipSessions.values().iterator();
        while (it.hasNext()) {
            SipSessionDialogImpl session = (SipSessionDialogImpl) it.next();
            //by virtue of being in the cache it is considered to
            //be not expired
            //but since invalidate is called before removal we must check           
            if(session.isValid()
                && (session.getId() != null)
                && isSipSessionOlderThan(session, repairStartTime)          
                && session.lockBackground()) {
                try {
                    ((HASipSession)session).setReplicated(false);
                    ((HASipSession)session).setDirty(true, false);
                    saveSipSession(session);
                } catch (IOException ex) {
                    _logger.log(Level.WARNING,
                        "during repair unable to save SipSession:id = " + session.getId(),
                        ex);
                } finally {
                    session.unlockBackground();
                }                              
      }           
        }
    }
View Full Code Here

TOP

Related Classes of com.ericsson.ssa.sip.SipSessionDialogImpl

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.