Hi Tiger,
this issue is because of client_port parameter in the RTSP
negothiation is being changed by server, or most probably by firewall.

If you see, client is sending SETUP's declaring a couple of client
ports to receive RTP traffic and RTCP traffic.
But those ports are not being accepted by server or maybe by NAT/
Firewall, which may have a logic to remap this parameter in the Reply
from server.
Please note that this behavior is not compliant to RFC 2326 which
states that there is no reason for which Server should change client
declared ports.

I have experienced such issues and in most of the cases it was caused
by carrier network firewall policies, which was remapping such ports.
On other carriers, or in same carrier (but with different apn profile)
I was able to do streaming on same links and server was always
accepting client ports in the SETUP.

Since Client declares a set of ports, it also acts to open such ports
to receive UDP streams on them. Anyway, such streams are routed to
different ports, causing the client behave as in case of data
starvation.

Thanks a lot,
Gianluca

On 14 Mar, 02:23, tiger <[email protected]> wrote:
> Hi,
>
> I have encountered such astreamingissue in China.
>
> Per G1 phone's test, if we connect it at site A by EGPRS, it work fine
> forRTSPstreaming. but  when we change it to site B in the same city,
> it will not work. Playback can contine but no any audio/video can be
> hear/display.
>
> According to the ethereal log, UDP packet has can be sent out from
> handset but no any UDP pacet can be received from server. I think it
> should be aNATpoke packet issue.
>
> From the log,RTSPsession works fine:
>
> ========================================================
> OPTIONSrtsp://wwan.rtsp-youtube.l.google.com/CkYLENy73wIaPQlvsvVug2kxVxMYDSANFEIJbXYtZ29vZ2xlSARSBWluZGV4Wg5DbGlja1RodW1ibmFpbGC35oDJ0qrPo30M/0/0/0/video.3gpRTSP/1.0
> CSeq: 0
> User-Agent: PVCore/05.02.00.00 PVPlayer/6.18 (Linux; Android; NJ)
> ClientChallenge: 9e26d33f2984236010ef6253fb1887f7
> PlayerStarttime: [28/03/2003:22:50:23 00:00]
> CompanyID: KnKV4M4I/B2FjJ1TToLycw==
> GUID: 00000000-0000-0000-0000-000000000000
>
> DESCRIBErtsp://wwan.rtsp-youtube.l.google.com/CkYLENy73wIaPQlvsvVug2kxVxMYDSANFEIJbXYtZ29vZ2xlSARSBWluZGV4Wg5DbGlja1RodW1ibmFpbGC35oDJ0qrPo30M/0/0/0/video.3gpRTSP/1.0
> CSeq: 1
> User-Agent: PVCore/05.02.00.00 PVPlayer/6.18 (Linux; Android; NJ)
> Accept: application/sdp
> Accept-Encoding:
>
> RTSP/1.0 200 OK
> Public: DESCRIBE, GET_PARAMETER, OPTIONS, PAUSE, PLAY, SETUP,
> SET_PARAMETER, TEARDOWN
> CSeq: 0
> Server: GoogleRTSP1.0
>
> RTSP/1.0 200 OK
> Content-Type: application/sdp
> Cache-Control: must-revalidate
> Date: Wed, 11 Mar 2009 06:10:20 GMT
> Expires: Wed, 11 Mar 2009 06:10:20 GMT
> Last-Modified: Wed, 11 Mar 2009 06:10:20 GMT
> Content-Base:rtsp://wwan.rtsp-youtube.l.google.com/CkILENy73wIaOQlvsvVug2kxVxMYDSANFEIJbXYtZ29vZ2xlSARSBWluZGV4Wg5DbGlja1RodW1ibmFpbGC35oDJAgw=/0/0/0/video.3gp/
> CSeq: 1
> Server: GoogleRTSP1.0
> Content-Length: 406
>
> v=0
> o=GoogleStreamer 727278696 1107581098 IN IP4 209.85.229.177
> s=Video
> c=IN IP4 0.0.0.0
> b=AS:61
> t=0 0
> a=control:*
> a=range:npt=0-555.133000
> m=video 0 RTP/AVP 98
> b=AS:49
> a=rtpmap:98 H263-2000/90000
> a=control:trackID=0
> a=cliprect:0,0,144,176
> a=framesize:98 176-144
> a=fmtp:98 profile=0;level=10
> m=audio 0 RTP/AVP 99
> b=AS:12
> a=rtpmap:99 AMR/8000/1
> a=control:trackID=1
> a=fmtp:99 octet-align
> SETUPrtsp://wwan.rtsp-youtube.l.google.com/CkILENy73wIaOQlvsvVug2kxVxMYDSANFEIJbXYtZ29vZ2xlSARSBWluZGV4Wg5DbGlja1RodW1ibmFpbGC35oDJAgw=/0/0/0/video.3gp/trackID=0RTSP/1.0
> CSeq: 2
> User-Agent: PVCore/05.02.00.00 PVPlayer/6.18 (Linux; Android; NJ)
> Transport: RTP/AVP/UDP;unicast;client_port=16344-16345
> Blocksize: 1400
>
> RTSP/1.0 200 OK
> Session: 47ba03fd;timeout=90
> Transport: RTP/
> AVP;unicast;mode=play;client_port=36064-36065;server_port=10580-10581;source=209.85.229.177;ssrc=59EAD27E
> Cache-Control: must-revalidate
> Date: Wed, 11 Mar 2009 06:10:22 GMT
> Expires: Wed, 11 Mar 2009 06:10:22 GMT
> Last-Modified: Wed, 11 Mar 2009 06:10:22 GMT
> CSeq: 2
> Server: GoogleRTSP1.0
>
> SETUPrtsp://wwan.rtsp-youtube.l.google.com/CkILENy73wIaOQlvsvVug2kxVxMYDSANFEIJbXYtZ29vZ2xlSARSBWluZGV4Wg5DbGlja1RodW1ibmFpbGC35oDJAgw=/0/0/0/video.3gp/trackID=1RTSP/1.0
> CSeq: 3
> Session: 47ba03fd
> User-Agent: PVCore/05.02.00.00 PVPlayer/6.18 (Linux; Android; NJ)
> Transport: RTP/AVP/UDP;unicast;client_port=16346-16347
> Blocksize: 1400
>
> RTSP/1.0 200 OK
> Session: 47ba03fd;timeout=90
> Transport: RTP/
> AVP;unicast;mode=play;client_port=36066-36067;server_port=10580-10581;source=209.85.229.177;ssrc=47A1BDF6
> Cache-Control: must-revalidate
> Date: Wed, 11 Mar 2009 06:10:23 GMT
> Expires: Wed, 11 Mar 2009 06:10:23 GMT
> Last-Modified: Wed, 11 Mar 2009 06:10:23 GMT
> CSeq: 3
> Server: GoogleRTSP1.0
>
> PLAYrtsp://wwan.rtsp-youtube.l.google.com/CkILENy73wIaOQlvsvVug2kxVxMYDSANFEIJbXYtZ29vZ2xlSARSBWluZGV4Wg5DbGlja1RodW1ibmFpbGC35oDJAgw=/0/0/0/video.3gpRTSP/1.0
> CSeq: 4
> Session: 47ba03fd
> User-Agent: PVCore/05.02.00.00 PVPlayer/6.18 (Linux; Android; NJ)
> Range: npt=0.000-555.133
>
> RTSP/1.0 200 OK
> Session: 47ba03fd;timeout=90
> Range: npt=0.000-555.133
> RTP-Info: url=rtsp://wwan.rtsp-youtube.l.google.com/
> CkILENy73wIaOQlvsvVug2kxVxMYDSANFEIJbXYtZ29vZ2xlSARSBWluZGV4Wg5DbGlja1RodW1ibmFpbGC35oDJAgw=/
> 0/0/0/video.3gp/trackID=0;seq=65476;rtptime=495184243,url=rtsp://
> wwan.rtsp-youtube.l.google.com/
> CkILENy73wIaOQlvsvVug2kxVxMYDSANFEIJbXYtZ29vZ2xlSARSBWluZGV4Wg5DbGlja1RodW1ibmFpbGC35oDJAgw=/
> 0/0/0/video.3gp/trackID=1;seq=55383;rtptime=1062456782
> CSeq: 4
> Server: GoogleRTSP1.0
>
> TEARDOWNrtsp://wwan.rtsp-youtube.l.google.com/CkILENy73wIaOQlvsvVug2kxVxMYDSANFEIJbXYtZ29vZ2xlSARSBWluZGV4Wg5DbGlja1RodW1ibmFpbGC35oDJAgw=/0/0/0/video.3gpRTSP/1.0
> CSeq: 5
> Session: 47ba03fd
> Connection: close
> ========================================================
>
> Maybe any m.youtube.com link has such a issue. below link just for
> reference:
>
> rtsp://wwan.rtsp-youtube.l.google.com/CkYLENy73wIaPQlvsvVug2kxVxMYDSANFEIJbXYtZ29vZ2xlSARSBWluZGV4Wg5DbGlja1RodW1ibmFpbGC35oDJ0qrPo30M/0/0/0/video.3gp
>
> After turn off the firewall packet, the link can work fine. but at
> some other place, we really need turn on the firewall packet. So I
> think it's really necessary for opencore to add a dynamical mechanism
> to decide send such a packet or not.
>
> BRs
> tiger
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"android-framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to