RFC5626 non-standard behaviour

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

 



Thank you very much for the info Benny.

I think the problematic points for interoperability are 3 (should set Flow-Timer header received from server) and 4 (because server will receive less keepalives than expected and could consider the connection as failed).  I'll probably try to implement then and send a patch for your consideration.

I tried to use pjsip_endpt_send_raw_to_uri and got an assertion fail in os_core_unix.c Ln 1256:
 pj_assert(mutex->owner == pj_thread_this());

Any idea of what is the problem?

G.

________________________________________
From: pjsip-bounces@xxxxxxxxxxxxxxx [pjsip-bounces at lists.pjsip.org] On Behalf Of Benny Prijono [bennylp at teluu.com]
Sent: Tuesday, October 04, 2011 12:41 PM
To: pjsip list
Subject: Re: RFC5626 non-standard behaviour

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.
>

_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip at lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Este mensaje se dirige exclusivamente a su destinatario. Puede consultar nuestra pol?tica de env?o y recepci?n de correo electr?nico en el enlace situado m?s abajo.
This message is intended exclusively for its addressee. We only send and receive email on the basis of the terms set out at.
http://www.tid.es/ES/PAGINAS/disclaimer.aspx


[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