> For the complete documentation index, see [llms.txt](https://prosbcdocs.telcobridges.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://prosbcdocs.telcobridges.com/tmedia-documentation/configuration/architecture-philosophy-and-evolution.md).

# Architecture, philosophy and evolution

### Architecture

TelcoBridges products are very modular in nature. From a hardware perspective, they are designed as a general motherboard or main circuit board containing core device logic, with a series of modules or [mezzanines](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/transmission/mezzanines/README.md) available to provide auxiliary capabilities such as various network interfaces, support for different audio codecs, or support for tone or fax detection (as well as IVR).

On the software front, the Toolpack software is designed as a series of services / components that can be modified or replaced, by a solution developer with the proper expertise.

### Philosophy

You can think of the configuration of the underlying [Tmedia](https://telcobridges.com/media-gateways/products/tmedia-gateways/) or [Tdev](https://telcobridges.com/products/development-platforms-tdev/) device as a series of building blocks. This implies that there are certain blocks, or settings, that need to be put in place first before others can be laid on top of them.

In this case, you start with the most basic element, which is the actual physical interfaces; whether they are [TDM](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/transmission/tdm/README.md) interfaces such as E1/T1/J1 connections, DS-3 connections, optical or electrical STM-1 connections; Ethernet connections for the purpose of [VoIP](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/sip-voip/voip/README.md); or finally, when applicable, [BITS](https://github.com/telcobridges-main/tmedia-wiki/tree/main/tmedia/legacy/toolpack-v2-3-bits-ports/README.md) interfaces for clocking.

Following that, you activate the different signaling protocol stacks, such as [ISDN](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/protocols/isdn/README.md), [SIP](https://telcobridges.com/learning/sip-trunking/what-is-sip/), [CAS R2](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/protocols/cas/README.md), and, where applicable, [SS7](https://telcobridges.com/media-gateways/solutions/signaling/migrating-ss7-sigtran/) and [SS7 SIGTRAN](https://telcobridges.com/media-gateways/solutions/signaling/migrating-ss7-sigtran/), the latter two of which are available with a separate license.

You then build out [service description profiles](https://github.com/telcobridges-main/tmedia-wiki/tree/main/tmedia/configuration/profile-sdp-description/README.md) that determine the supported [audio codecs](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/voice-media/voice-codecs/README.md) for use with mobile and internet telephony.

Finally, you configure the trunk groups, or in Toolpack terminology, the [Network Access Points](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/protocols/nap/README.md).

These settings are stored together as a single configuration. The [Toolpack Engine](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/misc/toolpack-engine/README.md), which runs as an application service, then takes the information provided in the active configuration settings and uses that to provide the [switching](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/isdn-cas/tandem-switching/README.md), [transcoding](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/voice-media/transcoding/README.md) and [signaling](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/sip-voip/signaling-protocols/README.md) conversion services that are required.

[Call routes](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/concepts/call-routing/README.md), which are not handled by Toolpack Engine, can be defined only when the previous building blocks have been put in place. The actual call routing functionality can be provided by a 3rd party [softswitch](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/concepts/softswitch/README.md) or by [TB Media Gateway Application](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/concepts/gateway/README.md), which is bundled with all Tmedia devices.

### Evolution

TelcoBridges’ first family of products were [hardware blades](https://telcobridges.com/products/development-platforms-tdev/) featuring support for [SIP](https://telcobridges.com/learning/sip-trunking/what-is-sip/), [SS7](https://telcobridges.com/media-gateways/solutions/signaling/migrating-ss7-sigtran/) and [ISDN](https://github.com/telcobridges-main/tmedia-wiki/tree/main/reference/protocols/isdn/README.md) signalling. Targeted at the computer telephony integration (or CTI) marketplace, these were based on the CompactPCI form factor.

In 2007, TelcoBridges introduced new lines of products based on a rack-mount form factor of 1U or 2U enclosures. This has allowed TelcoBridges to continue adding functionality, capacity and performance to its products, something that the CompactPCI form factor did not easily permit.

A key source of the technological advantage of TelcoBridges and its products is its in-house R\&D team. By designing its own hardware logic via integrated circuits known as FPGAs, TelcoBridges has been able to pack a significant amount of functionality into a small form factor, enabling it to combine support for multiple industry standards and protocols in a single, very dense device.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://prosbcdocs.telcobridges.com/tmedia-documentation/configuration/architecture-philosophy-and-evolution.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
