[SR-Users] Dialog module's keep-alive feature uses wrong CSeq?

Dmitri Savolainen savolainen at erinaco.ru
Mon Apr 16 13:57:59 CEST 2018


hi

Indeed dialog  OPTIONS are send with wrong CSeq and there is no way to fix
it without patching source.

In docs for dialog module  "If keep alive is enabled for a dialog, the
module will send SIP OPTIONS requests with CSeq lower or equal than last
request within dialog"

Usually Kamailio is used before some media server (asterisk, freeswitch...):
endpoint1 - kamailio ----leg1----   media_server ---leg2---- kamailio -
endpoint2

So if it is your case and you want to check if dialog alive, you may ping
media server instead of pinging remote endpoints:
for leg1: dlg_set_property("ka-dst");
for leg2: dlg_set_property("ka-src");

Of course your media server should support this not inaccurate CSeq
handling. I successfully use it with freeswitch for example (with some
minimal freeswitch tuning)






2018-04-12 23:34 GMT+03:00 Oded Arbel <odeda at cloudonix.io>:

> Hi all.
>
> I'm trying to use the dialog module's keep alive feature (ka_interval()
> and dlg_set_property()), and the documentation (under dlg_set_property)
> says this:
>
> If keep alive is enabled for a dialog, the module will send SIP OPTIONS
> requests with CSeq lower or equal than last request within dialog
>
> This is seems really weird to me, but the problem is worse than that -
> when setting dlg_set_property("ka-src"), the OPTIONS messages sent to the
> caller always have CSeq set to "0", regardless of what CSeq the UA sent on
> its invite.
>
> The problem is that while some UAs respond to these purposefully broken
> messages with some kind of a 5xx reply (for example, Linphone funnily sends
> "500 Internal Server Error"), several UAs don't respond at all. Worse than
> that - some of the UAs that send back 5xx replies to OPTIONS with a
> non-zero but invalid CSeq will completely ignore the OPTIONS keep-alive
> message that is sent to the caller with a CSeq 0 - for example, PJSIP
> responds with "503 Invalid CSeq" to a "ka-dst" OPTIONS message but will
> ignore a "ka-src" OPTIONS message with CSeq 0.
>
> My questions:
> 1. Why are keep-alive messages sent with a wrong CSeq?
> 2. If we're keeping the "wrong CSeq" approach, can we at least not send
> CSeq "0"?
> 3. Is there a way to change any of the above behaviors with a
> configuration (i.e. without patching the sources)?
>
> Thanks in advance
>
> --
> Oded Arbel
> odeda at cloudonix.io
>
>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
>


-- 
Savolainen Dmitri
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20180416/917e265f/attachment.html>


More information about the sr-users mailing list