protected void setLocalParty(SIPMessage sipMessage) { if (!isServer()) { this.localParty = sipMessage.getFrom().getAddress(); } else { this.localParty = sipMessage.getTo().getAddress(); } }
.getHeader(ToHeader.NAME); if (toHeader.getTag() == null) { logger.debug("setting session ToTag: " + session.getKey().getToTag()); toHeader.setTag(session.getKey().getToTag()); } else { if(logger.isDebugEnabled()) { logger.debug("setting dialog LocalTag: " + dialog.getLocalTag()); toHeader.setTag(dialog.getLocalTag()); logger.debug("setting ToTag: " + toTag); toHeader.setTag(toTag); toHeader.setTag(Integer.toString(new Random().nextInt(10000000)));
/** * 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(); }
response = sipPresenceAgent.getConfiguration().getMessageFactory().createResponse(202, request); ToHeader toHeader = (ToHeader) response.getHeader(ToHeader.NAME); toHeader.setTag(toTag); // Application is supposed to set.
logger.logDebug("ct table size = " + clientTransactionTable.size()); String thisToTag = notifyMessage.getTo().getTag(); if (thisToTag == null) { return retval;
final Iterator<String> toParameterNames = toHeader.getParameterNames(); while (toParameterNames.hasNext()) { String parameterName = (String) toParameterNames.next(); if(sessionCreatingDialog != null || !SipFactoryImpl.FORBIDDEN_PARAMS.contains(parameterName)) { toParameters.put(parameterName, toHeader.getParameter(parameterName)); value = ""; newTo.setParameter(fromParameter.getKey(), value);
public void onInviteEvent(javax.sip.RequestEvent requestEvent, ActivityContextInterface aci) { try { ServerTransaction serverTransaction = requestEvent.getServerTransaction(); // send 100 // serverTransaction.sendResponse(messageFactory.createResponse(100,requestEvent.getRequest())); // create dialog and attach this entity to it's aci DialogActivity dialog = (DialogActivity) sipFactoryProvider.getNewDialog(serverTransaction); sipActivityContextInterfaceFactory.getActivityContextInterface(dialog).attach(this.sbbContext.getSbbLocalObject()); // send 200 ok Response response = messageFactory .createResponse(Response.OK,requestEvent.getRequest()); response.addHeader(getContactHeader()); ((ToHeader)response.getHeader(ToHeader.NAME)).setTag(Utils.getInstance().generateTag()); serverTransaction.sendResponse(response); } catch (Exception ex) { ex.printStackTrace(); } }
final String toTag = to.getTag(); final String fromTag = from.getTag();
newFromHeader.removeParameter("tag"); ((ToHeader) newRequest.getHeader(ToHeader.NAME)) .removeParameter("tag");
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()); }
ackRequest.getFrom().setTag(this.getLocalTag()); if (this.getRemoteTag() != null) ackRequest.getTo().setTag(this.getRemoteTag()); } catch (ParseException ex) { throw new SipException(ex.getMessage());
} else { String requestToTag = ((RequestExt)request).getToHeader().getTag(); "in order to identify the proxyBranch for this request "); String proxyToTag = ((MessageExt)proxyResponse.getMessage()).getToHeader().getTag(); String proxyFromTag = ((MessageExt)proxyResponse.getMessage()).getFromHeader().getTag();
/** * This method is used to know if the it is going to be used the voice mail * of the same user or the voice mail of a different user. * * @param event * @return TRUE: If the called user is sip:vmail@nist.gov */ private boolean sameUser(javax.sip.RequestEvent event) { boolean sameUser = false; Request inviteRequest = event.getRequest(); // Checking if the called user and the caller are the same ToHeader toHeader = (ToHeader) inviteRequest.getHeader(ToHeader.NAME); SipURI toURI = (SipURI) toHeader.getAddress().getURI(); if ((toURI.getUser().equals(USER) && toURI.getHost().equals(HOST))) { sameUser = true; } // Setting Same User value this.setSameUser(sameUser); return sameUser; }
final String arText = toHeader.getTag(); try { final String[] tuple = ApplicationRoutingHeaderComposer.getAppNameAndSessionId(sipApplicationDispatcher, arText);
String toURI = toHeader.getAddress().getURI().toString();
/** * 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); } }
public Request createPrack(Response relResponse) throws DialogDoesNotExistException, SipException { if (this.getState() == null || this.getState().equals(DialogState.TERMINATED)) throw new DialogDoesNotExistException( "Dialog not initialized or terminated"); if ((RSeq) relResponse.getHeader(RSeqHeader.NAME) == null) { throw new SipException("Missing RSeq Header"); } try { SIPResponse sipResponse = (SIPResponse) relResponse; SIPRequest sipRequest = this.createRequest(Request.PRACK, sipResponse.getTopmostVia().getTransport()); String toHeaderTag = sipResponse.getTo().getTag(); sipRequest.setToTag(toHeaderTag); RAck rack = new RAck(); RSeq rseq = (RSeq) relResponse.getHeader(RSeqHeader.NAME); rack.setMethod(sipResponse.getCSeq().getMethod()); rack.setCSequenceNumber((int) sipResponse.getCSeq().getSeqNumber()); rack.setRSequenceNumber(rseq.getSeqNumber()); sipRequest.setHeader(rack); if (this.proxyAuthorizationHeader != null) { sipRequest.addHeader(proxyAuthorizationHeader); } return (Request) sipRequest; } catch (Exception ex) { InternalErrorHandler.handleException(ex); return null; } }
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; } }