newRequest.setHeader(rheader);
ViaHeader viaHeader = protocolObjects.headerFactory.createViaHeader(host,
port, protocolObjects.transport, null);
newRequest.addFirst(viaHeader);
ClientTransaction ct1 = sipProvider.getNewClientTransaction(newRequest);
sipUri = protocolObjects.addressFactory.createSipURI("proxy", "127.0.0.1");
address = protocolObjects.addressFactory.createAddress("proxy", sipUri);
sipUri.setPort(5070);
sipUri.setLrParam();
RecordRouteHeader recordRoute = protocolObjects.headerFactory
.createRecordRouteHeader(address);
newRequest.addHeader(recordRoute);
ct1.setApplicationData(st);
this.clientTxTable.put(new Integer(5080), ct1);
newRequest = (Request) request.clone();
((SipURI)newRequest.getRequestURI()).removePort();
sipUri = protocolObjects.addressFactory.createSipURI("UA2", "127.0.0.1");
sipUri.setLrParam();
sipUri.setPort(5090);
address = protocolObjects.addressFactory.createAddress("client2", sipUri);
rheader = protocolObjects.headerFactory.createRouteHeader(address);
newRequest.setHeader(rheader);
viaHeader = protocolObjects.headerFactory.createViaHeader(host, port,
protocolObjects.transport, null);
newRequest.addFirst(viaHeader);
sipUri = protocolObjects.addressFactory.createSipURI("proxy", "127.0.0.1");
sipUri.setPort(5070);
sipUri.setLrParam();
sipUri.setTransportParam(protocolObjects.transport);
address = protocolObjects.addressFactory.createAddress("proxy", sipUri);
recordRoute = protocolObjects.headerFactory.createRecordRouteHeader(address);
newRequest.addHeader(recordRoute);
ClientTransaction ct2 = sipProvider.getNewClientTransaction(newRequest);
ct2.setApplicationData(st);
this.clientTxTable.put(new Integer(5090), ct2);
// Send the requests out to the two listening points of the
// client.
ct2.sendRequest();
ct1.sendRequest();
}
} else {
// Remove the topmost route header