Tilghman Lesher wrote:

On Sunday 13 May 2007, Kevin P. Fleming wrote:
Vadim Lebedev wrote:
I beleive you are mistaken,  the pipe syscals creates 2 file
descirptors, one for reading other for writing....
so in worst case you need 2 pipes meaning 4 fds
so first you splice to a write side of first pipe from a socket, then
optioanlly in case of montiored stream
tee form read side of the first pipe to the write side of the second
pipe, then splice from write side of the first pipe to the target socket,
then read from the read side of the second pipe
to perfrom monitoring
You just validated my point. A single bridge connecting two sockets
requires two pipes, one for each direction between the sockets. This
turns the '2 fds required' for a bridge into _6_ fds.

In addition, this only works in the cases where the media streams are
completely compatible, including dynamic RTP format number assignments,
frame lengths and other variables.

Josh also brought up a valid point on IRC.  How exactly are we to direct
packets to the destination IP address?  Keep in mind that RTP is UDP
and thus there is no specific destination with respect to the socket.  If this
were TCP, it would work fine, but with UDP, there is no connection.

Actually you can use 'connect' syscall on udp socket, and then 'write', and 'send' syscalls will use destination address
used in connect. I magin the 'splice' and 'tee' will behave same way

Thanks
Vadim


_______________________________________________
--Bandwidth and Colocation provided by Easynews.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to