protected void setLocalParty(SIPMessage sipMessage) { if (!isServer()) { this.localParty = sipMessage.getFrom().getAddress(); } else { this.localParty = sipMessage.getTo().getAddress(); } }
public void setPendingRouteUpdateOn202Response(SIPRequest sipRequest) { this.pendingRouteUpdateOn202Response = true; // Issue 374 : patch from ivan dubrov : get the from tag instead of to tag String fromTag = sipRequest.getFromHeader().getTag(); if (fromTag != null) { this.setRemoteTag(fromTag); } }
ContactHeader contactHeader = null; FromHeader from = (FromHeader) methodRequest.getHeader(FromHeader.NAME); String displayName = from.getAddress().getDisplayName(); String userName = null; javax.sip.address.URI uri = from.getAddress().getURI(); if(uri.isSipURI()) { userName = ((javax.sip.address.SipURI)uri).getUser(); handlerServlet, originalCallId, fromHeader.getTag()); final Request request = ((Request)sipServletRequest.getMessage()); sipServletRequest.getSipSession().setCseq(((CSeqHeader)request.getHeader(CSeqHeader.NAME)).getSeqNumber()); final Map<String, String> fromParameters = new HashMap<String, String>(); final Iterator<String> fromParameterNames = fromHeader.getParameterNames(); while (fromParameterNames.hasNext()) { String parameterName = (String) fromParameterNames.next(); if(sessionCreatingDialog != null || !SipFactoryImpl.FORBIDDEN_PARAMS.contains(parameterName)) { fromParameters.put(parameterName, fromHeader.getParameter(parameterName)); value = ""; newFrom.setParameter(toParameter.getKey(), value);
newFromHeader.removeParameter("tag"); String displayName = ((MessageExt)newRequest).getFromHeader().getAddress().getDisplayName(); if(newRequest.getHeader(ContactHeader.NAME) != null && ((ContactHeader)newRequest.getHeader(ContactHeader.NAME)).getAddress().getURI() instanceof javax.sip.address.SipURI) { fromName = ((javax.sip.address.SipURI)((MessageExt)newRequest).getFromHeader().getAddress().getURI()).getUser(); newFromHeader.setTag(ApplicationRoutingHeaderComposer.getHash(getSipApplicationDispatcher(), originalAppSession.getKey().getApplicationName(), originalAppSession.getKey().getId()));
/** * create a sip dialog with a response ( no tx) */ public SIPDialog(SipProviderImpl sipProvider, SIPResponse sipResponse) { this(sipProvider); this.sipStack = (SIPTransactionStack) sipProvider.getSipStack(); this.setLastResponse(null, sipResponse); this.localSequenceNumber = sipResponse.getCSeq().getSeqNumber(); this.originalLocalSequenceNumber = localSequenceNumber; this.localParty = sipResponse.getFrom().getAddress(); this.remoteParty = sipResponse.getTo().getAddress(); this.method = sipResponse.getCSeq().getMethod(); this.callIdHeader = sipResponse.getCallId(); this.serverTransactionFlag = false; this.setLocalTag(sipResponse.getFrom().getTag()); this.setRemoteTag(sipResponse.getTo().getTag()); if (logger.isLoggingEnabled(LogWriter.TRACE_DEBUG)) { logger.logDebug("Creating a dialog : " + this); logger.logStackTrace(); } this.isBackToBackUserAgent = sipStack.isBackToBackUserAgent; addEventListener(sipStack); releaseReferencesStrategy = sipStack.getReleaseReferencesStrategy(); }
String displayName = fromHeader.getAddress().getDisplayName(); if(fromHeader.getAddress().getURI() instanceof javax.sip.address.SipURI) { fromName = ((javax.sip.address.SipURI)fromHeader.getAddress().getURI()).getUser(); fromHeader.setTag(ApplicationRoutingHeaderComposer.getHash(sipApplicationDispatcher, sipAppSession.getApplicationName(), sipApplicationSessionKey.getId())); } else { fromHeader.setTag(fromTagToUse);
ackRequest.getFrom().setTag(this.getLocalTag()); if (this.getRemoteTag() != null) ackRequest.getTo().setTag(this.getRemoteTag());
newRequest, origRequest.getSession().getServletContext()); final FromHeader newFromHeader = (FromHeader) newRequest.getHeader(FromHeader.NAME); newFromHeader.removeParameter("tag"); ((ToHeader) newRequest.getHeader(ToHeader.NAME)) .removeParameter("tag"); .getSipApplicationSession(); newFromHeader.setTag(ApplicationRoutingHeaderComposer.getHash(sipFactoryImpl.getSipApplicationDispatcher(), originalSession.getKey().getApplicationName(), appSession.getKey().getId())); String diaplayName = newFromHeader.getAddress().getDisplayName(); if(newFromHeader.getAddress().getURI() instanceof javax.sip.address.SipURI) { fromName = ((javax.sip.address.SipURI) newFromHeader.getAddress().getURI()).getUser();
public void on4xxResponse(javax.sip.ResponseEvent event, ActivityContextInterface aci) { Response response = event.getResponse(); if(tracer.isInfoEnabled()) { tracer.info("Received SIP 4xx >> " + response.getStatusCode()); } // Is it a 404? if(response.getStatusCode() == 404) { // Let's see from whom to whom String to = ((ToHeader) response.getHeader("To")).getAddress().toString(); String from = ((FromHeader) response.getHeader("From")).getAddress().toString(); if(tracer.isInfoEnabled()) { tracer.info("From[" + from + "], To [" + to + "]"); } String toAddress = to.substring(to.indexOf("sip:"), to.indexOf(">")); // Create the MissedCall object MissedCall mC = new MissedCall(from, new Date()); Collection<MissedCall> mCs = missedCalls.get(toAddress); if(mCs == null) { mCs = new ArrayList<MissedCall>(); missedCalls.put(toAddress, mCs); } if(!mCs.contains(mC)) { mCs.add(mC); } } aci.detach(this.getSbbContext().getSbbLocalObject()); }
public void setOriginalRequest(MobicentsSipServletRequest originalRequest) { // Determine the direction of the request. Either it's from the dialog initiator (the caller) // or from the callee if(storeTerminationInfo) { if(((MessageExt)originalRequest.getMessage()).getFromHeader().getTag().equals(callerFromTag)) { terminationInfo.setCallerCSeq((((MessageExt)originalRequest.getMessage()).getCSeqHeader().getSeqNumber())); } else { // If it's from the callee we should send it in the other direction terminationInfo.setCalleeCSeq((((MessageExt)originalRequest.getMessage()).getCSeqHeader().getSeqNumber())); } } this.originalRequest = (SipServletRequestImpl) originalRequest; }
/** * Fetch audio file string for callee, used to check for recorded message. * @return */ private String getAudioFileString() { FromHeader fromHeader = (FromHeader) this.getInviteRequest().getHeader( FromHeader.NAME); return getAudioFileString(((SipURI) fromHeader.getAddress().getURI()).getUser()); }
public ProxyImpl(SipServletRequestImpl request, SipFactoryImpl sipFactoryImpl) { this.proxyTimerService = ((MobicentsSipApplicationSession)request.getSipApplicationSession(false)).getSipContext().getProxyTimerService(); this.originalRequest = request; this.sipFactoryImpl = sipFactoryImpl; this.proxyBranches = new LinkedHashMap<URI, ProxyBranchImpl> (); this.proxyTimeout = 180; // 180 secs default this.proxy1xxTimeout = -1; // not activated by default String outboundInterfaceStringified = ((MobicentsSipSession)request.getSession()).getOutboundInterface(); if(outboundInterfaceStringified != null) { try { outboundInterface = (SipURI) sipFactoryImpl.createURI(outboundInterfaceStringified); } catch (ServletParseException e) { throw new IllegalArgumentException("couldn't parse the outbound interface " + outboundInterface, e); } } this.callerFromTag = ((MessageExt)request.getMessage()).getFromHeader().getTag(); this.previousNode = extractPreviousNodeFromRequest(request); putTransaction(originalRequest); } // https://code.google.com/p/sipservlets/issues/detail?id=238
/** * Set the remote party for this Dialog. * * @param sipMessage * -- SIP Message to extract the relevant information from. */ protected void setRemoteParty(SIPMessage sipMessage) { if (!isServer()) { this.remoteParty = sipMessage.getTo().getAddress(); } else { this.remoteParty = sipMessage.getFrom().getAddress(); } if (logger.isLoggingEnabled(LogWriter.TRACE_DEBUG)) { logger.logDebug( "settingRemoteParty " + this.remoteParty); } }
final String fromTag = from.getTag();
if (tracer.isInfoEnabled()) { tracer.info("Received a valid message from " + fromHeader.getAddress() + " requesting a reply containing '" + bodyMessage + "' after " + timerDuration + "s"); setSender(fromHeader.getAddress());
public Address getRemoteParty() { if(sessionCreatingDialog != null) { return new AddressImpl(sessionCreatingDialog.getRemoteParty(), null, ModifiableRule.NotModifiable); } else if (sessionCreatingTransactionRequest != null){ try { if(!isSessionCreatingTransactionServer) { ToHeader toHeader = (ToHeader)sessionCreatingTransactionRequest.getMessage().getHeader(ToHeader.NAME); return new AddressImpl(toHeader.getAddress(), AddressImpl.getParameters((Parameters)toHeader), ModifiableRule.NotModifiable); } else { FromHeader fromHeader = (FromHeader)sessionCreatingTransactionRequest.getMessage().getHeader(FromHeader.NAME); return new AddressImpl(fromHeader.getAddress(), AddressImpl.getParameters((Parameters)fromHeader), ModifiableRule.NotModifiable); } } catch(Exception e) { throw new IllegalArgumentException("Error creating Address", e); } } else { return remoteParty; } }
if(!((MessageExt)request.getMessage()).getFromHeader().getTag().toString().equals(proxy.getCallerFromTag())) {
public Address getLocalParty() { if(sessionCreatingDialog != null) { return new AddressImpl(sessionCreatingDialog.getLocalParty(), null, ModifiableRule.NotModifiable); } else if (sessionCreatingTransactionRequest != null){ if(isSessionCreatingTransactionServer) { ToHeader toHeader = (ToHeader) sessionCreatingTransactionRequest.getMessage().getHeader(ToHeader.NAME); return new AddressImpl(toHeader.getAddress(), AddressImpl.getParameters((Parameters)toHeader), ModifiableRule.NotModifiable); } else { FromHeader fromHeader = (FromHeader)sessionCreatingTransactionRequest.getMessage().getHeader(FromHeader.NAME); return new AddressImpl(fromHeader.getAddress(), AddressImpl.getParameters((Parameters)fromHeader), ModifiableRule.NotModifiable); } } else { return localParty; } }