[Live-devel] issue with a streaming server having multiple network interfaces

Ross Finlayson finlayson at live555.com
Tue Nov 13 22:32:57 PST 2007


>Ross Finlayson wrote:
>
>>>I have tried it (I am having problems with a multiple-interface
>>>machine). It seems to get halfway there: We now compute the
>>>Content-Base URL appropriately (and source= element in the RTSP
>>>SETUP reply [though the o= line of the SDP still has a different IP
>>>address. This may be appropriate, I don't have a clear idea of how
>>>it is used, if at all.]. However, the RTP and RTCP packets come from
>>>the "wrong" IP address, i.e. not necessarily the IP address of the
>>>interface that the connection was made to.
>>>
>>>It seems that some firewalls block all of the UDP traffic under
>>>these circumstances. The UDP sockets need to be bound to the
>>>appropriate interface, rather than INADDR_ANY, to ensure that they
>>>come from the correct IP address.
>>>    
>>>
>>
>>You can do this by modifying your code to set
>>"ReceivingInterfaceAddr" at the start.
>>
>>
>The problem is that I want to be able to accept RTSP connections 
>from *all* of the interfaces. So the UDP sockets need to be bound on 
>a per-connection basis, depending on what interface the RTSP came in 
>on. If I understand correctly, ReceivingInterfaceAddr is a static 
>global, so it would set the interface once and for all.


Mumble... I suppose you could set it each time, just before creating 
each RTP sink object.  E.g., you could do this in your 
"createNewRTPSink()" virtual function (in your "ServerMediaSession" 
subclass), before you actually create the RTP sink.

-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.live555.com/pipermail/live-devel/attachments/20071113/965eb4cf/attachment.html 


More information about the live-devel mailing list