Bachelor's Thesis

OpenSource PBX Kamailio

Final Thesis 1.94 MB Appendix 948.3 kB

Author of thesis: Bc. Petr Křupka

Acad. year: 2025/2026

Supervisor: doc. Ing. Pavel Šilhavý, Ph.D.

Reviewer: Ing. Radim Číž, Ph.D.

Abstract:

This bachelor's thesis focuses on the analysis and comparison of two open source private branch exchange (PBX) platforms, namely Kamailio and Asterisk. It describes how to install both systems from the package and source code and then configure them. Both platforms are tested using the SIPp testing software and the test results are analyzed. The thesis also contains an analysis of the hardware utilization under different types of load of both platforms and provides a proposal for optimizing the operating system to increase PBX throughput. The optimization results are also measured and analyzed. A laboratory task is created as part of the thesis.

Keywords:

Asterisk, Kamailio, PBX, SIP

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student prezentoval výsledky své práce a komise byla seznámena s posudky. Otázky komise a oponenta: Ve své práci uvádíte, že Asterisk funguje jako aplikační PBX server, zatímco Kamailio jako SIP Proxy. Jak konkrétně tyto dvě odlišné architektury ovlivňují způsob, jakým operační systém zpracovává vlákna a paměť při extrémní zátěži, a proč Asterisk vykazuje kvadratický nárůst zpoždění oproti pozvolnějšímu nárůstu u Kamailio? U pobočkové ústředny Asterisk jste po optimalizaci dosáhl zvýšení propustnosti o více než 91 %. Který z konkrétních kroků – zvýšení ring bufferu, úprava síťových front, nebo nastavení smp_affinity pro distribuci přerušení (IRQ) – měl na tento výsledek nejzásadnější vliv a proč se tento efekt u Kamailio projevil v mnohem menší míře? Student obhájil bakalářskou práci a odpověděl na otázky členů komise a oponenta.

Language of thesis

Czech

Faculty

Department

Study programme

Telecommunication and Information Systems (BPC-TLI)

Composition of Committee

prof. Ing. Jiří Mišurec, CSc. (předseda)
doc. Ing. Pavel Šilhavý, Ph.D. (místopředseda)
Ing. Ondřej Šmirg, Ph.D. (člen)
Ing. Pavel Hanák, Ph.D. (člen)
Ing. Štěpán Miklánek, Ph.D. (člen)
Ing. Vojtěch Myška, Ph.D. (člen)
Ing. et Ing. Petr Musil (člen)

Supervisor’s report
doc. Ing. Pavel Šilhavý, Ph.D.

Student realizoval porovnání Open Source projektů Kamailio a Asterisk. Věnoval se nejen srovnání co do funkcionality, ale především realizoval výkonnostní porovnání. Student pracoval samostatně, intenzivně během celého semestru a pravidelně co týden mě informoval o průběhu řešení. Nad rámec zadání se pak věnoval optimalizaci konfigurace OS pro tyto projekty a podařilo se mu dosáhnout výrazného výkonnostního zlepšení, a to až o 91 % u PBX Asterisk. Rovněž vytvořil i laboratorní úlohu seznamující s možnostmi testování Open Source PBX, kdy si studenti v testu uvedené projekty porovnají a seznámí se i s projekty pro jejich monitorování. I tuto část práce realizoval s předstihem, vše důkladně ověřil a nechal úlohy změřit nezasvěceným studentem. Celé řešení rovněž publikoval na GitHubu. Práci studenta a zejména jeho samostatný přístup k řešení považuji za vynikající a hodnotím známkou výborně. Points proposed by supervisor: 100

Grade proposed by supervisor: A

Reviewer’s report
Ing. Radim Číž, Ph.D.

Posuzovaná práce se zabývá technickým srovnáním dvou předních open source platforem pro IP telefonii: Kamailio a Asterisk. V souladu s požadavky zadání student detailně popisuje jejich odlišné architektury, uvádí podrobné návody k instalaci ze zdrojových kódů i balíčků, rozebírá a porovnává specifika jejich konfigurace a správy. Stěžejní částí je pak výkonnostní testování pomocí nástroje SIPp, které porovnává obě platformy z hlediska maximálního počtu registrací za sekundu a maximálního počtu hovorů při vysoké zátěži. Rovněž bylo u obou platforem testováno a porovnáno vytížení hardwaru, a to bez optimalizace a s optimalizací systému. Student také vytvořil a otestoval laboratorní úlohu zaměřenou na základy správy obou platforem a jejich zátěžového testování. Z hlediska řešení je možné práci vytknout snad jen absenci audio dat při testování hovorů, což plně nereflektuje reálnou zátěž ústředen v ostrém provozu. Mohu však konstatovat, že student zadání práce zcela splnil a celkově se jedná o vysoce kvalitní řešení s provedenou hlubokou analýzou a výrazným praktickým přínosem.
Z hlediska formálního zpracování dosahuje práce rovněž výborné úrovně. Text je logicky a přehledně strukturován, s jasným členěním od teoretických východisek až po komplexní zátěžové testy a optimalizaci. Snad jen uvedení rozsáhlé tabulky 2.1 na pěti stránkách mírně snižuje přehlednost a komfort při rychlém srovnávání funkcionalit obou platforem (viz str. 37 až 41). Grafická stránka, zahrnující bloková schémata a výkonnostní grafy, je však precizní a názorná. Práce je napsána kultivovaným odborným jazykem bez patrných gramatických chyb či překlepů. Citace jsou v textu důsledně a správně provázány se seznamem použité literatury. Posuzovaná práce jako celek působí uceleně a profesionálně, a proto ji hodnotím celkově 100 body, což odpovídá známce A. Topics for thesis defence:
  1. Ve své práci uvádíte, že Asterisk funguje jako aplikační PBX server, zatímco Kamailio jako SIP Proxy. Jak konkrétně tyto dvě odlišné architektury ovlivňují způsob, jakým operační systém zpracovává vlákna a paměť při extrémní zátěži, a proč Asterisk vykazuje kvadratický nárůst zpoždění oproti pozvolnějšímu nárůstu u Kamailio?
  2. U pobočkové ústředny Asterisk jste po optimalizaci dosáhl zvýšení propustnosti o více než 91 %. Který z konkrétních kroků – zvýšení ring bufferu, úprava síťových front, nebo nastavení smp_affinity pro distribuci přerušení (IRQ) – měl na tento výsledek nejzásadnější vliv a proč se tento efekt u Kamailio projevil v mnohem menší míře?
Points proposed by reviewer: 100

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová