我想通过使用反向字节顺序来自定义sipdroid客户端。我认为这使得其他VoIP客户端无法解码这些数据。sipdroid数据加密失败
所以我读了SipDroid的代码。我发现RTP数据都会这样说: 1. AudioRecord.read(originalPCM) 2编码(originalPCM,encodedData) 3. rtp_socket.send(rtp_packet)//该encodeData是rtp_packet的数据部分
而另侧是: 1. rtp_receive(rtp_packet) 2.解码(encodeData,PCMData)//的encodeData是rtp_packet的数据部分 3. AudioTrack.write(PCMData)
所以我修改SipdroidSocket类。在send方法中,我在开始处添加以下代码。
byte[] b = pack.getData();
reverse(b);
pack.setData(b);
并在接收方法的末尾添加以下代码。
byte[] b = pack.getData();
reverse(b);
pack.setData(b);
我想这样,两个客户端可以照常工作。但它失败了。我不知道原因。请帮我找出原因。谢谢。
听起来好像您希望数据在发送时被加密,但是颠倒字节顺序不会提供这种保护。 您显示的代码不应该有任何问题。你有没有试过在没有修改的情况下运行这个?在那种情况下,它有效吗? – Flipbed 2013-05-14 09:00:21
我知道倒车的方式不会给数据足够的保护。我只是用这个作为一个尝试。如果有效,我会将reverse()方法更改为加密数据的一种有用方法。 – Fakebear 2013-05-14 09:02:53
如果我删除修改。这两个客户端工作正常。但随着我的修改,只有噪音。我在这两种方法中打印日志。我发现send方法只调用一次,在这个过程中必须有一些数据检查。所以发送不成功。 – Fakebear 2013-05-14 09:05:40