java 解析为sip_一、基于JAVA的GB28181实现之SIP服务启动[part1]
# 基于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]相关推荐
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- java android长连接_基于Java Socket的自定义协议,实现Android与服务器的长连接(一)...
一.基础知识准备 在正式给大家介绍自定义协议之前,我们先对网络传输和协议解析的相关知识点做一个基本的介绍,尽管这些知识点我们在学校里学过,但难免会有所遗忘,这里先做一个简单的介绍,以便对后文的内容理解 ...
- 中秋节图案 用java代码打出来_基于Java代码实现判断春节、端午节、中秋节等法定节假日的方法.doc...
基于Java代码实现判断春节.端午节.中秋节等法定节假日的方法 基于Java代码实现判断春节.端午节.中秋节等法定节假日的方法 这篇文章主要介绍了基于Java代码实现判断春节.端午节.中秋节等法定节假 ...
- 基于Java的webapp_几乎所有基于Java的web app都需要Model 2 (part II) (转)
几乎所有基于Java的web app都需要Model 2 (part II) (转)[@more@] 几乎所有基于的 app都需要Model 2 当Web容器从客户端接收到一个请求时,控制流开始运行. ...
- java 计算移动平均线_基于Java语言开发的个性化股票分析技术:移动平均线(MA)...
基于Java语言开发的个性化股票分析技术:移动平均线(MA) 基于 Java 语言开发的个性化股票分析技术:移动平均线(MA)移动平均线(MA)是以道·琼斯的"平均成本概念"为理论 ...
- 大学生java项目创意申请表_基于java ee的大学生作品展示系统.pdf
基于java ee的大学生作品展示系统.pdf 还剩 4页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 第34卷第3期 2015年6月 南昌工程学院学 ...
- java 静态对象赋值_基于Java class对象说明、Java 静态变量声明和赋值说明(详解)...
先看下JDK中的说明: java.lang.Object java.lang.Class Instances of the class Class represent classes and inte ...
- spring java配置_Spring:使基于Java的配置更加优雅
spring java配置 大家好,我很久没有写新文章了. 积累了很多资料,需要在不久的将来在我的博客中发布. 但是现在我想谈谈Spring MVC应用程序配置. 确切地说,我想谈谈基于Java的Sp ...
- java制作五子棋的论文,基于java的五子棋的设计与实现.docx
摘要:随着社会的不断发展,我们的科技也不断的进步,现在我们的计算机也与我们的生活息息相关,这个时候 Internet能够让我们快速的知道自己想了解的知识.根据计算机的发展过程我们发现如今计算机应用的现 ...
最新文章
- IBM AI辩手对战世界级人类辩手,炒作还是秀肌肉?
- 优化老手分享网络优化中的4大方法
- LeetCode --Search Insert Position
- 有符号二进制数--补码
- mongodb的条件查询笔记
- es6 class语法糖
- Linux下的防火墙管理(包含图形和命令、伪装和转发)
- [Hibernate系列—] 1. 下载与试用Hibernate(MySQL与Oracle 配置)
- linux脚本中sed -i,Linux Shell 脚本之sed命令详解
- Delphi 2007 先睹为快
- 安卓webview开发简介
- 在matlab中开根号,请问,在matlab里面如果输入开方号(根号)?如9的开方怎么写?...
- 后悔没早知道这款UI自动化测试框架,让你写用例像口语化一样简单
- 腾讯T4级架构师用21个项目带你吃透379页深度学习TensorFlow实践pdf
- linux源码rm函数,linux的rm命令源码
- 再见2022,你好2023
- 邮箱每日发送有上限吗?各大邮箱每天限制发信数量多少?
- 《挑战程序设计竞赛》阅读笔记二 之 ALDS1_2_C Stable Sort
- SysInfoTools MS SQL Transaction Log Recovery 22.0
- win10任务栏图标两个以上不显示缩略图且不显示桌面预览解决方案
热门文章
- smb android 客户端,谷歌放出安卓版Samba客户端 但仅支持SMBv1
- 三星将推出用于VR的UHD显示屏
- 怎样彻底删除微信聊天记录?别再傻傻砸手机了,看专家如何操作
- Asp实现Excel数据导入到 Access、Sql Server中示例代码
- win7计算机电源设置在哪里设置,windows7电源管理设置在哪里_win7的电源管理在哪里打开-win7之家...
- Smartbi:高效利用大数据,助力银行数字化转型
- 排序算法——快速排序【代码实现】
- 3、VLAN间路由之SVI
- GitHub上标星75k+超牛的《Java面试突击版》,java开发实战经典第二版答案
- H5新特性(二)——Canvas