On 21.10.10 10:35, Антон Загорский wrote:
-----Original Message-----
From: Антон Загорский [mailto:[email protected]]
Sent: Wednesday, October 20, 2010 4:54 PM
To: '[email protected]'
Subject: transfering RTP

Hello!

Could you please explain me how to transfer RTP stream to another UA in
AmSession?
I have UA1<--(SIP + RTP) -->  SEMS<-- (SIP + RTP) -->  UA2,
and I want to make UA1<-- (SIP) -->  SEMS<-- (SIP) -->  UA2 with UA1<-
- (RTP) -->  UA2.

Now I'm doing this the following way
setMute(true);
RTPStream->close();
sdp.genResponse(..);
dlg.reinvite(..);


Will this completely close/destroy RTP stream in an AmSession class?

As far as I could see, there is no possibility of really "closing" the stream. But you should at least remove it from the media processor to prevent it to receive and send anything. This will remove the stream from the media processor:

AmMediaProcessor::instance()->removeSession(this);


Also, You should not generate the SDP yourself (see sdp.genResponse()). Instead, you should let the end-point re-negotiate the session.

But you are right, we need something that would remove the session and de-allocate the stream, so that the RTP port can be re-used faster. Having a new function in AmB2BSession for connecting the RTP stream to SEMS or unconnecting it within a B2B session would ease your scenario a lot.

Cheers,
Raphael.
_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems

Reply via email to