本文是来自FOSDEM 2020 Real Time Communications devroom的演讲,演讲者是Liviu Chircu,Rǎzvan Crainea和Peter Lemenkov,题目是“Reach for the Clouds With OpenSIPS 3.0:A major release focused on the DevOps mindset”。
Chircu首先简介了OpenSIPS。它是一个高度可定制化的SIP服务器,性能很好;它有着多核架构,可以自定义配置语言,让人可以快速生成一个SIP服务器;它有很多的模块,具有很多功能;并且它是完全开源的。
然后Chricu给出了一个视频链接:
youtube.com/watch?v=EACGJtNb224
这个视频展示了用OpenSIPS可以做些什么。
下面Chircu介绍了OpenSIPS3.0的理念。他介绍了RTC行业的趋势,包括向云端迁移以节省基础设施的花费,快速的开发和测试,全自动化的部署以及提供更加严格的协议。
接下来Chircu分别从运营、开发和QA三个方面介绍了OpenSIPS3.0的特性。
第一个方面是运营OpenSIPS:
1.只需一条简单的指令就可以重新加载路由脚本。
2.自动缩放的能力。只需要指定上下阈值,软件就会进行自动增加或减少资源的使用。
3.可持续性的内存。可以使重新启动、重新读取数据库文件变得快速。
第二个方面是开发OpenSIPS脚本:
第三个方面是OpenSIPS的质量保障(QA):
下面由Crainea介绍与OpenSIPS交互部分的内容。与OpenSIPS交互的方式有几种,Crainea重点介绍了OpenSIPS CLI,它取代了之前两个老的工具,是用python编写的,具有模块接口,使用简单,扩展性强等特点。之后他介绍了opensips-cli的一些特性,配置方法,实例以及其中的一些模块。
接下来Crainea重点介绍了opensips-cli中的两个模块,分别是自检模块和追溯模块。自检模块可以帮助维护人员进行调错。他以一个例子介绍了自检模块的使用,展示了DNS检错、SQL检错和存储检错的情况。另一个是追溯模块,这个模块在处理成百上千的请求时非常有用,它可以过滤出特定请求相关的部分,让人可以追溯一个特定的请求,不会在大量请求中迷失。
然后由Peter介绍OpenSIPS中的async API。他展示了async的C代码,配置方式,以及一些问题。最后他给出了结论:应该去使用它,但是需要仔细测试。
附上演讲视频:
http://mpvideo.qpic.cn/0b78xaaaiaaakuaph7c4knpfbogdas4aabaa.f10002.mp4?dis_k=1ec7f1a691e7338d9b842515ecd37fc6&dis_t=1583373222