2026-04-02·9 min read·sota.io team

Deploy CHILL to Europe — CCITT/ITU (Geneva 🇨🇭 1980), the Telecom Language That Powered Ericsson AXE, Siemens EWSD, and Nokia DX 200 on EU Infrastructure in 2026

Every time you made a phone call in the 1980s, 1990s, or 2000s, there was a reasonable chance that somewhere in the path between your handset and the other person, a piece of software written in CHILL was executing. Not likely: reasonable. At its peak, the Ericsson AXE telephone exchange — whose control software was written in CHILL — handled more than forty percent of all digital telephone switching capacity on Earth. The Siemens EWSD, the Nokia DX 200, and the Alcatel S-12 added tens of millions more lines. Three of the four companies are European. The fourth was a Belgian-French joint venture. CHILL is not a language you will find discussed in academic computer science histories, but it is a language whose consequences you have lived every time a telephone network connected you to another human being.

CHILL stands for CCITT High Level Language. CCITT is the Comité Consultatif International Téléphonique et Télégraphique — the International Telegraph and Telephone Consultative Committee — which became the ITU-T (International Telecommunication Union Telecommunication Standardisation Sector) in 1993. The ITU is a United Nations agency headquartered in Geneva, Switzerland 🇨🇭. The CCITT began work on a standard programming language for telecommunications software in the early 1970s, motivated by the recognition that each manufacturer was developing proprietary languages for their switching equipment — Ericsson had PLEX, Siemens had CHILL-precursor work, Bell Labs had C and BLISS — and that this fragmentation was creating interoperability and maintenance problems across the global telephone network.

The Problem CHILL Was Designed to Solve

Telephone switching software is a particular kind of real-time systems software. A telephone exchange must simultaneously manage thousands of active calls, each represented as a connection through a physical switching matrix. When a caller dials, the exchange must route the call through the network, establish signalling with the destination exchange, manage tones and timers, handle exceptions (busy, no answer, network congestion), and release resources when the call ends. All of this must happen within strict real-time deadlines — a caller should not hear silence for more than a few hundred milliseconds before receiving a dial tone.

The technical requirements this imposes on a programming language are specific:

The CCITT Study Group XI (Switching and Signalling) chartered a working group to design a language meeting these requirements. The result, after several years of expert consultation across the member organisations — which included every major European, American, and Japanese telecommunications company — was CHILL. The language was first published as a CCITT recommendation in 1980 and revised in 1984, 1988, and subsequently. It was also standardised as ISO 9496.

Language Design: Processes, Signals, Modes

CHILL was influenced by Pascal (Niklaus Wirth 🇨🇭, ETH Zürich, 1970) and, later, by Ada (Jean Ichbiah 🇫🇷, CII-Honeywell Bull Paris, DoD standard 1983). Like Pascal, it has strong static typing. Like Ada, it has built-in concurrency primitives. It went further than both in certain areas relevant to telecommunications.

Process model. A CHILL program consists of processes — concurrent units of execution. Processes are declared with the PROCESS keyword and instantiated dynamically. They execute concurrently, scheduled by the runtime system. A CHILL exchange might have thousands of active processes simultaneously, one per active call, plus processes for signalling, maintenance, and administration.

DCL call_record STRUCT (
  calling_number CHARS(15),
  called_number  CHARS(15),
  start_time     DURATION,
  state          call_state_mode
);

PROCESS call_handler (in call_record);
  /* Process body handles one call from setup to release */
END call_handler;

Signal communication. Processes communicate via signals — typed messages sent to named buffers called buffers or directly between processes. This message-passing model prevents the race conditions and deadlocks that plague shared-memory concurrent programming. A process receives signals by waiting on a RECEIVE statement, which suspends it until a signal arrives. This model maps directly onto the event-driven nature of telephony: a call is a sequence of signals (dial tone request, digit collection, route request, answer, disconnect).

SIGNAL setup_req (calling: CHARS(15), called: CHARS(15));
SIGNAL answer_ind;
SIGNAL disconnect_req (cause: disconnect_cause_mode);

/* In call handler: */
RECEIVE CASE
  (setup_req): /* Handle call setup */
  (disconnect_req): /* Handle disconnect */
END;

Modes (types with constraints). One of CHILL's distinctive features is the mode — a type that carries semantic constraints. A phone number is not just a character string of any length; it is a character string of specific format with specific constraints. A disconnect cause code is not an arbitrary integer; it is an integer from a defined enumeration. Modes make these domain constraints part of the type system, so that a function expecting a phone number cannot accidentally receive a trunk identifier.

NEWMODE subscriber_number_mode = CHARS(15);
NEWMODE trunk_group_mode       = INT RANGE (1:1000);
NEWMODE disconnect_cause_mode  = SET (normal_clearing, busy, no_answer, 
                                       congestion, network_failure);

