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@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@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@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 <hbill...@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@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@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@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 < > mico...@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 < >> mico...@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@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@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
_______________________________________________ Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users