public void setB2buaHelper(MobicentsB2BUAHelper helperImpl) { getSipSession().setB2buaHelper(helperImpl); }
public SipServletRequest createRequest(SipServletRequest origRequest) { final SipServletRequestImpl newSipServletRequest = (SipServletRequestImpl) sipFactoryImpl.createRequest(origRequest, false); final SipServletRequestImpl origRequestImpl = (SipServletRequestImpl) origRequest; final MobicentsSipSession originalSession = origRequestImpl.getSipSession(); final MobicentsSipSession session = newSipServletRequest.getSipSession(); // B2buaHelperTest.testLinkSipSessions101 assumes the sessions shouldn't be linked together // sessionMap.put(originalSession.getKey(), session.getKey()); // sessionMap.put(session.getKey(), originalSession.getKey()); // dumpLinkedSessions(); // originalRequestMap.put(newSipServletRequest, origRequestImpl); // originalRequestMap.put(origRequestImpl, newSipServletRequest); session.setB2buaHelper(this); originalSession.setB2buaHelper(this); return newSipServletRequest; }
/** * {@inheritDoc} */ public SipServletRequest createCancel(SipSession session) { if(session == null) throw new NullPointerException("The session for createCancel cannot be null"); for (SipServletRequestImpl linkedRequest : originalRequestMap.keySet()) { if(linkedRequest.getSipSessionKey().equals(((MobicentsSipSession) session).getKey()) && linkedRequest.getMethod().equalsIgnoreCase(Request.INVITE) && !linkedRequest.isFinalResponseGenerated() && // Fix for Issue http://code.google.com/p/mobicents/issues/detail?id=2114 // In B2b servlet, after re-INVITE, and try to create CANCEL will get "final response already sent!" exception. linkedRequest.getLastFinalResponse() == null) { final SipServletRequestImpl sipServletRequestImpl = (SipServletRequestImpl)linkedRequest.createCancel(); ((MobicentsSipSession)sipServletRequestImpl.getSession()).setB2buaHelper(this); return sipServletRequestImpl; } } return null; }
public B2buaHelper getB2buaHelper() { checkReadOnly(); final MobicentsSipSession session = getSipSession(); if (session.getProxy() != null) throw new IllegalStateException("Proxy already present"); MobicentsB2BUAHelper b2buaHelper = session.getB2buaHelper(); if (b2buaHelper != null) return b2buaHelper; b2buaHelper = new B2buaHelperImpl(); b2buaHelper.setMobicentsSipFactory(sipFactoryImpl); b2buaHelper.setSipManager(session.getSipApplicationSession().getSipContext().getSipManager()); if(JainSipUtils.DIALOG_CREATING_METHODS.contains(getMethod())) { this.createDialog = true; // flag that we want to create a dialog for outgoing request. } session.setB2buaHelper(b2buaHelper); return b2buaHelper; }
((MobicentsSipSession)session1).setB2buaHelper(this); } else { Map<MobicentsSipSessionKey, MobicentsSipSessionKey> forkedSessionMap = ((MobicentsSipSession)session1).getB2buaHelper().getSessionMap(); ((MobicentsSipSession)session2).setB2buaHelper(this); } else { Map<MobicentsSipSessionKey, MobicentsSipSessionKey> forkedSessionMap = ((MobicentsSipSession)session2).getB2buaHelper().getSessionMap();
dumpLinkedSessions(); sessionImpl.setB2buaHelper(this); originalSession.setB2buaHelper(this); return newSubsequentServletRequest; } catch (Exception ex) {
dumpLinkedSessions(); session.setB2buaHelper(this); originalSession.setB2buaHelper(this); session.setSessionCreatingTransactionRequest(newSipServletRequest);