|
From: | Simon Morlat |
Subject: | Re: [Linphone-developers] ortp: changing remote party ip/port during one rtp session |
Date: | Fri, 22 May 2009 22:36:32 +0200 |
User-agent: | KMail/1.11.2 (Linux/2.6.29-1-amd64; KDE/4.2.2; x86_64; ; ) |
Le Thursday 21 May 2009 09:39:13 Petr Kuba, vous avez écrit : > Yes, I was also thinking about this possibility but we call > rtp_session_resync() from callback for "ssrc_changed" and > "timestamp_jump" signals. This should be enough, shouldn't it? Yes, this what I use to do. > Petr > > Simon Morlat wrote: > > Hum, what can produce is that the second stream has timestamps totally > > unrelated with first stream. Thus a rtp_session_resync() before > > receiving the second stream could help. > > > > Le Wednesday 20 May 2009 16:46:13 Petr Kuba, vous avez écrit : > > > Hello Aymeric, > > > > > > What do you mean by "specific control"? And where do you use the code > > > below? > > > > > > We need to handle the following scenario in a SIP call: > > > > > > 1) We send INVITE to a PBX. > > > 2) PBX sends RINGING with session description, PBX is our RTP remote > > > address 3) PBX sends OK with session description, called SIP phone is > > > our RTP remote address > > > > > > It means that first in (2) we start receiving RTP from PBX and then in > > > (3) we need to change it and start receiving/sending from the SIP > > > phone we called. > > > > > > In (3) we call rtp_session_set_remote_addr() but then we do not > > > receive any RTP packets from rtp_session_recvm_with_ts(). > > > > > > Of course we use the same port as in (2) but I guess that it is > > > responsibility of ortp to close the socket and open it again. For > > > completeness, we are running on windows. > > > > > > Thanks for help, > > > Petr > > > > > > Aymeric Moizard wrote: > > > > If you are looking for doing some symmetric RTP, there is an API to > > > > allow symmetric RTP to be automatically handled. > > > > > > > > In case, you want specific control, the code below is working for > > > > me: memcpy(&session->rtp.rem_addr, &evt_data->ep->addr, > > > > evt_data->ep->addrlen); > > > > but you have to make sure the socket is not bound to the old > > > > destination. > > > > > > tks, > > > > Aymeric MOIZARD / ANTISIP > > > > amsip - http://www.antisip.com > > > > osip2 - http://www.osip.org > > > > eXosip2 - http://savannah.nongnu.org/projects/exosip/ |
[Prev in Thread] | Current Thread | [Next in Thread] |