 네, 그럼 시작해봅시다. 다음 DPC는 엘티코어 넷플릭스입니다. 첫 페이지는 어떻게 되세요? 기억나요? 첫 페이지는 넷플릭스입니다. 다음 DPC에 MME, SCW, 서빙, PGateway, HSS, PCRF, 5 엘리먼스. 다음 DPC가 제공되고 있습니다. 저는 메고 SX에 사용하고 있습니다. 여기 이렇게 그래서 프리비스 D와 메가OSX 그게 무슨 일이었는지 특별한 의미가 없었죠 프리비스 D wasn't installed and tested in direct machine VirtualBox environment We have just executed some test code 메가OSX is correctly worked with SRS-E-NodeB PackageSupport, Harold, Lotte, Debian Open Package 그리고 Martin 오픈 수제 written by Martin He said yesterday maybe Pedro has approached right? I'm not sure, anyway Member, there are three members I'm working as a government official in Korea I'm a daddy of two children and the other person of Korea who has to make money Anyway, I graduated from university and worked in security and networking area more than 10 years And in 2011 I worked as a public servant Therefore, I don't have to make money from next EPC And Jinyoung Park is a sub engineer from Juni Global Network The company supports PENTOStell and E-NodeB Brandon Jihun Lee in Denver Professor in Colorado There are many people who are not familiar with LTE or 4G network So I just like to reduce the 4G world in this presentation Basically, this is internal We have some lip core library In 2010, the core library was developed It is very old library The coding style is a bit old but I chose it because there are no copyright problems because the three people are implemented I started using APR 아파트 런타임 library for OS abstraction layer such as thread, flock, blah blah blah And then refer to OpenSSL OpenSSL is a bit inconvenient to use so we have created some simple library The remainder part we solely designed some thread queue This is for producer, consumer worker and finally state machine I think Osmo FSM is much better in my opinion Very simple library and TLV library type, length, variable We need this library for the GTP V2C message In the memory pool it is a bit different from APR pool or TLV This is just a very simple array It does not have a parent child structure So you need to manage allocated points allocated points like non-mallow free So it is a little inconvenient However, this structure enables to make some index something PID or some ID Rest is simple code I'm not sure the point or anyway So there is some declare and MMEUE pool, pool name and MMEUET some structure MME pool of UE is the number of the array So init and final function should be initialized and finalized in the process and use as a function and remove function You can allocate some memory from the array and find and use some index So O1, the time is O1 because it is an array Memory related to packet purple has a slightly different structure mostly used in data plane Previous BSD, BSD has a structure called mbuffer So this is a zero copy implementation without main copy when some header adding and removing IPOR, GCP, HTTP header in the packet in data plane So we have implemented this structure in our memory pool Something like that Yes, use static array pool some class purple So unlock free The default number of buffer is 256 This value should be updated later And among our course there are function styles with core underval This is just the name you have written for the Unix system library malloc is provided by the OS while core underval malloc is taken from pkbuff structure Initially, 진영박 designed this part However, I recently recreated the second library I just started to upgrade IPv6 for this library And then sctp server we use substream method However, macOS X use the substream control packet Yeah, this is because this is a library called user and sctp If you use So if I use user and sctp library some accept function I cannot get out it is blocked So I informed him of this and I do not know if this has been fixed recently If it is done If it is fixed I will change it all to all substream method All udp socket uses a bounded socket So we are not using send to function Just use send And all socket use non-blocking mode And one process Such like MME and SCW Some elements use only one select loop Like Osmo-com We started using the ASN1c library for s1ap In the past we supported s1ap and developed it using asn12struct.py script OAI people created this script By the way, currently some two people have recently made this without this Python script Of course, it is not merged in the main branch but next if it says adopted the new s1ap recently Let's see the example So the Previously we just used some structure very easily because the script generated the code However, currently the right side currently we need to some parsing code for so basically the user should do some take this role Yeah Encoder is especially difficult to move new s1ap So For example codes present left side just setting group and codes but in the right side there are much of code is needed GTP we to see and thus for this message we are using spec document so Python library and parsed spec document We encounter some problems for this approach lots of text data like the previous session Some charts need to merge the cell for example these things Before the execute the script I need to change the cell merge by handy all the table For diameter we use the prediometer library in my opinion it is very good library but it is very stable to implement diameter protocol but there is no maintenance Next.tpc includes the source code directly Currently there is no change in from the feed diameter except Harold request me some code change for loopback test module so this is basic some block for MME and HSS and all five elements context some data structure and event build with some encoder S1AP, NAS, GTP whatever thing handler is from handling and state machine, some main routine and pass some pointer S1AP, GTP, diameter When UI and DB we select database of MongoDB and for web user interface the back end we use Node.js and express front end we are using React provided by Facebook recently some company provide some next.js framework this is very good, nice so data handling and use redux saga and for authentication we use passport start component can do web design directly button or menu can make directly so our web new UI is not so pretty oh sorry this is our web new UI we are using json schema style so just some json schema description form can be generated like these things let me start show you about our web new UI from scratch so I need to window and firstly oh sorry MongoDB and then Node.js is running oh wow so so how to do that basically this is my first time presentation so I don't know how to in my opinion it may be possible oh right yeah yeah okay let me again so MongoDB running and Node.js back end is started so and then this is our port 3000 so this it ah this is this more from some new sim yeah so this is logout or login and for adding subscribers some plus button and change from imsi change k change opc and save yeah that's it or you may want multiple apn in this case this is one deeper internet apn and you can add some ims apn network like this in this case 2 apn is added so some ims network can be used so there are some this is for the dedicated bearer so some some blah blah blah or the rule can be added like this format this is a spec format essentially it is derived from the ipfw previously so some omnink or tcp whatever thing yeah in this case 2 classification is added and something like that in the web new eye there are some profile yeah it is some handy tools for example 1.1 profile and 2.2 profile so in this case user easily add you select profile and that imsi so this profile is applied yeah our web new eye is very simple there is not much function currently so the question was what's a profile and it's basically lots of subscribers normally have lots of similar properties so you don't want to enter them individually for each subscriber yeah sure right okay web new eye is done i need to change and next thing is our test code our test code is very simple compared to osmo kong rip koa is tested with unit test manner 5 elements are tested with automated test manner like ttc n3 but usually we are still engaging ue and inodv test package is hard hard coded low package from wireshark and some test package created by sone imp encoder for verte we some protocol state is minimally implemented so this is low package and sometime i need to create some encoder let me demo so mongodv and sorry okay so i need to some let me try let me try right? okay good mongodv and sorry i need to some network because tunis needed in the mega sx so basically in my development environment i just usually initialized when power up but demo i used these things some ip table is added and some tunis configured and then okay let me try first this is unit test code so some fsm and tlv timers atomic some thread queue sleep yeah this is some unit test manner and the other thing we used some we made it to wireshark so in the wireshark there are factory capture look back and filter yeah these things why usually so mega sx need to root privilege for the tunis device so in the linux you can just use these things because the nexttpc use list privilege but mega s there is no way test it what the hell in my opinion oh it is not worked but i don't know anyway some time running in that time oh what happened ridiculous let me try one more time but it may not be worked okay let me let me need some try to debugging later but debugging some this configuration anyway so test script is something like that so this thing some package is sending and receiving so for example some initial ue message send and receive some compare the result is compare this type so there is a lot of package for example in my opinion there is our website our website this is our test script if the test script is running so this is some attach and some ipv6 love solution or some data pass some loop pack test and some bolt and the remainder part some handover it is also working anyway let me i need to we implemented some focus on test environment in the container manner like osmocon we use docker composure so there are four environment some build environment and some development environment and running environment and test environment so this docker composure and running docker composure run dev just set up some some development environment and test some test or some different distribution my current working i implemented the bolt function initially i was planning to use the camellia project to do the testing however the cpk could not be generated no matter how i set up you see more phone this does not work so maybe there is a way to use it in the industry in my opinion but i have not yet found it yet so yeah it is not working and i am considering how to communicate between web ui and hss pcrf i am thinking of the ability to modify the configuration file on the web or build a log we are also considering to build subscriber based log like a wireshark on the web there are many ways but i have not yet decided at this point okay next tpc status where we are we are mainly working in aging experiments for 3 or 4 days and currently operating reliably reliably in the lab for inodb and 8u is used maximum throughput at the environment so i think next tpc could be mainly used as a test tpc for developer inodb or ui what is missing unit test, automated test is available but no end test no ci no subscriber based log for service provider in my opinion business is not yet definitely what we want to do so several theories we hope this open source community will grow stronger stronger what can we contribute we have wondered what feature first develop could benefit for developer or companies of this community so i thought about this so some anyone comes to us first we try to make the feature first in the roadmap there are lots of feature but yeah of course there is no nre for free for developing please any volunteer to develop co-work so how to co-work so do you have any package capture prior for new feature then it will be implemented very quickly in my opinion for using our test environment so no i don't care so i can see the spec and making coder and implement it but it may be sometimes needed it will take some time so it will be update GitHub repository you can use it okay that's it any question oh yeah so i understand this project is about core lte network and what if i would like to run this in my lab environment how can i which base station shall i use to connect to your core network and so on how can i test it with real yeah so how can you test it so basically our website i can not know i can understand your question but okay anyway i start oh oh if i can rephrase the question which inode b do you support which inode b can be used okay there are some two people have some commercial inode b but in my case this is our document page at home getting started just installation or some build manual and configuration and so there is some tutorial so pretty quick usrp is needed basically sysmochon provided me usrp, gpstool blah blah blah so this is overall physical setup herald wrote this guide i copied it and then so installation usd hardware driver like this and then this is srp inode b so just install compile for nextt pc is available on recent ubuntu and also opensusage is available just install and when you are installed like this so if you buy the sysmochon you can receive some mail like this and then login and adding subscriber so the changes needed this srp address is from srp inode b this is lookback plnmid sysmochon new theme tracking area code just inode b just change this configuration and change this and then this for the ping some change some ip table and then change the srp inode b configuration just run where where i think it's nice i'm just thinking it's good to have this diffs of what you should change after working and i think it may be a good idea to have that also in osmochon wiki because sometimes we have some configurations but they are quite complex and then when somebody wants to set up a new network and it's the first time they don't really know which parameter change or not so i like this style i have a short question what is the architecture in terms of processes so you have mme sgv bgv are they separate executables sure definitely because these things basically how to run i'm not sure is it can be working or not the process the process is like this some mme and some outside machine it could be possible because between these things is some spec diameter all things can be can be derived by the configuration file something like that our configuration use some yaml so these things some address is changed so you can use some other machine here and inside those executables what thread or single thread basically sgv serving gateway and pgate single thread mme two thread i can of course it could be used one thread but for simple yes for easy to debug we use two thread for mme which threads do you have in mme mme case some one network select loop and one message queue handler some produce consumers queue and just producer and consumer only two thread of course it could be used one thread but our design is two thread for mme but serving gateway and pgate way also mme context some data structure used only by the one thread so there is no rock king no rock king in there no mutex no semaphore for developer we use some handy tools usually we are use some espcd there is some fork so five process is executed this is for developer for me basically package installed process is not installed package is usually some something like installation yes so five process is like only one yes five process is installed and when you are did you yeah what's the status of testing let's say so it's stable like did you somebody testing it quite a lot more like in production or on the field yeah so I rephrase is there somebody using it day today or doing good amount of tests good amount is it being used in my case yeah in production for production I need more test frame it is not enough in my opinion for production because this project is not tested in the field only in the lab yeah sure definitely but in my home there is a very small desk house to setup okay okay thank you