RE: [reSIProcate] onConnected received and processed before 200OK sent
- From: "Derek MacDonald" <derek@xxxxxxxx>
- Date: Thu, 30 Jun 2005 15:32:07 -0700
Sending media at the same time or slightly before the 200 is normal. The
uac will already be ready to receive media as it described in its offer.
--Derek
CONFIDENTIALITY NOTICE
This email and any files transmitted with it contains proprietary
information and, unless expressly stated otherwise, all contents and
attachments are confidential. This email is intended for the addressee(s)
only and access by anyone else is unauthorized. If you are not an addressee,
any disclosure, distribution, printing or copying of the contents of this
email or its attachments, or any action taken in reliance on it, is
unauthorized and may be unlawful. If you are not an addressee, please inform
the sender immediately and then delete this email and any copies of it.
Thank you for your co-operation.
> -----Original Message-----
> From: resiprocate-devel-bounces@xxxxxxxxxxxxxxxxxxx [mailto:resiprocate-
> devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Justin Matthews
> Sent: Thursday, June 30, 2005 1:46 PM
> To: resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [reSIProcate] onConnected received and processed before 200OK
> sent
>
> Hi,
>
> I am seeing a problem where my app is receiving the onConnected callback
> and
> starting to play voice to the UAC before the UAC receives a 200Ok and
> sends
> an ACK. This happens under load where my app can process the onConnected
> and stream media before resip can send a 200Ok.
>
> In the following code from ServerInviteSession.hxx it looks like the
> onConnected before was changed to not call this handler when an ACK is
> received. What is the reasoning behind this? Should onConnected be
> called
> once the ACK is received? Would another handler work here ("onAck")?
>
> void
> ServerInviteSession::dispatchAccepted(const SipMessage& msg)
> {
> InviteSessionHandler* handler = mDum.mInviteSessionHandler;
> std::auto_ptr<SdpContents> sdp = InviteSession::getSdp(msg);
> InfoLog (<< "dispatchAccepted: " << msg.brief());
>
> switch (toEvent(msg, sdp.get()))
> {
> case OnAck:
> {
> mCurrentRetransmit200 = 0; // stop the 200 retransmit timer
> transition(Connected);
> // handler->onConnected(getSessionHandle(), msg); // not needed
> since onConnected is called when 200 is sent
> break;
> }
>
>
> Thanks,
>
> -Justin
>
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel