Clearwater IMS All-in-one环境搭建指导书

IMS/Softphone 开源项目启动 序:一直对网络 音视频通信很感兴趣,终于在今天决心要做一个windows下的开源软电话,并梦想最终做成一个像模像样的IMS客户端。作为Windows下的傻瓜程序员,对L/U下的开源项目即羡慕,又恐惧,每每在VS上编译标榜支持Windows的开源项目上恶梦连连。为什么Windwos下的资源那么匮乏呢,罢了罢了,也做回愚公吧。我不编译你的了,自己写一个。自己写一个能在VS平台上,舒舒服服编译的,舒舒服 阅读详情

xunknown@163.com

2015-01-13


一.前言

Clearwater IMS 是一个开源的IMS项目,提供VoIP/SIP电话等功能,Clearwater IMS主页http://www.projectclearwater.org.

为了体验Clearwater IMS 提供的VoIP/SIP电话功能,我搭建了一个Clearwater IMS All-in-one 环境进行体验,参考官方文档:

1.Clearwater IMS All-in-one服务器搭建:https://github.com/Metaswitch/clearwater-docs/wiki/All-in-one%20OVF%20Installation

2.客户端软件安装配置:

https://github.com/Metaswitch/clearwater-docs/wiki/Making%20your%20first%20call

因为实际搭建时跟官方文档有出入,走了一些弯路,因此在此总结一下.


二.环境总体说明

我使用一台Intel 4核64位CPU和8GB内存的主机,操作系统是Linux Mint 17.1 MATE 64bit系统,内核是3.16:

alpha@mascot ~/Workspace/ims $ uname -a

Linux mascot 3.16.0-28-generic #38-Ubuntu SMP Sat Dec 13 16:13:28 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

在主机上使用VirtualBox (4.3.18)创建多个虚拟机分别安装Clearwater IMS All-in-one服务器,以及VoIP/SIP客户端软件,主机和各个虚拟机之间通过Host-only网络互通.

如下图所示:


三. Clearwater IMS All-in-one服务器搭建

为了简单,使用 Clearwater IMS All-in-one模式搭建服务器,搭建过程参考官方手册,主要步骤:

1.下载官方提供的all-in-one image.映像名称是cw-aio.ova.

To install the OVF, you must first download it from http://vm-images.cw-ngv.com/cw-aio.ova and save it to disk.


2.利用下载的官方all-in-one image创建虚拟机并安装IMS服务器.

On VirtualBox, choose File->Import Applicance... from the menu. In the Appliance Import Wizard, click Choose..., select the cw-aio.ova file you downloaded and click Next. On the next tab, you can view the settings and then click Import.

利用VirtualBox的Import操作会自动创建一个虚拟机(虚拟机名称是cw-aio),并安装好IMS服务器,Clearwater IMS所有组件都安装在该虚拟机上.


3.启动IMS服务器虚拟机.登陆系统的用户名和密码是ubuntu和cw-aio.

If you attach to the console, you should see an Ubuntu loading screen and then be dropped at a cw-aio login prompt. The username is ubuntuand the password is cw-aio.

服务器启动之后,我发现系统不断打印内存不足(out of memory)的信息,说明利用官方映像自动创建的虚拟机内存太小,因此我增加了虚拟机的内存(先把虚拟机下电).


4.修改虚拟机网络.利用官方映像自动创建的服务器虚拟机网络是NAT网络.

VirtualBox uses NAT on the local IP address, exposing SSH on port8022, HTTP on port 8080 and SIP on port 8060. To access ellis, you'll need to point your browser at http://localhost:8080. To register over SIP, you'll need to configure an outbound proxy of localhost port 8060.

由于服务器虚拟机使用NAT网络,服务器的IP外部不可见,主机或者其他虚拟机无法访问服务器,ellis(ellis是管理用户的web服务器,后面开户时会提到,)无法通过 http://localhost:8080访问(在主机上访问,localhost是主机ip,通过这种方式访问没有意义;IMS服务器没有安装浏览器,无法访问http://localhost:8080).因此我将服务器虚拟机的网络方式改为Host-only方式,以便主机和其他虚拟机可以访问IMS服务器(后面提到客户端软件安装在其他虚拟机上,因此其他虚拟机也要能访问IMS服务器).

在VirtualBox上创建并配置Host-only Network(File / Preference / Network / Host-only Network),

使用VirtualBox默认配置即可.见下图.



修改IMS服务器虚拟机的虚拟网卡为Host-only适配器(虚拟机先下电),见下图.


补充说明,我尝试给IMS服务器虚拟机增加一个Bridged方式虚拟网卡(希望在我的手机也能通过WiFi局域网访问该服务器),但是发现不起作用(服务器系统上看不到该虚拟网卡),不过这个不影响.见下图.



经过上述网络修改,现在主机和其他虚拟机都可以访问IMS服务器了.

我的IMS服务器分配的IP地址是192.168.56.101.也就是在服务器上运行ifconfig eth0(eth0对应虚拟机的Host-only适配器,第一个虚拟网卡)或者hostname -I看到的IP.这个IP地址就是官方文档提到的<aio-identity>.访问ellis和客户端的SIP代理配置都是使用这个IP地址(后面会提到),主机上ssh登陆IMS服务器也是使用这个IP地址,也是客户端配置用到的SIP代理服务器地址(Outbound Proxy address),也是Bono/P-CSCF服务器的地址,以及STUN/TURN/ICE服务器地址(后面客户端配置会再次提到).


在主机上可以通过ssh登陆服务器.使用如下命令:

ssh ubuntu@192.168.56.101

用户名和密码同系统登陆的用户名和密码.

SSH - username is ubuntu and password is cw-aio

需要说明的是,使用默认的ssh端口即可,并不需要指定ssh端口号(即前面官方文档提到的8022端口)


5.开户

开户是在IMS服务器创建VoIP/SIP用户,包括用户名(即IMS系统的IMPI和IMPU)和密码.

IMS服务器上的ellis web服务提供用户管理功能,通过浏览器登陆ellis进行开户.

在主机上使用浏览器(我使用的是Google Chrome)打开

http://192.168.56.101,这里的URL是前面提到的IMS服务器的IP地址.这里不需要指定8080端口,默认80端口.

If you installed an All-in-One node, your Ellis URL will be http://<aio-identity>.

看到如下界面:


点击signup,创建一个新用户.进入如下界面:



注意,这里输入的用户名不是前面提到的VoIP/SIP用户,这个用户名只是用来管理VoIP/SIP用户,VoIP/SIP用户挂在这个用户名下.这里的用户名在SIP客户端不需要.

这里最关键的是最后一个signup code,参考官方文档,默认是secret.

HTTP to ellis for subscriber management - sign-up code is secret.


点击Sign up进入下一步,自动创建一个IMPI(Private Identity)和一个IMPU(Associated Public Identities),即VoIP/SIP用户,以及密码.如下图.

需要注意的是,这里的密码只显示一次,页面一刷新便再看不到,因此需要记录下来.可以点击Reset更换密码.


可以点击下方的Create创建更多的SIP用户(也可以通过如上面的步骤那样从sign up开始创建新的用户).

至少要创建2个SIP用户,一个主叫,一个被叫.

Private Identity部分是客户端配置要用到的关键信息(在下面的客户端配置会再次提到):

SIP Username:<username>,<username>对应@前的数字部分,如6505550472,这个数字也是拨打电话的输入的电话号码.

SIP Password:<password>,<password>即这里自动生成的密码.

SIP Domain:<domain>,<domain>对应这里的@后的内容,即example.com,这跟官方文档提到的一致.

If you installed an All-in-One node, your base name will be example.com.


Authorization Name:<username>@<domain>,例如6505550472@example.com

至此,Clearwater IMS All-in-one服务器已经安装完毕,并且已经创建了一部分SIP用户.


四.安装并配置客户端

1.创建并配置客户端虚拟机

VoIP/SIP客户端分别安装在两个虚拟机上(一个做主叫,一个做被叫),因此分别创建两个虚拟机.根据客户端可以运行的OS安装虚拟机的操作系统.我安装了Linux Mint Mate 17,Linux Mint Mate 17.1和WIndows 8.1三个虚拟机.

客户端虚拟机也要加入到Host-only网络,从而可以访问服务器IP,确保在客户端虚拟机可以ping通服务器IP地址.配置方式跟服务器虚拟机一样.

如下图所示.



2.下载并安装客户端软件

根据官方文档,至少一个客户端是Zoiper.(后面测试发现Jitsi呼叫Jitsi会发生异常)

If you have installed Clearwater on VirtualBox using the All-In-One image you must use Zoiper as one of your clients.

我使用了两个不同的客户端软件,Zoiper和Jitsi,分别安装在两个不同的虚拟机上.客户端软件的下载安装参考对应软件的网站和文档.

说明,如果主被叫分别使用不同的客户端软件,可以在同一个虚拟机上运行,那么只需要一个客户端虚拟机就可以了.


3.配置客户端软件

根据客户端软件不同,需要配置的内容也不同.

官方手册提到的配置内容如下.

Configure your client

Client configuration methods vary by client, but the following information should be sufficient to allow your client to register with Clearwater.

  • SIP Username: <username>

  • SIP Password: <password>

  • SIP Domain: <domain>

  • Authorization Name: <username>@<domain>

  • Transport: TCP

  • STUN/TURN/ICE:

    • Enabled: true

    • Server: <domain> (or <aio-identity> on an All-in-One node)

    • Username: <username>@<domain>

    • Password: <password>

Extra configuration to use an All-in-One node

If you are using an All-in-One node, you will also need to configure an outbound proxy at your client.

  • Outbound Proxy address: <aio-identity>

  • Port: 5060 (or 8060 if installed in Virtualbox)


Zoiper客户端(Windows版本,linux版本参考配置)具体的配置内容如下:

Domain, Username, Password, Auth. username来自Ellis创建的用户名和密码.

Outbound Proxy是IMS服务器的IP地址.

SIP options的port要修改为8060.

STUN的配置修改为IMS服务器的IP地址.(不使用STUN应该也可以)



Jitsi客户端(linux版本)具体的配置内容如下:

SIP Id, Registrar, Password, Authorization name来自Ellis创建的用户名和密码.

Proxy是IMS服务器的IP地址.

SIP options的port为5060.不能使用8060.




4.拨打电话

客户端软件配置完成后,用户注册成功到IMS服务器,就可以拨打电话了.

拨打电话时在拨号盘输入用户名(即数字).




五.问题定位

1.linux版本的Zoiper客户端在配置过程中突然异常退出(选择STUN配置开关并确认时),再也不能启动,终端输出Segment Fault,不知哪里配置出错.卸载重装也是同样问题,如此折腾几次,换了Windows版本的,在Windows 8.1的虚拟机配置成功,用户注册成功.

回头看linux版本重装也不能启动的原因,发现用户目录下有一个.Zoiper目录,是Zoiper配置文件保存的地方,原来卸载时不会删除这个目录.删除这个目录后重装,重新参考WIndows版本进行配置,用户注册成功.

2.用户注册不上,通过在IMS服务器上抓包分析,使用tcpdump和wireshark.

Jitsi配置时用户注册不上,之前按照官方手册将Port也配置为8060,通过抓包发现Zoiper客户端注册和Jitsi注册发送的REGISTER请求的端口号不同,把Jitsi的端口号改为默认的5060就可以了.

3.IMS服务器虚拟机cw-aio为什么不能配置Bridged适配器,原因是系统不认第二个网卡.可以将第一个虚拟网卡配置为Bridged适配器,从而WiFi局域网的手机也可以访问该IMS服务器.

配置过程中遇到这个问题:关闭第一个虚拟网卡,打开第二个虚拟网卡,系统重启后看不到网卡,说明系统只认第一个网卡.把第一个网卡重新打开,关闭第二个网卡,重启后显示的主机名也变成none(/etc/hostname文件内容为空),SIP用户无法注册(但Ellis可以访问).修改/etc/hostname文件,增加cw-aio,即将主机名改为cw-aio,重启之后,系统恢复正常.



4.IMS服务器有时不稳定,重启系统之后恢复正常.

5.客户端是否打开STUN,貌似影响不大.


六.实现手机呼叫手机

经过反复尝试,将IMS服务器虚拟机的第一个虚拟网卡配置为Bridged模式,局域网内的其他手机终于也可以访问IMS服务器了(IP地址跟Host-only方式不同).在手机上配置SIP账号(Android手机自带功能,不需要另外安装软件),可以实现手机呼叫手机.


手机上的SIP账号配置参考官方文档:https://github.com/Metaswitch/clearwater-docs/wiki/Configuring%20the%20native%20Android%20SIP%20client

Configuring the native Android SIP client

Instructions

  1. Ensure that you have a data connection (either through 3G or WiFi).

  2. Launch your standard dialer (often called Phone or Dialer).

  3. Bring up the menu. Depending on your phone, this may be via a physical Menu button, or via an icon (often in the bottom right, consisting of three square dots in a vertical line).

  4. From the menu, select Settings or Call settings to bring up the settings panel.

  5. Under Internet Call Settings, select Accounts

  6. Press Add account (at the bottom of the screen) and enter its configuration.

    • Set Username, Password and Server to their usual values

    • Open the Optional settings panel to see and set the following options.

    • Set Transport type to TCP

    • Set Authentication username to "sip:<username>@<server>", subsituting (note: once we switch to storing user digest by private id, this will change)

  7. Once done, choose Save

  8. Go back to the main Settings menu and under Internet Call Settings, select Use Internet Calling. Set this to Ask for each call

  9. You should now be able to make calls.

