以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML在语音技术中的应用 』   (http://bbs.xml.org.cn/list.asp?boardid=47)
----  [原创]自己动手写一个简单的sip协议栈  (http://bbs.xml.org.cn/dispbbs.asp?boardid=47&rootid=&id=57772)


--  作者:enyaxp
--  发布时间:1/6/2008 11:19:00 PM

--  [原创]自己动手写一个简单的sip协议栈
最近看论坛上讨论SIP协议的人多了起来,感觉很高兴,SIP协议是一种很好的技术,在网络音视频通信及电话会议领域中正在逐渐取代H.323成为主流的应用层协议。

为了抛砖引玉,现将本人的本科毕设《SIP协议栈及其嵌入式UA/SERVER的实现》发到论坛中供初学SIP者参考,其中包含了论文、部分代码及答辩PPT。

论文中具体介绍了一个SIP协议栈-zmhSipStack的编写过程,包括最初的系统设计,基本原理以及具体的代码实现,并且介绍了向嵌入式设备的移植过程。代码包括PC端的SipUA/SipProxyServer以及一个能运行在周立功ARM7开发板上的Server(需要ZLG/IP协议栈支持UDP)。希望能为各位SIP爱好者提供一个简单的入门参考。水平有限,望各位专家大牛们多包涵。

ps:当初曾经将相同的东西发到汇思SIP论坛上,只不过论文题目改成了《自己动手写一个简单的SIP协议栈》。一年半过去了,回头看自己当初写的程序真的是太烂了,面向对象、模式等概念统统的没有,仅仅为了实现功能写出来的代码现在看来真的令人无法忍受,需要重新构建一个更好更完备的协议栈,正则表达式是一定要用到的!!

论文和测试结果:

答辩PPT:





源代码:
PC端SipUA(cpp) :


PC端SipProxyServer(cpp):


ARM端SipProxyServer(c):

希望能给大家一点帮助。


--  作者:liuzhihantry
--  发布时间:1/13/2008 3:41:00 PM

--  
进行SIP的研究,想了解这方面的信息!谢谢了!
--  作者:liuzhihantry
--  发布时间:1/13/2008 8:19:00 PM

--  
做得太漂亮了,描述了一个完整的实现过程。真希望能够达到楼主这种水平!向楼主学习!致敬!谢谢!顶
--  作者:enyaxp
--  发布时间:1/14/2008 5:47:00 PM

--  
多谢。
我近期正在重新构建这个协议栈,还往您继续关注。
--  作者:linguoheng1234
--  发布时间:1/22/2008 11:26:00 PM

--  
谢谢,,,我在学习中了
--  作者:dolphinhr
--  发布时间:2/29/2008 11:47:00 AM

--  
很不错,谢谢楼主啦。只是那个答辩的ppt解压不成功啊
--  作者:enyaxp
--  发布时间:3/1/2008 2:51:00 PM

--  

2) 如果有多个RAR文件(ZIP文件类似)要下载,请在下载各个文件时按照上传者的上传顺序,依次把这些文件命名为1.rar、2.rar、3.rar依次类推,所有文件下载完成后,解压1.rar即可。

看来还是有很多人不会如何解压分段压缩文件呀。

我再传个吧.

答辩PPT:


以下是引用dolphinhr在2008-2-29 11:47:00的发言:
很不错,谢谢楼主啦。只是那个答辩的ppt解压不成功啊


--  作者:lubin59
--  发布时间:3/6/2008 4:32:00 PM

--  
楼主真不错,不过好像这个里面有些代码没有完成嘛
--  作者:enyaxp
--  发布时间:3/6/2008 4:44:00 PM

--  

您好。

里面确实有很多代码没有完成,因为当时没能够设计一个很好的开发框架,所以放弃了继续开发而转向架构的重新设计。

从使用角度来讲这个协议栈是很失败的,只限于入门,如果您对我现在正在改良的协议栈感兴趣的活可以联系我或到"XML 与 移动嵌入式开发"版上发帖,我很乐意和您一起继续深入讨论。

以下是引用lubin59在2008-3-6 16:32:00的发言:
楼主真不错,不过好像这个里面有些代码没有完成嘛


--  作者:shijp74
--  发布时间:3/29/2008 3:58:00 PM

--  
up
--  作者:zlei12
--  发布时间:4/18/2008 10:05:00 PM

--  
我对SIP协议栈的实现挺感兴趣的,但刚入门,特别关注开源技术。请教几个问题:
1) SIP协议解析(parser)部分,你是自己写的,还是利用开源代码?原来osip库好像运用挺多,但是发现opensipstack采用C++写的,似乎更易使用,JPSIP则文档比较全。由于我的应用领域偏向服务器端应用,请对协议解析实现提供建议;
2) Transcation层的状态机在RFC中定义非常明确,正如你提到的模式,目前尚未找到采用State模式等方式清晰的实现且与Transaction User层的关系千丝万缕,看不太懂。就你的理解,Transaction层是否很固定? 如何与Transaction User层保持相对独立?
3) 也许有自定义SIP消息流的需求,是否只需要在Transaction User层实现即可,而与Transaction层无关?
4) 对于呼叫转移、呼叫保持、三方会话等高级呼叫控制功能,是否有标准的SIP消息流定义? 哪里能找到相关资料? RFC 3261中未提及;
5) 如果要和其他的SIP服务器互通并提供增值功能,是否必须自行实现Proxy/Register功能?

谢谢!


--  作者:shifuture
--  发布时间:5/12/2008 11:55:00 AM

--  
很不错.
--  作者:mingfeng10128
--  发布时间:5/14/2008 10:47:00 AM

--  
进行SIP的研究,想了解这方面的信息!谢谢了
--  作者:dellinbcg
--  发布时间:6/13/2008 11:55:00 AM

--  
刚开始学习sip,谢谢楼主了。
--  作者:shifuture
--  发布时间:6/26/2008 8:34:00 AM

--  
学习了.:)
--  作者:donneyming
--  发布时间:2/14/2009 10:34:00 AM

--  
好东东哦
--  作者:mariayliu
--  发布时间:5/18/2009 2:11:00 PM

--  
谢谢,非常感谢
--  作者:zxsqi
--  发布时间:5/28/2010 3:56:00 PM

--  
谢谢了,我刚刚开始学习sip。。
--  作者:haiqingchu@163.com
--  发布时间:10/31/2010 10:22:00 PM

--  
学习中,感谢楼主
--  作者:siburenzhanghuche
--  发布时间:12/27/2010 3:46:00 PM

--  
优化的结果如何?
--  作者:xinsheng120
--  发布时间:3/23/2011 9:26:00 AM

--  
看过了 写的确实很牛啊 很有参考意义 谢谢
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
23,265.630ms