Abstract: A computerized method of optimizing audio quality in a voice stream between a sender and a receiver VoIP applications, comprising: defining by the receiver time intervals; determining by the receiver at the end of each time interval whether congestion exists, by calculating (i) one-way-delay and (ii) trend, using double-exponential smoothing; estimating by the receiver a bandwidth available to the sender based on said calculation; sending said estimated bandwidth by the receiver to the sender; and using by the sender said bandwidth estimate as maximum allowed send rate.
Abstract: A computerized method of optimizing audio quality in a voice stream between a sender and a receiver VoIP applications, comprising: defining by the receiver time intervals; determining by the receiver at the end of each time interval whether congestion exists, by calculating (i) one-way-delay and (ii) trend, using double-exponential smoothing; estimating by the receiver a bandwidth available to the sender based on said calculation; sending said estimated bandwidth by the receiver to the sender; and using by the sender said bandwidth estimate as maximum allowed send rate.
Abstract: A method of communication between users' electronic communication devices connected to a network via NAT devices, comprising: sending a call request to a signaling server, locating a relay server IP address, sending the call request and the relay server IP address to the receiving device, sending the relay server IP address to the calling device, starting communication via the relay server and following said communication start: identifying and reporting by the devices' public and private addresses, establishing connectivity between the devices and continuing the communication in a peer-to-peer mode.