需要注意的是,这里的Server相当于Domain,因此配置为example.com,另外还要配置出站代理地址,配置内容就是服务器的IP地址,需要注意的是,更改了IMS服务器虚拟机的网卡类型,IP地址也会改变,需要使用新的IP地址,传输类型选择TCP或者UDP(如果其中一种不通,换另外一种),端口配置为5060.

我使用了一部华为手机和一部三星手机,都是Android系统,进行测试.

以下是华为Mate 1手机的具体配置:




在三星Note手机上参考配置另外一个SIP账号,可以实现手机呼叫手机,在数字键盘上直接拨用户名(即数字),如下:


Zoiper/Jitsi软件与手机之间也可以互相拨打电话.

32、图神经网络在网络功能虚拟化动态资源管理中的应用 本文探讨了图神经网络(GNN)在网络功能虚拟化(NFV)环境中的动态资源管理应用。通过建模虚拟网络功能组件(VNFC)之间的拓扑关系,利用GNN的信息扩散机制,系统能够准确预测资源需求并实现动态调整。文章详细介绍了GNN的结构、状态计算、输出预测及训练优化方法,并通过Clearwater云IMS的实验验证了GNN系统在资源预测准确性、资源分配效率及系统稳定性方面的优势。实验结果表明,GNN系统优于静态和手动资源管理方法,具备拓扑感知、动态适应和高效稳定等特性,为未来网络的智能资源管理提供了有力支持。 阅读详情

相关推荐

IMS Server-开源

IMS提供了一个灵活,安全,可定制且符合标准的平台,可以满足您现在和未来几年的所有即时消息需求。

clearwater

Clearwater IMS 是一个开源的IMS项目,提供VoIP/SIP电话等功能,Clearwater IMS主页https://clearwater.readthedocs.io/en/stable/

weixin_44783366的博客 769

clearwater:基于组件的Ruby前端框架

清水 Clearwater是用于在Ruby中构建快速,合理且易于组合的浏览器应用程序的丰富前端框架。 它呈现给虚拟DOM,并将虚拟DOM应用于浏览器的实际DOM,以仅更新页面上已更改的内容。 正在安装 将这些行添加到应用程序的Gemfile中: gem 'clearwater' gem 'opal-rails' # Only if you're using Rails 使用 这是一款最低可行的Clearwater应用程序: require 'opal' require 'clearwater' class HelloWorld include Clearwater :: Compon

OpenIMSCore的搭建过程

openIMSCore是一个IMS架构的开源实现,由德国一个教授进行主管,在Ubuntu下搭建很方便。IMS架构作为多媒体业务核心网的一种发展方向,在越来越多的通信系统中,起到了重要作用。         最近考虑在做的服务器中,原本协议提到了一种实体:SIP-CORE,由P-CSCF、I-CSCF、S-CSCF和HSS四个大组件组成,在整个通信协议栈中处于中间的位置,从底层来看像接入网,从

Mr_Xu的博客 7390

高通camx架构学习(零)—— 深入理解Camera 硬件抽象层

从上面的定义可以看出,主要是通过hw_module_t 代表了模块,通过其open方法用来打开一个设备,而该设备是用hw_device_t来表示,其中除了用来关闭设备的close方法外,并无其它方法,由此可见谷歌定义的HAL接口,并不能满足绝大部分HAL模块的需要,所以谷歌想出了一个比较好的解决方式,那便是将这两个基本结构嵌入到更大的结构体内部,同时在更大的结构内部定义了各自模块特有的方法,用于实现模块的功能,这样,一来对上保持了HAL的统一规范,二来也扩展了模块的功能。

图像学习之旅 1667

AIOps智能运维:从数据治理到故障自愈的实践指南

AIOps(智能运维)通过融合人工智能与运维管理,构建了感知-决策-执行的闭环体系。其核心技术包括多维度数据采集、机器学习算法和自动化执行,显著提升了告警治理、故障定位和容量预测的效率。在数据层,全量性、实时性的数据采集是基础,而算法层的异常检测和根因分析则依赖统计方法、孤立森林和LSTM等模型。AIOps尤其适用于处理告警风暴和复杂系统故障,如在电商大促中通过K-Means聚类减少92%的告警量。随着云原生和边缘计算的普及,AIOps正逐步实现与Service Mesh、Serverless等技术的深度集

