本文整理汇总了Java中javax.sip.ClientTransaction类的典型用法代码示例。如果您正苦于以下问题:Java ClientTransaction类的具体用法?Java ClientTransaction怎么用?Java ClientTransaction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ClientTransaction类属于javax.sip包,在下文中一共展示了ClientTransaction类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getNewClientTransaction
import javax.sip.ClientTransaction; //导入依赖的package包/类
public ClientTransaction getNewClientTransaction(Request request)
throws TransactionUnavailableException {
Hop hop = null;
try {
hop = sipStack.getNextHop((SIPRequest) request);
if (hop == null)
throw new TransactionUnavailableException(
"Cannot resolve next hop -- transaction unavailable");
} catch (SipException ex) {
throw new TransactionUnavailableException(
"Cannot resolve next hop -- transaction unavailable", ex);
}
SIPClientTransaction newClientTransaction = createClientTransaction(request, hop);
sipStack.addTransaction(newClientTransaction);
return newClientTransaction;
}
示例2: processAck
import javax.sip.ClientTransaction; //导入依赖的package包/类
/** Process the ACK request. Send the bye and complete the call flow.
*/
public void processAck(
RequestEvent requestEvent,
ServerTransaction serverTransaction) {
SipProvider sipProvider = (SipProvider) requestEvent.getSource();
try {
System.out.println("shootme: got an ACK "
+ requestEvent.getRequest());
int ackCount =
((ApplicationData ) dialog.getApplicationData()).ackCount;
if (ackCount == 1) {
dialog = inviteTid.getDialog();
Request byeRequest = dialog.createRequest(Request.BYE);
ClientTransaction tr =
sipProvider.getNewClientTransaction(byeRequest);
System.out.println("shootme: got an ACK -- sending bye! ");
dialog.sendRequest(tr);
System.out.println("Dialog State = " + dialog.getState());
} else ((ApplicationData) dialog.getApplicationData()).ackCount ++;
} catch (Exception ex) {
ex.printStackTrace();
System.exit(0);
}
}
示例3: processTransactionTerminated
import javax.sip.ClientTransaction; //导入依赖的package包/类
public void processTransactionTerminated(
TransactionTerminatedEvent transactionTerminatedEvent) {
logger.info("Transaction terminated event occured -- cleaning up");
if (!transactionTerminatedEvent.isServerTransaction()) {
ClientTransaction ct = transactionTerminatedEvent
.getClientTransaction();
for (Iterator it = this.clientTxTable.values().iterator(); it
.hasNext();) {
if (it.next().equals(ct)) {
it.remove();
}
}
} else {
logger.info("Server tx terminated! ");
}
}
示例4: sendMultipleContactRegistration
import javax.sip.ClientTransaction; //导入依赖的package包/类
public void sendMultipleContactRegistration() throws Exception {
Address fromAddress = addressFactory.createAddress("[email protected]:5070");
ContactHeader contactHeader1 = headerFactory.createContactHeader(addressFactory.createAddress("sip:[email protected]:5070"));
ContactHeader contactHeader2 = headerFactory.createContactHeader(addressFactory.createAddress("sip:[email protected]:5080"));
CallIdHeader callId = provider.getNewCallId();
CSeqHeader cSeq = headerFactory.createCSeqHeader(1l, Request.REGISTER);
FromHeader from = headerFactory.createFromHeader(fromAddress, "1234");
ToHeader to = headerFactory.createToHeader(addressFactory.createAddress("[email protected]"+host+":"+SERVER_PORT), null);
List via = Arrays.asList(((ListeningPointImpl)provider.getListeningPoint(testProtocol)).getViaHeader());
MaxForwardsHeader maxForwards = headerFactory.createMaxForwardsHeader(10);
URI requestURI = addressFactory.createURI("sip:[email protected]"+host+":"+SERVER_PORT);
Request request = messageFactory.createRequest(requestURI, Request.REGISTER, callId, cSeq, from, to, via, maxForwards);
request.setRequestURI(requestURI);
request.addHeader(contactHeader1);
request.addHeader(contactHeader2);
ClientTransaction ctx = this.provider.getNewClientTransaction(request);
ctx.sendRequest();
}
示例5: processAck
import javax.sip.ClientTransaction; //导入依赖的package包/类
public void processAck(Request request,
ServerTransaction serverTransactionId) {
try {
logger.info("shootist: got ACK .");
if (serverTransactionId == null) {
logger.info("shootist: null TID.");
return;
}
Request bye = dialog.createRequest(Request.BYE);
ClientTransaction ctx = provider.getNewClientTransaction(bye);
ctx.sendRequest();
} catch (Exception ex) {
logger.error("unexpected exception",ex);
fail("unexpected exception");
}
}
示例6: run
import javax.sip.ClientTransaction; //导入依赖的package包/类
@Override
public void run() {
try {
TestCase.assertEquals ("Dialog state must be confirmed",
DialogState.CONFIRMED,dialog.getState());
Request byeRequest = dialog.createRequest(Request.BYE);
ClientTransaction ctx = sipProvider.getNewClientTransaction(byeRequest);
dialog.sendRequest(ctx);
} catch (Exception ex) {
TestCase.fail("Unexpected exception");
}
}
示例7: processAck
import javax.sip.ClientTransaction; //导入依赖的package包/类
/**
* Process the ACK request. Send the bye and complete the call flow.
*/
public void processAck(RequestEvent requestEvent,
ServerTransaction serverTransaction) {
try {
System.out.println("shootme: got an ACK! ");
System.out.println("Dialog State = " + dialog.getState());
SipProvider provider = (SipProvider) requestEvent.getSource();
if (!callerSendsBye) {
Request byeRequest = dialog.createRequest(Request.BYE);
ClientTransaction ct = provider
.getNewClientTransaction(byeRequest);
dialog.sendRequest(ct);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
示例8: processAck
import javax.sip.ClientTransaction; //导入依赖的package包/类
/** Process the ACK request. Send the bye and complete the call flow.
*/
public void processAck(
RequestEvent requestEvent,
ServerTransaction serverTransaction) {
SipProvider sipProvider = (SipProvider) requestEvent.getSource();
try {
System.out.println("shootme: got an ACK "
+ requestEvent.getRequest());
int ackCount =
((ApplicationData ) dialog.getApplicationData()).ackCount;
if (ackCount == 1) {
dialog = inviteTid.getDialog();
Request byeRequest = dialog.createRequest(Request.BYE);
ClientTransaction tr =
sipProvider.getNewClientTransaction(byeRequest);
System.out.println("shootme: got an ACK -- sending bye! ");
dialog.sendRequest(tr);
System.out.println("Dialog State = " + dialog.getState());
} else ((ApplicationData) dialog.getApplicationData()).ackCount ++;
} catch (Exception ex) {
ex.printStackTrace();
System.exit(0);
}
}
示例9: processAck
import javax.sip.ClientTransaction; //导入依赖的package包/类
/**
* Process the ACK request. Send the bye and complete the call flow.
*/
public void processAck(RequestEvent requestEvent, ServerTransaction serverTransaction) {
try {
System.out.println("shootme: got an ACK! ");
System.out.println("Dialog State = " + dialog.getState());
SipProvider provider = (SipProvider) requestEvent.getSource();
if (!callerSendsBye) {
Request byeRequest = dialog.createRequest(Request.BYE);
ClientTransaction ct = provider.getNewClientTransaction(byeRequest);
dialog.sendRequest(ct);
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
示例10: processDialogTimeout
import javax.sip.ClientTransaction; //导入依赖的package包/类
public void processDialogTimeout(DialogTimeoutEvent timeoutEvent) {
try {
this.timeoutSeen = true;
this.timeoutDialog = timeoutEvent.getDialog();
Dialog dialog = timeoutEvent.getDialog();
dialog.delete();
Request cancelRequest = inviteTid.createCancel();
ClientTransaction cancelTx = this.provider
.getNewClientTransaction(cancelRequest);
cancelTx.sendRequest();
} catch (Exception exception) {
exception.printStackTrace();
logger.error("Unexpected exception", exception);
TestCase.fail("unexpected exception");
}
}
示例11: sendTo
import javax.sip.ClientTransaction; //导入依赖的package包/类
private void sendTo(ServerTransaction st, Request request, int targetPort) throws Exception {
Request newRequest = (Request) request.clone();
SipURI sipUri = addressFactory.createSipURI("UA1", "127.0.0.1");
sipUri.setPort(targetPort);
sipUri.setLrParam();
sipUri.setTransportParam(Shootme.transport);
Address address = addressFactory.createAddress("client1", sipUri);
RouteHeader rheader = headerFactory.createRouteHeader(address);
newRequest.addFirst(rheader);
ViaHeader viaHeader = headerFactory.createViaHeader(host, this.port, "udp", null);
newRequest.addFirst(viaHeader);
ClientTransaction ct1 = sipProviders.get(Shootme.transport).getNewClientTransaction(newRequest);
sipUri = addressFactory.createSipURI("proxy", "127.0.0.1");
address = addressFactory.createAddress("proxy", sipUri);
sipUri.setPort(5070);
sipUri.setLrParam();
RecordRouteHeader recordRoute = headerFactory.createRecordRouteHeader(address);
newRequest.addHeader(recordRoute);
ct1.setApplicationData(st);
ct1.sendRequest();
}
示例12: processTransactionTerminated
import javax.sip.ClientTransaction; //导入依赖的package包/类
public void processTransactionTerminated(
TransactionTerminatedEvent transactionTerminatedEvent) {
if (!transactionTerminatedEvent.isServerTransaction()) {
ClientTransaction clientTx = transactionTerminatedEvent
.getClientTransaction();
String method = clientTx.getRequest().getMethod();
logger.info("Server Tx : " + method + " terminated ");
if (method.equals("INVITE")) {
inviteTxTerm = true;
} else if (method.equals("CANCEL")) {
cancelTxTerm = true;
} else {
fail("Unexpected transaction has ended!!![" + method + "]");
}
}
}
示例13: processAck
import javax.sip.ClientTransaction; //导入依赖的package包/类
/**
* Process the ACK request. Send the bye and complete the call flow.
*/
public void processAck(RequestEvent requestEvent,
ServerTransaction serverTransaction) {
try {
logger.info("shootme: got an ACK! ");
if(!enableRetransmitAlerts) {
logger.info("Dialog State = " + dialog.getState());
}
SipProvider provider = (SipProvider) requestEvent.getSource();
if (!callerSendsBye) {
Request byeRequest = dialog.createRequest(Request.BYE);
ClientTransaction ct = provider
.getNewClientTransaction(byeRequest);
dialog.sendRequest(ct);
}
} catch (Exception ex) {
logger.error("Unexpected exception", ex);
fail("unexpected exception");
}
}
示例14: processResponse
import javax.sip.ClientTransaction; //导入依赖的package包/类
public void processResponse(ResponseEvent responseEvent) {
Response response = responseEvent.getResponse();
int code = response.getStatusCode();
if (code == 180) {
try {
o_received180 = true;
Request cancel = responseEvent.getClientTransaction().createCancel();
ClientTransaction cancelTX = provider.getNewClientTransaction(cancel);
cancelTX.sendRequest();
System.out.println("Send CANCEL:\n" + cancel);
o_sentCancel = true;
} catch (SipException e) {
e.printStackTrace();
doFail(doMessage(e));
}
} else if (code == 200) {
System.out.println("Receive Cancel200");
o_receiver200Cancel = true;
}
}
示例15: sendInviteWithRPort
import javax.sip.ClientTransaction; //导入依赖的package包/类
public void sendInviteWithRPort() throws Exception {
Address fromAddress = addressFactory.createAddress("[email protected]:5070");
ContactHeader contactHeader1 = headerFactory.createContactHeader(addressFactory.createAddress("sip:[email protected]:5070"));
ContactHeader contactHeader2 = headerFactory.createContactHeader(addressFactory.createAddress("sip:[email protected]:5080"));
CallIdHeader callId = provider.getNewCallId();
CSeqHeader cSeq = headerFactory.createCSeqHeader(1l, Request.INVITE);
FromHeader from = headerFactory.createFromHeader(fromAddress, "1234");
ToHeader to = headerFactory.createToHeader(addressFactory.createAddress("[email protected]"+host+":"+SERVER_PORT), null);
ViaHeader via = ((ListeningPointImpl)provider.getListeningPoint(testProtocol)).getViaHeader();
via.setRPort();
List vias = Arrays.asList(via);
MaxForwardsHeader maxForwards = headerFactory.createMaxForwardsHeader(10);
URI requestURI = addressFactory.createURI("sip:[email protected]"+host+":"+SERVER_PORT);
Request request = messageFactory.createRequest(requestURI, Request.INVITE, callId, cSeq, from, to, vias, maxForwards);
System.out.println(request);
assertTrue(request.toString().indexOf("rport=") == -1);
request.setRequestURI(requestURI);
request.addHeader(contactHeader1);
request.addHeader(contactHeader2);
ClientTransaction ctx = this.provider.getNewClientTransaction(request);
ctx.sendRequest();
}