Boutique Tech Conference · 4. – 6. June in Rostock (Germany)
Picture of the talk

Operating the world of telecom from a whitebox - closer look at different OS SS7 implementations.

in English by Jakub Klausa of SS7 Technologies at AMOOCON 2009

Abstract

The big telco ‘secret ingredient’ so far has been the ss7 protocol. Despite open and well documented, it was rearly implemented outside the big CO multi-cabinet, multi million dollars switches. Now, as we’re progressing with the OST even further to penetrate the market, a few implementation have surfaced, that give people the oportunity to access the world of ‘real telco business’ for the fraction of the costs of traditional switches. But there are challenges, and there are things to have an eye on. The talk will mainly focus on presentation, comparison, and a bit of thought provoking. We will mainly focus ond SS7, but not only on that.

Img_0022_2

Additional material

Here you can find all available material for this talk.

PDFs

Audio recordings

Video recordings

The slides

There are 37 different slides. Click on them to view an enlarged version.

  1. Slide-0
  2. Slide-1
  3. Slide-2
  4. Slide-3
  5. Slide-4
  6. Slide-5
  7. Slide-6
  8. Slide-7
  9. Slide-8
  10. Slide-9
  11. Slide-10
  12. Slide-11
  13. Slide-12
  14. Slide-13
  15. Slide-14
  16. Slide-15
  17. Slide-16
  18. Slide-17
  19. Slide-18
  20. Slide-19
  21. Slide-20
  22. Slide-21
  23. Slide-22
  24. Slide-23
  25. Slide-24
  26. Slide-25
  27. Slide-26
  28. Slide-27
  29. Slide-28
  30. Slide-29
  31. Slide-30
  32. Slide-31
  33. Slide-32
  34. Slide-33
  35. Slide-34
  36. Slide-35
  37. Slide-36

Transcript

Jakub Klausa: I am going to present about SS7 and more and the open-source telephony in general. I have to admit, I’m a bit intimidated by the previous speakers, they were all talking about some new fancy stuff that will be the hip thing in a year or two, and I’m going to talk about something that soon could be considered legacy system. But still, it’s what needed on the market today, because mainly all the open-source telephony and telephony in general is used for making phone calls like voice phone calls and in the mobile market, some text messages. But in general, we are talking about voice phone calls. So in doing that, we have to refer to something that was fairly new recently, a possible convergence, it was considered to be a common term for making the old stuff work with the new stuff…making the old stuff work with the new stuff. Okay, so here’s my agenda for the presentation today: first, I’m going to talk about a bit of historical background. I like [unintelligible] And of course, I am going to talk about what is available on the market today and what you can do with it and how will the next logical step go about interconnecting the group of telephony services. To be honest, most of the time, for most users, a telephone is just two cans and a string. It is used to talk to one another and it will be still for some time. Of course, new applications will come, and they will eventually pitch up, they will be the main thing, but for now, it’s just mainly talking. And I have to remind you that it’s a fairly new thing because this is supposed to be a picture of Alexander Graham Bell making the first phone call ever and it’s only a hundred and so many years old, so it’s fairly recent stuff.

[shows picture]

Jakub: For reference, that’s what the first transatlantic cable looked like. It could carry, how many? Well, they were not channels, they were circuits. How many circuits? Anybody know? 36. And they upgraded it to 48 with some electrical magic at some point. They designed this long, long, long cable with 36 circuits. All the advances, fast forward, TDM being invented, on the same circuit, we could do a lot more calls. So, we got TDM, we got CCS, this is a picture of a general SS7 stock. What you notice here is that it’s fairly simple compared to some IP protocols. It’s fairly simple in the idea, the idea is pretty simple, yet so powerful. It brings all the services you are using with today’s telephony, your mobile and your land line, if you still have that. It all depends on the simple [unintelligible] one digit protocol. So, the operating procedure was, until very recently, like that.

[points to powerpoint slide]

Jakub: You invest shitloads of money for [unintelligible] like 5ESS, S12, or EWSD. You lay some copper, you wait for many, many years and it brings you profit. Your profit will be huge. That’s what it was all about until very recently. That’s how the big telcos (telephone corporations?) did their business. But now, one other thing. With the switch came a library of books, manuals, whatever. So, getting expert advice… manipulating a switch was supposed to be very tough requiring unique knowledge. It wasn’t, for the most part, but it was supposed to be. And you would use some cryptic language like MML, man machine language, which has its own [unintelligible] recommendations for how the language should look like. It’s really cryptic, and I would say obsolete. So, they invested a lot of money and they perfected [unintelligible] They wouldn’t let you in and in many countries, it’s so hard for anyone trying to make a business in phone calls, to enter the market, to becoming significant in the market, because big telcos are pushing it to make it harder and harder for the newcomers. Okay, why should we care about that? There is a tremendous difference between Europe and the U.S., America in general, in this type of stuff works, and not only from the technical perspective, but also from the business perspective. In Europe, if you’re interconnected through SS7, it brings you significantly lower rates, it may bring you additional services, access through IN network and things like local number probability, which is becoming mandatory in most EU countries, or is mandatory already. In some way or another, you can do it on PRIs but in general, you should do it on SS7 because it was the way it was designed. In the U.S., you get access to a lot of transactional services, like CNAM, LNP also, they have this huge number of services built on [unintelligible] transactional [unintelligible] to SS7. They turn everything into business so in essence, it brings you premium services and original services you cannot provide on PRIs. The common thing is, you will need SS7 to run any kind of GSN network because GSN runs on this MAP protocol which, again, is built on SS7. So, all the GSN protocols are dependent on SS7 at their core. What’s the catch? In Europe and all of the world, conformity. You can write your own SS7 stuff, it’s not undoable, SS7 is a big state machinery that a lot of states, and stuff like that, but it’s not something you can’t do. The problem is, you have to conform to the existing infrastructure, and as I said before, the big players aren’t making it any easier for you to interconnect with them, even if your brand new complete sockets will feature new, uh… They are throwing everything they have at you because they can and it is in their interest. There are those long, long lists of

[someone coughs very loudly]

Jakub: tests you have to do, it’s like, if they make you go through all of the steps, it can be days, if not weeks, and if anything goes wrong, they will make you start over and over again. You have to conform to what they are expecting. In the U.S., it is just about the same, but they’re requiring certification for being in conformity with the AMCI, the standard. So, it will of course cost you money, and lots of it. The difference is, in the Euro domain, the ITU is giving in essence [unintelligible] for free, you can just go to the ITU’s website and get it for free. In the U.S., not so much. The ANSI will ask for your arm and leg and first of all, just for the cover of your incoming [unintelligible] The common thing is, everything in the world of [unintelligible] costs money, everything. And the thing is, the newcomers on the market are more and more coming from the IP world, not from the telephony world. And the mindset for the IP guy is a bit different from the telco guy. Let’s take interconnected dimension, for example. In IP, you won’t set different circuits for incoming and outgoing traffic. In the telco world, the big people make you do that. So even if all of your traffic is outgoing, they will still make you allocate some space, like one, two or, it depends on your interconnective size, but they will still make build additional circuits just for incoming calls, which, eventually, you won’t have. But still, they won’t mix it, it’s technically possible, but it brings some problems, and they don’t want to deal with that, it’s easier for them to just tell you to get another circuit or two and then we will interconnect. So, that was an example of different mindsets among telco people and IP people. And of course, from the engineering standpoint, it makes sense to do it that way. But [unintelligible]
There are few implementations of SS7, different kinds of, different completion levels, that are available today that I am going to talk about. Maybe there are some that I don’t know about that if you know one, it would be really great to hear about that. The first one was OpenSS7, there is chan_ss7 for asterisk, there is libss7 which is [unintelligible] as well, and Yate has its own SS7 implementation. In essence, there are the four implementations of SS7 that I will try to talk about now.

First, OpenSS7. It’s the first one, it dates back to the late ‘90s, he seems to be the lonely guy developing for…It’s extensive protocol implementation support, he tries to think of every single thing in a protocol, and he does quite well at it, but the protocol isn’t complicated, but it’s quite loaded, it has so many things in it that you won’t use every day or you won’t use ever but he’s trying to do it anyway. I missed a card in the bracket, but it is in general, oh yeah, by the way, he’s doing the implementation in kind of a holistic way, he’s doing SS7 implementation at the [unintelligible] level
…the discussions about what I’m going to talk about later, the new way of doing things in SS7 networks, the protocol called SigTran, in general it’s transitional of SS7 in the IP world, where you get rid of the TDM circuits and you go and try to transfer what you have over IP. So doing that, Bill implemented SCTP protocol for Linux, which is nice, it’s the protocol that is used by SigTran. Bill does all the things, how do I describe, by the book. He writes a piece of code, he tries to implement something, he writes, he has this conformity test framework he wrote himself to do all type of progression testing and he’s putting all the features into the framework. And it’s a lot of work but it makes sure that everything is in place and working nicely. And of course SS7 is symptomatic here and there for TDM circuits, like SS7 is implemented here and there, mainly the part that makes the voice calls go through. He’s leaning toward SigTran, which is the next step in SS7, the transition to the IP world. That’s about OpenSS7.

chan_SS7 is the first usable SS7 implementation that I know of, at least on the market, it dates back to late 2005, it was made by guys from Denmark, the company was called [unintelligible], it was bought by some other company. It’s a kind of driver for asterisk, it has some nice features, because it was developed for a client of theirs for use in real world scenarios, it’s not some research project or something like that. So they tried to implement things to get calls through and as we all know, from the numerous presentations about asterisk, asterisk is getting pretty well to some number of codes, you can push it to the higher numbers, so they are supporting cluster, which is very nice, because SS7 is a common channel signal protocol and with a single signal, you can make thousands of calls, so single SS7 box isn’t going to get it. So they wrote a clustering solution for the implementation that takes care of that, so you can have a signal channel alone on one box with some of the bigger channels and then another box with some of the other peer channels or another signaling channel for redundancy or whatever. They built a bigger system that way. So clustering is very nice in chan_ss7. The people working mainly built another company which is now called [unintelligible] and they’re commercial support for the chan_SS7. They have SMSC implementation, that’s the thing that sends SMS text message through the SS7 stock, which is [unintelligible] so if you want to connect with your mobile carrier to send lots and lots of text messages, that may be your way to go. And they have SNMP monitoring module for chan_SS7 also available commercially, I don’t really know if it is closed-source or open-source but you may approach them and ask about that. But it’s available, and you can get it for some Euros.

libSS7 is mainly a one-man job, Matthew Richardson is working on it. It’s very recent, as you see on the slide (October 2006). It works very much like libpri, it’s supposed to, not a replacement of libpri but it’s a transition from libpri. The nice thing about libSS7 is it’s in the main asterisk sourcetree so if you follow the development you get it with the full installation of asterisk 1.6 so you get it with asterisk 1.6. I talked with Matthew about my presentation just before coming here and he wanted me to make a note about clustering support coming soon to libSS7, which will be very nice because it will allow us to scale of the systems interconnected with libSS7 to be much bigger than a single box scheme can manage. And Matthew asked me to mention to you as well that you should use release libSS7 for production, not the trunk, for obvious reasons, and the release version is quite stable. I’ve seen uses of it doing millions of calls and not crashing in the process, so it’s kind of nice.

Yate was here a few minutes ago. Yate has its own SS7 implementation. It’s available in Yate 2 which was released January 2008. It has basic ISUP functionality. They were supposed to talk at this conference about SM functionality and they explain that it won’t be commercial, it will be open-source when it is ready. They are [unintelligible]
Where you get some server, essentially, rather than some piece of code that uses simple old router to get the signaling channel and you use their access servers as the [unintelligible] gateways, the [unintelligible] channels, and it codes well. You know what the cost of a Cisco solution can be, and it’s beyond that. What (woman’s name) is doing, she’s implementing, you can buy cheap media or access servers from Cisco and you can buy the router and she’s doing in Yate, it will be really, really nice feature, and from all I’ve heard from her, it scales really, really well so it will be a really nice solution when it comes to the market and it’s going to be within months.

Those are the open-source solutions available today on the market, but there are others. There are semi-open solutions who you buy stuff from. [unintelligible] Maybe I’m pronouncing the name not properly, but a guy from his team wrote ISUP, SS7 ISUP implementation which is a drop-in replacement for libpri but it is a closed-source commercial product. It is available, you can approach him and ask how he’s doing. I’m confused about SS7box and Sangoma smg because they seem to be…Sangoma smg seems to be using some part of SS7box solution but it’s not clear what kind of…which part of what product is being…is which. But SS7box and Sangoma smg you heard a few minutes ago from the guy from Sangoma. They are providing you, the whole infrastructure, the whole architecture, for making highly available SS7 components with more than asterisk box. Well, it’s commercial on their part, sorry. HP has a product called OpenCall. It’s not exactly open-source or anything, but they give you an API to access the SS7 communications so you can do different things with it. Intel seems to have a solution as well that’s similar where they don’t give you the source code, they give you the API. And there are the not exactly software solutions, they are obsolete but they are available on the second-hand market, they are products that make some progress on general applicability of SS7. Cisco VCO/4k, that’s in essence a central office switch, which you can buy additional some servers for it, Cisco provides you with the library to write your own applications for it. It sounds, you couldn’t do just about anything, but as you get the library, and you get access to all the SS7 stuff like messaging, you can do whatever you like with it. And they provided it with flavors like American APSI and European APSI flavors. There’s a company in the U.S. called, I forgot the name, but you’ll find it through Google, that still sells them, supports them, so it very much may be a live product still. It’s nice because it has all the redundancy, it has ULCPU and stuff like that, they’re working [unintelligible] all the time, but they are synchronized all the time, they have nice features like NTP level switch-overs, you can check it if you’re interested. The Lucent Excel switch is another switch very similar to Cisco VCO, it’s the same take on the problem. They have this switch which has some TDM circuits in it and they give you the API which is accessible to access the box over IP they deliver seven messages and let you do whatever you want with them, establish code or whatever. In essence, it’s more of a [unintelligible] than a real product, it’s a [unintelligible] for integrators but you can buy the software to run it in no time. It’s still available. So those are the semi-open solutions that allows you to access SS7 networks this way or another.

But what now? What is the main problem of the open-source solutions? Redundancy. Because what is well known about, you can say whatever you like about the land line, but if it is down, it is really, really, really down. It took a huge amount of money to keep the thing going on all the time. There is all the redundancy built into the switches. But it has to be dealt with at some point, in the open-source solutions as well, because we were expecting a certain level of services from an SS7 interconnected node. So redundancies are definitely a thing to go and it will be addresses in some of the implementations. I’ve talked with some of the developers and they are considering it a very important feature and they will be working on it. So, that was redundancy. Yeah, clustering. Because we all know that no matter how high end a server you buy and what kind of telephony engine you put on it, it has a limit, and it is a fairly low limit considering the center of the switches, like, even if it goes thousand of calls, it’s fairly small, you can scale it beyond that, and the best approach would be clustering. Which is already implemented in for example, chan_ss7 and libss7 and it is a necessity to make the systems interconnected with the networks cable. The next thing, of course, conformity. We have to get the things, even if they are not officially certified, we have to get the bigger players to accept that such a solution exists to let the smaller players into their networks. Because that’s the way it should be and it will but it will take some time with that part. Some companies are working, for example, with MAP and with SS7 to get it certified in some parts of the world, which will get it recognized, which will be very nice because a lot of the adoption rate will be much, much higher and adoption will be much simpler and faster. That’s the next thing, rate of adoption. Because SS7 is no longer the holy grail of telephony because you don’t have to spend millions and millions of dollars to get it, there’s really no reason that the production shouldn’t be wider, and if you have the opportunity, and you probably should have, to become interconnected with SS7 which brings you lower rates and stuff and some additional goodies, you should consider adopting it. I believe SS7 is in the official release of asterisk, it’s officially supported by [unintelligible], chan_SS7 is supported by the guys in [unintelligible], so you are not left alone. There is someone you can rely on. So you should consider open-source SS7 solutions.

Okay, we are on the verge of transition from traditional TDM circuit to over IP world where everything will be IP based. And it’s good and it’s fine but then again, people are used to a certain level of service when it comes to PSTM, and folks are making sure it will be like that when they transition to IP. And there’s another way of them doing things harder for the newcomers. So there’s the six-round protocol, which is essentially bringing a common-channel signaling protocol to the IP stock. There’s a ICBP that is going to take care of the bigger channels, well it’s a [unintelligible] in the IP world. It’s actually got bits of IEGF working on it that’s not the host standard. But it eventually will probably most probably (COMPLETELY UNINTELLIGIBLE) Well, whoever produces them, whatever, what they are going to implement most probably, is SigTran at their core network. But there is SIP-I and the next thing, SIP-T, it’s a take on the SS7 network and SS7 in general and I stopped in on…There are two things bringing the SS7 messages to the SIP world. One is to make special heaters with the information from the SS7 messages and one is to make the SS7 messages as attachments to SIP messages. Well, they’re both being discussed, worked on, we will see which one will be the one winning. You can ask (UNINT) who will be the one winning. So, that’s the way things are going to be in the near future with respect to the SS7 protocol and its evolvement.

Okay, there are other things that will change the rules of the game. There is OpenBTS project, which is trying to accomplish using the USRP radio, user programming radio module, you can buy for like $500 or something, allows you to do programmable stuff with the waves, so they’re taking asterisk and some of their own code and making a Microsoft but it doesn’t need any other infrastructure like in the GSN network you will need the BSCR, VLR, HLR, and stuff, it’s self-contained. And what you get at the end is the SIPcall (sp?) or the voice call and I think SIPmessage (sp?) for the text message and it really is a nice project. There is this kind of famous Burning Man festival in the U.S. and they are doing some festival in the desert and the OpenBTS team goes there, well it was so last year, and it will be this year, and they go and they set up their infrastructure and they do the testing on the area and there is no coverage of other operators there in the first place where people just hook up to anything. Last year, they were a huge success, they were not very proficient with computer and asterisk, so people made some unexpected calls through the infrastructure, during the festival, which is nice, that they didn’t expect things to work, and then it worked better than expected. So it’s a nice project to keep your eyes on. Of course, you have to take into account that most of running this in your house will be illegal in most countries, because all the spectrum is already sold. Nevertheless, there are some countries where they haven’t sold the…well, just for the fun, you can have a look at it. And there is this other project which is really relevant here because it is this German guy writing the software. It is called OpenBSC, what it does it acts like the BSC to a kind of Siemens branded transmission station equipment that the guy is providing for a, like for 300 Euros you can get a professional base station. You are interconnected with your system through BY interface and you run his software and you control in essence the transmitter station. It’s fairly nice, it’s fairly new, but it’s a nice thing to see such a project appearing. There is some other equipment that you can hook up with it. You should definitely take a look at this. It’s another project going after the dominant players.

There are probably much, much more, many, many more projects that I should talk about here. But I don’t have the time and there are many that I don’t know. Those are the most interesting ones and the most promising ones from my perspective. And I suggest if you’re interested, you should dig deeper in those. That was pretty much all I have to say about the subject of the presentation, if you have any questions, go ahead.

Man 1: [unintelligible]

Jakub: Well, you probably will sometime, because it’s not yet released. You can approach (girl’s name) and talk about it with her and she told me it would probably be released within months.

Man 1: [unintelligible]

Jakub: They are communicating, from what I know. But that’s how it works with the whole Cisco…

Man 1: [unintelligible]

Jakub: And in essence, Yate is doing that. It is the drop-in replacement for…

Man 1: I see. I see.

Jakub: I don’t remember that now, the name of the program, because it has changed…Any other questions?

[somebody wants to get called]

Jakub: Sorry, I couldn’t see you because of the light.

Man 2: [unintelligible]

Jakub: Okay, we were working mainly with Polish service providers. In general, the big names are opposed to it. But the smaller players in it [unintelligible] gives them minutes…We are, as a company, in general, doing interconnect testing, there are no problems with the interconnect procedure, it is going quite smoothly, there is the problem of acceptance from the bigger players. If you tell them you are developing something open-source, that brings the red light on in their heads. That’s another story, if you want to go that way, you can go to Sangoma, it will cost you, but it is a fraction of the price of a real center-office switch.

Man 2: [unintelligible]

Jakub: Yeah, it is.

Man 2: [unintelligible]

Jakub: Well, I don’t know, because we haven’t worked with the Germans that much. But we expect most of the small players will, because why shouldn’t they? Before making any calls, even if you were interconnected to the switches from Zenith [unintelligible] Changing them, introducing some problems intentionally into the network just to see how it behaves, then there’s the bidding testing, which is yet another part of the testing procedure. Anyway, there’s no real reason that they wouldn’t allow you to…We should approach them and try to do that. And for the open-source solutions, the support is really, really great. You get answers very, very quickly and things get fixed very, very quickly. There is a guy from Hungaria working on libSS7 and he is making tremendous improvements to the code with respect to the…well, there are not many problems. The code is fairly stable in the basic things. It works, it just works. Any other questions?

Man 3: Which is the most widely used?

Jakub: Most widely used?

Man 3: Yeah.

Jakub: chan-SS7 is most widely used, but the reason is quite simple, it’s over. So it has had the time to get it up there, and libSS7 is catching up because it’s gaining all the features that chan-SS7 has and Yate is doing quite well, as well, so from the protocol kind of view, they are comparable. There are some features lacking, but in general, they are on the same level. So, that’s the future, but it’s going to be in libSS7 very shortly. Yate doesn’t support it yet, but I am sure they will be eager to support it, but it’s peanuts compared to the C/O switch. Any more questions? Thank you very much.