Usage of Python programming language in call and message routing

OData support
Supervisor:
Dr. Blázovics László
Department of Automation and Applied Informatics

The topic of my thesis was expanding the options of call routing using programming language Python. Therefore, I needed to embed Python language in a telecommunications product written in C++. This product was Tequet, the product of Deverto Ltd., which offers high performance and high availability. Keeping these features was an important point during the design phase. It was also a priority to provide simple usage of the integrated language.

There had already been an existing solution for routing calls in Tequet, but it turned out to be hard to use and hard to expand, thus the demand came up for integrating an already existing programming language for solving more complicated problems.

I examined the ways of integrating Python with all of its advantages and disadvantages.

The high performance of the system is the result of its multithreaded, concurrent execution, but Python language cannot provide this in our environment, so I had to choose another scripting language. After examining a few languages, the choice came out to be Javascirpt, which is suitable for multithreaded execution. The implementation I chose was Google’s V8 engine, that is one of the most modern and advanced Javascript engine, written in C++. Embedding and extending it in the also C++ using Tequet system was feasible.

During the testing phase, the solution turned out to be working, truly did what it was assigned, therefore a more flexible routing is now achievable with it. However, there was some performance setback, but that can probably be fixed with optimization.

Downloads

Please sign in to download the files of this thesis.