统计 |
blog名称:人在旅途 日志总数:175 评论数量:505 留言数量:13 访问次数:1661423 建立时间:2005年12月7日 |
生命是过客,人在旅途。奶奶是信基督教的,没啥文化,却养育了四子二女,还带过九个孙辈。老人家对生命的看法就是“人都是客人,迟早要回去的。”就以《人在旅途》来纪念她。

« | July 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | |
|
公告 |
本人上传的源程序中可能引用或使用了第三方的库或程序,也可能是修改了第三方的例程甚至是源程序.所以本人上传的源程序禁止在以单纯学习为目的的任何以外场合使用,不然如果引起任何版权问题,本人不负任何责任. | |

|
本站首页 管理页面 写新日志 退出
调整中...
[SIP技术]mjSip学习笔记 |
人在旅途 发表于 2006/3/13 15:38:48 |
1.URL:http://www.mjsip.org/
2.它也是用JAVA编写的,唯一要求的外部库是客户端使用的JMF(只要安装了JMF就可以了,编译和执行都不用特殊处理).它比SUN的JAIN的STACK简单,而且新,上次RELEASE估计在2005年十月份,所对应的SIP功能也比JAIN多,包括支持REFER等消息格式.它也提供源程序,源程序结构比JAIN简单多了,三个部分:包括SIP的STACK和SIP的SERVER和SIP的客户端.它也有BIN的下载,服务器和客户端配置都很简单,基本上看着配置文件内部说明就可以了.从我看到该网站到学习下栽编译测试和分析LOG基本上不用一天工作时间就完成了.
3.不过它的MAKE文件是GNU的不是ANT的,对NETBEANS来说使用不便,不过由于它结构简单,我很方便的用NETBEANS5.0生成了三个PRJ(STACK,SERVER,UA),再从源程序中拷贝JAVA文件和配置文件到这三个PRJ中,很方便地就再编译和执行成功了.
这三个NETBEANS5.0的PRJ源程序和项目文件在这里:500)this.width=500'>MjSIP.rar(只用于学习,版权问题盖不负责,请去http://www.mjsip.org/查询).
4.它的SERVER缺省运行在STATELESS中,当然也可是STATEFUL的.
5.和JAIN的SAMPLE一样,大概是JMF的缘故它的UA在通话中也有很大的延迟,大约一秒多吧.
6.可惜没有商业开发的免费许可(要购买).
7.测试了下,一次INITE对话大概要用0.2秒多点时间,其他简单的TRANSACTION只要用0.1妙左右.
8.2006年4月13日,发现各致命的错误:
当INVITE或REGISTER等消息因为认证(407,401)而被打回后,再加入了认证HEADER
再送时,消息的BRANCH值仍然和第一次的一样.这样一来就和第一次同一个TRANSACTION了(尽管程序是NEW了个新TRANSACTION,但它是用上次消息经过加工后NEW的,所以BRANCH值仍然是上次旧的),而RFC要求是两个不同的TRANSACTION,这样一来服务器就可能因为新消息仍然属于旧TRANSACTION而拒绝响应.
我在ExtendedInviteDialog.onTransFailureResponse中把旧消息的BRANCH值更新了下(在BaseMessage.refreshBranch()中增加了更新函数),测试了下INVITE或REGISTER的情况,正常.
|
阅读全文(69457) | 回复(52) | 编辑 | 精华 |
回复:mjSip学习笔记 |
acoria(游客)发表评论于2006/3/16 13:56:13 |
是不是通常情况下登陆VOIP输入的密码是没有经过加密的,就是说被抓包之后可以看到密码,如果用https就看到的加密后的密码?
mjsip里的认证就是没有用https的吗?
以下为blog主人的回复:
我说的登入是指SIP的REGISTER消息,RTP好象不要登入的.对RTP流一般不加秘,而是靠SSOCKET(HTTPS)来保证安全(如果需要的话),当然你也可以自己对RTP的流进行加解密,如果做得好的话可以达到SSOCKET的安全性.
|
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除 |
回复:mjSip学习笔记 |
人在旅途发表评论于2006/3/16 12:09:56 |
MySip中有认证功能的,不过我没试过,另外这和其他网站的登入功能一样,密码的加秘很简单的.
srtp我不了解,感觉加秘功能不是SIP和RTP应该做的,那是传输层的事,ssocket和https不好用吗?
|
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除 |
回复:mjSip学习笔记 |
acoria(游客)发表评论于2006/3/16 10:15:46 | 谢谢你的答复!
也就是说sip上的security只能是通过认证实现,那mjSip已经包含了认证功能了吗?
还有,sip的client都无法对rtp packet进行加密吗?我只知道可以用srtp对rtp加密,不知道到底是怎么实现的,那种开源的srtp怎么用?
|
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除 |
回复:mjSip学习笔记 |
人在旅途发表评论于2006/3/16 8:17:21 | security不大熟悉,不过SIP本身不支持高级的security,但支持简单的用户认证,这和WEB上login是一样的,想来严格的security要用https来完成.
还有个JAVA的JAIN的SIP库可用,但JAVA的库用在语音上比较慢.也有很多C++的库和源程序,不过我试了几个都没编译成功,因为它们一般都想支持跨平台的,所以也比较复杂.
|
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除 |
回复:mjSip学习笔记 |
acoria(游客)发表评论于2006/3/15 17:09:56 | 你好,我是偶然发现你的BLOG的,今天我的导师让我在OPEN SOURCE的SIP PHONE基础上添加一点security的功能,我是学硬件的,对软件基本完全不懂,可以请你指点一下方向吗?就是完成这个工作需要学习些什么知识,另外,你可以推荐一个open source吗?
万分感激!
|
个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除 |
|