|
List Info
Thread: CR: Fix for packet drops if src address is different from RTSP server address.
|
|
| CR: Fix for packet drops if src address
is different from RTSP server address. |

|
2008-04-20 10:56:19 |
|
|
| RE: CR: Fix for packet drops if src
address is differentfrom RTSP server
address. |
  United States |
2008-04-21 08:21:57 |
Looks good.
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: protocol-dev-bounces helixcommunity.org
> [mailto:protocol-dev-bounces helixcommunity.org] On
Behalf Of
> rajesh.rathinasamy nokia.com
> Sent: Sunday, April 20, 2008 11:56 AM
> To: protocol-dev helixcommunity.org
> Subject: [Protocol-dev] CR: Fix for packet drops if src
> address is differentfrom RTSP server address.
>
>
>
> "Nokia submits this code under the terms of a
> commercial contribution agreement with RealNetworks,
and I am
> authorized to contribute this code under said
agreement."
>
> Modified by: rajesh.rathinasamy nokia.com
>
> Reviewed by:
>
> Date: 20-Apr-2008
>
> Project: SymbianMmf_rel
>
> ErrorId: AMAI-7DR6D5
>
> Synopsis: CR: Fix for packet drops if src address is
> different from RTSP server address.
>
> Some server setup could result in Media data
> transmitted from different ip than the connected RTSP
server.
> RTSP Client session drops the packets if it is from
> source other than RTSP server.
>
> The source address is informed to the client via
> "Source" header on setup response. Added
additional check to
> see if source address is sent.
>
> If source address is sent on setup response, client
> will use that else it will use the rtsp server address.
>
> Limitation:
> If streams are coming from different ip address (like
> strm 1 from ip1 and strm 2 from ip2), some stream's
packets
> could be dropped as the peer address check is done from
> rtspclient session.
>
> Ideal solution would be to query peer address from
each
> transport and make the validation.
> This is a rare server setup case and considering the
> schedule, this is not handled now.
>
> Root Cause of the problem: Implementation
>
> Files Modified:
> ===========
> protocolrtsprtspclnt.cpp
>
> Image Size and Heap Use impact: no major impact
>
> Module Release testing (STIF) : Passed. (Streaming
> only, no impact on local)
>
> Test case(s) Added : No.
>
> Memory leak check performed : Yes, No new leaks
introduced
>
> Platforms and Profiles Build Verified:
> helix-client-s60-32-mmf-mdf-arm
>
> Platforms and Profiles Functionality verified: armv5,
winscw
>
> Branch: 221Cays, 210CayS, Head
>
>
> Index: rtspclnt.cpp
>
>
============================================================
=======
> RCS file: /cvsroot/protocol/rtsp/rtspclnt.cpp,v
> retrieving revision 1.182.2.25.2.1
> diff -w -u -b -r1.182.2.25.2.1 rtspclnt.cpp
> --- rtspclnt.cpp 7 Mar 2008 20:03:49 -0000
> 1.182.2.25.2.1
> +++ rtspclnt.cpp 20 Apr 2008 15:21:53 -0000
>  -6276,9 +6276,19 
>
> if (pTrans)
> {
> - // make sure the unicast packets received
> are coming from the same server
> - // we are connecting to
> - if
((pSource->IsEqualAddr(m_pConnectAddr))
> || bMCastPort)
> + // make sure the unicast packets received
> are coming from the server
> + // sent in source field of setup
response.
> If source field is not mentioned,
> + // from addr shall be validated against
> connected addr
> + //
> + // Please note that if source ip is
> different for diff streams, then
> + // the packets could be dropped for some
streams.
> + //
> + // TODO: Move the check for peer address
> inside the transport ( OR )
> + // Obtain the peer address from the
> respective transport here.
> + //
> + if ( ( (m_pPeerAddr != NULL) &&
> pSource->IsEqualAddr(m_pPeerAddr) ) ||
> + ( (m_pConnectAddr != NULL)
&&
> pSource->IsEqualAddr(m_pConnectAddr) ) ||
> + (bMCastPort) )
> {
> ReportSuccessfulTransport();
>
>  -6296,6 +6306,10 
> }
> }
> }
> + else
> + {
> + HXLOGL2(HXLOG_RTSP,
> "RTSPClientProtocol[%p]::handleSetupResponseExt():
Src
> address mismatch", this );
> + }
> }
> else
> {
>
>
_______________________________________________
Protocol-dev mailing list
Protocol-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/pr
otocol-dev
|
|
| RE: CR: Fix for packet drops if src
address is differentfrom RTSP server
address. |

|
2008-04-21 13:54:03 |
Thanks Eric !
The changes have been checked into Head, 210CayS, 221CayS.
- Rajesh.
>-----Original Message-----
>From: ext Eric Hyche [mailto:ehyche real.com]
>Sent: Monday, April 21, 2008 8:22 AM
>To: Rathinasamy Rajesh (Nokia-D-MSW/Dallas);
>protocol-dev helixcommunity.org
>Subject: RE: [Protocol-dev] CR: Fix for packet drops if
src
>address is differentfrom RTSP server address.
>
>
>Looks good.
>
>=============================================
>Eric Hyche (ehyche real.com)
>Technical Lead
>RealNetworks, Inc.
>
>> -----Original Message-----
>> From: protocol-dev-bounces helixcommunity.org
>> [mailto:protocol-dev-bounces helixcommunity.org] On
Behalf Of
>> rajesh.rathinasamy nokia.com
>> Sent: Sunday, April 20, 2008 11:56 AM
>> To: protocol-dev helixcommunity.org
>> Subject: [Protocol-dev] CR: Fix for packet drops if
src address is
>> differentfrom RTSP server address.
>>
>>
>>
>> "Nokia submits this code under the terms of a
>commercial contribution
>> agreement with RealNetworks, and I am authorized to
contribute this
>> code under said agreement."
>>
>> Modified by: rajesh.rathinasamy nokia.com
>>
>> Reviewed by:
>>
>> Date: 20-Apr-2008
>>
>> Project: SymbianMmf_rel
>>
>> ErrorId: AMAI-7DR6D5
>>
>> Synopsis: CR: Fix for packet drops if src address
is
>different from
>> RTSP server address.
>>
>> Some server setup could result in Media data
transmitted from
>> different ip than the connected RTSP server.
>> RTSP Client session drops the packets if it is
from
>source other than
>> RTSP server.
>>
>> The source address is informed to the client via
>"Source" header on
>> setup response. Added additional check to see if
source address is
>> sent.
>>
>> If source address is sent on setup response,
client
>will use that
>> else it will use the rtsp server address.
>>
>> Limitation:
>> If streams are coming from different ip address
(like
>strm 1 from ip1
>> and strm 2 from ip2), some stream's packets could
be dropped as the
>> peer address check is done from rtspclient
session.
>>
>> Ideal solution would be to query peer address from
each
>transport and
>> make the validation.
>> This is a rare server setup case and considering
the
>schedule, this
>> is not handled now.
>>
>> Root Cause of the problem: Implementation
>>
>> Files Modified:
>> ===========
>> protocolrtsprtspclnt.cpp
>>
>> Image Size and Heap Use impact: no major impact
>>
>> Module Release testing (STIF) : Passed.
(Streaming
>only, no impact
>> on local)
>>
>> Test case(s) Added : No.
>>
>> Memory leak check performed : Yes, No new leaks
introduced
>>
>> Platforms and Profiles Build Verified:
>> helix-client-s60-32-mmf-mdf-arm
>>
>> Platforms and Profiles Functionality verified:
armv5, winscw
>>
>> Branch: 221Cays, 210CayS, Head
>>
>>
>> Index: rtspclnt.cpp
>>
>>
============================================================
=======
>> RCS file: /cvsroot/protocol/rtsp/rtspclnt.cpp,v
>> retrieving revision 1.182.2.25.2.1
>> diff -w -u -b -r1.182.2.25.2.1 rtspclnt.cpp
>> --- rtspclnt.cpp 7 Mar 2008 20:03:49 -0000
>> 1.182.2.25.2.1
>> +++ rtspclnt.cpp 20 Apr 2008 15:21:53 -0000
>>  -6276,9 +6276,19 
>>
>> if (pTrans)
>> {
>> - // make sure the unicast packets
received
>> are coming from the same server
>> - // we are connecting to
>> - if
((pSource->IsEqualAddr(m_pConnectAddr))
>> || bMCastPort)
>> + // make sure the unicast packets
received
>> are coming from the server
>> + // sent in source field of setup
response.
>> If source field is not mentioned,
>> + // from addr shall be validated
against
>> connected addr
>> + //
>> + // Please note that if source ip is
>> different for diff streams, then
>> + // the packets could be dropped for
some streams.
>> + //
>> + // TODO: Move the check for peer
address
>> inside the transport ( OR )
>> + // Obtain the peer address from
the
>> respective transport here.
>> + //
>> + if ( ( (m_pPeerAddr != NULL)
&&
>> pSource->IsEqualAddr(m_pPeerAddr) ) ||
>> + ( (m_pConnectAddr != NULL)
&&
>> pSource->IsEqualAddr(m_pConnectAddr) ) ||
>> + (bMCastPort) )
>> {
>> ReportSuccessfulTransport();
>>
>>  -6296,6 +6306,10 
>> }
>> }
>> }
>> + else
>> + {
>> + HXLOGL2(HXLOG_RTSP,
>>
"RTSPClientProtocol[%p]::handleSetupResponseExt(): Src
address
>> mismatch", this );
>> + }
>> }
>> else
>> {
>>
>>
>
>
_______________________________________________
Protocol-dev mailing list
Protocol-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/pr
otocol-dev
|
|
| RE: CR: Fix for packet drops if src
address is differentfrom RTSP server
address. |
  United States |
2008-04-21 14:24:05 |
|
Cheers,
Rishi.
At 11:54 AM 4/21/2008, rajesh.rathinasamy nokia.com wrote:
Thanks Eric !
The changes have been checked into Head, 210CayS, 221CayS.
- Rajesh.
>-----Original Message-----
>From: ext Eric Hyche
[ ehyche real.com" eudora="autourl">
mailto:ehyche real.com]
>Sent: Monday, April 21, 2008 8:22 AM
>To: Rathinasamy Rajesh (Nokia-D-MSW/Dallas);
>protocol-dev helixcommunity.org
>Subject: RE: [Protocol-dev] CR: Fix for packet drops if src
>address is differentfrom RTSP server address.
>
>
>Looks good.
>
>=============================================
>Eric Hyche (ehyche real.com)
>Technical Lead
>RealNetworks, Inc.
>
>> -----Original Message-----
>> From: protocol-dev-bounces helixcommunity.org
>>
[ protocol-dev-bounces helixcommunity.org" eudora="autourl">
mailto:protocol-dev-bounces helixcommunity.org] On Behalf Of
>> rajesh.rathinasamy nokia.com
>> Sent: Sunday, April 20, 2008 11:56 AM
>> To: protocol-dev helixcommunity.org
>> Subject: [Protocol-dev] CR: Fix for packet drops if src address
is
>> differentfrom RTSP server address.
>>
>>
>>
>> "Nokia submits
this code under the terms of a
>commercial contribution
>> agreement with RealNetworks, and I am authorized to contribute
this
>> code under said agreement."
>>
>> Modified by:
rajesh.rathinasamy nokia.com
>>
>> Reviewed by:
>>
>> Date:
20-Apr-2008
>>
>> Project:
SymbianMmf_rel
>>
>> ErrorId:
AMAI-7DR6D5
>>
>> Synopsis: CR: Fix
for packet drops if src address is
>different from
>> RTSP server address.
>>
>> Some server setup
could result in Media data transmitted from
>> different ip than the connected RTSP server.
>> RTSP Client session
drops the packets if it is from
>source other than
>> RTSP server.
>>
>> The source address
is informed to the client via
>"Source" header on
>> setup response. Added additional check to see if source address
is
>> sent.
>>
>> If source address
is sent on setup response, client
>will use that
>> else it will use the rtsp server address.
>>
>> Limitation:
>> If streams are
coming from different ip address (like
>strm 1 from ip1
>> and strm 2 from ip2), some stream's packets could be dropped as
the
>> peer address check is done from rtspclient session.
>>
>> Ideal solution
would be to query peer address from each
>transport and
>> make the validation.
>> This is a rare
server setup case and considering the
>schedule, this
>> is not handled now.
>>
>> Root Cause of the
problem: Implementation
>>
>> Files Modified:
>> ===========
>>
protocolrtsprtspclnt.cpp
>>
>> Image Size and Heap
Use impact: no major impact
>>
>> Module Release
testing (STIF) : Passed. (Streaming
>only, no impact
>> on local)
>>
>> Test case(s)
Added : No.
>>
>> Memory leak check
performed : Yes, No new leaks introduced
>>
>> Platforms and
Profiles Build Verified:
>> helix-client-s60-32-mmf-mdf-arm
>>
>> Platforms and
Profiles Functionality verified: armv5, winscw
>>
>> Branch: 221Cays,
210CayS, Head
>>
>>
>> Index:
rtspclnt.cpp
>>
>>
===================================================================
>> RCS file:
/cvsroot/protocol/rtsp/rtspclnt.cpp,v
>> retrieving revision
1.182.2.25.2.1
>> diff -w -u -b
-r1.182.2.25.2.1 rtspclnt.cpp | |