LTE NR co-existance#444
Conversation
These shouldn't be hardcoded, but rather use the IP addresses declared in .env
Rework the MySQL container: - Change the mysql_init.sh to be bind mounted: This allows dynamic changes to the script without having to recompile the container. - Change the way the container data is first set up: The current process depends on the container being started the first time with an empty docker volume, since the docker volume will then implement a "copy on first use" method to populate itself with data. This data is in the docker image from the initial compilation, as installing mysql-server also initializes the data directory. If for some reason, the docker volume is not "empty", then the generic MySQL data directory from the image is never copied into it, resulting in an invalid data directory. This adds checks to ensure that the data directory is present, and if not, then initialize one before trying to use it. - Change the permission setting: The current usermod -d call doesn't guarantee that the data directory is owned by mysql:mysql, and therefore leaves open the possibility for the data directory to fail to be used by the MySQL daemon. This occurs when migrating the volume from one machine to another. Adding the chown -R call ensures that the owner is set properly. - Don't use mysql restart Some edge cases exist where restart doesn't actually stop any running mysql instances. Use stop and start instead, and also add a kill call to ensure that all running mysql instances are fully killed before we make changes.
- Don't use pkill or kill with database processes. These could lead to database corruption - Make sure to gracefully shutdown the database daemon/services when the script recieves a terminate or interrupt command - Ensure that mysqld_safe doesn't take over the PID so that interrupt or terminate signals reach the script - Change the image to use ENTRYPOINT to ensure that signals reach it - Add health check: Docker will ping the mysql database service every 30sec to ensure it's still up
Currently the P-CSCF can handle LTE-LTE and NR-NR communications. Cross-technology communications are still a work in progress.
Using the PANI header, we can determine what interface this UE should register via. TODO: - Implement detection for additional network types (ex. for IWLAN) - Add some sort of database store for network access type, to be used in the mt config, as P-CSCF cannot query the network type from the device before starting a call
MT is currently broken due to the lack of a PANI header. This needs to be reconfigured to read out of a database that has updated values that are written during UE registeration.
Precursor to moving the N5 code to it's own configs
This allows us to have entirely different routes to select from depending on the technology, versus having to do switching in the middle of the routes.
This completes the changes required for dynamic N5 and Rx route selection. This adds the following: - A table to store subscribers and their registration tech - A table to store contact subscribers for contact aors - An HTTP endpoint in S-CSCF to query for a IMPI given a public identity (ex. MSISDN) - Proper retrieval of the IMPI in MO and MT routes - Routing based on the registration tech retrieved from the table given an IMPI
Required after the route config file split
|
@herlesupreeth I've rebased the LTE/NR coex branch here. Let me know if you want any additional changes to it before merging. |
|
Awesome!! Thanks a ton for your huge effort again. Really like the additions to srsRAN :) . I will review this MR over weekend and merge |
herlesupreeth
left a comment
There was a problem hiding this comment.
Left a minor comment. Thanks again for this nice contribution.
| ##!define WITH_DEBUG | ||
| #!define WITH_NAT | ||
| ##!define WITH_NATPING | ||
| #!define WITH_NATPING |
There was a problem hiding this comment.
please revert this change. I prefer NATPING to be disabled
|
Have you tested 5G calling with this change? I am getting following crash on pcscf upon deploying |
|
@herlesupreeth Apologies for the late reply, I was travelling for work and this kept slipping my mind. That's actually the exact error that I was facing before that led me to increase the memory size for P-CSCF. I wasn't having it anymore when I last ran my core but I'll try again in the next couple of days when I get home and get some time to spin it up again. |
No description provided.