当年的扒拉oSIP代码的经历

39 篇文章 0 订阅
37 篇文章 0 订阅

描述:

2005年的时候,软件的集成度还没现在那么高,自己也年轻,曾经预研过sip,因为也只是自己一个人在那里鼓弄,最后的结果也没有真的应用到产品,而是使用了第三方插件intellIPhoneSDK。

这个经历也开启了以后数年的多媒体客户端开发经历。 在以后随着后来的公司转型开发android应用,慢慢的不再接触。2005-2006那一年自己做了什么呢?

这个项目要实现什么功能呢?就是需要在项目中可以打电话到对方手机。

对这个功能实现的只有自己一个人,经理对我很支持,在业务逻辑方面做支撑。

一共经历3各阶段,winrtp阶段,osip阶段,intellIPhoneSDK阶段。

初期的理解

IP电话(简称VoIP,源自英语Voice over IP;又名宽带电话或网络电话)是一种利用因特网技术或局域网的IP技术,来实现新型的电话通讯。

IP电话通过把语音信号经过数字处理、压缩编码,在网络上传输,然后再解压、把数字信号还原成声音,让通话对方听到。

VoIP的基本原理就是通过语音压缩的设备对我们的话音进行压缩编码处理,然后把这些语音数据根据相关协议进行打包,经过IP网络把数据包传输到目的地,再把这些语音数据包串起来,经过解码解压处理后,恢复成原来的语音信号,从而达到由IP网络传送话音的目的。

Vovida winrtp阶段

开发之初对voip理解不深,以为只要实现媒体部分,把数据通过tcp/udp传输到第三方代理服务器就可以了,所以选用了一个开源项目WinRtp来处理媒体。

这是个以责任链为设计和控制方式的开源项目,它的核心是mtc媒体传输控制模块。

主要分为媒体终端CCNSMT,数据传输MTC,数字信号处理DSP和跟踪模块,完成一整套音频数据处理流程。

MTC使用责任链处理数据,流程类似于directshow。

数据流大致就是

然而,搞到最后,发现不能连通sip服务器了,原来是sip服务器只能接收sip信令。于是重新选型。

OSIP版:

一张组件图大概就可以概括。

最终,可以正常对接电信代理服务器了,也可以实现电话功能。但是里面还有些小问题,比如遇到关闭后重新响铃,控件注册问题等。不过,那时候外部环境变量,领导要求使用第三方工具,intellIPhoneSDK,号称The world's first SIP VoIP SDK made exclusively for Microsoft .NET!

intellIPhoneSDK版:

使用这个软件基本能够完成通过功能,也会有些小问题,但可以简单规避。

大致功能也是这么几个:注册,通话,录音,呼叫转移。

WOSI.NET.inTELIPhone.dll 文件中,包含以下几个命名空间:

UPNPLib 处理UPNP跨越Nat

WOSI.Controls          处理消息流程的可视化显示

WOSI.Licensing        处理许可的相关信息

WOSI.NET.SIP 处理sip会话

WOSI.NET.STUN 处理使用stun的问题

WOSI.NET.Tracing 处理跟踪信息的显示

WOSI.NET.voip 语音编码及声音处理

WOSI.NET.inTELIPhone 处理voip电话客户端

到此,voip的任务至此就算结束了。

总结

这个实现一个在软件中打电话的功能实现经历了三个阶段

初期,因为理解偏差,造成选型失败,于是等于从头开始。

然后,纠正偏差,使用osip系列开发功能,但是时间已经过去了几个月还要继续,且与公司主业不符, 被砍掉。

最终,使用第三方工具,满足基本功能,就此揭过。

感言

在开发工具,插件,基础模块方面,实际上竞争是非常激烈。

对于小公司或个人,如果没有源源不断的资源支持,又不是主攻方向还是算了吧。

这么多年大浪淘沙之下,百分之九十九的成为海里的一朵浪花。

即便是刚开始一腔热情,能够受益开源,对某项技术有所进展,到最后也会被时间和资源打败,

可以想想,你是否也写过编辑器,聊天工具,搜索工具,等等这些,到头来还不是在用别人的。

关于:

编者:李国帅

qq:9611153 微信lgs9611153

时间:2021 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微澜-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值