google-code-export / rtmplite

Automatically exported from code.google.com/p/rtmplite
3 stars 1 forks source link

Error: invalid command deleteStream when destination phone finishes sip session #52

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I have a following configuration:
a web phone with javascript interface based on flash-videoio.
That web phone uses a rtmplite + p2p-sip as rtmp server.

I see an error in rtmp logs when call is finished by destination side

=== Here i recieve BYE from Asterisk SIP server ===

receivedRequest method= BYE ua= <Dialog call-id=895847737@77.108.78.93>  for ua 
with queue
session receivedRequest BYE ua= <Dialog call-id=895847737@77.108.78.93>
sending[340] to ('77.108.78.91', 5060)
SIP/2.0 200 OK
Content-Length: 0
Via: SIP/2.0/UDP 77.108.78.91;branch=z9hG4bKeb7b.e540d067.0
Via: SIP/2.0/UDP 77.108.78.90:5060;branch=z9hG4bK500c4d79
From: <sip:+79201214332@brm-sip.binatel.ru>;tag=as284f4cd4
To: "BEBEBE" <sip:test_asterisk_login@brm-sip.binatel.ru>;tag=14500616787
CSeq: 102 BYE
Call-ID: 895847737@77.108.78.93

sip-bye
sessionhandler exiting
Gateway[34] onClose sip/test_asterisk_login@brm-sip.binatel.ru local
Gateway[34] onStop sip/test_asterisk_login@brm-sip.binatel.ru remote
Gateway[34] onResult <amf._Undefined object at 0xb7e5c9ec>

==== On web side, i catch "byed" event in onCallback function, and detach a 
media streams ===

phoneObject.setProperty('publish', null);
phoneObject.setProperty('play', null);

=== And, i see errors in logs ===

invalid command deleteStream
invalid command deleteStream

==================================

I think, problem is in flashVieoIo.swf, right?
It sends a wrong command to siprtmp...

Really, there are no rtmp_deleteStream command...

What's wrong there?
I have not cleaned session correctly?
Or, no big problems with those error?

Original issue reported on code.google.com by eag...@gmail.com on 18 Aug 2011 at 1:58

GoogleCodeExporter commented 9 years ago
I think this error can be ignored. 

Currently rtmp.py deletes the stream object when onClose or onStop is received, 
and expects that the client will not re-use the same NetStream object. Also, 
Flash-VideoIO creates new NetStream when publish/play is set again. The 
deleteStream command indicates that the server can now delete the stream (and 
re-use the stream id). Since we don't re-use the NetStream object in VideoIO 
anyway, it doesn't matter.

Once I can replicate the error on my setup I will try to fix it.

Original comment by kundan10 on 18 Aug 2011 at 7:29