HOMER 2020
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Subtitle |
| |
Title of Series | ||
Number of Parts | 490 | |
Author | ||
License | CC Attribution 2.0 Belgium: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/47518 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
00:00
Machine visionChi-squared distributionIndependence (probability theory)Open sourceBlock (periodic table)Water vaporEncapsulation (object-oriented programming)CASE <Informatik>Communications protocolComputer animation
00:28
DatabaseSession Initiation ProtocolOvalOpen sourceBitMultiplication signPoint (geometry)CASE <Informatik>Physical lawVideo gameElectric generatorLine (geometry)Presentation of a group2 (number)Computer clusterTime travelMusical ensembleSlide rule
01:11
StatisticsEvent horizonCross-correlationOpen sourceExtension (kinesiology)Installation artElement (mathematics)SoftwareTime seriesStatisticsGradientComputing platformProjective planeDataflowMereologyLevel (video gaming)1 (number)Motion captureMultiplication signDiameterCASE <Informatik>Process (computing)Software developerInstance (computer science)Analytic setCommunications protocolSoftware testingComplex (psychology)Cartesian coordinate systemLoginData storage deviceMetric systemDatabaseMobile appServer (computing)Point (geometry)Connected spaceMechanism designFunctional (mathematics)Group actionEvent horizonCross-correlationINTEGRALModule (mathematics)BitRow (database)Physical lawIntercept theoremPauli exclusion principleComputer architectureSession Initiation ProtocolPerpetual motionProfil (magazine)Different (Kate Ryan album)outputInterface (computing)Subject indexingNumberObject (grammar)Case moddingAddress spaceSpherical capReal numberEncapsulation (object-oriented programming)Correlation and dependenceMappingOpen sourceBit rateRange (statistics)Time travelPlanningPhysical systemSieve of EratosthenesMusical ensembleArithmetic meanWater vaporArc (geometry)Open setTouchscreenKnotWritingLattice (order)Endliche ModelltheorieGoodness of fitElement (mathematics)Revision controlOnline helpComputer configurationFamily2 (number)BlogComa BerenicesDemosceneService (economics)PRINCE2Order (biology)Coefficient of determinationProxy serverSign (mathematics)Graph (mathematics)Program flowchart
09:32
Programmable read-only memoryChi-squared distributionRight angleMetrePoint (geometry)Exact sequenceDatabaseComputer animationProgram flowchart
10:22
GUI widgetSource codeModul <Datentyp>Software developerCommunications protocolTexture mappingCross-correlationOrdnungsstatistikDatabaseSoftware developerProduct (business)Instance (computer science)BitSubject indexingContext awarenessNumberObject (grammar)Type theoryInformation securityScripting languagePoint (geometry)Computer data loggingCommunications protocolEvent horizonLevel (video gaming)System callComputing platformNumbering schemeMappingSession Initiation ProtocolRevision controlComputer fileParallel portQuery languageInternettelefonieStatisticsEmailMiddlewareIntrusion detection systemPhysical lawPhysical systemCode
13:30
Motion captureDrag (physics)Drop (liquid)TouchscreenCommunications protocolScripting languageMotion captureMappingParameter (computer programming)Form (programming)Mechanism designCommunications protocolInheritance (object-oriented programming)Field (computer science)TouchscreenSet (mathematics)Multiplication signDampingSelectivity (electronic)Demo (music)ResultantWeb pageMathematicsGraph coloringMetreComputer animation
14:09
GUI widgetComplex (psychology)Computer networkCommunications protocolType theoryStatisticsHypermediaStreaming mediaRaw image formatMessage passingType theoryResultantDataflowLoginElectronic visual displayStatisticsGUI widgetCommunications protocolBlogBoss CorporationSystem callSound effectInformationDifferent (Kate Ryan album)WritingComputer animation
14:37
BlogGUI widgetLoginType theoryString (computer science)Event horizonInformationSystem callResultantElectronic visual displayRoboticsSource codeProgram flowchart
14:59
Level (video gaming)Open sourceOnline helpReal numberNetwork topologyInteractive kioskComputer animation
15:26
Real numberOpen sourcePoint cloudFacebookComputer animationLecture/Conference
Transcript: English(auto-generated)
00:05
Yes, thank you. Thank you so much. So and thank you everybody for being here My name is Lorenzo Mangani I'm the co-founder with Aleksandr Dubovikov who's sitting here of QXIP and we're the guys behind HOMER, the HEP encapsulation protocol and a bunch of other little things that you might have heard about if you use this stuff
00:26
Today as usual we're gonna be talking about HOMER, HOMER 7.7 in this case Which we have just released maybe a couple weeks ago two or three weeks ago So it's really really hot and it's the medicine to our own mistakes
00:40
Yes, so I mean HOMER has been you know has been around for a while He had many generations and not all of them were perfect. This one hopefully is So it's it's a redesign as you see here a little bit of our timeline. It's 2020 It was time to redo it. So not necessarily Inventing a lot of new stuff, but you know redoing what we already have in a better way
01:04
You know more extensible way and so on is going to be the point of the presentation. So it's about 40 slides 20 seconds each. Let's see if I make it So why HOMER is the first point? I'm just taking for granted that you know, at least some of you will know what we're talking about But why why did we do HOMER and why is it useful? First of all, it's a time machine
01:24
It's a perpetual packet and event collector. So it's a store where you can go and find out what happened yesterday What's happening right now piece it all together Statistics engineering search and so on. So it is designed to go deep into the data that we collect It used to be SIP only then we added more protocols then we added events today. It's kind of a generic store
01:44
So if you can define an input then you can put data into HOMER You can have it index it in a smart way and then you can start correlating so you can have you know SIP on one side, diameter, events from Janus, CDRs from CG rates Just about everything you want to collect and HOMER now allows you to stitch it together
02:02
So have the application hop for you So instead of you know, having to open 10 screens, hopefully you can open one and have it do the work for you It can produce granular statistics and KPI So everything that goes through the system is turned into numbers and it's stored You know in a smart way so using tags and everything else you'll see what we have chosen
02:24
We have a whole lot of HEP integrations So our encapsulation protocol is really what makes HOMER appealing at least in my opinion is the fact that you know in many platforms Kamaeda, OpenSIPs Asterisk, FreeSwitch, Draktio and many other tools You can just flip a switch and they start volunteering data to HOMER using our encapsulation protocol
02:45
Which makes it incredibly easy and convenient And of course we have coverage also for other platforms We have had thousands of deployments over time. So we know our customers. We know our use cases We you know, we have 10 years of experience helping people succeed with this
03:01
So we kind of know what we're doing and then everything is a hundred percent real and open source Meaning that everything you see here you find it on GitHub. There is no Fantasy or you know road mapping. This is all real stuff that you can go and try right now So 2020 a simpler HOMER. This is what we wanted How did we do it? So do it, you know on the left
03:21
It's really a very short summary what people want they wanted to be easy to install easy to use easy to extend And of course easy to log if it you know helps you you just love it Right a tool that helps you do your job you go back to over and over and you know You kind of care about so this is where we want to go. How do we do it? So we needed to go to fewer elements. So we figured that you know, our project was incredibly modular
03:44
We thought it was a good idea because we always thought of developers first But not really right users just want to click twice have it up and running and solve their problem developers You know can take their time we redesigned the UI and the UX so we had a lot of Engineering grade design in the UI was great if you were one of us
04:03
But if you were not, you know, if you used it because you needed it, it wasn't really ideal So we fixed a few things. We have solid integration So again walking away from giving you guys a hundred modules if you only need five or ninety percent of people use those five We made them solid and then well documented. This has always been, you know, a little bit of our gap
04:23
We spend a lot of time developing testing doing the hot stuff and then you know Praying that our community helps us document stuff that doesn't happen So now we're gonna do it and we paid some people So what's in the Homer recipe today is the following so we have of course on the left our stack Homer which is made of the application. I'll show you how they work in the middle
04:42
Those are the delta stores that people want to use So this is what our users really chose and what we solidified So positive is the data start and we have Prometheus or InfluxDB for statistics Lucky for everything else and graphite on the other side. Why is it there? Because since now I guess Homer can also be headless
05:02
So you don't really need to use our UI if you just want to have a tool that produces passive Metrics time series about what your network is doing if you want to search we have a UI But if you just want to translate your data and traffic into numbers You can do it and you can visualize and work everything in Grafana So our data goes the way of the rest of your data. This is a little bit of a flow and I'll go piece by piece
05:25
Most important part of course, it's the stages of Homer. So we capture data. So we have what we call agents We have dedicated agents. We have native agents within a bunch of platforms We have a few there of the most notorious ones in all of those platforms Turning all PEP is a fully posed which you configure an IP apart and you're done
05:43
This is also including for all of them encrypted traffic. So the big question Wi-Fi do TLS doesn't matter Those platforms will mirror internally so they will just bypass the problem for you and they make it easy Then it goes to the capture server in this case It's going to be amplify server or go application developed by neg via now maintained
06:01
but all of our group which kind of does the the center point it splits the data between time series and Packets and logs the packets and logs go the way of Postgres or lucky and I'll show you how Everything else goes to either influx DB for me to use timescale DB. You name it? I just put a couple here, but it's way more flexible. You can actually choose whatever you want
06:22
Homer hop kind of puts it all together So it can talk to the time series to the data to Grafana and have sub which is something that I'll show you. So The capture agents unless you're using a built-in one We have two that we provide that are close across platform. Hey, Plify is a simpler agent It's made in go you deploy it CH mod plus X and you're done
06:43
It just basically needs the address of a Homer to send the data back and it does You know all of the simple correlation if you have complex scenarios many interfaces different protocols Then you can get a war the way of capped agent or RTP agent, which are modular they can have many profiles that can do different protocols different interfaces different part ranges and
07:03
Generally be more complex They also have inside routing and tagging plans meaning that it's kind of like, you know Any other platform in your open seats in your comma either you have a you know a plan where you go through steps So in our capped agent and RTP agent you can do this So when a packet comes you can see what it is. You can see what it contains. You can decide where it goes
07:24
So if this is coming from IP one, two, three four send it to a Homer versus another one tag this packet with Something that will go in time series generally, you know, you can decide what happens to the data is not just a pipe Also, it supports more protocol. So we have sieve diameter RTP RTC PRT SP logs events, which include
07:43
Whatever, you know, for instance Janus or a GC or other platforms can produce and optionally We have RTP analytics and recording and lawful interceptions Which are you know problems that our customers face and we created modules for them Of course they are not fully open source, but they are within the same platform you see a pipeline on the side as of what it does
08:03
Moving in the capture server This is where all of these packets and mind you can have one ten or a hundred of those agents deployed around your architecture They will all send data to this connection point where you can Basically aggregate it and this is where you decide where the data goes one more time
08:21
So it's a second stage of filtering and routing or deciding where your data gets written and how Of course, this talks to the databases already. So it writes data to Postgres. He has a Prometheus metrics Export endpoint and you can write everything else to lock including the signaling So if you want you can also bypass Postgres just write everything to Locky and Prometheus. It allows you flexibility
08:45
Once it's seen on our app is our point of connection So this is where we have our UI our API and we allow you to you know Reach all of these data in a simple way This is also where we have correlation and a bunch of other mechanisms that are key to the functionality of Omer
09:01
So starting from your one session being able to find any correlated session Being able to find logs and events for all of the sessions being able to find Statistics that have to do for all of the legs that you have seen in all of those SDP invites all of this is done by the application for you So you just hopefully open one of your sessions and then you find everything else kind of in an organic way again
09:23
It talks to Postgres for data JSONB format. So everything is really a JSON object inside Statistics to everything else. There's HEP sub there, which is something new and I'll explain to you about So this is kind of you know, the big picture here And just you know a brief reason why we chose certain technologies because people love them at the end
09:43
You know, I have my preferences Alexander SEs But what we need to do is look at the Delta of our user base And this is what people want it apparently and this is what we need So we're listening to the community and again a huge key point is on the other side Grafana You can use it now to connect just about everything we write so Grafana cannot access
10:02
Prometheus and InfluxDB, of course, TimescaleDB as well. It can access even Postgres So you can even go and visualize database on the packets that we write and definitely lock it So it kind of, you know, comes together in a nice picture if you don't, you know, want to learn another UI You can basically build a Homer in Grafana now Quite easily which includes signaling and just about everything else you can think of
10:23
One of the big news is HEP sub So we came to the point where of course some of the data that You're working with is captured by us and it's stored in our database But you also have a whole lot of data just around your systems logs Events, CDRs that you might create, other statistics, other analyzers
10:41
How do we connect them without forcing you to duplicate all the data is through HEP sub So HEP sub basically allows you to build a little middleware agent that subscribes to Homer and can be called for special types So I have a few examples here I can write a little middleware that goes and gets a pickup or does a
11:07
All of the session details so you open Homer you click on a session you select Let's say in the mapping to use the call IDs. The system will take all of those call IDs We'll send them through the HEP sub API Which will basically do a bunch of parallel lookups in a platform that we don't have access or data for and then it returns
11:25
Objects that can be displayed all together in the UI So literally open a session do a HEP sub agent that looks for CDRs even in a file or for Whatever cost in your API or who the customer is for instance taking, you know, the phone number looking it up and say oh, yes
11:41
This is one of my customer It's John Smith and displayed in the UI organically without data duplication without security implications without GDPR You know nightmares these data is somewhere else. We just make a query displayed and it's gone So this is a huge point where we're going to invest it also allows us to interface with other platforms
12:00
You see there So if you have a VoIP monitor and already deployed now You can have Homer be a UI for VoIP monitor fetch the the CDRs the the statistics the RTP that you have there Just like anything else So under the hood what makes this possible is protocol mapping Alexander redesign everything So before we kind of have a static schema now, it's all dynamic. So mapping is for protocol
12:24
So even SIP per se as its own definitions unified What's what if you come up with your own SIP header You can just add it to the mapping and it becomes indexed just like anything else So it gives you a lot of flexibility You can do the same with an object for instance the events of Janus which are JSON objects
12:41
Can be defined in the schema and then when they come in they get indexed So we know what's what and you can go and search by Session or POC IDs or whatever it is that you have in your protocol the same for the next thing you're gonna invent Tomorrow, so if you go home you come out with your you know, RTC Signaling protocol or your fancy law way of logging something now
13:02
You can just make a little schema and make it searchable without any development So you don't have to touch the code. You just have to touch a few conflict files customly sectors So we have now pipelines. So of course Omer and our Agents are able to do What we program them for for everything else you can have Oh two minutes left. Oh, I gotta run for everything else
13:22
You have externally sector so we can pipe everything through T shark or anything else. Let's run It's difficult. It's so difficult to install. Oh my god, that's false Installed see capture IO super easy. It's a couple of packages. It's an installer script that you just run It's a docker set of containers that you just spin up literally
13:40
You can have everything from scratch without ever having seen it before in five minutes and it's up and running demo time I only have two minutes. So I'll take it. Here we go login search now we have search and Results are in the same page. So you don't have to go back and forth search back and forth You can change parameters and it's all within the same screen You can decide the forms now with a drag-and-drop mechanism
14:02
So by protocol mapping all of those fields you just drop them and they go time selection way more elegant than it used to be and programmable a Bunch of widgets that you can choose to display data from our stack or other stacks. You can also Embed widgets from Grafana. So if you have the Grafana panels, you can just display them in home or just the same
14:22
Message protocols detail externally sector. This is t-shark piping a message from Homer and return results Hep types call flow with just about everything any protocol if you add it to displays automatically Statistics the moss is back even for RTCP. So we calculated in steps. Let me run logs Hep type 100 strings judgment events. Everything can be displayed in here
14:43
So this is the information that you can send to Homer to be displayed This is the information you can find in Loki So if you're writing logs or whatever you can look up by call ID and do piping it returns results You can export you can share you can display data from Grafana for me to use embed widgets
15:00
More more more. This is a roadmap for the future. We're gonna do a lot of stuff. We are Homer you are Homer Please use it. Give us report. I love open search If you have any questions, catch me outside. Thank you Oh T-shirts grab your own Homer kiosk IP pajama because if you have Homer you sleep well
15:25
Thank you guys Thanks a lot Lorenzo
Recommendations
Series of 24 media
Series of 10 media
Series of 15 media
Series of 490 media
Series of 130 media
Series of 32 media
Series of 19 media
Series of 77 media
Series of 9 media