We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

VoIP Troubleshooting and Monitoring FAQs

00:00

Formal Metadata

Title
VoIP Troubleshooting and Monitoring FAQs
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
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
It's most likely that you have already heard about the SIP3 platform which allows you to monitor and troubleshoot your VoIP infrastructure. For the last year SIP3 team has grown and added tons of nice features into platform. This talk will tell about past, present and upcoming future of SIP3 and will be useful for both newcomer users and people who've played with SIP3 in the past.
IterationInternettelefonieCommunications protocolComputer animation
Computing platformCommunications protocolInternettelefonieSoftwareDifferent (Kate Ryan album)Computer animation
CASE <Informatik>Different (Kate Ryan album)Virtual machineInternettelefonieProcess (computing)Physical systemOperator (mathematics)CodeComputer fileLink (knot theory)Computer animation
FAQSession Initiation ProtocolOperator (mathematics)Attribute grammarMathematical analysisMetric systemService (economics)Message passingWindowMultiplicationIP addressRevision controlElectronic mailing listAttribute grammarRange (statistics)System callMobile appMoment (mathematics)CodeOperating systemTerm (mathematics)Message passingMultiplication signCodePerfect groupGeneric programmingMetric systemError messageInformationHypermediaEntire functionConnected spaceType theoryCartesian coordinate systemService (economics)Source codeCross-correlationDivisorDimensional analysisQuery languageCodecMathematical analysisDataflowComputing platformOperator (mathematics)FrequencyProjective planeMereologyComputer animation
FAQMessage passingPhysical system2 (number)Presentation of a groupBenchmarkComputer animation
Attribute grammarEvent horizonUser-defined functionNumberAttribute grammarSoftware testingRoboticsEmailSystem callMultiplication signCommunications protocolInternetworkingMessage passingComputer animation
Event horizonFunction (mathematics)Vertex (graph theory)Attribute grammarNumberTerm (mathematics)File formatService (economics)System callUser-defined functionCross-correlationMessage passingComputer animation
World Wide Web ConsortiumVertex (graph theory)Event horizonClient (computing)Computing platformMetric systemSoftware developerProduct (business)Term (mathematics)InformationUser-defined functionVideo game consoleDampingSystem callComputer animation
CodeComputer animation
FreewareRevision controlLattice (order)MereologyEndliche ModelltheorieComputer animation
Different (Kate Ryan album)Revision controlPerfect groupHypermediaPhysical systemQuality of serviceInternet service providerMathematical analysisEnterprise architectureComputer animation
Demo (music)TwitterLink (knot theory)Revision controlComputer animation
Mathematical analysisSoftware developerDifferent (Kate Ryan album)Revision controlOpen sourceMoment (mathematics)Server (computing)Session Initiation ProtocolBitEnterprise architectureMultiplication signLecture/Conference
Point cloudFacebookOpen source
Transcript: English(auto-generated)
Well, fellow RTC enthusiasts, we have Oleg here, who's gonna tell us about CIP3, which is not a new iteration of the CIP protocol. It is a VoIP troubleshooting tool. Yep. Take it away. Okay, hello everybody.
My name is Oleg, and I'm a CTO at CIP3. As you know, it's a company doing VoIP troubleshooting and monitoring. We don't have much time, that's why I decided to spend it answering the most frequently asked questions about the platform, and give you a quick overview of all the new features we have in your release.
And the very first question is like, what is CIP3? So CIP3 is a monitoring and troubleshooting platform, which works with different traffic coming from voice over IP network. It might be, in most of the cases, it's a copy of CIP and RTP traffic,
and also it might be different CDRs and other protocols coming to our platform. Who needs it? Every company which works with voice over IP can benefit using CIP3. It might be either mobile operators with their IMS network, or CIPAS providers,
so we have different cases with different companies, starting from the companies using a bar metal machine to companies deeply in clouds, with infrastructure as a code project. But within the company, CIP3 might be useful for really all departments, I mean technical departments.
It might be NOC, it might be support team, it might be R&D, and also it might be businesses. And in most of the cases, actually, CIP3 is like a bridge. You can build all your processes within the company around CIP3, just attaching links or pickup files
or everything to the tickets in JIRA or whatever system you use. Now let's talk about how it looks like and how it work. Unfortunately, I can't show you demo in this 15 minutes. It's like not enough time. I will show you mostly screenshots. First thing we want to know,
I mean, why do we need over IP troubleshooting and monitoring? Just because we want to find any, literally any call in entire amount of data we have. And sometimes we have like big amount of data and Wireshark can't help us there. Even though engineers, they like Wireshark, that's why in CIP3, we do troubleshooting
and we have a search engine, which actually looks like Wireshark filter line. So you can see that you can specify the range of date and time. And you can say that I want to search this call by this, for instance, colleague and IP address.
So it's pretty simple and similar to what we have in Wireshark. Now I briefly tell you about new features of new release. This is a simple JavaScript, but very useful history of search. Now you can search in CIP3 and get back two steps back and to keep digging into your problems.
Also, previously we had only equals as operator as a criteria of search. Now we have below, greater, and not equal. And by introducing these operators, we introduced new criterias like call duration
or even more interesting and sensitive things like call setup time, call establish time, call disconnect time, all these things now you can use as a criteria of search. So basically, here is the list of, for instance, CIP criterias. By default, you can search by state, call ID, caller, callee, all these times
and some other criterias, but one of the most interesting features of new release is custom attribute. So basically, you can assign your own attribute to your call based on different things. I will explain a bit later, but you can search by custom attributes.
And of course, I need to show you how does it look like when you finally found your call. You can do CIP analysis, and in terms of CIP analysis, we have call flow where you can see correlated call legs and information about each of the messages of these call labs. And also, we have a pretty nice new feature which is RTP analysis.
This is a brand new feature of CIP3 where you can see quality of the call during the entire call. As you can see here, we have a caller with perfect R factor, which is like 92.5, which is perfect for this codec.
And we have callee who has some problems, and we can see at what time of the call he had these problems, how many packets were lost during this period of time, like call setup, during the call ending, and so on. Also, you can switch between RTP switches and see the same data from RTCP data.
So also, everything here can be represented by each of media legs. So basically, you can see, let's say, how your call passed through all the nodes. The second part of CIP3 project is monitoring.
When you are able to find whatever call you want to find, you need to have some kind of an overall picture, and to realize that, okay, I have a problem with call duration, for instance, or with ISR, or with some other metrics. I have lots of canceled calls or failed.
So basically, monitoring and CIP3, CIP3 ships, by default, CIP3 ships the platform with embedded Grafana. So you can customize and build your own dashboards. This is an example of CIF dashboard.
This is an example of RTP dashboard, where you can see expected lost packets and R factor per codec, or whatever you want. And R factor as a heatmap is a very useful thing. So I strongly recommend you to build some such type of charts if you want
to monitor your RTP data. So just to give you a quick overview, what do we have in terms of amount of metrics? For CIP, for instance, for CIP calls, even, you can have generic metrics like messages, attempts, duration, you can have all the delays.
You can have amount of sessions which are approaching at the moment and which are established, like concurrent sessions. For RTP, you can see all the required quality of service metrics as well, but that's not all. You can query each of these metrics using different dimensions.
For instance, if you take CIP call attempts, you can query this metric using source and destination hosts. You can query them using states, error code, error types. You can query them using call attempts related stuff like re-transmit during the CIP transaction, or you can find expired calls,
and you can query them using custom attributes. And by custom attributes, we can, I mean, it's whatever you can find in your CIP or RTP data. For instance, in many platforms, there are custom reason codes.
There are custom reason codes which you can use and monitor. So basically, you can define this reason code and query CIP call attempts by them, or by operation system or application version if you are using mobile application. Now let's talk about what are the advantages of CIP-3. The first one is performance
because from the very beginning, we worked on highly scalable system which capable to handle tons of traffic. And for instance, our latest benchmark shows that on one single server, we can handle 50k CIP messages per second
and more than one million RTP messages per second. And this is only one server, and this is entirely scalable architecture, but performance talk worth the entire presentation. I can put it in 15 minutes. The second advantage is customizations,
and I told you a couple of times already about user-defined attributes. Now let me tell you what it is. As you know, in Kamalio, OpenCIPs and other projects, we have really flexible engines to customize your business logic. We have the same CIP protocol, for instance, but at the same time,
we can put some extra headers into CIP messages, which actually, in these headers, they will be responsible for business logic. So in CIP3, we decided that if you want to give people the better experience working with all these systems,
these custom protocols and custom attributes and headers, you need to introduce the same thing. So in CIP3 now, starting new version, you can write your own user-defined functions in Groovy or JavaScript, where you can just analyze CIP messages. For instance, as an example here,
we all know that all the calls from number 100 is robocalls or internet test call, and you can assign an attribute and say, okay, this is robocall, and then you can get back to search, and you can search by this attribute, cip.robocall true. Okay, you can see all your calls from robots.
Or the same thing you can apply to monitoring and to monitoring Grafana. Another thing which might be useful in terms of user-defined functions is the way to correlate call legs, because CIP3 correlates call legs using caller and callee, and very often we have situation, for instance,
when there is a US number in international format and US number in national format after, let's say, PUBX. So what we can do, we can just match these numbers, again, analyze CIP message, and we can reassign caller attribute, which is service attribute,
and to make these numbers in international or national format, and now CIP3 can correlate all your calls and messages. Another very important thing and cool feature of user-defined functions is integrations. Now we have an information about call.
We can use this information to send it to third-party systems, for instance, notifications to Slack, or we can integrate it with your product console, so when you can actually grab information from CIP3 in your product console. All this can be easily done
with this new user-defined function thing. Also, in CIP3, we are very few people. That's why it's absolutely not normal to develop everything from scratch and to try to reinvent bicycles. That's why we like to delegate.
So in terms of monitoring, we delegate it to all the modern and cool systems, like, for instance, by default, we provide CIP3 with InfluxDB and Grafana, but you can choose whatever you want. For instance, if your company, you already have Datadog, you can send data from CIP3 to Datadog, or you can send data from CIP3 to Primatios
or Elasticsearch, everything is possible. So the next question, do we have a free version? A year ago, when I presented at FOSDEM, we actually didn't have code on GitHub, and now I can tell you that we have
almost all our models on GitHub. Two of them are 100% open-sourced, and two of them will be open-sourced during this year. So if you want, just check it out. If you want to be a part of our community, please join.
So also we have not only free version, we have an enterprise, and the next question is, what is the difference between community and enterprise? Okay, perfect. So what is the difference between community and enterprise? And the first very main thing is that in community version
we don't provide RTP analysis at the moment, we provide only RTCP, if we talk about media quality of service. But also in enterprise version mostly, we provide support, because systems like C3, they're not that easy to set up,
and sometimes you just need some help, which we always ready to give you in our community channels, but at the same time, we can provide the support. How to try C3? On our GitHub, we have C3 Ansible project, which you can just pull and deploy a new version of C3,
which I released yesterday. So also you can join our community in Slack and Telegram. You can find the links on our GitHub as well. You can follow me on Twitter and our accounts as well. We will be always happy to help you. Thank you.
Right on. We have time for a question. You would like to ask anything?
What's the instrumentation? So how C3 gathers this data? Ingest SIP packets or whatever? Sorry, again? Can you repeat it? How did that comes into C3?
So you have some agent or whatever? Yeah, we have a C3 campaign. It's an agent, or also it can be used as a standalone server where you can just span traffic from your, like a copy of traffic from your network, mirroring, spanning, whatever.
Also... SIP packet. Yes. It's like a HET-3 or something? We support HET-3, so you can send it directly to our backend as well. We support at the moment only SIP, I guess. But we just, you know, we develop features by demand.
And so far... And I think that also all the people want to know if you have time, a little bit more between the difference between the open source version and the enterprise version. Well, what is RTP analysis and what else? RTP analysis and support at the moment.
That's an answer. All right, thanks a lot. Thank you guys.