一、基于JAVA的GB28181实现之SIP服务启动[part1]

5 篇文章 0 订阅
3 篇文章 0 订阅

# 基于JAVA的SIP协议实现[part1]

最近用JAVA的SIP协议写了一个GB28181平台的对接,并成功完成了海康、大华、中威等设备,更重要的是海康平台、公安一所平台的对接。因为行业内很少有JAVA方面的设备接入实现,希望本篇能够让JAVA在安防接入生态中发挥越来越大的作用。

#  一、组件

```

    <!-- SPI协议相关的包 -->

    <dependency>

      <groupId>javax.sip</groupId>

      <artifactId>jain-sip-api</artifactId>

      <version>1.2.1.4</version>

    </dependency>

    <dependency>

      <groupId>javax.sip</groupId>

      <artifactId>jain-sip-ri</artifactId>

      <version>1.2.1.4</version>

    </dependency>

```

# 二、SIP监听类接口:javax.sip.SipListener

```

public interface SipListener extends EventListener {

    /**

    * SIP服务端接收消息的方法

    */

    void processRequest(RequestEvent var1);

    /**

    * SIP服务端接收返回的回调方法

    */

    void processResponse(ResponseEvent var1);

    /**

    * 处理超时回调方法

    */

    void processTimeout(TimeoutEvent var1);

    /**

    * 处理IO异常的回调方法

    */

    void processIOException(IOExceptionEvent var1);

    void processTransactionTerminated(TransactionTerminatedEvent var1);

    void processDialogTerminated(DialogTerminatedEvent var1);

}

```

# 三、编写SIP监听实现类,并集成到springboot项目

```

/**

* @Author 授人以鳗鱼

* @Date 9/25/2019

*/

@Slf4j

@Configuration

public class SipSrymyConfig {

    @Value("${gb28181.deviceId}")

    String deviceId;

    @Value("${gb28181.ip}")

    String ip;

    @Value("${gb28181.port}")

    Integer port;

    @Bean

    public SipServerLayer sipLayer(SipSrymyMessageProcessor messageProcessor) {

        try {

            SipServerLayer sipServerLayer = new SipServerLayer(ip, port);

            sipServerLayer.setMessageProcessor(messageProcessor);

            log.info("SIP服务启动完毕, 已经在[{}:{}]端口监听SIP国标消息", ip, port);

            return sipServerLayer;

        } catch (PeerUnavailableException e) {

            e.printStackTrace();

        } catch (Exception e) {

            e.printStackTrace();

        }

        return null;

    }

}

```

# 四、服务启动后,你可以用设备注册到这边,并抓包看看,你会发现SIP服务已经启动,整个网络已经联通,下一步我们需要把注册实现,[GB28181:基于JAVA的注册实现](https://www.jianshu.com/p/4b0963989bc3)

#五、有兴趣加群一起交流

扣    群  号:

5_4_1_4_1_0_1_3_2![基于JAVA的国标28181群二维码.png]

# 六、源码csdn下载[GB28181:基于JAVA的注册实现](https://www.jianshu.com/p/4b0963989bc3)

[给个star吧https://gitee.com/yuntian_admin/srymy](https://gitee.com/yuntian_admin/srymy)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值