eyeBeam采用TCP传输的一个BUG

最近在给自己开发的SIP协议栈增加了TCP传输,需要找其他SIP客户端测试。免费的xlite版本只能使用UDP,但专业版eyeBeam可以指定UDP、TCP或TLS。

不知道eyeBeam使用的什么SIP协议栈,TCP存在下面的问题:

由eyeBeam发起呼叫,Invite是用TCP传输的,对端顺着这个连接回100,180,200,这时候eyeBeam应该在这个同样的TCP连接上发送ACK消息,可eyeBeam却用UDP去发送这个ACK消息。

因为通常支持TCP和UDP的SIP服务器,会同时侦听相同的UDP和TCP端口(一般都是5060),UDP返回的ACK也照样能收到,因此这个Bug较难发现。

我是在eyeBeam的log文件发现这个问题,后来搜索到有个老外在几年前在官方论坛上也提出这个问题,但没有人搭理。

我后来安装较新的1.5.20版本的eyeBeam这个bug依然存在。

本程序可以工作在三种模式: 服务器模式,用来监听本地端口,接收外部数据包,并且可以回复自定义数据; 客户端模式,用来连接服务器,发送自定义数据包,并接收远程回复数据; 转发器模式,用来监听本地端口,将接收到的数据包发送给指定的远程服务器,也可以在转发数据流中插入自定义数据向双发发送; 支持发送ascii字符串数据,以及十六进制表示的原始字节,单次发送的字符数目没有限制;收到的数据会同时以这两种形式显示。 sokit TCP/UDP 数据包收发测试(调试)工具(Win32)是一款IP工具客户端应用,用户评价还是不错的。tcp数据包近日推出了1.3版本,修复了若干bug,提升了软件使用的流畅性,加上美观的界面,sokit TCP/UDP 数据包收发测试(调试)工具(Win32)新版一定能给用户带来一个更好的体验。   支持收发日志文件。 支持快捷键操作。   支持中英文用户界面。 支持Windows XP/2000/2003/2008/Vista/7以及Linux系统。 sokit功能特色 1、服务器模式   用来监听本地端口,接收外部数据包,并且可以回复自定义数据 2、客户端模式   用来连接服务器,发送自定义数据包,并接收远程回复数据 3、转发器模式   用来监听本地端口,将接收到的数据包发送给指定的远程服务器,也可以在转发数据流中插入自定义数据向双发发送 4、支持发送ascii字符串数据,以及十六进制表示的原始字节,单次发送的字符数目没有限制 5、收到的数据会同时以这两种形式显示 sokit数据输入格式   发送区的编辑框内的字符会按照ascii值发送(多字节字符按照UTF8编码),如果需要发送十六进制原始数据,请将相应数值的ascii表示放进方括号中。例如:[FF AB CD 12 12],实际发送时会过滤掉方括号本身,以及其中的空格字符。(使用两个连续的 [[ 表示 [ 字符本身) sokit使用方法   1、首先,下载并解压软件,双击“sokit.exe”进入软件主界面。   2、服务器,对网络设置设置,当前连接等进行设置,即可进行TCU/UDP侦听,以及发送数据。   3、转发器,可用于监听本地端口。   4、客户端,用于连接服务器。   5、记事板,能够查看相应的信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值