本文整理汇总了Java中javax.sip.ClientTransaction.sendRequest方法的典型用法代码示例。如果您正苦于以下问题:Java ClientTransaction.sendRequest方法的具体用法?Java ClientTransaction.sendRequest怎么用?Java ClientTransaction.sendRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.sip.ClientTransaction
的用法示例。
在下文中一共展示了ClientTransaction.sendRequest方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: processTimeout
import javax.sip.ClientTransaction; //导入方法依赖的package包/类
public void processTimeout(TimeoutEvent timeoutEvent) {
this.timeoutSeen = true;
ClientTransaction ctx = timeoutEvent.getClientTransaction();
TestCase.assertSame("Should see a timeout for INVITE", ctx,
this.inviteTid);
TestCase.assertEquals("Should be in proceeding state",
TransactionState.PROCEEDING, ctx.getState());
try {
Request cancelRequest = timeoutEvent.getClientTransaction()
.createCancel();
ClientTransaction cancelTx = this.provider
.getNewClientTransaction(cancelRequest);
cancelTx.sendRequest();
} catch (Exception ex) {
logger.error("Unexpected exception", ex);
TestCase.fail("Unexpected exception");
}
}
示例2: 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");
}
}
示例3: 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");
}
}
示例4: 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();
}
示例5: 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 {
this.ackReceived = true;
System.out.println("Got an ACK! ");
System.out.println("Dialog State = " + dialog.getState());
SipProvider provider = (SipProvider) requestEvent.getSource();
Request messageRequest = dialog.createRequest(Request.MESSAGE);
CSeqHeader cseq = (CSeqHeader)messageRequest.getHeader(CSeqHeader.NAME);
// We will test if the CSEq validation is off by sending CSeq 1 again
ClientTransaction ct = provider
.getNewClientTransaction(messageRequest);
cseq.setSeqNumber(1);
ct.sendRequest();
} catch (Exception ex) {
ex.printStackTrace();
}
}
示例6: 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;
}
}
示例7: forwardInvite
import javax.sip.ClientTransaction; //导入方法依赖的package包/类
/**
* @param incomingDialog2
* @return
* @throws SipException
*/
private void forwardInvite() throws SipException {
this.outgoingDialogCallId = sipProvider.getNewCallId();
Request request = createRequest(serverTransaction.getRequest());
ClientTransaction ct = sipProvider.getNewClientTransaction(request);
this.outgoingDialog = sipProvider.getNewDialog(ct);
this.outgoingDialog.setApplicationData(this);
ct.sendRequest();
}
示例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) {
acks++;
// We will wait for 5 acks to test if retransmissions are filtered. With loose dialog
// validation the ACK retransmissions are not filtered by the stack.
if(acks == 5)
{
try {
System.out.println("shootme: got an ACK! ");
System.out.println("Dialog State = " + dialog.getState());
SipProvider provider = (SipProvider) requestEvent.getSource();
Request messageRequest = dialog.createRequest(Request.MESSAGE);
CSeqHeader cseq = (CSeqHeader)messageRequest.getHeader(CSeqHeader.NAME);
// We will test if the CSEq validation is off by sending CSeq 1 again
ClientTransaction ct = provider
.getNewClientTransaction(messageRequest);
cseq.setSeqNumber(1);
ct.sendRequest();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
示例9: processNotify
import javax.sip.ClientTransaction; //导入方法依赖的package包/类
public void processNotify(Request request,
ServerTransaction serverTransactionId) {
try {
System.out.println("subsciber: got a notify .");
if (serverTransactionId == null) {
System.out.println("subsciber: null TID.");
return;
}
Dialog dialog = serverTransactionId.getDialog();
System.out.println("Dialog State = " + dialog.getState());
Response response = messageFactory.createResponse(200, request);
serverTransactionId.sendResponse(response);
System.out.println("subsciber: Sending OK.");
System.out.println("Dialog State = " + dialog.getState());
// Unsubscribe to the Subscription. Note that if you do not unsubscribe the dialog will
// live on and eventually you will run out of memory.
Request unsub = dialog.createRequest(Request.SUBSCRIBE);
ExpiresHeader expiresHeader = headerFactory
.createExpiresHeader(0);
unsub.addHeader(expiresHeader);
EventHeader eventHeader = null;
eventHeader = headerFactory.createEventHeader("reg");
unsub.addHeader(eventHeader);
ClientTransaction ct = sipProvider.getNewClientTransaction(unsub);
ct.sendRequest();
dialog.delete();
} catch (Exception ex) {
ex.printStackTrace();
System.exit(0);
}
}
示例10: sendCancel
import javax.sip.ClientTransaction; //导入方法依赖的package包/类
public void sendCancel() {
try {
System.out.println("Sending cancel");
Request cancelRequest = inviteTid.createCancel();
ClientTransaction cancelTid = sipProvider
.getNewClientTransaction(cancelRequest);
cancelTid.sendRequest();
} catch (Exception ex) {
ex.printStackTrace();
}
}
示例11: sendCancel
import javax.sip.ClientTransaction; //导入方法依赖的package包/类
private void sendCancel() {
try {
logger.info("Sending cancel");
Request cancelRequest = inviteTid.createCancel();
ClientTransaction cancelTid = sipProvider
.getNewClientTransaction(cancelRequest);
cancelTid.sendRequest();
cancelSent = true;
} catch (Exception ex) {
ex.printStackTrace();
logger.error(unexpectedException, ex);
fail(unexpectedException);
}
}
示例12: processResponse
import javax.sip.ClientTransaction; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
try {
Response response = responseReceivedEvent.getResponse();
CSeqHeader cseq = (CSeqHeader) response
.getHeader(CSeqHeader.NAME);
System.out.println("Response " + response.getStatusCode()
+ " CSeq = " + cseq.getSeqNumber());
if (response.getStatusCode() == Response.OK
&& cseq.getMethod().equals(Request.INVITE)) {
assertEquals("Should only see OK for seq number of 8", cseq
.getSeqNumber(), 8L);
Request ackRequest = dialog.createAck(cseq.getSeqNumber());
dialog.sendAck(ackRequest);
Request badRequest = dialog.createRequest(Request.INVITE);
CSeqHeader cseq1 = (CSeqHeader) badRequest
.getHeader(CSeqHeader.NAME);
cseq1.setSeqNumber(1L);
ClientTransaction badCt = sipProvider
.getNewClientTransaction(badRequest);
badCt.sendRequest();
} else if ( response.getStatusCode() == Response.SERVER_INTERNAL_ERROR) {
this.saw500 = true;
}
} catch (Exception ex) {
ex.printStackTrace();
TestCase.fail("Unexpected exception");
}
}
示例13: sendCancel
import javax.sip.ClientTransaction; //导入方法依赖的package包/类
public void sendCancel() {
try {
System.out.println("Shootist : Sending cancel");
Request cancelRequest = inviteTid.createCancel();
ClientTransaction cancelTid = sipProvider
.getNewClientTransaction(cancelRequest);
cancelTid.sendRequest();
} catch (Exception ex) {
ex.printStackTrace();
}
}
示例14: sendRequest
import javax.sip.ClientTransaction; //导入方法依赖的package包/类
void sendRequest(String method) {
System.out.println("====Send " + method);
try {
cSeqHeader = headerFactory.createCSeqHeader(1L, method);
// Create a new CallId header
CallIdHeader callIdHeader = sipProvider.getNewCallId();
int fromTag = 1000 + hashCode();
fromHeader = headerFactory.createFromHeader(fromNameAddress,
new Integer(fromTag).toString());
String sdpData = "v=0\r\n"
+ "o=4855 13760799956958020 13760799956958020"
+ " IN IP4 129.6.55.78\r\n" + "s=mysession session\r\n"
+ "p=+46 8 52018010\r\n" + "c=IN IP4 129.6.55.78\r\n"
+ "t=0 0\r\n" + "m=audio 6022 RTP/AVP 0 4 18\r\n"
+ "a=rtpmap:0 PCMU/8000\r\n" + "a=rtpmap:4 G723/8000\r\n"
+ "a=rtpmap:18 G729A/8000\r\n" + "a=ptime:20\r\n";
// Create ViaHeaders
ArrayList viaHeaders = new ArrayList();
ViaHeader viaHeader = headerFactory.createViaHeader(myAddress,
listeningPoint.getPort(), transport, null);
// add via headers
viaHeaders.add(viaHeader);
Request request = messageFactory.createRequest(requestURI,
method, callIdHeader, cSeqHeader, fromHeader,
toHeader, viaHeaders, maxForwards);
request.setHeader(contactHeader);
request.setContent(sdpData, contentTypeHeader);
// Create the client transaction.
ClientTransaction inviteTid = sipProvider
.getNewClientTransaction(request);
if(!protocolObjects.autoDialog) {
dialog = sipProvider.getNewDialog(inviteTid);
}
System.out.println("inviteTid = " + inviteTid + " sipDialog = "
+ inviteTid.getDialog());
// send the request out.
inviteTid.sendRequest();
} catch (Exception ex) {
System.out.println("Fail to sendInviteRequest with SipException:\n"
+ ex.getMessage());
TxTimeoutTest.fail(
"Shootist: Failed to send invite: ", ex);
}
return;
}
示例15: sendInviteRequest
import javax.sip.ClientTransaction; //导入方法依赖的package包/类
void sendInviteRequest() {
System.out.println("====Send INVITE");
try {
cSeqHeader = headerFactory.createCSeqHeader(1L, Request.INVITE);
// Create a new CallId header
CallIdHeader callIdHeader = sipProvider.getNewCallId();
int fromTag = 1000 + hashCode();
fromHeader = headerFactory.createFromHeader(fromNameAddress,
new Integer(fromTag).toString());
String sdpData = "v=0\r\n"
+ "o=4855 13760799956958020 13760799956958020"
+ " IN IP4 129.6.55.78\r\n" + "s=mysession session\r\n"
+ "p=+46 8 52018010\r\n" + "c=IN IP4 129.6.55.78\r\n"
+ "t=0 0\r\n" + "m=audio 6022 RTP/AVP 0 4 18\r\n"
+ "a=rtpmap:0 PCMU/8000\r\n" + "a=rtpmap:4 G723/8000\r\n"
+ "a=rtpmap:18 G729A/8000\r\n" + "a=ptime:20\r\n";
// Create ViaHeaders
ArrayList viaHeaders = new ArrayList();
ViaHeader viaHeader = headerFactory.createViaHeader(myAddress,
listeningPoint.getPort(), transport, null);
// add via headers
viaHeaders.add(viaHeader);
Request request = messageFactory.createRequest(requestURI,
Request.INVITE, callIdHeader, cSeqHeader, fromHeader,
toHeader, viaHeaders, maxForwards);
request.setHeader(contactHeader);
request.setContent(sdpData, contentTypeHeader);
// Create the client transaction.
ClientTransaction inviteTid = sipProvider
.getNewClientTransaction(request);
if(!protocolObjects.autoDialog) {
dialog = sipProvider.getNewDialog(inviteTid);
}
System.out.println("inviteTid = " + inviteTid + " sipDialog = "
+ inviteTid.getDialog());
// send the request out.
inviteTid.sendRequest();
} catch (Exception ex) {
System.out.println("Fail to sendInviteRequest with SipException:\n"
+ ex.getMessage());
DialogTimeoutTest.fail(
"Shootist: Failed to send invite: ", ex);
}
return;
}