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

harneet singh hbilling at gmail.com
Mon Mar 23 11:29:36 CET 2020


Hi Daniel,

I have shared the logs at debug=3 level. Location:
https://justpaste.it/6xmum
 I do see the sst and dialog module are loaded at startup and Even that the
sst module sees the Session-Expires value. But somehow the dialog module
doesn't seem to recognize it.

Please see the excerpts from the log below:
Mar 23 15:14:39 CPaaSVM kamailio: 1(4248) DEBUG: {1 1 INVITE
1-5214 at 172.27.44.121} sst [sst_handlers.c:668]: ki_sst_check_min():
Session-Expires: 200; MIN-SE: 100
Mar 23 15:14:39 CPaaSVM kamailio: 1(4248) DEBUG: {1 1 INVITE
1-5214 at 172.27.44.121} sst [sst_handlers.c:692]: ki_sst_check_min(): Done
returning false (-1)
............
.............
Mar 23 15:14:39 CPaaSVM kamailio: 1(4248) DEBUG: {1 1 INVITE
1-5214 at 172.27.44.121} dialog [dlg_handlers.c:681]: get_dlg_timeout():
invalid AVP value, using default timeout

Can you please take a look?

Regards,
Harneet

On Mon, Mar 23, 2020 at 3:42 PM harneet singh <hbilling at gmail.com> wrote:

> Hi Daniel,
>
> I have attached here the logs at debug=3 level. I do see the sst and
> dialog module are loaded at startup and Even that the sst module sees the
> Session-Expires value. But somehow the dialog module doesn't seem to
> recognize it.
>
> Please see the excerpts from the log below:
> Mar 23 15:14:39 CPaaSVM kamailio: 1(4248) DEBUG: {1 1 INVITE
> 1-5214 at 172.27.44.121} sst [sst_handlers.c:668]: ki_sst_check_min():
> Session-Expires: 200; MIN-SE: 100
> Mar 23 15:14:39 CPaaSVM kamailio: 1(4248) DEBUG: {1 1 INVITE
> 1-5214 at 172.27.44.121} sst [sst_handlers.c:692]: ki_sst_check_min(): Done
> returning false (-1)
> ............
> .............
> Mar 23 15:14:39 CPaaSVM kamailio: 1(4248) DEBUG: {1 1 INVITE
> 1-5214 at 172.27.44.121} dialog [dlg_handlers.c:681]: get_dlg_timeout():
> invalid AVP value, using default timeout
>
> Can you please take a look?
>
> Regards,
> Harneet
>
> On Mon, Mar 23, 2020 at 3:02 PM Daniel-Constantin Mierla <
> miconda at gmail.com> wrote:
>
>> Hello,
>>
>> also check if code from sst module is executing when processing the
>> dialog. Maybe the callback functions from sst are not called when dialog is
>> handling the sip traffic. You should run with debug=3 and look at the debug
>> messages to see if there are some printed from sst module. Watch also for
>> other error or warning log messages, they may indicate that some processing
>> could not be done.
>>
>> Eventually you can make the debug messages (from kamailio start to
>> processing of the dialog) available somewhere online (e.g., pastebin) so we
>> can look at them and analyze.
>>
>> Cheers,
>> Daniel
>> On 22.03.20 15:23, Daniel-Constantin Mierla wrote:
>>
>> 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> 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 Listsr-users at lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>>
>>> --
>>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- 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.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>>
>> --
>> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
>>
>>
>
> --
> "Once you eliminate the impossible, whatever remains, no matter how
> improbable, must be the truth" - Sir Arthur Conan Doyle
>


-- 
"Once you eliminate the impossible, whatever remains, no matter how
improbable, must be the truth" - Sir Arthur Conan Doyle
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200323/dab0936f/attachment.html>


More information about the sr-users mailing list