四、GB28181:基于JAVA的實時流獲取[part4]

GB28181:基于JAVA的Catalog目錄獲取[part4]

1、國標文件里面獲取流的描述

QQ圖片20210128113040.png

2、java組裝SIP流請求信令


    private void doResponseInvite(ResponseEvent responseEvent, AddressFactory addressFactory, MessageFactory messageFactory, HeaderFactory headerFactory, SipProvider sipProvider, Response response, CSeqHeader cSeqHeader) throws ParseException, SipException, InvalidArgumentException {
        if (responseEvent.getResponse().getStatusCode()== Response.OK) {
            log.info("收到INVITE的OK返回,組裝發(fā)送ACK信令");
            sendAckRequest(responseEvent,messageFactory,addressFactory, headerFactory, sipProvider, response);
        } else {
            log.info("異常的INVITE返回,返回編碼:{}",responseEvent.getResponse().getStatusCode());
        }
    }

    private void sendAckRequest(ResponseEvent responseEvent, MessageFactory messageFactory, AddressFactory addressFactory, HeaderFactory headerFactory, SipProvider sipProvider, Response response) throws InvalidArgumentException, ParseException, SipException {
        CSeqHeader cSeqHeader = (CSeqHeader) response.getHeader(CSeqHeader.NAME);
        CallIdHeader callIdHeader = ((CallIdHeader) response.getHeader(CallIdHeader.NAME));
        ToHeader toHeader = ((ToHeader) response.getHeader(ToHeader.NAME));
        FromHeader fromHeader = ((FromHeader) response.getHeader(FromHeader.NAME));
        SipURI requestURI = (SipURI) toHeader.getAddress().getURI();
        MaxForwardsHeader maxForwards = headerFactory.createMaxForwardsHeader(70);
        ViaHeader viaHeader = ((ViaHeader) response.getHeader(ViaHeader.NAME));
        viaHeader.setRPort();
        ArrayList<ViaHeader> viaHeaders = new ArrayList<ViaHeader>();
        viaHeaders.add(viaHeader);
        cSeqHeader.setMethod(Request.ACK);
        Request ACKRequest = messageFactory.createRequest(requestURI, Request.ACK, callIdHeader, cSeqHeader, fromHeader, toHeader, viaHeaders, maxForwards);
        sipProvider.sendRequest(ACKRequest);
    }

3、源碼

源碼:給個star吧https://gitee.com/yuntian_admin/srymy

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容