weixin_30175731的博客 287

探索OpenSIPS:一个强大的开源VoIP服务器

探索OpenSIPS:一个强大的开源VoIP服务器 opensips OpenSIPS is a GPL implementation of a multi-functionality SIP Server that targets to deliver a high-level technical solution (...

gitblog_00036的博客 2048

基于STM32环境温湿度监测系统设计

基于STM32环境温湿度监测系统设计1. 实验目的2. 任务和要求3. proteus仿真图4. 实验代码 1. 实验目的 (1) 掌握使用 KEIL MDK5 进行软件开发的具体流程; (2) 掌握硬件电路的设计方法; (3) 掌握 STM32 微控制器的程序设计及代码编写方法。 2. 任务和要求 (1)在 STM32F103 平台下,通过温度传感器 DS18B20 和湿度传感器 DHT11 实现环境温湿度信息的采集; (2)将温度传感器和湿度传感器所采集的数据在 LCD 液晶屏幕上显示出来,超

唯一的博客 2万+

HPE CMS团队推进NFV容器化的探索之路之Clearwater On Kuberntes

上一节吴治辉老师 和我们分享了 Clearwater镜像在Docker中运行的方式以及Clearwater的Docker镜像的结构和特点 这一节吴治辉老师 继续和我们分享 HPE CMS团队 在Clearwater On Kuberntes 一波三折的改造探索之旅 Clearwater On Kuberntes改造の缘起 首先,我们来看看为什么Clearwater

Kubernetes中文社区 1万+

FastApi教程

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于万维网(WWW:World Wide Web )服务器与本地浏览器之间传输超文本的传送协议。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。

小石潭记丶 1560

YOLOv26与其他目标检测算法的对比分析

本文对YOLOv26与其他主流目标检测算法进行了全面对比分析。YOLOv26在COCO数据集上达到96.0% mAP@0.5和79.0% mAP@0.5:0.95,显著优于其他YOLO系列算法,同时保持85FPS的推理速度和35MB的轻量级模型。相比两阶段算法(如Faster R-CNN),YOLOv26在速度、模型大小和内存占用方面优势明显;相比Anchor-free算法(如CenterNet),YOLOv26在速度和模型压缩方面更优。其核心创新包括动态锚框分配、自注意力机制和轻量级设计,使其成为适用于复

一键难忘的博客 991

HPE CMS团队推进NFV容器化的探索之路

本文是HPE解决方案中心的干货连载第一篇,HPE CMS为通信与媒体行业提供咨询、设计、开发、部署实施等服务,提供从IaaS到SaaS层的完整解决方案。 本文:HPE CMS团队推进NFV容器化的探索之路 容器 虚拟化技术の后起之秀 XEN、KVM、VMware等传统虚拟化技术在过去几年中被引入到电信网络中,并且带来了一定的好处,但是这种重型虚拟化的基础设施也带来一

Kubernetes中文社区 3万+

路径跟踪 | 图解分析人工势场算法APF(附ROS C++/Python/Matlab仿真)

人工势场法的基本思想是在机器人运动环境中创建一个势场,再搜索一条势函数下降的方向,寻找一条无碰撞的最优路径。本文介绍APF算法的基本原理,并提供势场可视化实现,基于ROS C++/Python/Matlab进行算法仿真实验加深理解

FRIGIDWINTER的博客 7393

useful website for IMS

http://doubango.org/ https://groups.google.com/forum/#!forum/doubango https://code.google.com/p/telepresence/source/browse/#svn%2Ftrunk%2Fsource%253Fstate%253Dclosed https://code.google.com/p/d

killmice的专栏 1390

12306自动抢票系统:基于DrissionPage的智能购票实战

摘要:本文介绍了一个基于DrissionPage的12306自动抢票系统实现方案。该系统通过模拟真实用户操作,实现了车票查询、登录认证、座位选择和订单提交的全流程自动化。项目采用DrissionPage库替代传统Selenium方案,具有更简洁的API设计和更好的性能表现。核心技术包括数据包监听、动作链模拟和反爬虫应对策略,实现了高效可靠的车票抢购功能。系统包含完整的业务流程设计,从环境初始化到最终订单提交,并提供了清晰的数据展示界面。本文强调该项目仅用于技术研究,在实际使用中应严格遵守12306平台规则

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 2788

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

容器化ICT融合初体验

【编者的话】本次将分享的容器化ICT融合平台是一种面向未来ICT系统的新型云计算PaaS平台,它基于容器这一轻量级的虚拟化技术以及自动化的“微服务”管理架构,能够有效支撑应用快速上线和自动扩缩容,最大化IT基础设施资源利用率并降低总体拥有成本(TCO)。未来的网络正在向IT化、云化方向发展,容器与微服务技术,完美契合“网络即服务”、网络切片等发展理念,将有助于实现更加灵活、智能、高效和开放的5G新

容器技术爱好者 2万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

DockOne微信分享(七十六):容器化ICT融合初体验

本文讲的是DockOne微信分享(七十六):容器化ICT融合初体验【编者的话】本次将分享的容器化ICT融合平台是一种面向未来ICT系统的新型云计算PaaS平台,它基于容器这一轻量级的虚拟化技术以及自动化的“微服务”管理架构,能够有效支撑应用快速上线和自动扩缩容,最大化IT基础设施资源利用率并降低总体拥有成本(TCO)。未来的网络正在向IT化、云化方向发展...

weixin_34259559的博客 344

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

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

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

从BSP视角看USB调试:T527平台枚举失败与VBUS电源排查实战

USB是Linux嵌入式开发中最基础也最容易出问题的外设接口之一。设备枚举依赖PHY、控制器、电源和协议栈层层配合;当U盘无法识别或速率异常时,dmesg错误码、lsusb拓扑与usbmon抓包为定位提供依据。理解USB枚举原理和链路协商机制,有助于快速区分软件配置与硬件信号完整性问题。在工控、车机等BSP开发场景中,USB调试常涉及设备树、VBUS电源跌落和Type-C角色切换等关键环节。本文以全志T527平台为例,分享USB 3.0枚举不稳、设备掉线等真实问题的排查思路与工具箱,为Linux BSP工程

weixin_33754065的博客 353

开源的IMS系统

这些开源IMS系统和平台可以根据需要进行定制和扩展,帮助开发人员构建和实现IMS架构的不同组件。从支持SIP的路由器(如Kamailio)到完整的IMS核心实现(如OpenIMSCore)和软交换平台(如Asterisk和FreeSWITCH),这些开源项目都能在实现多媒体通信和IMS服务时提供灵活的选择。

qq_22325611的博客 1978

开源轻量级 IM 框架 MobileIMSDK v6.2 发布

历经8年、久经考验;超轻量级、高度提炼,lib包50KB以内;精心封装,一套API同时支持UDP、TCP、WebSocket三种协议(可能是全网唯一开源的);客户端支持iOS、Android、标准Java、H5、小程序(开发中..)、Uniapp(开发中..);服务端基于Netty,性能卓越、易于扩展;可与姊妹工程无缝互通实现网页端聊天或推送等;可应用于跨设备、跨网络的聊天APP、企业OA、消息推送等各种场景。查看关于MobileIMSDK的详细介绍。...

hellojackjiang2011的博客 877

Open IMS Client、Open IMS Core-----------跟着大牛学习!!!!!

(一)Open IMS Core OpenIMSCore概要  OSIMS The FOKUS Open Source IMS Core Project's Homepage: www.openimscore.org | CSCFs | | FHoSS | | Contact | It has to b

阿冬专栏 7639

使用IMS搭建商务授权管理系统

商务授权在国内渠道管理及项目投标中应用的比较广泛,尤其是对于制造厂家而言,每天需要手工开具大量的项目投标授权、年初渠道签约时,需要手工批量开具渠道商授权。手工授权工作属于重复性劳动,且不易追溯和检索,可以使用授权管理系统进行管控、

hzfw2008的博客 896

【亲测免费】 探索下一代网络:Doubango 开源IMS/LTE框架

探索下一代网络:Doubango 开源IMS/LTE框架 项目介绍 欢迎来到Doubango项目的世界!这是一个成熟的、开放源码的3GPP IMS/LTE框架,专为嵌入式和桌面系统设计。3GPP IMS(IP多媒体子系统)是提供IP多媒体服务的下一代网络标准,能够跨越各种网络类型,如3GPP LTE、GPRS、无线局域网、CDMA2000或固定线路。 项目技术分析 Doubango框架以ANSI-...

gitblog_00050的博客 711
上一篇: Clearwater IMS All-in-one环境搭建指导书
下一篇: 使用Buildroot + QEMU构建和运行Linux
xunknown
博客等级 码龄25年 134粉丝 36原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值