凯亚物联网如何搭建信令服务

一、前言

凯亚会基于dotnetty 开发gb28181,rtsp,rtmp,httflv,webrtc等流媒体协议,谈到流媒体少不了sip 服务, 那么什么是sip ,如何搭建开发呢?在此篇文章就会进行介绍。

HttpFlv:http://demo.kayakiot.cn:281/httpflv.html  (黑衣人)

 HttpFlv:http://demo.kayakiot.cn:281/httpflv1.html  (大红包)

HttpFlv:http://demo.kayakiot.cn:281/httpflv2.html  (鹿鼎记)

rtmp:rtmp://demo.kayakiot.cn:76/live1/livestream2   (黑衣人)

rtmp:rtmp://demo.kayakiot.cn:76/live1/livestream3   (大红包)

rtmp:rtmp://demo.kayakiot.cn:76/live1/livestream4(鹿鼎记)

注:测试服务器带宽只有8MB, httpflv  缓冲做的没有rtmp好,然后httpflv卡就多刷新几次

  凯亚 (Kayak) 是什么?

       凯亚(Kayak)是基于.NET8.0软件环境下的surging微服务引擎进行开发的, 平台包含了微服务和物联网平台。支持异步和响应式编程开发,功能包含了物模型,设备,产品,网络组件的统一管理和微服务平台下的注册中心,服务路由,模块,中间服务等管理。还有多协议适配(TCP,MQTT,UDP,CoAP,HTTP,Grpc,websocket,rtmp,httpflv,webservice,等),通过灵活多样的配置适配能够接入不同厂家不同协议等设备。并且通过设备告警,消息通知,数据可视化等功能。能够让你能快速建立起微服务物联网平台系统。

     凯亚物联网平台:http://demo.kayakiot.cn:3100(用户名:fanly  密码:123456)

    链路跟踪Skywalking V8:http://117.72.121.2:8080/

      surging 微服务引擎开源地址:https://github.com/fanliang11/surging(后面surging 会移动到microsurging进行维护)

二、什么是sip 服务

SIP(Session Initiation Protocol)服务是一种用于建立、管理和终止多媒体通信会话的应用层协议,广泛应用于VoIP(Voice over IP)电话、视频会议等场景‌。其核心功能包括会话控制、用户定位、协议兼容性支持及负载均衡等。‌‌

SIP服务的基本概念与功能

SIP协议由IETF制定,基于类似HTTP的文本格式设计,旨在通过IP网络实现多媒体会话管理。其核心功能可归纳为以下三点:

  1. 会话控制‌: 支持呼叫建立(INVITE)、修改(RE-INVITE)和终止(BYE),确保会话完整性需遵循事务粘性规则(同一会话请求必须由同一服务器处理)。‌‌

  2. 用户定位与移动性‌: 通过代理或重定向机制实现用户当前位置寻址,例如注册服务器记录终端设备IP地址以便路由呼叫。‌‌

  3. 协议兼容性‌: 需与其他协议协同工作,如RTP(实时传输)、LDAP(目录服务)、RADIUS(鉴权)等。‌‌

SIP服务器的架构与实现

SIP服务通常通过服务器系统实现,主流架构分为两类:

  1. 单一服务器集成模式‌: 所有逻辑功能(如代理、注册、媒体处理)集中于同一物理设备,优势是通信效率高,但扩展性较差。‌‌

  2. 分布式功能分离模式‌: 将不同逻辑功能拆分至独立实例(如负载均衡器、代理服务器、媒体服务器),通过松散耦合提升资源利用率和扩展性,但需额外处理事务粘性。‌‌

SIP服务的应用场景

SIP协议主要应用于以下领域:

  • VoIP电话‌: 替代传统PSTN网络,显著降低通话成本并支持视频等多媒体功能。‌‌

  • 统一通信(UC)‌: 集成语音、视频、即时消息等业务,例如企业IP PBX系统。‌‌

  • 物联网(IoT)‌: 为智能设备提供会话管理能力,如远程监控或交互控制

三、信令服务注册流程

  1. 客户端发起注册
  2. sip服务器返回401 ,并携带WWW-Authenticate
  3. 客户端第二次发起注册,增加Authorization
  4. 服务端返回授权成功, 或者失败.

 

1.客户端发起注册REGISTER

首先客户端发起注册请求,此时没有携带鉴权信息.

 

2.收到返回401

 3.重新REGISTER

重新注册后,header 就会带Authorization

返回成功

 然后注册成功可以发送消息到客户端

以下是用测试工具测试sip 服务

 

 

 

这么多协议性能会有影响吗?这里是启动一天凯亚物联网线上测试,运行一天的视频推流,内存和cpu 占用情况

 

原创作者: fanliang11 转载于: https://www.cnblogs.com/fanliang11/p/18907898
[ { "华东1": { "successSerialNumList": [], "errorMsg": null } }, { "天津航信(北京1)": { "successSerialNumList": [], "errorMsg": null } }, { "西南": { "successSerialNumList": [], "errorMsg": null } }, { "烟台航信空港": { "successSerialNumList": null, "errorMsg": "导入失败-338" } }, { "福州分公司": { "successSerialNumList": [], "errorMsg": null } }, { "内蒙古航信": { "successSerialNumList": [], "errorMsg": null } }, { "新疆": { "successSerialNumList": [], "errorMsg": null } }, { "安徽分公司": { "successSerialNumList": [], "errorMsg": null } }, { "北京航信(北京2)": { "successSerialNumList": [], "errorMsg": null } }, { "青岛": { "successSerialNumList": [], "errorMsg": null } }, { "东北": { "successSerialNumList": [], "errorMsg": null } }, { "湖南公司": { "successSerialNumList": [], "errorMsg": null } }, { "重庆": { "successSerialNumList": [], "errorMsg": null } }, { "云南": { "successSerialNumList": [], "errorMsg": null } }, { "河南航信": { "successSerialNumList": [], "errorMsg": null } }, { "河北航信空港": { "successSerialNumList": [], "errorMsg": null } }, { "青海分公司": { "successSerialNumList": null, "errorMsg": "导入失败-338" } }, { "甘肃分公司": { "successSerialNumList": [], "errorMsg": null } }, { "湖北": { "successSerialNumList": [], "errorMsg": null } }, { "厦门": { "successSerialNumList": [], "errorMsg": null } }, { "广西分公司": { "successSerialNumList": [], "errorMsg": null } }, { "深圳": { "successSerialNumList": [], "errorMsg": null } }, { "广州航信": { "successSerialNumList": [], "errorMsg": null } }, { "北京航信(北京1)": { "successSerialNumList": [], "errorMsg": null } }, { "浙江航信": { "successSerialNumList": [], "errorMsg": null } }, { "山西分公司": { "successSerialNumList": [], "errorMsg": null } }, { "西安": { "successSerialNumList": [], "errorMsg": null } }, { "温州分公司": { "successSerialNumList": [], "errorMsg": null } }, { "华东2": { "successSerialNumList": [], "errorMsg": null } }, { "海南": { "successSerialNumList": [], "errorMsg": null } } ], 这种数据如何使用element ui 的table组件展示
03-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值