SIP 系统容器化实践

Docker部署Kamailio,并使用LinPhone实现网络通话 准备一个路由器,一个服务器,两个终端设备(手机或电脑) 阅读详情

由于SIP系统相对成熟,目前互联网上的SIP系统方案大多数都是基于虚拟机来实现的。
本文是基于容器化实现SIP系统的方案以及遇到的问题总结。
本文会展示两个系统的SIP实现,分别是智能语音机器人和CTI系统,不会涉及太多的业务,只是对于SIP架构实现的讨论。

智能语音机器人系统

在容器化之前,我们的方案也是基于VM的。
虚拟机机器人系统
整个架构为:
kamailio作为sip服务器
rtpengine作为rtp代理
Freeswitch作为后端b2bua代理
event engine服务负责处理通话到达事件,通过feign通知voip机器人注册机器人坐席到kamailio中。

基于扩展性、安全性考虑,迭代为容器化部署。
容器化机器人系统
升级后把kamailio和Freeswitch使用docker 容器化部署在Kubernetes集群中,为kamailio开发了Operator动态识别Freeswitch实例,放入到数据库dispatcher表中,并通过binrpc接口通知kamailio reload dispatcher.
这里另外有一个注意点,Freeswitch需要优雅启动和优雅关闭。
因为RTPEngine需要开放范围UDP端口,在clb下无法配置,所以最终采用安全组方式再虚拟机上配置。

clb需要开4层代理 domain 域名。

kamailio中 alias domain。

CTI外呼系统

第二个是CTI外呼系统,在容器化之前也是基于VM架构实现的。
CTI外呼
蓝色为呼叫起点.
由于当时未解决WebSocket加入Kamailio,所以选择坐席接入到Freeswitch中了,人工外呼在Freeswitch中进行处理外呼。

机器人外呼主要是在kamailio中,通过dispatcher配置外呼,但是呼人工的时候,需要通过Freeswitch联通Freeswitch。

容器化CTI
CTI系统容器化之后解决了几个问题

  1. 解决了WebSocket集成Kamailio和WebRTC集成RTPEngine的问题。
  2. 统一呼出起点都是从Kamailio出发,从而使业务程序更加清晰复用。

容器化之后整个并行的通话数可以通过扩容Freeswitch的方式扩容

docker-kamailio:与 SIP 服务器 docker 图像对话 docker-kamailio Kamailio SIP 服务器泊坞窗图像 该容器运行 rtpproxy 和 kamailio 的实例来实现 VoIP。 Kamailio 使用外部 mysql 数据库,可以通过另一个 docker 映像获得: sudo rm -rf /opt/ntipa/mysql_data sudo mkdir -p /opt/ntipa/mysql_data sudo docker run -tid --name mysql -v /opt/ntipa/mysql_data:/var/lib/mysql -p 3306:3306 -e MYSQL_USER="admin" -e MYSQL_PASS="12345678" tornabene/ntipa-mysql 可以使用以下命令构建容器: sudo docker build -t="dgiglio/de 立即下载

相关推荐

docker-kamailio:Dockerfile,用于获取部署在最新的fedora docker映像上的Kamailio Sip服务器的最新稳定版本!

docker-kamailio Dockerfile,用于获取部署在最新的fedora docker映像上的Kamailio Sip服务器的最新稳定版本! Kamailio当前版本:4.2.3 Fedora当前版本:21 测验 为了进行测试,请通过DockerHub下载: sudo docker pull alezzandro/kamailio-latest-stable 运行您刚刚下载的容器 sudo docker run -d alezzandro/kamailio-latest-stable 现在写下Container ID,并将其放在下一个命令中 sudo docker inspect $container_id 现在,从“ docker inspect”命令中找到您的容器的IP地址,并通过一个简单的SIPp场景对其进行测试 您可以使用网上免费提供的一种: :

一键部署sip服务Kamailio

该 Docker Compose 文件将启动三个容器:Kamailio 容器、MySQL 容器和 RTPproxy 容器。Kamailio 容器将使用 RTPproxy 进行媒体流中继,MySQL 容器将使用挂载卷将数据存储在本地的 ./mysql 目录中,RTPproxy 容器将在主机上的 7722 端口运行并将所有 RTP 流路由到 Kamailio 容器。首先,需要创建一个 Docker Compose 文件来配置 Kamailio 容器、MySQL 容器和 RTPproxy 容器。

百鸣的专栏 2677

rtpengine:Kamailio的Sipwise媒体代理

