[SR-Users] How to reduce re-INVITE time in Kamailio

Raúl Alexis Betancor Santana rabs at dimension-virtual.com
Wed Dec 18 11:59:25 CET 2019


You are facing the problem the wrong way. 

For working with softphones, that must be "wake up", your logic must be like this: 

... 
if request goes to a push_client: 
hold_request() 
send_push_notification() 
endif 
... 

if request(REGISTER) and client is marked as push_client: 
if holded_requests(): 
unhold_request(): 
endif 
endif 
... 

All the workflow with push_clients, does nothing to do with SST or any other timer 


From: "Anuran Barman" <anuranbarman at gmail.com> 
To: "Patrick Wakano" <pwakano at gmail.com> 
Cc: "Kamailio (SER) - Users Mailing List" <sr-users at lists.kamailio.org> 
Sent: Wednesday, December 18, 2019 6:30:16 AM 
Subject: Re: [SR-Users] How to reduce re-INVITE time in Kamailio 

@ Henning Westerholt 
So I loaded the sst.so module and setup the params it said to set like below: 

modparam("dialog", "timeout_avp", "$avp(i:10)") 
# Set the sst modules timeout_avp to be the same value 
modparam("sst", "timeout_avp", "$avp(i:10)") 
modparam("sst", "min_se", 10) 

and also set the flag in INVITE method in request_route {} 

# account only INVITEs 
if (is_method("INVITE")) { 
setflag(FLT_ACC); # do accounting 
setflag(5); 
} 

and also set the t_set_retr in route {} 

route { 
dlg_manage(); 
t_set_retr(10, 0); 
if (is_method("BYE")) { 
$var(elapsed) = ( $Ts - $dlg(start_ts) ); 
xlog ("L_INFO", "Completed $dlg(from_uri) to $dlg(to_uri) - 
$var(elapsed) duration"); 
} 
} 

but still I am getting the INVITE after 57-59 seconds later. How do I do this? 

On Wed, Dec 18, 2019 at 9:40 AM Anuran Barman < [ mailto:anuranbarman at gmail.com | anuranbarman at gmail.com ] > wrote: 



Thank you all for the detailed information. Let me try both changing the transmission time and also suspending the invite transaction. That NAT port close did not hit my mind. Thanks for putting light on that. 

On Wed, 18 Dec 2019 at 9:35 AM, Patrick Wakano < [ mailto:pwakano at gmail.com | pwakano at gmail.com ] > wrote: 

BQ_BEGIN

As I understood Anuran is after the SIP retransmission timer. 
>From the description, I think the first INVITE, which I assume triggers the pushkit voip to IOS stuff, is missed, then (with default timer T1) after 500ms the first retransmission is done, then after another 500ms you get the 2nd, then after 1s the 3rd, after 2s the 4th, after 4s the 5th, after 8s the 6th and finally after 16s the 7th. This is probably why if you wait 10/15s it works, because probably the 5th or 6th retransmission hits your client. If you wait just 5s you can fall under one window without retransmission (if you miss the 5th you have to wait 8s for the next retransmission). 
You can change the timer T1 in the TM module and hope the retransmissions do the job for you. It might work but doesn't look safe to me. I have no idea how this pushkit voip event works, but you may have problems of NAT ports being closed due to lack of SIP activity, then the INVITE will never reach your destination anyway. 
The way to go seems what David has suggested about suspending the Invite transaction while your client start-up and register, but I don't know details about this.... 

Cheers, 
Patrick Wakano 



On Wed, 18 Dec 2019 at 07:34, Henning Westerholt < [ mailto:hw at skalatan.de | hw at skalatan.de ] > wrote: 

BQ_BEGIN



As mentioned, it is more a User agent related topic. But there is a module that provide related functions in Kamailio: 

[ https://kamailio.org/docs/modules/stable/modules/sst.html | https://kamailio.org/docs/modules/stable/modules/sst.html ] 

Cheers, 

Henning 



Am 17.12.19 um 19:51 schrieb Anuran Barman: 

BQ_BEGIN

Thanks for the reply. Sharing doc links of Session timer settings related to Kamailio specifically will be greatly appreciated. 

On Wed, 18 Dec 2019 at 12:18 AM, Yuriy Gorlichenko < [ mailto:ovoshlook at gmail.com | ovoshlook at gmail.com ] > wrote: 

BQ_BEGIN

Session-Expires header ( Just remembered right name) will help you 
See rfc 4028 
[ https://tools.ietf.org/html/rfc4028#page-6 | https://tools.ietf.org/html/rfc4028#page-6 ] 

On Tue, 17 Dec 2019, 19:44 Yuriy Gorlichenko, < [ mailto:ovoshlook at gmail.com | ovoshlook at gmail.com ] > wrote: 

BQ_BEGIN

Hi. It is no a kamailio question but sip question itself. You can manage how often te invite will be by using session-timers. It will help you to setup time range between reInvite ir whatever message you will use as keepalive 

On Tue, 17 Dec 2019, 19:34 Anuran Barman, < [ mailto:anuranbarman at gmail.com | anuranbarman at gmail.com ] > wrote: 

BQ_BEGIN

Hi, I am using Kamailio for my SIP Phone app. My main SIP client is the iOS app. Till now everything is working fine regarding the calling. But the problem is when the app is killed I am not able to pick up incoming call. The thing is, when app is killed I am sending PushKit VOIP message to my ios app to wake it up. App is waking up. But by the time app is waking up, the original INVITE message got missed up. So according to SIP protocol it will re-INVITE after some time. Currently if I keep my app open for 10-15 secs after it wakes up, I am able to get the re-INVITE and everything works fine just as it was supposed to. But waiting 10-15 sec on the app is not practical in any sense. 

So my question is there any way I can reduce the re-INVITE time to like 5/6 seconds so that as soon as the app open it will wait for 5/6 seconds (practical upto some extent) and it will get the call ? Or what kamailio is using as the interval time is a SIP standard and can not be changed? If possible to do so, how can I do that? Please help. 
_______________________________________________ 
Kamailio (SER) - Users Mailing List 
[ mailto:sr-users at lists.kamailio.org | sr-users at lists.kamailio.org ] 
[ https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users | https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users ] 




BQ_END

_______________________________________________ 
Kamailio (SER) - Users Mailing List 
[ mailto:sr-users at lists.kamailio.org | sr-users at lists.kamailio.org ] 
[ https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users | https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users ] 

BQ_END


_______________________________________________
Kamailio (SER) - Users Mailing List [ mailto:sr-users at lists.kamailio.org | sr-users at lists.kamailio.org ] [ https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users | https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users ] 

BQ_END

-- 
Kamailio Merchandising - [ https://skalatan.de/merchandising/ | https://skalatan.de/merchandising/ ] Kamailio services - [ https://skalatan.de/services | https://skalatan.de/services ] Henning Westerholt - [ https://skalatan.de/blog/ | https://skalatan.de/blog/ ] 
_______________________________________________ 
Kamailio (SER) - Users Mailing List 
[ mailto:sr-users at lists.kamailio.org | sr-users at lists.kamailio.org ] 
[ https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users | https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users ] 

BQ_END


BQ_END


BQ_END


_______________________________________________ 
Kamailio (SER) - Users Mailing List 
sr-users at lists.kamailio.org 
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20191218/b4ce8242/attachment.html>


More information about the sr-users mailing list