Programové vybavenie sa postupne so stálym zjednodušovaním zariadení stáva objemnejšie a zložitejšie. Je to okrem iného dané i tým, že postupne sa zväčšuje sortiment funkcií, ktoré spojovacie systémy zaisťujú, či už integráciou ďalších služieb do telefónnej siete, alebo postupným zväčšovaním účastníckeho komfortu a používaním zložitejších účastníckych terminálov.

Preto sa kladie stále väčšia pozornosť vývoju a prevádzke programového vybavenia a je snaha nielen znížiť náklady na vývoj použitím moderných programovacích prostriedkov, ale súčasne i zvýšiť spoľahlivosť činnosti, prehľadnosť programu a jeho väčšiu zrozumiteľnosť.

Problematika programového vybavenia spojovacích systémov je v porovnaní s programami počítačovými pre bežné výpočty podstatne zložitejšia a programy sú objemovo veľmi náročné.

To vedie nielen k problémom pri návrhu programu, keď je nutné celý návrh rozdeliť na mnoho programátorských skupín a zaisťovať zložito jednotný prístup k návrhu programu, ale i k problémom v prevádzke ústredni, kde k celkovému základnému programovému vybaveniu pristupujú ešte ďalšie, tzv. administratívne funkcie.

Z tohto dôvodu sa často rozmiestnenie programov v jednotlivých pamätiach rieši tak, že programy, ktoré nie sú nutné pri hlavných funkciách systému, sa umiestňujú do pamätí nezapriahnutých priamo s riadením (off line) a vyvolávajú sa iba v prípade potreby (napr. skúšanie vedenia, meranie prevádzky a pod.).