什么是rtpengine? NGCP rtpengine是RTP流量和其他基于UDP的媒体流量的代理。 它打算与一起使用,并且可以替代任何其他可用的RTP和媒体代理。 当前唯一受支持的平台是GNU / Linux。 特征 通过IPv4或IPv6运行的媒体流量 IPv4和IPv6用户代理之间的桥接 在不同的IP网络或接口之间桥接 TOS / QoS字段设置 可定制的端口范围 多线程 公告不同的地址以在NAT后进行操作 内核中的数据包转发可实现低延迟和低CPU性能 如果内核模块不可用,则自动回退到正常的用户空间操作 支持Kamailio的rtpproxy模块 旧版OpenSER Mediaproxy模块的旧版支持 HTTP,HTTPS和WebSocket(WS和WSS)接口 通过rtpengine模块(或其旧版本的rtpproxy-ng )使用时,可以使用以下附加功能: 完整的SDP解

Docker简介及常用命令

Docker是一种容器技术,现在,它已经成了Linux相关的软件开发和部署事实上的标准。Docker是个开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的维护效率,降低了云计算应用开发的成本。通过使用Docker,不仅可以让应用的部署、测试和分发都变得前所未有的高效和轻松,而且,当你在实验结束后,可以一键删除所有镜像和临时文件,而不会在你的操作系统上的各种目录中留下垃圾(当然,Docker本身还是需要占用一些存储空间)。当然,如果你的硬盘空间足够大,是否占用存储空间也不算是主要矛盾,更重要的是,通过使

javry的专栏 736

WEBRTC-to-SIP:设置WEBRTC客户端和Kamailio服务器以调用SIP客户端

WEBRTC到SIP客户端和服务器 如何设置Kamailio + RTPEngine + TURN服务器以启用WebRTC客户端和旧版SIP客户端之间的呼叫。 默认情况下,此配置启用了IPv6。 此设置将桥接SRTP-> RTP和ICE-> nonICE,以使WebRTC客户端(sip.js)能够调用旧版SIP客户端。 WebRTC客户端可以在找到。 此设置适用于Debian 10 Buster。 此设置被配置为与以下服务一起运行: Kamailio + RTPEngine + Nginx(代理+ WebRTC客户端)+ coturn 该配置设置为始终通过RTPEngine桥接。 要更改行为,请查看NATMANAGE路由。 建筑学 取得证书 对于您需要的证书,一个简单的解决方案是“让我们加密证书”。 它们将同时适用于Kamailio TLS,Nginx TLS和TURN TLS。

kamailio配置支持rtpproxy

kamilio安装及支持rtp转发配置,并且用软终端进行测试抓包,成功。

国标视频平台容器化部署从零搭建指南:基于GB28181标准的微服务架构实践

随着安防监控系统的快速发展,基于GB28181标准的视频平台已成为行业主流。本文将通过"原理-部署-实战-优化"四阶段架构,帮助读者从零构建生产级国标视频平台,解决部署过程中的技术痛点,提供可落地的容器化解决方案。 ## 一、技术原理:GB28181视频平台的微服务架构解析 ### 核心问题:国标视频平台如何实现设备接入与媒体流转? GB28181标准定义了安防监控系统的设备接入、信令交互和

gitblog_00741的博客 449

别再只调颜色阈值了!优化K210色块追踪性能的5个关键参数与实战技巧

本文深入探讨了K210色块追踪性能优化的五大核心策略,包括图像预处理参数精细调控、find_blobs参数进阶配置、运动控制算法升级、硬件时序优化以及可视化调试系统构建。通过实战技巧和参数调整方法,帮助开发者提升K210在色块追踪项目中的识别稳定性和响应速度,适用于云台追踪等应用场景。

weixin_42531588的博客 225

从SIP呼叫到语音播报:一步步搭建基于MRCP协议与FreeSWITCH的智能语音应答系统

本文详细介绍了如何基于MRCP协议与FreeSWITCH搭建智能语音应答系统,涵盖环境准备、协议解析、模块配置、业务流程开发及调试优化。通过整合ASR(语音识别)和TTS(语音合成)技术,实现自然语言交互,提升企业客服效率。

weixin_30776545的博客 239

Verilog的综合指令

Synopsys综合指令

烟花一时的博客 5447

深信服PT1-AF实验考试

深信服PT1-AF实验考试实验练习可以去深信服的在线实验平台(链接如下):深信服在线实验平台 (sangfor.com.cn)实验考试其实就是把所有的每一部分实验综合了起来以下内容仅做参考,不确保一样。

m0_72019240的博客 7116

零门槛容器化部署wvp-GB28181-pro监控平台:从环境配置到设备接入的避坑指南

