 So, hello everyone. I am Shubham Tathumasi from Magma Core Foundation. So, here we are talking about a new project that is Magma. It's an open source mobile network core. It has EPC and NG Core support. So, here's the Magma's architecture. Right now we have main three projects. One is Magma's access gateway that contains the LTE core and 5G core and Wi-Fi. We can support all of these things with our Magma's access gateway. We have two more major components. One is the orchestrator which will manage all our gateways that can be Magma's access gateway and that is there's another third project that is Federation Gateway. So Federation Gateway is used for managing existing MNO cores such as HSS, OCS and Wi-Fi and in our this talk we'll show how we can set up entire end-to-end Wi-Fi G core virtual lab on an open stack environment. We can, we'll be using Ansible deployment state for setting all these things up. So, there are three main components that we have to set up. One is Magma's orchestrator which will be deploying on Kubernetes and there are around 10 different Helm charts because this application became very, very huge so we have to divide every single project in itself and the Magma's access gateway which contains the LTE core and 5G core and the third part is simulator. So, in simulators you can use any simulators such as SRSVAN, UVDAN, SIM or any other simulators. We are just targeting the open source simulator as of now because this is just a lab setup. In real-world environment you can use software such as Pyrent or TerraVM but those are licensed based. Okay, let's start with the orchestrator. This is the main component of Magma. Okay, so before we start, first we have to understand what all the services that we are exposing. So, when as a deployer I have to just give a domain name and using that domain name we will be getting five different sub-domain services that will be exposed to the cloud. Initially when we started working on this around four to five years back, all these services were deployed on Kubernetes but that was on AWS. But most of the telecom operators are now on OpenStack. They have their own cloud, they have their own infra. So, there was a very high demand to have a private cloud solution. That's why we started working on OpenStack solution and right now we have a proper solution, a working solution which is working 100% on OpenStack and today I will be showing a demo for that. So, when we are exposing five different services, let's say I have given a domain name of OpenStack.XYZ. I will be getting five different sub-domain services. One is the API, the Swagger API dashboard. Using Swagger API we can manage our entire platform, all the network services and everything. Second is the NMS. NMS is a network management system where we have a dashboard and we can control all our hardware such as access gateways, we can manage our subscribers, we can manage our data plane and everything. The last three components are Fluendy, controller and bootstrap controller. So, these three services are used to communicate with established communication between access gateway and orchestrator and I will be showing you how we can set up all these things and connect all these things together. We just have to do a combination of these sub-domains and main domains which you have provided. So, we can use the services that we want. So, starting with the API, so, if we use the domain like .API.OpenStack and whatever your full domain is, we can see that we get the Swagger API dashboard. This is, of course, after going through all the credentials and everything and we have a huge list of how we can manage all our services and like such as tenants, SMS, carrier Wi-Fi, federation gateway, LTE gateway and 5G will be added in this list soon because our 4G core is established. It's been deployed in many rural areas. It's an open-source solution. Our 5G, we have last month just released the 5G Alpha core and it's been heavily tested at this stage. We are doing partnership with many companies for bringing in and building more on this 5G core. Okay. And this is the single pane of glass. This is our NMS dashboard that is deployed on Kubernetes and it's running behind the scenes. It's running on the cloud. So, with this, we can manage all our hardware and everything. I'll show a demo of this today. The second component is the Magmas access gateway. So, this is very important to understand. When we are setting up a lab, we have to provide minimum three VMs. One VM is for our access gateway which will sit in between and there will be a two-way connection. So, we have to provide two Ethernet, virtual Ethernet ports in this case. One will connect via orchestrator and second will connect via our E node B or G node B or UV ran simulator. So, the connection because in real world, when we deploy this radio on, let's say, some area, so this access gateway sits at the edge location. And in edge location, we have to provide two different cables. One will go out to the Internet and one will go out to an actual radio. And then, using that radio, a user equipment or a mobile device will connect via this. And if you see the parameters which we have provided, this is for our virtual lab setup. So, like 8-0 IP or 8-1 IP, these are the OpenStack IPs. And there are some other things which we have provided such as gateway, like how to connect. And the root CA and the domain name is for configuring. So, entire the establishment of security and trust has happened via root CA. Okay. Once these two things are connected, access gateway will look like something like this. We will be getting all the events, all the logs, let's say some subscribers comes in, they connect to our network. We will see all the logs and events. We will see the entire health of our gateway. And we will see all the connections that will be established here. Okay. Similarly, when we are checking health here on NMS side, we can also SSS to any one of our access gateway and we can see the health if it is connected or not, if all our services are up and running or not. And if we see there are some issues, we can debug it from here. Okay. The very important part is testing our network. So, we know that we have deployed everything on Kubernetes, other things are working on edge locations such as access gateway. But we have to test our network. For testing our network, it is important to run a simulator or a tester to see if everything is working, networking is working fine, and our data is working, we can do upload, we can do download, all these things. And to achieve all this, we can use any sort of simulators in this demo. We are testing this with SRS RAN, this is an open source simulator that is used for 4G and 5G testing. But yeah, you can use any other simulator if you want. Okay. So, all these things can be achieved with the deployment of AWX. So, the demo I will be presenting today, we have done entire end-to-end deployment using AWX. So, with AWX, we actually created three main projects for each of these three things, like simulator, access gateway and orchestrator. We deployed each of them. Then we configured it using entire end-to-end and Sible playbooks. We just gave the parameters and the entire deployment was done on open stack. So, basically, right now we have around four VMs. One is for AWX that will deploy and manage and configure all of the other components such as our orchestrator which is deployed on Kubernetes and an edge location access gateway which will be connected by two interfaces and a simulator for SRS RAN. So, all these things are managed and controlled by AWX. So, for the demo, let's start with our main NMS dashboard. So, when you log in, first you will see that we are getting some alerts and events on our home page. This is very important to check if everything is working or not, if it's healthy or not. So, we are only getting events at the time, so there are no alerts, so this is a good sign. Next, if you see, we have equipments. Equipments are our access gateway. We are getting the health pad because this is a network issue, we can just refresh. So, you know, just a sec, yes. So, you can see health is good. We can just add more gateways here. It can be any access gateway or federation gateway. We can add multiple of those gateways depending on our use case. If we are running our network internally, then we can use access gateway. If we want to extend our network, let's just add some billing system or if we want to use roaming, then you can use federation gateway. Okay. So, here we have our access gateway deployed and it's running on an OpenStack lab. We see few parameters such as version, hardware ID, and health and everything. Okay. So, every single second, we are getting data from Fluendee that is collected and pushed to an elastic search. And using Primo Thies, we can see, okay, all these data is here and we can manage it. And let me, I will also show how this can be very useful when real subscribers or SIM cards come into place and we have to debug them. Okay. So, these are just events, but logs is very important. And yes. So, we have around 6,000 logs. We keep deleting all logs so system won't take too much space. Now, so you see, okay, that at our location, we have the system running, but we actually need subscribers. So, subscribers is our SIM card. So, here's our MZs. So, we can use one of these SIM cards for adding, attaching our network. So, what we can do right now, we can select one of these SIM cards. Yes. So, what we can do, let's try connect this SIM card with our network, which we can do from this. So, this is our deployment platform, which is based on AWX. So, we have been, entire deployment and configuration is done via this platform. So, we have bunch of templates. Okay, let me just re-log in. So, here is the deployment template. So, using this workflow template, we actually did entire deployment and configuration, but that part is already done. What we can do simply is create a simple attach network test, which will test our network and see if everything is working fine, which we can do by running a simple SRS RAN test. And let me show you. So, there is this node. These pods are just for the display, but yeah, our goal is to set up two virtual pods or containers in this case. One is for our RAN and one is for our UE. And using our Ansible playbooks, using this AWX platform, because everything is automated, everything is configured, we can just simply hit launch and it will create it. Let me hit just launch. So, what it's doing, it's going to the server and starting the containers. So, we can come here and verify. Let's refresh the list. Okay. Yeah. So, now we see that we have our SRS UE up. And these are the live logs, which we are getting from the pod or containers. And our goal is to attach this network. You see this network that's successful and we got the IP. This IP is very important because at the end of the day, when we have to connect to the Internet, an end user or mobile in this case needs an IP. So, once that is attached, we can know that we have successfully established a connection between our mobile to the end core. And we can verify this on our NMS dashboard. So, this was our MZ. And I can also show you how we are sure this is our MZ. Because at the deployment point, if we go to our host, we can just... So, when we ran the test, we actually pre-configured the parameters. So, these parameters are K, which is K, OPC and MZ. These are our things which are already embedded in our SIM cards. And these are the actual values which we have given to this virtual SIM card, you can say. Now, what we can do, we can just simply copy our SIM card and verify on our dashboard. And let's see first for the events. Okay. We have just got an event. And we see, okay, a connection request was made from the UE side. And our access gateway assigned it an IP, IP of 122.18, which we also saw on the end user UE was looking at this IP. Yeah. So, here is the IP. And we have the IP. We can also verify this on the NMS dashboard page. And let's say this is, we went to a specific subscriber and we saw this IP. If we have one or multiple access gateway, we can just go there and search for the logs. Okay. So, we can, we see here, we have a lot of logs. So, we can just enter this. Yeah. So, you will see that just for a SIM card attached, there were a lot of logs created, such as authorization, request, and attach request, and attach to which access gateway. Because even if we have multiple access gateways, subscriber list will remain the same. And that subscriber can connect to any of our access gateway that's in the range. And if our, this access gateway, this particular access gateway is used for connecting our, this particular SIM card, we can verify. And this is how we know that this user is in this area. Okay. And, yeah. And we can also verify these things because this is from an NMS dashboard. Let's say we have some end user application or some third party application that wants to control all this. They want to give what the data we all are consuming, how many gigabytes or megabytes or whatever is user is consuming, uploading and downloading. We want to manage all that. So, it's a very easy way if we start using the API because with the API, everything is exposed. Once we give API access, so everyone can manage this entire network if we want to connect our existing platform to the third party. Let's say if you want to get subscribers, tracing call, or let's say LTE functions. So, we have a very long list and very variety of subscribers, sorry, API functions that we can call. And we can just integrate this very easily with other platforms. And once this was attached test, if we want to do the detached test, we can just simply detach it. And that is by just a second. Templates. Okay. Here it is. So, this will just detach all of these SIM cards from the network. So, when we are, because this is a third party network, not something like AT&T, so we have to configure an APN that is very important when we are using these SIM cards because right now we have data. And for using this data, we have to configure an APN both on our dashboard side and on the UE side also. Yes. So, this APN is very important. When we are setting up a new network, we have to add subscribers in a specific APN. APN will help us limit the usage of a user. We can set, okay, this user should be only able to use our data until certain limit. It can be 1MB, 2MB, or 1GB, whatever you want. So, by default, we have kept it just 1MB. But yeah, you can increase it. I think maximum we have tested this with 4G, that is 400MB. And with 5G, we are taking to the next level, but that is still in alpha stage. We are rapidly developing our code and its functionality. All the 5G code is currently in our master branch. And here is our repo. So, we have more than 10,000 commits. And we have more than around 200 plus contributors. This is a very active project. We do a lot of commits every single day. And 5G is very soon to be released. The stable version, we plan to release it this year. And community is growing very rapidly. And if you want, you can come join us, help us build and take this 5G core or NG core to the next level. And yes, so you can join our community. We are very active on Slack. We do all the calls are open, our TSC call, engineering call, all the calls is open. All the communication is open. Everything is on Slack. And initially, Facebook founded this project. Now it is donated to Linux foundation. Linux foundation is controlling this entire project. We are also collaborating with big companies such as open infrastructure foundation, red hat, canonical and ARM. And there are a lot more companies who have just started using this in production. And yeah, you can come and help us build this and take it to the next level. Thank you. Any questions? Yes? Yes. So, we have actually tested this with many production systems. And you don't have to worry about the latency. I'm specifically talking about in the 4G. So it's very quick to connect and you don't get any downtime. Many in rural areas, we have around more than 10,000 subscribers who are actively using this network day and night in Africa and in Saudi Arabia and all of others, rural area network. Because actual core is very expensive. So this open core solution is very actively used. Does this answer your question? Okay. Any more questions? Yes? Yeah. Sorry, can you repeat that? Okay. So when one user wants to, so your question is if one user wants to move from one area to another area, between one access gateway to another access gateway. Yes. So there is a handover functionality. If one user is moving from one area to another area, so that handover will happen. And if that we have, okay, let's say one access gateway is here and one access gateway is here. And we are moving. So handover will happen and it will communicate to the orchestrator that this user is moving and that access gateway will automatically pick it up and give it a handover to that access gateway. Yeah. Any more questions? Yes. Yes. Yes. Yes. You can use it. But recently the Wi-Fi access gateway is not supported or you can say maintained at the stage. But yeah, in the past, we have been actively working on the Wi-Fi. But yeah, there were not much production deployment. So we stopped maintaining it. But the code that we have is stable. But yeah, we have not doing much maintenance on that, if that answers your question. Yeah. Okay. So Wi-Fi actually is still part of the magma. But actually it depends on if companies are using this in production, then we will continue to maintain it. And if there are no actual production use cases, then yeah, we don't know if we will continue with this or not. Right now the highest demand is for 5G. That's why a lot of companies are coming in and building the 5G features and specifically for what they need. And also the OCS, HSS and all these features are a requirement if we go to the production and we start charging our customers. And the companies who are actually using it and selling their services are coming in and building these features. So we plan to include all these features inside magma only. So you can get all of these out of the box. And yeah, roaming is very important. So we are working on that area using Federation Gateway. You can use magma's network, but you can also leverage other network services such as AT&T or T-Mobile. Yeah. So yes. Any more questions? I think that's it. Thank you, everyone.