AXE

AXE är ett digitalt, datorstyrt, kretskopplat  telefonväxelsystem utvecklat av Ericssons och Televerkets gemensamma bolag Ellemtel.

Historia 
AXE utvecklades av Ellemtel Utvecklings AB, ett bolag som bildades 1970 och ägdes gemensamt av Ericsson och Televerket. På Ellemtel var Bengt Gunnar Magnusson chefsingenjör för framtagningen av AXE.

Civilingenjör Uno Nilsson fick två patent som lagt grunden till AXE.

Den första AXE-växeln i Sverige installerades 1976 i Södertälje. Under perioden 1994–1997 byttes 2 500 små telefonstationer (egentligen endast utbrutna abonnentsteg, så kallade Remote Subscriber Stage, RSS) ut mot AXE-utrustning i standardiserade stålcontainrar. De kallas Ödåkra-container eftersom den första placerades i Ödåkra.

År 1988 beställde Försvarets materielverk en militär version av AXE med beteckningen MXD 2000 till en kostnad av 100 miljoner kronor för att användas på Sveriges militära flygbaser inom ramen för det militära projektet BAS 90. Systemet levererades under 1989.

Den sista telestationen (moderstation) som uppgraderades till AXE i Sverige var den i Katrineholm 1996. Den sista RSS:en som uppgraderades var den i Älvros i Härjedalen, i slutet av september 1998.

Uppbyggnad

En AXE-växel är uppbyggd av moduler. Genom att byta ut moduler kan nya funktioner tillföras och gamla funktioner kan moderniseras och förminskas. Detta tänkande i moduler är en av de främsta orsakerna till framgångarna med AXE-systemet. 

På högsta nivån är AXE-växeln uppdelad i styrsystemet (APZ) samt telefonidelen eller växeldelen (APT). Vissa noder i telefonisystemen behöver inte APT-delen till exempel HLR (abonnentdatabas i mobilsystem) eller SCP (styrning av intelligenta nätverkstjänster såsom teleröstning eller kontantkortsystem). Då kan det räcka med en APZ.

APS är benämningen på stödsystemet för utveckling av programvaran för APT och APZ.

Namnet AXE uttalas som enskilda bokstäver, inte som ett ord, och kommer från Ericssons produktnomenklatur där A står för telefonisystem, X för växlar och E för telefoni för civilt bruk.

AXE började som en digital växel för fast telefoni, men vidareutvecklades sedan till att vara huvudplattformen för all telefontrafik i NMT- och GSM-systemen. Även i UMTS, den tredje generationen mobiltelefoni ("3G") spelar AXE en central roll. Telefonnätsnoderna MSC (Mobile Switching Center), BSC (Base Station Controller) och HLR (Home Location Register) är AXE-baserade.
 
I modern tid har även den gamla fastnätsdelen utvecklats och körs idag på en TeS (Telephony Server), även denna till stor del AXE-baserad.

APT 
APT, telefonidelen, består i sin tur av ett antal delsystem.

Abonnentsteget, SSS, hanterar telefonledningar från abonnenter. Varje abonnentledning är ansluten till en linjekrets, LIC tillsammans med en Codec, som omvandlar den analoga talsignalen till digitala signaler. På mindre orter, där det inte är lönsamt med en hel växel, placeras ett utbrutet abonnentsteg, RSS.

Gruppväljaren, GSS, kopplar samman inkommande och utgående förbindelser. Den digitala gruppväljaren fungerar enligt Time-Space-Time principen. Tidväljaren består av en uppsättning minnesceller. Den inkommande signalen skrivs till en cell i en viss tidlucka. Därefter läses signalen i en annan tidlucka för att skickas vidare till rumsväljaren. Rumsväljaren består av en matris med korskopplingar mellan tidsmoduler. Tidväljaren passeras igen för att skicka signalen till den utgående förbindelsen. I senare generationer av AXE så har gruppväljaren ersatts av Ethernet i bakplanet. 

Trunk och signalsystemet, TSS, hanterar förbindelser mellan växlar, så kallade vior. Förbindelserna består oftast av SDH- eller PDH-utrustning, där varje telefonsamtal utnyttjar en 64-kilobitskanal. 

Gemensam kanal signalsystemet, CCS, använder SS7 ("Signalsystem 7") och tilldelar kanaler i vior till andra växlar för respektive samtal.

Kontrollsystemet, TCS, hanterar upp- och nedkoppling av förbindelser. Det analyserar inkommande telefonnummer och väljer vart samtalet skall kopplas.

Debiteringssystemet, CHS, håller reda på hur länge samtal varar, vilket blir underlag för debitering. Vid pulsdebitering har växeln en räknare som registrerar antalet markeringar under ett samtal. Vid debitering baserat på samtalsdata skickas en datapost (CDR) för varje samtal till ett externt debiteringssystem.

Förutom dessa finns delsystem för övervakning och underhåll.

I mobilväxlar finns egna delsystem för NMT, GSM och 3G-telefoni.

APZ 
APZ, centralprocessorn, är en dator som styr växeln. Den finns i en mängd olika version och byggsätt:
BYB202 ("Blå skåpen"): APZ 212 10, APZ 212 11 och APZ 212 20
BYB501 ("Vita skåpen"): APZ 212 25, APZ 212 30, APZ 212 33 och APZ 212 33C (compact)

Fram till denna version var det egenutvecklad hårdvara som var optimerad för just telefonihantering. Det blev dock kostsamt att utveckla själv så i de följande versionerna har man baserat APZ på en standardiserad industridator från HP/Compaq. Den har ett Unix-system i botten och för att kunna köra "classic" mjukvara har man en virtuell maskin, som emulerar en klassisk APZ:s run-time-miljö för PLEX-baserade program.
 APZ 212 40, APZ 212 50, APZ 212 55 och APZ 212 60

För att minimera risken för avbrott är APZ dubblerad. Den består av två identiska processorer, CP-A och CP-B. I normalfallet går processorerna i parallelldrift där den ena sidan är "EX" (EXECUTIVE), det vill säga den som styr och ställer medan den andra sidan är "SB", det vill säga standby. Båda utför exakt samma uppgifter parallellt men SB-sidan är några klockcykler efter. En kontrollenhet (MAU) jämför ständigt de båda sidorna. Om den registrerar någon avvikelse startas ett testprogram som avgör vilken processor som är felaktig. Den felaktiga processorn blockeras (stoppas och felmarkeras), och växeln styrs därefter av den fungerande processorn. Samtidigt skickas ett larm så att felet kan åtgärdas. När det är klart kopieras minnet från den fungerande sidan till den urkopplade sidan, och därefter kan processorerna återgå till parallelldrift. Är det ett fel som inte kan åtgärdas genom en separering av sidorna eller en överväxling startar systemet om. En liten återstart (SMALL) kopplar ner samtal som håller på att sättas upp men de som redan är igång kan bestå. En stor (LARGE) återstart kopplar ner alla pågående samtal och rensar upp i minnet. Är felet så allvarligt att en återstart inte hjälper laddar systemet automatiskt in en tidigare sparad säkerhetskopia i minnet och startar om med denna. Finns felet även på denna kopia börjar systemet "cykla", det vill säga den laddar om, får felet igen, laddar om etcetera. Under tiden är växeln nere.

Vid en programuppdatering separeras processorerna. Ny programvara laddas in i standby-sidan, varefter processorn startas om mot den uppdaterade sidan. Skulle ett fel uppstå i den nya programvaran återgår driften efter omstart till den icke uppdaterade sidan. När den nya programvaran fungerat felfritt tillräckligt länge, kopieras den över till andra sidan också, och därefter återgår processorerna till parallelldrift.

Programvaran i AXE är skriven i ett eget språk, PLEX. Den är uppdelad i block, som kommunicerar via signaler. Det finns idag cirka 3 000 olika funktionsblock och cirka 50 000 tillgängliga signaler att skicka. Vissa används inte längre men eftersom block- och signalnummer är hårdkodade så finns de kvar även om de inte ingår i mjukvaran som laddas. Koden kompileras till assembler, kallad ASA. Tidskritiska delar i ett block kan dock vara skriven direkt i ASA. I varje block finns en tom korrektionsarea vilket gör det möjligt att rätta fel och lägga till korrektioner och ändringar i ASA under drift. När antalet "korrar" och ändringar är för stort kompileras en ny version av blocket som läggs in i nästa uppdateringspaket. Vissa ändringar kräver en återstart för att aktiveras, speciellt om man ändrar en variabel som ska propagera ut via signaler till andra block. Därför görs uppdateringar av AXE under lågtrafikperioder vilket ofta är klockan 03-04 på morgonen. Går det snett är det inte så många som påverkas medan man växlar tillbaka till det gamla systemet.

Konfigureringen av AXE görs via MML-kommandon. Dessa är femställiga (sexställiga för test) och går ofta att utläsa vad de gör. Sista bokstaven avgör funktionen, till exempel "P" för Print, "C" för Change och "I" för Initiate. Vissa kommandon har parametrar medan andra är parameterlösa.

Exempel:
 ALLIP; ALarm functions, LIst, Print (skriv ut vilka larm som finns i växeln)
 CACLP; CAlender function, system CLock, Print(Skriver ut tiden i växeln)
 SYREI:RANK=LARGE; SYstem functions, REstart, Initiate (en stor återstart av systemet)

De flesta stationer har unika inställningar för till exempel signalering, hårdvara, nummeranalys etc. Mjukvaran som laddas första gången är "ren", det vill säga som en nyinstallation av ett operativsystem. När "dumpen" är laddad så kör man en speciell textfil med de specifika inställningarna i form av MML-kommandon, en så kallad "DT-fil" (Data Transcript). Först därefter är systemet redo att driftsättas.