Exception handling. CHILL has a structured exception mechanism predating most modern languages. Exceptions can be declared, raised (CAUSE), and handled at any level of the call stack. For telecom software, this is essential: a hardware alarm, a network protocol violation, or a timeout must be caught at the appropriate level and handled without propagating a crash.

Timing. The DELAY statement suspends a process for a specified duration. The AFTER clause on RECEIVE implements a timeout — if no signal arrives within the specified interval, an exception is raised. This maps directly onto call supervision: if a called party does not answer within, say, thirty seconds, the exchange must release the connection and return a no-answer tone to the caller.

Ericsson AXE: 40% of Global Digital Switching

The most significant deployment of CHILL was in the Ericsson AXE family of telephone exchanges. AXE was developed by Ericsson 🇸🇪 (AB LM Ericsson, Stockholm, Sweden, founded 1876 by Lars Magnus Ericsson) beginning in the early 1970s, with the first commercial deployment in 1976. The AXE architecture separated hardware (the APT subsystem) from software (the APZ subsystem), with the software written in a proprietary language called PLEX (Programming Language for EXchanges). PLEX was CHILL-influenced and, in later AXE versions, CHILL was used directly alongside PLEX.

By the mid-1990s, Ericsson had sold AXE systems to operators in more than 125 countries, and the installed base represented over 40% of global digital telephone switching capacity. In Europe specifically, AXE was the dominant exchange in Sweden (Televerket/Telia), Norway (Televerket/Telenor), Finland (Posti- ja lennätinhallitus / PTT), and many other countries. The AXE10 and subsequent variants formed the backbone of PSTN (Public Switched Telephone Network) infrastructure across Northern and Central Europe for decades.

Ericsson's AXE evolution also drove GSM. When the CEPT (Conférence Européenne des Postes et Télécommunications) initiated the Group Spéciale Mobile project in 1982 — the project that created the GSM standard, the most successful mobile telephone system in history — Ericsson was a principal contributor. The GSM Mobile Switching Centre (MSC) and Base Station Controller (BSC) were descended from AXE architecture, and the software control logic was implemented in PLEX and CHILL. When your mobile phone first connected to a GSM network in the 1990s or early 2000s, you were almost certainly connecting through equipment whose software heritage included CHILL.

Siemens EWSD: The Deutsche Telekom Backbone

Siemens 🇩🇪 (Siemens AG, Munich, founded 1847 by Werner von Siemens, Berlin) developed the EWSD (Elektronisches Wählsystem Digital — Digital Electronic Switching System) as its answer to AXE. EWSD was a fully digital stored-program telephone exchange, deployed from 1980 onward. The control software for EWSD was written in CHILL.

EWSD became the standard exchange for Deutsche Telekom 🇩🇪 (then Deutsche Bundespost Telekom), the German national telephone operator. Germany, with its large population and high telephone penetration, represented one of the largest single national markets for telephone switching equipment. EWSD was also deployed extensively in Austria (PTA/Telekom Austria), Switzerland (PTT/Swisscom), and across Central and Eastern Europe as those networks modernised in the 1990s.

Siemens EWSD reached a total installed base of over 160 million subscriber lines worldwide by the mid-1990s, in 110 countries. The CHILL software running the EWSD exchanges managed the voice calls of tens of millions of European telephone subscribers for decades.

Nokia DX 200: Finnish Telecoms Infrastructure

Nokia 🇫🇮 (Nokia Corporation, Espoo, Finland, founded 1865) was, before it became the dominant force in mobile handsets in the 1990s and 2000s, primarily a Finnish industrial conglomerate that happened to produce telephone exchanges. The Nokia DX 200 was Nokia's digital telephone exchange, developed by Nokia Telecommunications (later Nokia Networks, later Nokia Siemens Networks in a joint venture with Siemens, now Nokia). The DX 200 control software was written in CHILL.

Nokia's exchange business was closely tied to the Finnish telecommunications infrastructure. Finnish Telecom (later Sonera, now Telia Finland) was among its primary customers, and Nokia exchanges were deployed across Finland and exported widely. Nokia was also a key contributor to the GSM standard — in 1987, Nokia signed the initial GSM Memorandum of Understanding alongside twelve other European operators and manufacturers, committing to deploy GSM networks. Nokia's MSC and BSC products, like Ericsson's, had CHILL in their software heritage.

Alcatel S-12: A Franco-Belgian Telecom Achievement

The Alcatel S-12 telephone exchange was developed by ITT (International Telephone and Telegraph) in Antwerp, Belgium 🇧🇪, and subsequently acquired by Alcatel 🇫🇷 (Alcatel SA, Paris, France) when Alcatel acquired the telecommunications division of ITT in 1986. The S-12 was a fully distributed digital exchange — where AXE and EWSD had centralised processors, the S-12 distributed its processing across many small processors in the switching fabric itself. The distributed control software was written in CHILL.

The S-12 was deployed extensively by France Télécom 🇫🇷 (now Orange), Belgacom 🇧🇪 (now Proximus), and operators in Spain, the Netherlands, and elsewhere. Alcatel was the dominant supplier to France Télécom, and the S-12 formed the backbone of the French national telephone network through the 1990s and beyond.

Alcatel later merged with Lucent Technologies (USA) to form Alcatel-Lucent in 2006, which was acquired by Nokia 🇫🇮 in 2016. The Nokia Bell Labs research institution, formerly Bell Labs and Lucent Bell Labs, is now part of this combined company. The CHILL heritage of S-12 software thus ultimately converged with Nokia's own CHILL heritage in the DX 200.

SS7, ISDN, and the European Telecom Standards Ecosystem

CHILL's role extended beyond specific exchange products. It was the de facto implementation language for SS7 (Signalling System No. 7), the protocol suite that governs how telephone exchanges communicate with each other to set up and tear down calls. SS7 was developed by the CCITT — the same body that created CHILL — and published as a standard in 1980, the same year as CHILL's first publication. The synchronicity is not coincidental: both emerged from the same CCITT process and the same working groups.

SS7 is structured in layers:

Every layer was implemented in software on every telephone exchange. The dominant implementation language for this software in European exchanges was CHILL.

ISDN (Integrated Services Digital Network), the late-1980s and 1990s digital telephone service that preceded broadband internet, was implemented on top of the same CHILL-based exchange infrastructure. ISDN was a European success before it was anything else: Germany had 1.5 million ISDN subscribers by 1994, the highest penetration in the world, almost all on EWSD exchanges running CHILL software.

GDPR and NIS2: The Telecom Compliance Angle

CHILL-based systems are directly relevant to modern European compliance frameworks because they form the operational substrate of the PSTN infrastructure that European electronic communications regulation governs.

NIS2 Directive (EU) 2022/2555 — the Network and Information Security Directive revised in 2022 — includes telecommunications infrastructure in its scope of critical entities. Operators of essential services in the electronic communications sector must implement appropriate security measures and report significant incidents. The legacy CHILL-based PSTN infrastructure in European telecom operators (where it still operates, often as a substrate for VoIP interconnect) falls under NIS2 requirements.

GDPR Article 5(1)(f) requires appropriate security for personal data. Call detail records — the logs of who called whom, when, for how long — are personal data under GDPR. These records were generated by CHILL-based exchange software and stored in exchange databases. The data retention and access control requirements of GDPR apply to this data wherever it is still held.

The strong type system and process isolation of CHILL contributed to the reliability and security of the systems it powered. CHILL's mode system makes data type errors impossible at the language level. Its process model ensures that a bug in one call-handling process cannot corrupt another. These properties were not designed with GDPR or NIS2 in mind — those frameworks did not exist — but they are properties that GDPR and NIS2 require.

Deploying CHILL-Inspired Systems to Europe with sota.io

The CHILL runtime model — concurrent processes, message-passing signals, real-time timing, exception handling — describes a pattern that modern distributed systems implement with different technology: microservices communicate via message queues, services time out on external calls, exceptions propagate up service boundaries. The underlying design decisions are the same ones the CCITT working group made in Geneva in the 1970s.

If you are building telecommunications infrastructure software today — VoIP systems, signalling gateways, telecom APIs, SS7-over-IP interfaces — or if you are maintaining legacy CHILL systems that need modern tooling alongside them, you need European infrastructure that satisfies the regulatory requirements your telecom operator customers impose.

sota.io is the EU-native platform-as-a-service built for exactly this use case. Your services run on German infrastructure, in data centres that comply with ISO 27001, SOC 2, and the data sovereignty requirements of the EU General Data Protection Regulation. You get managed PostgreSQL on the same infrastructure — no cross-border data transfers, no Schrems II risk, no legal grey areas.

# Deploy a CHILL-inspired telecom signalling service to EU infrastructure
curl -fsSL https://cli.sota.io/install.sh | sh
sota login
sota deploy --region eu-central-1

Your service is on EU infrastructure in minutes. The same German infrastructure that Siemens chose for EWSD. The same European network that carried every call that CHILL-based exchanges processed.

The CCITT built CHILL to be a standard that transcended any single vendor's proprietary system — a common language for a common infrastructure. sota.io is built on the same principle: EU-native infrastructure that any developer can deploy to, with the compliance and sovereignty guarantees that European customers require and European law demands.

Start your free deploy at sota.io