# networking – Programming

Could you please refer my message and assignment sheet to one of your expert in java networking and

let me know me if he/she could help .
Kind Regards
To the expert
In general , my assignment is about to design, implement and evaluate a VoIP communication system to
operate between two PCs. the assignment is divided into two parts first is design and implement VoIP
communication system and the second part is to write report about your work . In more details in first
part , the teacher gave us three DatagramSocket classes and he want our system work under theses three
condition classes. They are:
1- DatagramSocket
2- DatagramSocket2
3- DatagramSocket3

However, I have done the first one ( which is DatagramSocket ) and it work fine, I can send UDP packet
( my voice from PC’s microphone ) to another PC in the lab .

I have tried to do the same thing with DatagramSocket2 and DatagramSocket3 but they are bad condition
I mean when I send my voice to second PC iIlost most of the packets so I receiving bad voice .
In order for our VoIP system to operate effectively under theses two unknown channel we much first
analyse the packet loss characteristics of the two channels and design optimal system for each
channel.

And there is some way to to repair this packet loss.
One of the best solution is to do Block Interleaver and what I meant by that Packets are loaded into a
dxd block and the block is rotated through 90 degrees to give a new output sequence. For example

Let’s say the original sequence of packets
1, 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
Put it in 4×4 block interleaver so we get
4,8,12,16,3,7,11,15,2,6,10,14,1,5,9,13
Now let say we lost 11,15,2,6 packets When I record my voice from PC one.
4,8,12,16,3,7,11,15,2,6,10,14,1,5,9,13
In PC two we will de- interleave theses sequence so we will received
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
as you can see here
They is gap between these loss packets but without interleaver they may set each other. I will try to
send you do other way but later on !

please see this link as there is one guy telling how to do interleaver in with UDP