 Well, fellow RTC enthusiasts, we've got Oleg here who's going to tell us about SIP-3 which is not the new iteration of the SIP protocol. It is a VoIP travel shooting tool. Yep, take it away. Okay, hello everybody, my name is Oleg and I'm a CTO at SIP-3. As you know, it's a company doing VoIP travel shooting 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 new release. And the very first question is like, what is SIP-3? So SIP-3 is a monitoring and travel shooting platform which works with different traffic coming from voice or IP network. It might be, in most of the cases, it's a copy of SIP 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 or IP can benefit using SIP-3. It might be either mobile operators with their IMS network or C-pass providers. So we have different cases with different companies starting from the companies using like a bar metal machine to companies deeply in clouds with infrastructure as a code project. But within the company SIP-3 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 SIP-3 is like a breach. You can build all your processes within the company around SIP-3, just attaching links or pickup files or everything to the tickets in Giro or whatever system you use. Now let's talk about how it looks like and how it works. Unfortunately I can't show you demo in these 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 voice or IP troubleshooting and monitoring? Just because we want to find any, literally any call in entire amount of data we have. And sometimes you have like a big amount of data and Fire Shark can't help us there. Even though engineers they like Fire Shark, that's why in SIP-3 we do troubleshooting and we have a search engine. Which actually looks like Fire Shark 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 callee and IP address. So it's pretty simple and similar to what we have in Fire Shark. 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 SIP-3 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 established 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 SIP 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 attributes. 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 SIP analysis and in terms of SIP 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 SIP3 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 caller 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 RTP data. So also everything here can be represented by each of media legs. So basically you can see let's say how your call pass through all the nodes. The second part of SIP3 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 matrix. We don't have lots of cancelled calls or failed. So basically monitoring and SIP3 ships by default SIP3 ships the platform with embedded Grafana. So you can customize and build your own dashboards. This is an example of SIP dashboard. This is an example of RTP dashboard where you can see like expected lost packets and R-factor per codec or whatever you want. And R-factor as a heat map 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 matrix. For SIP for instance, for SIP calls even. You can have like generic matrix 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 matrix as well. But that's not all. You can query each of these matrix using different dimensions. For instance if we take SIP call attempts you can query this matrix using source and destination hosts. You can query them using states, error codes, error types. You can query them using like call attempts related stuff like retransmits during the SIP 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 SIP 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 SIP 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 SIP3. 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 benchmarks shows that on one single server we can handle 50k SIP messages per second and more than 1 million RTP messages per second. And this is only one server and this is entirely scalable architecture but performance talk was 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 Open SIPs and other projects we have really flexible engines to customize your business logic. We have the same SIP protocol for instance but at the same time we can put some extra headers into SIP messages which actually in these headers they will be responsible for business logic. So in SIP3 we decided that if you want to give people the better experience working with all these systems with custom protocols and custom attributes and headers you need to introduce the same thing. So in SIP3 now starting new version you can write your own user defined functions in Groovy or JavaScript where you can just analyze SIP messages. For instance as an example here we all know that all the calls from number 100 is a robocalls or like 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 SIP.robocall true. 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 SIP3 correlates call legs using caller and cally and very often we have situations for instance when there is a US number in international format and US number in national format after let's say PBX. So what we can do we can just match these numbers again analyze SIP message and we can reassign caller attribute which is service attribute and to make these numbers like in international or national format and now SIP3 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 SIP3 in your product console all this can be easily done with this new user defined functions thing. Also in SIP3 we are very few people that's why it's absolutely not normal to develop everything from scratch and to try to reinvade 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 SIP3 with influx DB and Grafana but you can choose whatever you want. For instance if your company you already have Datadoc you can send data from SIP3 to Datadoc or you can send data from SIP3 to Prometheus or Elasticsearch everything is possible. So the next question, do we have a free version? A year ago when I presented at FOSDOM 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 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 SIP3 they are 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 support. How to try SIP3? On our GitHub we have SIP3 Ansible project which you can just pull and deploy a new version of SIP3 which I released yesterday. So also you can join our community since like in Telegram you can find the links on our GitHub as well you can follow me in Twitter and our accounts as well we will be always happy to help you. Thank you. Right on. We have time for a question. Would you like to ask anything? What's the instrumentation? How SIP3 gathers this data? Ingest SIP packets or whatever? Sorry again. Can you repeat it? How the data comes into SIP3? You have some agent or whatever? Yeah, we have a SIP3 container, 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. So you just receive a real SIP packet? Yes. We support SIP3 so you can send it directly to our back end as well we support the moment only SIP I guess but we just... 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. What is RTP analysis and what else? RTP analysis and support at the moment. Yep. That's an answer. Thanks a lot Oleg. Thank you guys.