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

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

#  一、组件

```

javax.sip

jain-sip-api

1.2.1.4

javax.sip

jain-sip-ri

1.2.1.4

```

# 二、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

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

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

java 解析为sip_一、基于JAVA的GB28181实现之SIP服务启动[part1]相关推荐

  1. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  2. java android长连接_基于Java Socket的自定义协议,实现Android与服务器的长连接(一)...

    一.基础知识准备 在正式给大家介绍自定义协议之前,我们先对网络传输和协议解析的相关知识点做一个基本的介绍,尽管这些知识点我们在学校里学过,但难免会有所遗忘,这里先做一个简单的介绍,以便对后文的内容理解 ...

  3. 中秋节图案 用java代码打出来_基于Java代码实现判断春节、端午节、中秋节等法定节假日的方法.doc...

    基于Java代码实现判断春节.端午节.中秋节等法定节假日的方法 基于Java代码实现判断春节.端午节.中秋节等法定节假日的方法 这篇文章主要介绍了基于Java代码实现判断春节.端午节.中秋节等法定节假 ...

  4. 基于Java的webapp_几乎所有基于Java的web app都需要Model 2 (part II) (转)

    几乎所有基于Java的web app都需要Model 2 (part II) (转)[@more@] 几乎所有基于的 app都需要Model 2 当Web容器从客户端接收到一个请求时,控制流开始运行. ...

  5. java 计算移动平均线_基于Java语言开发的个性化股票分析技术:移动平均线(MA)...

    基于Java语言开发的个性化股票分析技术:移动平均线(MA) 基于 Java 语言开发的个性化股票分析技术:移动平均线(MA)移动平均线(MA)是以道·琼斯的"平均成本概念"为理论 ...

  6. 大学生java项目创意申请表_基于java ee的大学生作品展示系统.pdf

    基于java ee的大学生作品展示系统.pdf 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 第34卷第3期 2015年6月 南昌工程学院学 ...

  7. java 静态对象赋值_基于Java class对象说明、Java 静态变量声明和赋值说明(详解)...

    先看下JDK中的说明: java.lang.Object java.lang.Class Instances of the class Class represent classes and inte ...

  8. spring java配置_Spring:使基于Java的配置更加优雅

    spring java配置 大家好,我很久没有写新文章了. 积累了很多资料,需要在不久的将来在我的博客中发布. 但是现在我想谈谈Spring MVC应用程序配置. 确切地说,我想谈谈基于Java的Sp ...

  9. java制作五子棋的论文,基于java的五子棋的设计与实现.docx

    摘要:随着社会的不断发展,我们的科技也不断的进步,现在我们的计算机也与我们的生活息息相关,这个时候 Internet能够让我们快速的知道自己想了解的知识.根据计算机的发展过程我们发现如今计算机应用的现 ...

最新文章

  1. IBM AI辩手对战世界级人类辩手,炒作还是秀肌肉?
  2. 优化老手分享网络优化中的4大方法
  3. LeetCode --Search Insert Position
  4. 有符号二进制数--补码
  5. mongodb的条件查询笔记
  6. es6 class语法糖
  7. Linux下的防火墙管理(包含图形和命令、伪装和转发)
  8. [Hibernate系列—] 1. 下载与试用Hibernate(MySQL与Oracle 配置)
  9. linux脚本中sed -i,Linux Shell 脚本之sed命令详解
  10. Delphi 2007 先睹为快
  11. 安卓webview开发简介
  12. 在matlab中开根号,请问,在matlab里面如果输入开方号(根号)?如9的开方怎么写?...
  13. 后悔没早知道这款UI自动化测试框架,让你写用例像口语化一样简单
  14. 腾讯T4级架构师用21个项目带你吃透379页深度学习TensorFlow实践pdf
  15. linux源码rm函数,linux的rm命令源码
  16. 再见2022,你好2023
  17. 邮箱每日发送有上限吗?各大邮箱每天限制发信数量多少?
  18. 《挑战程序设计竞赛》阅读笔记二 之 ALDS1_2_C Stable Sort
  19. SysInfoTools MS SQL Transaction Log Recovery 22.0
  20. win10任务栏图标两个以上不显示缩略图且不显示桌面预览解决方案

热门文章

  1. smb android 客户端,谷歌放出安卓版Samba客户端 但仅支持SMBv1
  2. 三星将推出用于VR的UHD显示屏
  3. 怎样彻底删除微信聊天记录?别再傻傻砸手机了,看专家如何操作
  4. Asp实现Excel数据导入到 Access、Sql Server中示例代码
  5. win7计算机电源设置在哪里设置,windows7电源管理设置在哪里_win7的电源管理在哪里打开-win7之家...
  6. Smartbi:高效利用大数据,助力银行数字化转型
  7. 排序算法——快速排序【代码实现】
  8. 3、VLAN间路由之SVI
  9. GitHub上标星75k+超牛的《Java面试突击版》,java开发实战经典第二版答案
  10. H5新特性(二)——Canvas