本文整理汇总了Java中javax.sip.Dialog.createAck方法的典型用法代码示例。如果您正苦于以下问题:Java Dialog.createAck方法的具体用法?Java Dialog.createAck怎么用?Java Dialog.createAck使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.sip.Dialog
的用法示例。
在下文中一共展示了Dialog.createAck方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
try {
if (responseReceivedEvent.getResponse().getStatusCode() == Response.OK) {
this.sawOk = true;
Dialog dialog = responseReceivedEvent.getDialog();
long cseq = ((CSeqHeader) responseReceivedEvent.getResponse().getHeader(
CSeqHeader.NAME)).getSeqNumber();
Request ack = dialog.createAck(cseq);
dialog.sendAck(ack);
}
} catch (Exception ex) {
fail("Unexpected exception");
}
}
示例2: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
try {
if ( responseReceivedEvent.getResponse().getStatusCode() == Response.OK) {
this.sawOk = true;
Dialog dialog = responseReceivedEvent.getDialog();
long cseq = ((CSeqHeader) responseReceivedEvent.getResponse()
.getHeader(CSeqHeader.NAME)).getSeqNumber();
Request ack = dialog.createAck(cseq);
dialog.sendAck(ack);
}
} catch (Exception ex) {
fail("Unexpected exception");
}
}
示例3: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
CSeqHeader cseq = (CSeqHeader) responseReceivedEvent.getResponse().getHeader(CSeqHeader.NAME);
String method = cseq.getMethod();
if(method.equals(Request.INVITE)) {
if ( responseReceivedEvent.getResponse().getStatusCode() == Response.OK) {
Dialog d = responseReceivedEvent.getDialog();
try {
Request ack = d.createAck(1);
sipProvider.sendRequest(ack);
} catch (Exception e) {
e.printStackTrace();
fail("Error sending ACK");
}
}
} else if(method.equals(Request.BYE)){
okByeReceived = true;
}
}
示例4: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public synchronized void processResponse(ResponseEvent responseReceived) {
try {
ResponseEventExt responseReceivedEvent = (ResponseEventExt) responseReceived;
Response response = (Response) responseReceivedEvent.getResponse();
ClientTransaction tid = responseReceivedEvent.getClientTransaction();
CSeqHeader cseq = (CSeqHeader) response.getHeader(CSeqHeader.NAME);
logger.info("Response received : Status Code = "
+ response.getStatusCode() + " " + cseq);
logger.info("Response = " + response + " class=" + response.getClass() );
Dialog dialog = responseReceivedEvent.getDialog();
this.forkedDialogs.add(dialog);
if(createDialogAfterRequest) {
TestCase.assertNull( dialog );
return;
} else {
TestCase.assertNotNull( dialog );
}
System.out.println("original Tx " + responseReceivedEvent.getOriginalTransaction());
if (tid != null)
logger.info("transaction state is " + tid.getState());
else
logger.info("transaction = " + tid);
logger.info("Dialog = " + dialog);
logger.info("Dialog state is " + dialog.getState());
if ( response.getStatusCode() == Response.OK && cseq.getMethod().equals(Request.INVITE) ) {
Request ackRequest = dialog.createAck(cseq.getSeqNumber());
dialog.sendAck(ackRequest);
this.timer.schedule( new SendBye(dialog),500);
}
} catch (Throwable ex) {
ex.printStackTrace();
// System.exit(0);
}
}
示例5: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
try {
if(inUse!=false) {
fail("Concurrent responses should not happen");
throw new RuntimeException();
}
inUse = true;
if(q%100==0) System.out.println("Receive " + q);
q++;
if ( responseReceivedEvent.getResponse().getStatusCode() == Response.OK) {
Dialog d = responseReceivedEvent.getDialog();
try {
Request ack = d.createAck(1);
sipProvider.sendRequest(ack);
sipProvider.sendRequest(ack);
sipProvider.sendRequest(ack);
sipProvider.sendRequest(ack);
sipProvider.sendRequest(ack);
} catch (Exception e) {
e.printStackTrace();
fail("Error sending ACK");
}
}
}finally {
inUse = false;
}
}
示例6: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
logger.info("Got a response");
Response response = (Response) responseReceivedEvent.getResponse();
Transaction tid = responseReceivedEvent.getClientTransaction();
logger.info("Response received with client transaction id " + tid
+ ":\n" + response.getStatusCode());
if (tid != null) {
logger.info("Dialog = " + responseReceivedEvent.getDialog());
logger.info("Dialog State is "
+ responseReceivedEvent.getDialog().getState());
}
SipProvider provider = (SipProvider) responseReceivedEvent.getSource();
try {
if (response.getStatusCode() == Response.OK
&& ((CSeqHeader) response.getHeader(CSeqHeader.NAME))
.getMethod().equals(Request.INVITE)) {
Dialog dialog = responseReceivedEvent.getDialog();
CSeqHeader cseq = (CSeqHeader) response.getHeader(CSeqHeader.NAME);
Request ackRequest = dialog.createAck(cseq.getSeqNumber());
logger.info("Ack request to send = " + ackRequest);
logger.info("Sending ACK");
dialog.sendAck(ackRequest);
}
} catch (Exception ex) {
logger.error(ex);
ex.printStackTrace();
RFC5626KeepAliveTest.fail("unexpected exception");
}
timer.schedule(new MyTimerTask(), 1000, 3000);
}
示例7: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
if ( responseReceivedEvent.getResponse().getStatusCode() == Response.OK) {
Dialog d = responseReceivedEvent.getDialog();
try {
Request ack = d.createAck(1);
// Added Thread.sleep to avoid regression on the test
// as ACKs arriving at the same time may create race condition
// where the ACK is removing from pending transactions by loose dialog validation
// but re created by the next ACK coming in line and thus the EventScanner
// sipStack.findPendingTransaction(sipRequest.getTransactionId()) gives transaction already exists
// and the ACK is not passed to TU
sipProvider.sendRequest(ack);
Thread.sleep(50);
sipProvider.sendRequest(ack);
Thread.sleep(50);
sipProvider.sendRequest(ack);
Thread.sleep(50);
sipProvider.sendRequest(ack);
Thread.sleep(50);
sipProvider.sendRequest(ack);
} catch (Exception e) {
e.printStackTrace();
fail("Error sending ACK");
}
}
}
示例8: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
logger.info("Got a response");
Response response = (Response) responseReceivedEvent.getResponse();
Transaction tid = responseReceivedEvent.getClientTransaction();
logger.info("Response received with client transaction id " + tid
+ ":\n" + response.getStatusCode());
if (tid != null) {
logger.info("Dialog = " + responseReceivedEvent.getDialog());
logger.info("Dialog State is "
+ responseReceivedEvent.getDialog().getState());
}
SipProvider provider = (SipProvider) responseReceivedEvent.getSource();
try {
if (response.getStatusCode() == Response.OK
&& ((CSeqHeader) response.getHeader(CSeqHeader.NAME))
.getMethod().equals(Request.INVITE)) {
Dialog dialog = responseReceivedEvent.getDialog();
CSeqHeader cseq = (CSeqHeader) response.getHeader(CSeqHeader.NAME);
Request ackRequest = dialog.createAck(cseq.getSeqNumber());
logger.info("Ack request to send = " + ackRequest);
logger.info("Sending ACK");
dialog.sendAck(ackRequest);
}
} catch (Exception ex) {
logger.error(ex);
ex.printStackTrace();
AckReTransmissionTest.fail("unexpected exception");
}
}
示例9: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
Response response = (Response) responseReceivedEvent.getResponse();
Transaction tid = responseReceivedEvent.getClientTransaction();
logger.info("Got a response " + response);
logger.info("Response received with client transaction id " + tid
+ ":\n" + response.getStatusCode());
if (tid != null) {
logger.info("Dialog = " + responseReceivedEvent.getDialog());
logger.info("Dialog State is "
+ responseReceivedEvent.getDialog().getState());
}
SipProvider provider = (SipProvider) responseReceivedEvent.getSource();
try {
if (response.getStatusCode() == Response.OK
&& ((CSeqHeader) response.getHeader(CSeqHeader.NAME))
.getMethod().equals(Request.INVITE)) {
Dialog dialog = responseReceivedEvent.getDialog();
CSeqHeader cseq = (CSeqHeader) response.getHeader(CSeqHeader.NAME);
Request ackRequest = dialog.createAck(cseq.getSeqNumber());
logger.info("Ack request to send = " + ackRequest);
logger.info("Sending ACK");
dialog.sendAck(ackRequest);
}
} catch (Exception ex) {
logger.error(ex);
ex.printStackTrace();
ReconnectTCPTest.fail("unexpected exception");
}
}
示例10: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
System.out.println("Got a response");
Response response = (Response) responseReceivedEvent.getResponse();
ClientTransaction tid = responseReceivedEvent.getClientTransaction();
CSeqHeader cseq = (CSeqHeader) response.getHeader(CSeqHeader.NAME);
System.out.println("Response received : Status Code = "
+ response.getStatusCode() + " " + cseq);
if (tid == null) {
System.out.println("Stray response -- dropping ");
return;
}
System.out.println("transaction state is " + tid.getState());
System.out.println("Dialog = " + tid.getDialog());
System.out.println("Dialog State is " + tid.getDialog().getState());
try {
if (response.getStatusCode() == Response.OK) {
if (cseq.getMethod().equals(Request.INVITE)) {
Dialog dialog = inviteTid.getDialog();
Request ackRequest = dialog.createAck( cseq.getSeqNumber() );
System.out.println("Sending ACK");
dialog.sendAck(ackRequest);
} else if (cseq.getMethod().equals(Request.CANCEL)) {
if (dialog.getState() == DialogState.CONFIRMED) {
// oops cancel went in too late. Need to hang up the
// dialog.
System.out
.println("Sending BYE -- cancel went in too late !!");
Request byeRequest = dialog.createRequest(Request.BYE);
ClientTransaction ct = sipProvider
.getNewClientTransaction(byeRequest);
dialog.sendRequest(ct);
}
}
} else if (response.getStatusCode() == Response.PROXY_AUTHENTICATION_REQUIRED
|| response.getStatusCode() == Response.UNAUTHORIZED) {
AuthenticationHelper authenticationHelper =
((SipStackExt) sipStack).getAuthenticationHelper(new AccountManagerImpl(), headerFactory);
inviteTid = authenticationHelper.handleChallenge(response, tid, sipProvider, 5);
inviteTid.sendRequest();
invco++;
}
} catch (Exception ex) {
ex.printStackTrace();
System.exit(0);
}
}
示例11: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseEvent) {
try {
Response response = responseEvent.getResponse();
Dialog dialog = responseEvent.getDialog();
this.lastResponseTable.put(dialog, response);
ServerTransaction serverTransaction = (ServerTransaction)responseEvent.getClientTransaction().getApplicationData();
if ( serverTransaction != null ) {
Request stRequest = serverTransaction.getRequest();
Response newResponse = this.messageFactory.createResponse(response.getStatusCode(),stRequest);
SipProvider provider = (SipProvider)responseEvent.getSource();
SipProvider peerProvider = this.getPeerProvider(provider);
ListeningPoint peerListeningPoint = peerProvider.getListeningPoint("udp");
ContactHeader peerContactHeader = ((ListeningPointExt)peerListeningPoint).createContactHeader();
newResponse.setHeader(peerContactHeader);
serverTransaction.sendResponse(newResponse);
if ( ((CSeqHeader)response.getHeader(CSeqHeader.NAME)).getMethod().equals(Request.INVITE) &&
response.getStatusCode() == 200 ) {
Request newRequest = dialog.createRequest(Request.INVITE);
ListeningPointExt listeningPoint = (ListeningPointExt) provider.getListeningPoint("udp");
ContactHeader contact = listeningPoint.createContactHeader();
newRequest.setHeader(contact);
ClientTransaction clientTransaction = provider.getNewClientTransaction(newRequest);
// Send without waiting for ACK.
dialog.sendRequest(clientTransaction);
}
} else {
this.inviteOkSeen = true;
if ( ((CSeqHeader)response.getHeader(CSeqHeader.NAME)).getMethod().equals(Request.INVITE) &&
response.getStatusCode() == 200){
long cseqno = ((CSeqHeader)response.getHeader(CSeqHeader.NAME)).getSeqNumber();
Request ack = dialog.createAck(cseqno);
dialog.sendAck(ack);
} else {
if ( !((CSeqHeader)response.getHeader(CSeqHeader.NAME)).getMethod().equals(Request.INVITE)) {
System.out.println("Unexpected response " + response);
BackToBackUserAgentTest.fail("Unexpected response");
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
BackToBackUserAgentTest.fail("Unexpected exception");
}
}
示例12: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
logger.info("Got a response");
Response response = (Response) responseReceivedEvent.getResponse();
Transaction tid = responseReceivedEvent.getClientTransaction();
logger.info("Response received with client transaction id " + tid + ":\n"
+ response.getStatusCode());
if (tid == null) {
logger.info("Stray response -- dropping ");
return;
}
logger.info("transaction state is " + tid.getState());
logger.info("Dialog = " + tid.getDialog());
logger.info("Dialog State is " + tid.getDialog().getState());
SipProvider provider = (SipProvider) responseReceivedEvent.getSource();
try {
if (response.getStatusCode() == Response.OK
&& ((CSeqHeader) response.getHeader(CSeqHeader.NAME)).getMethod().equals(
Request.INVITE)) {
// Request cancel = inviteTid.createCancel();
// ClientTransaction ct =
// sipProvider.getNewClientTransaction(cancel);
Dialog dialog = tid.getDialog();
CSeqHeader cseq = (CSeqHeader) response.getHeader(CSeqHeader.NAME);
Request ackRequest = dialog.createAck(cseq.getSeqNumber());
logger.info("Ack request to send = " + ackRequest);
logger.info("Sending ACK");
dialog.sendAck(ackRequest);
Thread.sleep(100);
Request inviteRequest = dialog.createRequest(Request.INVITE);
((SipURI) inviteRequest.getRequestURI()).removeParameter("transport");
((ViaHeader) inviteRequest.getHeader(ViaHeader.NAME)).setTransport("udp");
inviteRequest.addHeader(contactHeader);
MaxForwardsHeader mf = protocolObjects.headerFactory
.createMaxForwardsHeader(10);
inviteRequest.addHeader(mf);
ClientTransaction ct = provider.getNewClientTransaction(inviteRequest);
dialog.sendRequest(ct);
reInviteCount++;
logger.info("RE-INVITE sent");
} else if (response.getStatusCode() == Response.BUSY_HERE) {
this.busyHereReceived = true;
TestCase.assertEquals("Dialog State must be CONFIRMED", dialog.getState(), DialogState.CONFIRMED);
}
} catch (Exception ex) {
ex.printStackTrace();
logger.error(ex);
ReInviteBusyTest.fail("unexpceted exception");
}
}
示例13: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public synchronized void processResponse(ResponseEvent responseReceivedEvent) {
logger.info("Got a response");
Response response = (Response) responseReceivedEvent.getResponse();
ClientTransaction tid = responseReceivedEvent.getClientTransaction();
CSeqHeader cseq = (CSeqHeader) response.getHeader(CSeqHeader.NAME);
logger.info("Response received : Status Code = " + response.getStatusCode() + " " + cseq);
logger.info("Response = " + response + " class=" + response.getClass());
Dialog dialog = responseReceivedEvent.getDialog();
TestHarness.assertNotNull(dialog);
if (tid != null)
logger.info("transaction state is " + tid.getState());
else
logger.info("transaction = " + tid);
logger.info("Dialog = " + dialog);
logger.info("Dialog state is " + dialog.getState());
try {
if (response.getStatusCode() == Response.OK) {
if (cseq.getMethod().equals(Request.INVITE)) {
TestHarness.assertEquals(DialogState.CONFIRMED, dialog.getState());
Request ackRequest = dialog.createAck(cseq.getSeqNumber());
TestHarness.assertNotNull(ackRequest.getHeader(MaxForwardsHeader.NAME));
if (dialog == this.ackedDialog) {
dialog.sendAck(ackRequest);
return;
}
this.forkedDialogs.add(dialog);
new AckSender(ackRequest, dialog).sendAck();
} else {
logger.info("Response method = " + cseq.getMethod());
}
} else if (response.getStatusCode() == Response.RINGING) {
// TestHarness.assertEquals( DialogState.EARLY, dialog.getState() );
}
} catch (Throwable ex) {
ex.printStackTrace();
// System.exit(0);
}
}
示例14: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
logger.info("Got a response");
Response response = (Response) responseReceivedEvent.getResponse();
Transaction tid = responseReceivedEvent.getClientTransaction();
logger.info("Response received with client transaction id " + tid
+ ":\n" + response.getStatusCode());
if (tid == null) {
logger.info("Stray response -- dropping ");
return;
}
logger.info("transaction state is " + tid.getState());
logger.info("Dialog = " + tid.getDialog());
logger.info("Dialog State is " + tid.getDialog().getState());
SipProvider provider = (SipProvider) responseReceivedEvent.getSource();
try {
CSeqHeader cseq = (CSeqHeader) response.getHeader(CSeqHeader.NAME);
if (response.getStatusCode() == Response.OK
&& cseq.getMethod().equals(Request.INVITE)) {
// Request cancel = inviteTid.createCancel();
// ClientTransaction ct =
// sipProvider.getNewClientTransaction(cancel);
Dialog dialog = tid.getDialog();
Request ackRequest = dialog.createAck(cseq.getSeqNumber());
TlsTest.assertTrue( "Secure URI",
((SipURI)ackRequest.getRequestURI()).isSecure() );
logger.info("Ack request to send = " + ackRequest);
logger.info("Sending ACK");
dialog.sendAck(ackRequest);
// Send a Re INVITE but this time force it
// to use UDP as the transport. Else, it will
// Use whatever transport was used to create
// the dialog.
if (reInviteCount == 0) {
Request inviteRequest = dialog
.createRequest(Request.INVITE);
Thread.sleep(100);
ClientTransaction ct = provider
.getNewClientTransaction(inviteRequest);
dialog.sendRequest(ct);
reInviteCount++;
} else {
this.okReceived = true;
}
} else if (response.getStatusCode() == Response.OK
&& ((CSeqHeader) response.getHeader(CSeqHeader.NAME))
.getMethod().equals(Request.BYE)) {
this.byeOkRecieved = true;
}
} catch (Exception ex) {
logger.error(ex);
TlsTest.fail("unexpected exception");
}
}
示例15: processResponse
import javax.sip.Dialog; //导入方法依赖的package包/类
public void processResponse(ResponseEvent responseReceivedEvent) {
logger.info("Got a response");
Response response = (Response) responseReceivedEvent.getResponse();
Transaction tid = responseReceivedEvent.getClientTransaction();
logger.info("Response received with client transaction id " + tid
+ ":\n" + response.getStatusCode());
if (tid == null) {
logger.info("Stray response -- dropping ");
return;
}
logger.info("transaction state is " + tid.getState());
logger.info("Dialog = " + tid.getDialog());
logger.info("Dialog State is " + tid.getDialog().getState());
SipProvider provider = (SipProvider) responseReceivedEvent.getSource();
try {
CSeqHeader cseq = (CSeqHeader) response.getHeader(CSeqHeader.NAME);
if (response.getStatusCode() == Response.OK
&& cseq.getMethod().equals(Request.INVITE)) {
// Request cancel = inviteTid.createCancel();
// ClientTransaction ct =
// sipProvider.getNewClientTransaction(cancel);
Dialog dialog = tid.getDialog();
Request ackRequest = dialog.createAck(cseq.getSeqNumber());
logger.info("Ack request to send = " + ackRequest);
logger.info("Sending ACK");
dialog.sendAck(ackRequest);
// Send a Re INVITE but this time force it
// to use UDP as the transport. Else, it will
// Use whatever transport was used to create
// the dialog.
if (reInviteCount == 0) {
Request inviteRequest = dialog
.createRequest(Request.INVITE);
Thread.sleep(100);
ClientTransaction ct = provider
.getNewClientTransaction(inviteRequest);
dialog.sendRequest(ct);
reInviteCount++;
} else {
this.okReceived = true;
}
} else if (response.getStatusCode() == Response.OK
&& ((CSeqHeader) response.getHeader(CSeqHeader.NAME))
.getMethod().equals(Request.BYE)) {
this.byeOkRecieved = true;
}
} catch (Exception ex) {
logger.error(ex);
SctpTest.fail("unexpected exception");
}
}