在视频监控系统搭建过程中,复杂的环境配置和繁琐的部署流程常常成为技术落地的阻碍。本文将带你通过Docker容器化技术,以最低门槛完成wvp-GB28181-pro国标视频监控平台的部署与应用,涵盖环境检测、快速部署、设备接入和故障排查全流程,帮助你避开常见陷阱,实现专业级监控系统的快速搭建。 ## 监控平台容器化的核心价值与优势 传统监控平台部署往往面临环境依赖复杂、配置项繁多、跨平台兼容性差

gitblog_00803的博客 339

基于卷积神经网络的遥感图像地物分类

AI:89-基于卷积神经网络的遥感图像地物分类 基于卷积神经网络的遥感图像地物分类是一个令人兴奋的领域,它在环境监测、城市规划、农业、国防等领域具有广泛的应用。深度学习技术为我们提供了更准确、高效的工具,有望在未来进一步提高分类性能。在本文中,我们探讨了卷积神经网络的工作原理、数据准备、模型构建、训练和评估过程,并提供了多个代码示例。此外,我们讨论了地物分类的应用和挑战,以及未来的发展趋势。

一键难忘的博客 2717

Kamailio云原生架构设计:如何在公有云上构建千万级并发SIP服务平台?

在数字化转型浪潮中,企业通信系统正面临从传统硬件部署向云原生架构转型的关键挑战。Kamailio作为开源SIP服务器的领导者,以其卓越的可扩展性、模块化设计和云原生友好特性,为构建大规模VoIP和实时通信平台提供了理想的解决方案。本文将深入探讨Kamailio在云原生环境中的架构设计原则、关键技术选型和实施路线,帮助技术决策者构建高可用、弹性伸缩的千万级并发SIP服务平台。 ## 🔍 传统部署

gitblog_00387的博客 345

RK3588开发笔记-MIPI-CSI接口视频解码芯片XS9922B调试

Rockchip RK3588 是一款高性能的处理器,支持多种摄像头接口,包括 MIPI(Mobile Industry Processor Interface)接口。MIPI是一种用于移动设备和嵌入式系统中的摄像头、显示器和其他传感器设备的串行接口标准。MIPI是MIPI联盟发起的为移动应用处理器制定的开放标准。CSI-2(Camera Serial Interface 2)是MIPI 联盟定义的另一种高速接口,主要用于摄像模组和处理器之间的连接。

flypig has a dream! 6863

