RFC5626 non-standard behaviour

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 29, 2011 at 12:57 PM, Gustavo Garcia Bernardo <ggb at tid.es> wrote:
> Hi,
>
> I'm trying to use pjsip support of RFC5626 for TCP and I found the following inconsistencies with the standard:
>
> 1. PJSIP keepalives are CRLF instead of the recommended CRLFCRLF

I think we do use CRLF-CRLF, it's the PJSIP_TCP_KEEP_ALIVE_DATA setting.

> 2. PJSIP doesn't process the pong response from the server to decide if the connection is broken or not.

That's true. I expect broken connection will be broken i.e. disconnected.

> 3. keep_alive timeout for TCP is always set 90 seconds, and the value of acc.ka_interval in pjsua is only used for UDP

The setting is PJSIP_TCP_KEEP_ALIVE_INTERVAL instead. For stream
oriented transport, keep-alive is done at the transport level and not
pjsua-lib level.

> 4. Any activity on the TCP transport resets the keep_alive timer and it shouldn't

True.

> 5. There are no method to request sending the keepalive from the application layer (this is needed to send keepalives from an iphone app while in background)
>

You can use pjsip_endpt_send_raw_to_uri(), or if you have the
transport pointer you can just send the keep alive data to it using
PJSIP API.

> Do you agree with these issues or did I misunderstand something? ?Are there any plans to implement it according to the spec?
>

We took the pragmatic approach when implementing this, and while few
things may not strictly comply with the RFC, I think it should do the
job. Unless there is a compatibility problem with server, I'd prefer
to keep it simple this way.

Thanks for the feedback!

 Benny


> Thank you,
> G.
>



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux