/** * Sets the Via branch for CANCEL or ACK requests * * @param via * @param method * @throws ParseException */ private final void setBranch(Via via, String method) { String branch; if (method.equals(Request.ACK)) { if (getLastResponseStatusCode().intValue() >= 300) { branch = lastResponseTopMostVia.getBranch(); // non-2xx ACK uses // same branch } else { branch = Utils.getInstance().generateBranchId(); // 2xx ACK gets // new branch } } else if (method.equals(Request.CANCEL)) { branch = lastResponseTopMostVia.getBranch(); // CANCEL uses same // branch } else return; try { via.setBranch(branch); } catch (ParseException e) { e.printStackTrace(); } }
Via via = new Via(); if (branch != null) via.setBranch(branch);
String branch = via.getBranch(); if (branch == null || branch.length() == 0) { via.setBranch(sipRequest.getTransactionId());
branchId = Utils.getInstance().generateBranchId(); sipRequest.getTopmostVia().setBranch(branchId);
via.setBranch(Utils.getInstance().generateBranchId()); // new branch vias.add(via); if (logger.isLoggingEnabled(LogWriter.TRACE_DEBUG)) {