uniapp(全端兼容) - 最新详细实现支付键盘功能组件,从底部弹出数字键盘输入支付密码进行付款交互效果,自定义支付密码键盘仿微信、支付宝支付键盘,1~9密码数字键盘,电商支付(详细示例代码复制运行

uniapp,微信小程序,自定义数字键盘,输入支付密码的键盘组件,uniapp小程序如何实现从底部弹出输入支付密码自定义键盘功能,uniapp小程序密码支付键盘组件插件,自定义数字键盘输入页面,怎么封装底部弹窗自定义数字键盘用于输入支付密码,uniapp小程序仿类似电商支付密码输入模态框,uniapp微信小程序平台实现自定义支付密码键盘,uniapp 密码支付,数字键盘,安全键盘,交易键盘,交易密码,交易密码输入框,uniapp自定义支付键盘: uniapp自定义支付键盘,uniapp小程序端实现键盘输入支

✅ 精选推荐文章 2905

3分钟搞定FreeSWITCH容器化:从零到生产级部署的完整攻略

还在为FreeSWITCH复杂的安装配置头疼吗?别担心,今天我要分享一套超实用的Docker容器化部署方案,让你在3分钟内就能搭建起一个功能完整的电信交换平台!无论你是电信开发新手还是运维老鸟,这套方案都能帮你轻松应对各种部署场景。FreeSWITCH容器化部署、Docker电信平台、软件定义通信栈,这些关键词将成为你技术栈中的新利器。 ## 核心原理揭秘:为什么Docker是FreeSWITC

gitblog_00671的博客 205

RH850从0搭建Autosar开发环境【23】- Davinci Configurator之DCM实操实现DID的读取写入

RH850从0搭建Autosar开发环境【23】- Davinci Configurator之DCM实操实现DID的读取写入,结合Developer实现

weixin_42412049的博客 1810

如何高效部署wvp-GB28181-pro国标视频平台:5步完整实践指南

wvp-GB28181-pro是一款基于GB/T 28181-2016国标协议的开源视频平台,完整支持SIP信令与RTP媒体流传输,实现多厂商设备统一接入、跨平台级联互通、智能云录像管理等核心功能。作为开箱即用的网络视频平台,它支持海康、大华、宇视等主流品牌设备接入,是构建现代化视频监控系统的理想选择。 ## 📋 部署环境准备要点 ### 系统环境要求 | 组件 | 最低配置 | 推荐配置

gitblog_00623的博客 135

基于STM32的智能血氧、心率、体温、血压监测系统

摘要:本文设计了一款基于STM32F103C8T6的多功能健康监测系统,可实时检测血氧、心率、体温和血压四项生理参数。系统集成MAX30102、DS18B20等传感器模块,采用OLED显示和蓝牙无线传输技术,实现一键血压测量、阈值报警及手机APP数据管理功能。硬件设计包含传感器采集、电源管理、显示报警等模块;软件采用模块化架构,实现数据采集处理、蓝牙通讯等功能。测试表明系统测量准确可靠,为家庭健康监测提供了便携解决方案。未来可扩展更多监测参数和智能分析功能。

3254968421的博客 771

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

跨平台开发的权限交响曲:Flutter调试在Windows/macOS/Linux的权限策略对比

本文深入探讨了Flutter在Windows、macOS和Linux三大平台上的调试权限策略差异,分析了UAC、SIP和sudo等权限机制对开发的影响。针对文件系统访问、网络端口权限和硬件访问等常见问题,提供了跨平台的统一解决方案,包括最小权限原则实践、容器化调试环境和IDE配置优化,帮助开发者高效应对多平台调试挑战。

u9v0w的博客 170

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

跨平台部署实战:从环境隔离到容器化部署的完整指南

在软件开发与运维领域,跨平台兼容性是一个基础且关键的技术挑战,它直接关系到应用的可交付性和用户体验的一致性。其核心原理在于不同操作系统(如Windows、Linux、macOS)在底层架构、运行时环境、依赖管理和文件系统等方面存在固有差异。解决这些差异的技术价值在于实现真正的“一次编写,处处运行”,提升开发效率和部署可靠性。常见的应用场景包括为多操作系统团队提供统一支持、保障生产环境一致性以及个人开发者的多设备工作流同步。实践中,通过采用环境隔离(如虚拟环境)和容器化(如Docker)等技术,可以有效封装应

weixin_30307921的博客 552

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

3步搭建企业级国标视频监控系统:WVP-GB28181-Pro开源解决方案

在安防监控领域,**GB28181协议**作为国家标准,是实现不同品牌设备互联互通的关键。然而传统监控系统面临设备兼容性差、部署流程复杂、二次开发困难等痛点。**WVP-GB28181-Pro**作为一款开源视频平台,通过容器化部署、全品牌设备兼容和灵活的API扩展,为中小企业提供了从设备接入到远程监控的完整解决方案。本文将从需求定位、场景拆解、技术探秘到实践优化四个维度,帮助读者快速掌握这一系统

gitblog_00415的博客 246

实战部署wvp-GB28181-pro:5步构建专业级国标视频监控平台

wvp-GB28181-pro是一款基于GB28181-2016、部标808、部标1078标准实现的开箱即用网络视频平台,专为需要快速搭建专业视频监控系统的技术团队和企业用户设计。该平台支持海康、大华、宇视等主流品牌设备接入,提供完整的国标级联、设备管理、视频播放和云录像功能,通过容器化部署方案大幅简化了传统监控系统的部署复杂度。 ## 痛点分析:传统视频监控部署的三大挑战 传统视频监控系统部

gitblog_00955的博客 449

国标监控系统的压力测试革命:用批量模拟器突破性能瓶颈

本文探讨了国标GB28181监控系统如何通过批量模拟器实现高效压力测试,突破性能瓶颈。详细解析了模拟器的技术架构、实战部署流程及优化策略,帮助工程师构建千路并发测试环境,解决传统测试中的硬件依赖和效率低下问题。

CAT789的专栏 536

wvp-GB28181-pro企业级部署实战指南:从架构设计到性能调优

wvp-GB28181-pro是一款基于GB28181标准的开源视频监控平台,支持海康、大华等主流安防设备接入。本文将通过"概念解析→环境构建→功能实现→场景落地"四阶段框架,帮助企业级用户完成从基础部署到高级功能配置的全流程实战。 ## 一、概念解析:理解GB28181视频监控体系 💡 核心价值:掌握国标协议架构与平台技术选型,为企业级部署奠定理论基础。 ### 1.1 搭建GB2818

gitblog_00068的博客 240
上一篇: 时隔多年,新的开始
下一篇: linux sed命令:sed替换命令使用环境变量,且环境变量中有文件分隔符时,sed命令不work (unknown option to s)
line_aijava
博客等级 码龄16年 31粉丝 47原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值