• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java ClientTransaction类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中javax.sip.ClientTransaction的典型用法代码示例。如果您正苦于以下问题:Java ClientTransaction类的具体用法?Java ClientTransaction怎么用?Java ClientTransaction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ClientTransaction类属于javax.sip包,在下文中一共展示了ClientTransaction类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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;
}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:17,代码来源:SipProviderImpl.java


示例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);
    }
}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:26,代码来源:Shootme.java


示例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! ");
    }
}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:17,代码来源:Proxy.java


示例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();
     }
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:23,代码来源:MultipleContactsTest.java


示例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");

    }
}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:18,代码来源:SelfroutingTest.java


示例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");
   }

}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:17,代码来源:Shootist.java


示例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();
    }

}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:21,代码来源:DialogIdentityTest.java


示例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);
	}
}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:26,代码来源:DeadSocketTlsTest.java


示例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();
    }

}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:19,代码来源:TransactionAlreadyExistsExceptionTest.java


示例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");
    }

}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:18,代码来源:DialogEarlyStateTimeoutTest.java


示例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();
}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:24,代码来源:Proxy.java


示例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 + "]");
        }
    }
}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:19,代码来源:CancelEventTest.java


示例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");
    }

}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:24,代码来源:ServerTransactionRetransmissionTimerTest.java


示例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;
    }
}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:23,代码来源:NoAutoDialogTest.java


示例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();
     }
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:27,代码来源:ViaRPortTest.java


示例16: 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();
    Address address = addressFactory.createAddress("client1", sipUri);
    RouteHeader rheader = headerFactory.createRouteHeader(address);

    newRequest.addFirst(rheader);
    ViaHeader viaHeader = headerFactory.createViaHeader(host, this.port, transport, null);
    newRequest.addFirst(viaHeader);
    ClientTransaction ct1 = sipProvider.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);
    this.clientTxTable.put(new Integer(targetPort), ct1);
    ct1.sendRequest();
}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:24,代码来源:Proxy.java


示例17: 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();
	}
}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:26,代码来源:WebsocketSelfTest.java


示例18: 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! ");
        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");
    }

}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:22,代码来源:ClientTransactionCallingAlertTest.java


示例19: 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");
    }

}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:20,代码来源:CtxExpiredTest.java


示例20: 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("Shootme : 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();
    }

}
 
开发者ID:YunlongYang,项目名称:LightSIP,代码行数:21,代码来源:NoToTagOn1xxDialogLeakTest.java



注:本文中的javax.sip.ClientTransaction类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java TaskAttemptStateInternal类代码示例发布时间:2022-05-22
下一篇:
Java QJournalProtocol类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap