-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ims/volte stops working after expiry of timers (4g setup) #322
Comments
Those diff does not make sense. Please post a pcap of the issue you are facing and I can take a look. |
Which parts do you need? It appears to be a pcscf issue, only half of the deregistration happens, the other half is perpertually stuck in a pending state, while the "valid" contacts on the scscf side keep piling up with the expiry supplied by the ue, which is 600000 seconds. Maybe related: kamailio/kamailio#3570 |
The above modparam is related to UEs whose IMS registration remain in pending state and not for UEs who register with the IMS successfully i.e. 200 OK for SIP REGISTER is received.
This is when the subscription of the UE expires at P-CSCF. 36000 equates to 10hrs
This is the time after which IPSec connection is removed once the UE de-registers from the network so I am not sure its a P-CSCF issue
I suggest taking the pcap on the 'any' interface without any filters. The scenario should be as follows
|
You need to remove the ".zip" file suffix, zip was way too large to attach, so i had to use zstd. |
The packets in the pcap file didnt feel to be in right order I saw diameter UAR request before even receiving SIP REGISTER. Can you please ensure that time stamps on the machine running EPC + IMS and UE are the same? And, UE is set to receive time from the network? Also, can you tell me which eNB you are using? Sorry, cant be of much help on this. But all I can confirm is that its not due to those values in modparam you are facing this issue. |
Just increasing pending_reg_expires is enough to "fix" the issue, for some reason waiting longer than (pending_reg_expires + expires_grace) appears to be time stuff starts failing. It can also be "fixed" by putting the phones in airplane mode, and turning them on again (unitl it fails again). No idea what is going on with the timestamps tbh.. I usually don't look at all interfaces because I don't want to see everything five times, so I never noticed that ;) |
Can you post a pcap of the working call scenario with increased pending reg expire timer? |
enb is srsenb, btw. One "fixed" attempt: And another try, I can basically watch it fail really fast even before making a call by doing this:
The point at which a call will fail is basically as soon as the OPTIONS "nat ping" breaks, which is pretty much after 30+12s after the succesful registration according to the second pcap (below), pcscf log for that point in time:
|
Hey @Hoernchen , thank you very much for details pcaps and logs. I think its a bug in kamailio P-CSCF code. I will see whether I can fix it. In my opinion, wrong Contact of the UE is deleted after pending expires + expire grace. |
@Hoernchen Please pull the latest changes from this repo and re-build kamailio images and give it a try (no modifications to expires values is required). |
I have been watching and "secretly" using your branch since tuesday, and can confirm that the current repo appears to have fixed the issue and calls just keep working, thanks for your very fast fix! Just one minor complaint: the new much lower nat ping leads to a lot of "spam" in the docker compose output, it would be great to suppress that in some way unless it fails, because even with just two active phones I kind of mostly just see option messages and have to scroll forever to find anything... |
Thanks for confirming the fix.
Point noted. I will fix the interval. |
Volte calls between phones work fine after starting the containers, but after 1-2 minutes one of the configured expiry timers in kamailio_pcscf.cfg appears to trigger something and at that point volte calls stop working.
my current, very hacky "fix":
The text was updated successfully, but these errors were encountered: