四、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返回,组装发送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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容