AereA GmbH
Discuss your project

Project report: telecommunications

Phonalisa - modular IP telecommunications system

From the signalling layer through our own session border controller to the cross-platform CTI client - and the support that comes with it.

Industry
Telecommunications
System type
IP telephony platform, signalling to client
AereA's role
Architecture, development, QA, product management, support
Period
17 years, ongoing
The Phonalisa administration interface with the graphical call flow editor: navigation for administration, provisioning and routing on the left, a call flow of linked nodes in the centre - inbound trunk, time switch, menu, AI assistant, queue and hang up - the properties of the selected node on the right, and a test run at the bottom showing the path actually taken.
Fig. 1: Call flow editor: call flows are assembled from nodes and tested against the running system in the same window. The trace at the bottom shows a test call passing through.

Starting point

A telephony system that has to grow over years while staying multi-tenant, secure and operable.

Approach

Modular platform on SIP, RTP and XMPP with a dedicated session border controller, web interface, CTI client and mobile companion.

Result

17 years of continuous architectural responsibility for the same product - the most robust answer to the question of longevity.

Results at a glance

  • 17 years of continuous architectural responsibility for the same product
  • Over 200 releases accompanied - from requirements gathering to release documentation
  • 90 % test coverage of the automated suite across web interfaces and core components
  • Multi-tenant management of several thousand extensions, ring groups, queues and call rules
  • Dedicated session border controller with TLS, SRTP and ZRTP, DDoS protection and rate limiting
  • Cross-platform CTI client with its own update mechanism, complemented by a mobile app

Starting point

A telephony system is not a project with an end date. It is a product that grows over years: new endpoint generations, new multi-tenancy requirements, a changing threat situation at the network border. That duration is the actual requirement.

Platform and core system

  • Modular IP telecommunications system based on SIP, RTP and XMPP with CTI functionality
  • Multi-tenant management of extensions, ring groups, queues and call rules
  • Automated device integration and provisioning of endpoints
  • Client and import functions for migrating existing data
  • Complementary services around directory, presence and call control

Session border controller and security

The network border is the most exposed component of a telephony platform. We built our own SBC for it: encryption of signalling and media streams via TLS, SRTP and ZRTP, DDoS protection, rate limiting, hardening of the exposed services and certificate management.

Web interface and clients

Development and maintenance of the web interface including mobile web functions, with WebSocket-based real-time communication for presence, call status and control. Plus a cross-platform CTI client coupling the desktop workplace with the phone system, with its own update mechanism, complemented by a mobile CTI app.

Product management, QA and support

  • Product ownership for the phone system functionality: requirements gathering, roadmap, acceptance
  • Selenium-based test automation of the web interfaces, unit tests of the core components
  • System tests, system integration tests and non-functional tests for load, stability and recovery
  • Building and maintaining dedicated test environments for signalling and media path
  • User documentation, context help, screencasts and maintenance of the product website
  • Support via phone and ticket system, fault analysis from support tickets, release documentation
  • Scrum-based collaboration between development, testing and product management

Conclusion

Phonalisa is our answer to the question that sits unspoken in the room with any owner-managed small company: will you still be around in ten years? We have owned this product for longer than that already.

Technologies

  • C++
  • libfreeswitch
  • Asterisk
  • Qt
  • PHP
  • JavaScript
  • WebSocket
  • SIP
  • RTP/SRTP
  • TLS
  • XMPP
  • LevelDB
  • Selenium
  • Jenkins

Frequently asked questions

What does architectural responsibility mean here?

We make and document the architectural decisions, develop the core components, own the test concept and test automation and accompany releases into support. Product management for the phone system functionality is part of it: requirements gathering, roadmap, acceptance.

Why a dedicated SBC rather than a product?

Because the network border is where product requirements and security requirements coincide. A dedicated SBC allows signalling, media encryption, rate limiting and certificate management to be cut precisely to the platform.

Contact

Your contact

Sören Sprenger
Software architecture & technical project management

Wüstenstein 18, 91346 Wiesenttal · Mon-Fri 9:00-18:00 CET