Skip to content

Ostelco Manifesto

Bjørn Remseth edited this page Dec 5, 2017 · 1 revision

Introduction

We will open source infrastructure code for building a telco. When building the earlier "software telco" stacks we have found that a significant part of what we do is just to figure out how to make components talk to each other easily. These interfaces, and their surrounding logic are not a main part of what makes our solutions unique, but they are necessary to connect the various bits and pieces that does make them unique. We're now in a situation where we have the opportunity to share (and cooperate on) a new take on how to build this type of infrastructure, so that's what this project is intended to.

In our experience, a typical pattern we explore is to take some existing telco protocol, e.g. SIP, SS7 or Diameter, extract the parts we need to work with, translate them into some protocol we feel comfortable in working with, and then do our work there. What we propose is that we take the protocol adapters, the template processing code and the data structures from this work and make open sourced under the Apache 2.0 license.

If this description is a little vague, it's because we're a little uncertain exactly which direction this effort will take us in. Not to worry, we'll share it all :)

What we will do:

Open source project called “OSTelco” (for Open Source Telco, obviously) containing libraries and components for producing all parts of a functioning telco solution, including but not limited to:

  • Interfaces to Diameter and SS7, both directly to the wire protocols, and adapters to existing libraries (such as jDiameter). For jDiameter/jSS7 which are agpl licensed libraries, those interfaces would have to be formulated as standalone “cutout” microservices that are independent of everything else. This is a necessary condition due to the very special terms of the agpl license.
  • GRPC protocols to replace all or parts of the Diameter/SS7 etc. protocols for PCRF and OCS functions.
  • Sample/Reference implementations of a BSS system that communicates with the packet core via GRPC
  • Use of the Apache 2.0 license, permitting commercial use of the software.
  • Shared authorship. All contributions should be accepted without having to sign over intellectual property rights (IPR). The result will be that the code in the open source project has “entangled” IPR. This is the same strategy that is used the linux kernel, and indeed most open source projects. It is a strategy that lowers the threshold for cooperation and heightens the threshold for “hijacking” of the code.
Clone this wiki locally