[SR-Users] Problem faced when Using Kamaiio as Session Refresher

Daniel-Constantin Mierla miconda at gmail.com
Sun Mar 22 15:23:23 CET 2020


Hello,

ah, ok, I misunderstood.

Is the INVITE received with the header Session-Expires?

And remove the line:

#!define DLG_TIMEOUT_AVP "i:1"

It does not replaces the token inside strings, like inside the last
parameter of the line:

modparam("dialog", "timeout_avp", "$avp(DLG_TIMEOUT_AVP)")

and if you use in config expressions $avp(DLG_TIMEOUT_AVP), then its
name is replaced. So overall it can be two avp names, although when
reading looks like one.

Cheers,
Daniel

On 22.03.20 14:40, harneet singh wrote:
> Hi Daniel,
>
> Thanks for the confirmation. Your point confirms the same as I
> interpreted from the documentation, that Kamailio would not send
> refresh INVITEs. I am not expecting to achieve that. However, if i
> understand correctly, Kamailio can look into the "Session-Expires"
> header from UAC/UAS and set the timeout_avp based on that.
> In effect, Kamailio should ideally *tear down the call (Send a BYE to
> UAC and UAS)*, if it doesn't see any signalling(may it be
> session-refresh INVITE/UPDATE or any other mid-dialog messages). This
> i believe can be done by using the SST Module in conjunction with the
> Dialog Module. 
> I am also using the SST Module and the Dialog Module, however have the
> following issues.
>
> 1. I am seeing the following message when sending Session-Expires: 200 . 
>    ""dialog [dlg_handlers.c:681]: *get_dlg_timeout(): invalid AVP
> value, using default timeout*"
>
> Not sure what is causing this. 
>
> 2. If i try to hardcode the session-expires to a certain value, the
> Kamailio DOES send a BYE to UAC and UAS on the timer expiry if no
> signaling seen during that time. However, as pointed earlier, the
> Dialog Load on the Kamailio DOES NOT go down, as shown in the last email.
>
> FWIW, here's the config snippet from the Kamailio cfg i am using.
>  
> ==========================================================================  
> #!define *DLG_TIMEOUT*_AVP "i:1"
>
> # ----------- dialog params -----------
> modparam("dialog", "send_bye", 1)
> *modparam("dialog", "timeout_avp", "$avp(DLG_TIMEOUT_AVP)")*
> modparam("dialog", "dlg_flag", 5)
>
> # ----------- sst params -----------
> modparam("sst", "enable_stats", 1)
> modparam("sst", "min_se", 150)
> # Set the sst modules timeout_avp to be the same value
> *modparam("sst", "timeout_avp", "$avp(DLG_TIMEOUT_AVP)")*
> #modparam("sst", "reject_to_small", 1)
> modparam("sst", "sst_flag", 6)
>
>
> request_route {
>      ....... 
>      ....... 
>     # account only INVITEs
> if (is_method("INVITE")) {
>                 setflag(FLT_ACC); # do accounting
>                 
>                 setflag(5); # set the dialog flag
>                 setflag(6); # Set the sst flag
>                 $dlg_ctx(timeout_bye)=1;
>
>                 if (sstCheckMin("1")) {
>                    xlog("L_ERR", "422 Session Timer Too Small reply
> sent.\n");
>                    exit;
>                 }
>
> }
>  .....
> ......
> }
>
>
> ==========================================================================
>
> From the SST documentation, it pretty much seems like the only config
> to do. Am I missing something. If you have a working config for the
> Kamailio tuned in this manner using the SST and Dialog Module, could
> you share the same?
> Any pointers to make it work are most welcome. 
>
> Regards,
> Harneet
>
>
>
> On Sun, Mar 22, 2020 at 3:01 PM Daniel-Constantin Mierla
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
>     Hello,
>
>     are you looking for Kamailio to send re-INVITEs? If yes, that is
>     not available as a feature of dialog module.
>
>     Cheers,
>     Daniel
>
>     On 21.03.20 10:39, harneet singh wrote:
>>     Hi,
>>
>>     I am fairly new to Kamailio and had a question regarding how to
>>     use Kamailio to enable Session refresh functionality when
>>     Kamailio is acting as Sip Stateful Proxy. 
>>     Kamailio Version used: *5.3.2* with *Call Load based routing*
>>     using the *dispatcher *module.
>>
>>
>>     * From what i understand from the documentation, Kamailio will
>>     probably not be acting as a session refresher, but Kamailio can
>>     tear down the call in case session refresh is negotiated, between
>>     the caller and the callee(via Kamailio Sip Proxy), and no message
>>     exchange happens in the duration set in Session-Expires header.
>>     *Is my understanding correct?*
>>     *
>>     *
>>     ** *I believe the above functionality is possible by using the
>>     *sst* and *dialog* module. I have set the same according to the
>>     documentation but I keep getting the following error:
>>     "dialog [dlg_handlers.c:681]: *get_dlg_timeout(): invalid AVP
>>     value, using default timeout*"
>>     Can someone share a working example?
>>
>>     * When i tried hardcoding the timeout value by setting the
>>     timeout_avp to a specific value, Kamailio did sense a timeout and
>>     hence sent a BYE towards the caller and the Callee side
>>     both(which is what the requirement is), however, i do see the
>>     *dialog is still not cleared* in the "kamcmd dispatcher.list".
>>     Output excerpt below for reference:
>>
>>     [root at CPaaSVM ~]# kamcmd dispatcher.list
>>     {
>>             NRSETS: 1
>>             RECORDS: {
>>                     SET: {
>>                             ID: 1
>>                             TARGETS: {
>>                                     DEST: {
>>                                             URI:
>>     sip:172.27.44.121:5080;transport=tcp
>>                                             FLAGS: AP
>>                                             PRIORITY: 0
>>                                             ATTRS: {
>>                                                     BODY:
>>     duid=sample-cas;maxload=1000
>>                                                     DUID: sample-cas
>>                                                     MAXLOAD: 1000
>>                                                     WEIGHT: 0
>>                                                     RWEIGHT: 0
>>                                                     SOCKET:
>>                                             }
>>                                             LATENCY: {
>>                                                     AVG: 111.304000
>>                                                     STD: 1042.193000
>>                                                     EST: 2.385000
>>                                                     MAX: 9999
>>                                                     TIMEOUT: 1
>>                                             }
>>                                             RUNTIME: {
>>                                                     DLGLOAD: *1*
>>                                             }
>>                                     }
>>                             }
>>                     }
>>             }
>>     }
>>
>>     It is noteworthy that in case the BYE is initiated by either the
>>     caller or the callee, the dialog is cleared properly and the
>>     DLGLOAD is set to 0 on call termination. 
>>
>>     Any pointers for the above questions would be highly appreciated. 
>>
>>     Regards,
>>     Harneet
>>
>>     -- 
>>     "Once you eliminate the impossible, whatever remains, no matter
>>     how improbable, must be the truth" - Sir Arthur Conan Doyle
>>
>>     _______________________________________________
>>     Kamailio (SER) - Users Mailing List
>>     sr-users at lists.kamailio.org <mailto:sr-users at lists.kamailio.org>
>>     https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
>     -- 
>     Daniel-Constantin Mierla -- www.asipto.com <http://www.asipto.com>
>     www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://www.linkedin.com/in/miconda>
>
>
>
> -- 
> "Once you eliminate the impossible, whatever remains, no matter how
> improbable, must be the truth" - Sir Arthur Conan Doyle

-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200322/21f12f52/attachment.html>


More information about the sr-users mailing list