exosip有什么作用?这几种效果真的太惊艳了!

吉云

今天哥们儿我来跟大家聊聊最近折腾的一个东西——exosip。这玩意儿说白,就是一个用C语言写的SIP协议栈,主要拿来搞网络电话(VoIP)的。一开始听说这东西,我还纳闷,SIP不就是用来搞多媒体通信的吗?比如说确定你在哪儿,确定通信能力这些的。这exosip有啥特别的?

后来我一查,发现这exosip还真是有点儿意思。它是基于另一个叫Osip2的东西扩展出来的,说是专注于SIP底层的解析,所以效率比较高。这玩意儿居然还支持多线程,这在通信领域还是挺吃香的。你想,现在啥都要讲个并发,多线程一上,性能不就蹭蹭往上涨吗?

exosip有什么作用?这几种效果真的太惊艳了!

于是乎,我就想着自己动手试试。刚开始真是两眼一抹黑,毕竟这玩意儿是用C语言写的,虽然我也是写过C的人,但平时写业务代码习惯,对底层的东西还是有点儿生疏。不过咱也不能怂,硬着头皮上呗!

我先是把exosip的代码从网上扒拉下来。怎么搞?先去下一个压缩包,解压。然后就是看各种文档,先找到编译工具,跑起来编译的脚本,这一步可真是够折腾人的。然后照着demo,一步一步地配环境,什么库、头文件,搞得我是晕头转向。而且每个人的电脑环境还不一样,遇到问题,还得自己去网上搜,各种论坛、各种帖子,看得我眼花缭乱。

不过好在,经过我一番折腾,总算是把环境给搭好。接下来就是写代码,因为这玩意儿是C语言写的,所以性能啥的,还得看你机器硬件和操作系统这些,而且还得看你具体的应用场景是什么样的。我这边因为就是自己学习测试嘛所以也没啥特别高大上的配置,就普通的电脑跑跑得。

  • 第一步:初始化。 这玩意儿跟其他库差不多,上来先得初始化一下。
  • 第二步:注册。 注册到SIP服务器,这样别人才能找到你。
  • 第三步:监听。 监听有没有人给你打电话。
  • 第四步:接电话/打电话。 这就是具体的业务逻辑。

这中间还有各种细节,比如说怎么处理各种SIP消息,怎么处理音频流,这些都得你自己去研究。不过经过我这几天的折腾,总算是把一个简单的网络电话给搞出来,能打电话,能接电话,虽然还有很多功能没实现,但总算是迈出第一步!

这回折腾exosip的经历还是挺有意思的。虽然中间遇到不少坑,但也学到不少东西。最重要的是,我对SIP协议的理解更深一层,以后再搞这方面的东西,应该会更得心应手一些。这玩意儿还有很多可以深入研究的地方,比如说怎么优化性能,怎么支持更多的功能,这些就留着以后慢慢折腾!

好,今天就跟大家分享到这儿。如果你们也对exosip感兴趣,可以自己去试试,说不定能搞出什么好玩的东西!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]