Förutom själva processorn består APZ även av delsystem för konfiguration, användargränssnitt och datalagring.

En ny version av APZ, , frångår de gamla principerna om dubblering, istället uppträder APZ som enkla processorer (så kallade "blad"), med en tilläggsmjukvara som gör att de fungerar som ett kluster. Detta ger en bättre skalbarhet för prestanda än tidigare, mer kapactitet kan adderas genom att fler blad sätts in i klustret.

IOG/APG 

IOG eller Input-Output Group hanterar kommunikationen till och från APZ samt lagrar och skickar vidare debiteringsdata. Den är liksom APZ dubblerad i hårdvara.

IOG11 satt ofta ihop med en  eller , det vill säga ett "blåskåp" och fanns i lite olika utföranden bland annat med magnetbandsminne och/eller OD, det vill säga Optical Drive för att kunna ladda och spara mjukvara samt debiteringsdata.

IOG20 var en betydligt kompaktare version i BYB501-utförandet. Dessa var egenutvecklare och baserade på Motorola 68000-processorn. De fanns även i en IOG20C, det vill säga Compact (ett magasin) samt IOG20M, det vill säga Mini, som bara behövde 1/2-magasin. IOG20M rymdes med  i ett magasin och blev därmed en väldigt kompakt lösning för till exempel BSC'er i mobilsystemet.

APG eller Adjunct Processor Group är en nyare version av IO-systemet. Första generationen av APG kallades APG30 och var baserad på Tandem NonStop hårdvara (två sidor där vardera sidan hade dubblerade CPU:er som kunde hot-swappas), men som visade sig bli för dyr i längden. Som en motreaktion till detta tog man fram en ny APG-generation som man kallade APG40 (versionerna APG40 C1, C2 och C4) som skulle vara baserad på standardkomponenter och valet föll på en klustrad industri-PC (två sidor) med Windows NT 4.0 (senare uppgraderades OS:et till Windows Server 2003 R1). Men åter igen så insåg man att det inte blev helt lyckat eftersom man hade köpt in en industri-PC:n från en extern leverantör och hade då tappat fullständig kontroll över hårdvara och mjukvara (integreringen av operativsystemet) samt att de endast kunde anslutas via front-kablering (fanns inga anslutningar till bakplan). Den tredje generationen kallas APG43 och är bladbaserad (likt , 60, 60C och 60F) där Ericsson tagit fram egna moderkort samt periferi-kort (hårddisk, DVD-brännare, ...) som är gemensamma i flera olika produkter och dessa kort har både kontakter mot bakplan och front-portar. APG43 använde inledningsvis Windows Server 2003 R2, men från och med 2013 har man gått över till Linux men med ett proprietärt CLI (Ericsson CLI) där man endast kan exekvera Ericsson-definierade kommandon samt manipulera en informationsmodell med konfigurationsdata.

APG40 managerades i princip endast via CLI (vissa delar gick inte att göra via CLI så man kunde även ansluta med Remote Desktop). Problemet var att när man använde CLI så kunde man köra alla kommandon som fanns i Windows men för en del operationer fick man endast använda Ericsson-definierade kommandon som gjorde lite mer än motsvarande operationer via standardkommandon eller GUI (tex för att sätta klocka och tidszon).

Alla APG4x-generationer består av två noder som är klustrade för filhantering. Den ena sidan är aktiv medan den andra är "hot standby", det vill säga en växling sker inte obemärkt utan med viss "downtime". APG40 ansluts med X.25 eller Ethernet till APZ och är bakåtkompatibla även mot APZ "classic", dock inte mot APZ 212 20 och tidigare versioner. I senare versioner av APG40 (APG40C4) har dock X.25-porten tagits bort och i senare versioner av APG43 (APG43/3) så har de separata diskkorten integrerats på moderkortet (SSD istället för roterande diskar) samt så har man valt att ersätta DVD-brännaren med USB-minnen.

AXE-N

Projektet AXE-N (AXE Network) initierades av Ericsson och Telia 1987 och syftade till att utveckla en ATM-baserad ersättare till AXE-arkitekturen. Det var Sveriges mest påkostade utvecklingsprojekt efter JAS Gripen, och har betecknats som en av Sveriges största industrifloppar. Projektet kostade Ericsson 10 miljarder kronor, enligt en beräkning. Det bedrevs under stort hemlighetsmakeri i ett samarbete mellan Telia och Ericsson inom ramen för Ellemtel fram till 1995, då det avbröts.

APS 

APS innehöll stödsystem för utveckling av mjukvaran för APT och APZ, till exempel kompilatorer, assemblers, hjälpmedel för ihopsättning av system och konfiguration av stationer.

Referenser

Fotnoter

Tryckta källor
 Erikssonkrönikan (John Meurling & Richard Jeans), Informationsförlaget 2000 
 The Ugly Duckling (John Meurling & Richard Jeans), Ericsson Mobile Communications 1997.

Vidare läsning

Telefonväxlar
Ericsson