I think I might have answered wrong. I think the spec only allows you to finish the message you're currently processing and then the VERY NEXT one MUST be the pong.
So, the pong must not only be in the queue, it must be IMMEDIATELY NEXT in the queue. -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Attila Sipos Sent: 14 June 2010 08:42 To: Roman Shpount; [email protected] Subject: Re: [Sip-implementors] Implementing RFC 5626 CRLF Keep Alive > > If a pong is not received within 10 seconds after sending a ping (or immediately after processing any incoming message being received when that 10 seconds expires), then the client MUST treat the flow as failed. > > > What does "immediately after processing any incoming message" is supposed to mean? Does it mean that client should receive a a pong message after each incoming message? This makes no sense since getting a message on the flow already indicates that this connection is alive. <Attila> I think it is effectively trying to say that if your receive queue contains the pong message within 10 seconds, then the connection is still ok. So, you might've received it within 10 seconds but you haven't been able to process it yet because you're processing other previously received messages. </Attila> -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Roman Shpount Sent: 11 June 2010 00:48 To: [email protected] Subject: Re: [Sip-implementors] Implementing RFC 5626 CRLF Keep Alive Correction to my previous message: It is section "3.5.1 CRLF Keep-Alive Technique" that I was referring to, not section 4.4.1. _____________________________ Roman Shpount - www.telurix.com On Thu, Jun 10, 2010 at 7:39 PM, Roman Shpount <[email protected]> wrote: > Hi All, > > > I am trying to implement CRLF Keep Alive mechanism from RFC 5626 and > cannot decipher the meaning of the following phrase (from section > 4.4.1) > > > If a pong is not received within 10 seconds after sending a ping (or immediately after processing any incoming message being received when that 10 seconds expires), then the client MUST treat the flow as failed. > > > What does "immediately after processing any incoming message" is supposed to mean? Does it mean that client should receive a a pong message after each incoming message? This makes no sense since getting a message on the flow already indicates that this connection is alive. > > > Another question that I have is which side of the flow is suppose to generate the ping messages? The one that created a TCP connection? Both? > > > Finally, do you know any SIP clients that implemented this RFC, which I can use for interop testing? > > > Thank You, > > _____________________________ > > Roman Shpount - www.telurix.com > _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
