php-exosip2预热-使用 PHP 构建SIP 应用程序,适用于 VoIP、GB28181等

wzj177

前言

23年自己分享了关于《GB28181 + PHP》的项目,当时我已经完成了业务系统的开发,并通过改造一个c# gb sip 项目来web hock桥接到我用webman做的后端,把整个国标通信周期的数据都hock到php去,最后完成项目。在那以后,我就在思考:php自己搞一个肯定不错

在这两年,我在有效的时间里面找寻过很多方法,搜了很多的关于sip协议处理的composer包,自己基于swoole来构建,也通过ai来辅助我,最后的结果都不理想,因为sip/sdp 协议很庞大和复杂,还有很多网络逻辑处理(nat检测、ip修改等)。接着,我在找工作那段时间,我一直学习c/c++ linux网络课程,然后b站刷到了一个叫 北小菜 的大佬的号,看了他搭建gb 服务的视频,然后我买了代码学习,在里面知道了 exosip2 和osip。

开发过程

关于

什么是 php-exosip2?

php-exosip2 是一个 PHP 扩展,它为 eXosip2 C 库提供了一个包装器。它使 PHP 开发人员能够轻松创建 SIP(会话初始协议)应用程序,支持服务器和客户端实现。

主要功能包括:/ Key features include:

  • SIP 服务器实现:创建可以处理注册、消息传递和呼叫的 SIP 服务器
  • SIP 客户端实现:构建用于注册和通信的 SIP 客户端
  • GB28181 支持:完全符合中国国家视频监控标准
  • 多进程架构:用于处理数千个并发连接的主-工作-任务模型
  • 灵活传输:支持 UDP、TCP 传输模式

截图

经历

回到这几个月,我有一点时间就会学习国标协议标准,学习信令流程,然后自己开始写设计,开始用cluade code 来验证我的设计。经过n个版本、上亿的tokens,我和cc合作越来越好,我这段时间下载了gb28181-service c++开源demo、c# 的akstream,不断从他们的逻辑处理学习,然后在wvp 的文档里面去找寻一些问题。到今天,我们已经达到了一个可以告诉大家的进度:

  • 实现php-exosip2扩展,目前在mac arm64 和 linux x86 下完成了 php 8.2版本的编译和测试
  • linux环境支持exosip2 最新的5.3版本,mac作为开发环境支持exosip 5.2以下
  • 国标方面完成sip大部分信令对接,今天实现了 gb28181 rtp 推流到zlm流媒体
  • php-exosip2主要是管控整个sip sdp 通信过程,业务都通过hock等方式交给了 用webman 写的api里面
  • gb api 也用process

一些成果

截图
截图
截图
截图
截图
截图
截图
截图
截图
截图
截图

总结

今天就到这了,我会继续利用有效时间打磨,相信很快与大家见面。还有就是:ai有时会陷入思想地狱,但是我们不会,我们应该找寻和学习更多的相关知识,你才能架设出有意义的作品,这样才能更好的让ai为你的作品服务。

101 0 0
0个评论

wzj177

1146
积分
0
获赞数
0
粉丝数
2019-06-03 加入
🔝