In this video, Steve Wilkes, Striim co-founder and CTO, demonstrates how the Striim Call Detail Record (CDR) Application monitors high-volume voice and data records in realtime. High-Velocity data is analyzed by parsing streams, aggregating anomalies, and correlating with historical data to add context and provide realtime drillable visualizations by tower and device.

To learn more about the Striim platform, visit our platform overview page.


Unedited Transcript:

Speaker 2: So we’ve just got to take a look at, uh, what does an application look like? So the applications on our platform, our, our data flows, this is a data flow that has two different sources and it’s a data flow from the telecommunications space where we’re looking at call records for voice and for data. And we’re looking at those at the same time as they’re coming in. Um, we’re, and we’re doing processing on them, looking for interesting things. And one of the major goals here is customer experience is B. Being able to find out things at least when the customer knows. Ideally before, you know, so probably all of you you’ve dealt with, uh, you know, cable provider banks, uh, cell phone provider, everyone you call customer care, you want them to know what your problem is. You want them to know what you are going through, um, before you have to tell them, right?

Speaker 2: They should know they have all this data. Why don’t they know that my cables down and all the neighbors cables down everything else. Right? So being able to get this in real time and see what’s going on in the network, being able to look for issues and especially with top customers, being able to, um, look if your customer is having more issues than normal, uh, more dropped calls, being able to reach out to them before they call customer care. So why does processing look like we have a data source here? Configuring a source is as simple as configuring properties in a box. We have a window. Again, configuring a window is pretty straightforward. You just say how big is a window? How much data do I want to deal with at one time?

Speaker 2: And then we have, uh, processing, there’s quite a lot of processing that goes on in this particular application and this is all happening continuously. So the data is flowing through from that top. It’s coming through and it’s going through all these different queries at the same time. And these carriers are looking for a lot of different things. There’s a query down this side or a set of queries down this side that are looking for calls that are failing and it’s flagging those calls specifically and it’s comparing how many calls were in total, how many calls failed, how many were successful and deeming those as normal if they were successful. And then being able to visualize that and see what is my network look like from the perspective of calls that are successful. Is that what it usually should be? Is it changing? Is it, you know, breaking historical records for goodness or badness or either way, you know, so you’re looking at this in real time trying to understand what’s really happening with the network.

Speaker 2: And as I mentioned, all of the um, processing that’s happening in this platform is all done through queries. That was a query that was calculating some aggregates over here. The more queries over here, for example, they’re looking for users that are having more issues than usual. So this query will fire if any one user within a, a, a certain period of time has more than 10 issues of these day of these issue types. So a lot of data will flow through this query, but it’s only going to identify the users are actually having more than 10 issues in a certain space of time.

Speaker 3: Okay.

Speaker 2: So this is what the application looks like. When when I deploy this application, I’m basically creating runtime objects that will actually do all of this processing. This is metadata. This is a description of what the application looks like. I’ve now deployed the application, so I now have runtime objects that are capable of doing all of this processing. I start this application up, it wouldn’t do anything to start with because I have to run a simulator and the simulator is going to generate, I don’t have a cell tower here, so I have to generate fake calls and is simulating 100,000 devices that are doing stuff.

Speaker 2: If I now go and take a look at what a dashboard looks like, we’ll start to see data coming in very shortly. And the data represents the uh, data records and the voice records all being processed together and in the middle. That will show in the users that have more than a certain amount of issues. The simulator allows me to show you certain use cases. So for example, if I want to see, um, in fact it’ll choose 10 random users to have more issues than usual. So now after it’s looking at in one minute period, so after a short space of time, that middle section will start to fill up with the 10 users. It’s chosen at random that are having issues and in addition to them being visualized on this dashboard in real time, we are also getting alerts coming through that are telling us that there are users with more issues than usual.

Speaker 2: And those alerts don’t just have to appear in the dashboard. They can be sent by email, SMS, they can put in a message queue, they can trigger other workflows. And there’s a whole bunch of stuff you can do with those alerts. And we can drill down on those users and we can look at them and we can see where are they located in the country, what devices are they using? A lot of additional information. So if they were all in one place, they might give you an indicator that something’s wrong with a particular tower. If they’re all one device, maybe there’s a device that’s having more issues than usual. There are other things that you can do with these dashboards. The dashboards are very powerful, very flexible, um, and they can be created very quickly. Fe, just go into edit mode here. I can show you each dashboard has associated with it a query and the query is pulling data from a backend store and manipulating it and then displaying it in a visualization.

Speaker 2: So this is, this is a, a view of the dashboards or multiple pages in this dashboard. If I go over here and start a different issue, I’m going to cause Facebook to have an update to the apps and not really, but in fact in a fake way cause Facebook to have an update to their apps on all devices. It just so happens that on the um, iPhone six they have issues and the app is going to cause more areas than usual just for Facebook on the iPhone six. So if I drill down into apple here, you can see everything kind of looking normal. But down here we’re starting to get some issues showing up. These are starting to turn red, which red usually means bad. Well in other countries, in some countries red means good, but in this case it means bad. So you can see these, these ones here showing up because there’s issues with Facebook and you can now see that issues are happening on the iPhone six I can drill down further, I can filter everything by apple and the iPhone six so now I can see more information what’s happening across the country while it all, all the single strengths at all the various cell towers.

Speaker 2: And you can see very clearly now that this particular, um, service here is having more issues than usual on the iPhone six. So that was a very, very quick demonstration of what some of what the platform can do. This is the application built on our platform, right? So it’s all just done using a combination of the, the various components and, uh, the, the SQL, like language that our TQL is doing, all of the processing. And then we have a dashboard put on top of it that we built all with our platform. Thank you.