当前位置: 首页>>代码示例>>Java>>正文


Java ClientTransaction.sendRequest方法代码示例

本文整理汇总了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");
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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