> 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/other-pages/operations/software-install.md).

# Software:Install

This procedure will show how to install a Toolpack system with host redundancy.

### Requirements

* 2 hosts with the same OS installed (see [Toolpack installation guides](/tmedia-documentation/other-pages/operations/installing-toolpack.md) for more information)

**NOTE:** If you are migrating from a 1 host system to a 2 hosts system, it is **HIGHLY RECOMMENDED** to do a database backup **BEFORE** starting the migration.

### Installation

Make sure that both hosts have the Toolpack prerequisites installed.

**Note:** It is critical to use different MySQL server-id between host (see [installation guides](/tmedia-documentation/other-pages/operations/installing-toolpack.md) for more details)

#### Primary/Secondary host

You must assign one host as [primary](/tmedia-documentation/products/tmedia/features-and-solutions/features/redundancy-and-high-availability/primary-secondary.md) the other will be [secondary](/tmedia-documentation/products/tmedia/features-and-solutions/features/redundancy-and-high-availability/primary-secondary.md).

* run the Toolpack installer on the [primary host](/tmedia-documentation/products/tmedia/features-and-solutions/features/redundancy-and-high-availability/primary-secondary.md)
* Run the installer on the [secondary host](/tmedia-documentation/products/tmedia/features-and-solutions/features/redundancy-and-high-availability/primary-secondary.md)
* Start Toolpack on the [primary host](/tmedia-documentation/products/tmedia/features-and-solutions/features/redundancy-and-high-availability/primary-secondary.md)
* Make sure that the [primary host](/tmedia-documentation/products/tmedia/features-and-solutions/features/redundancy-and-high-availability/primary-secondary.md) becomes [master](/tmedia-documentation/products/tmedia/features-and-solutions/features/redundancy-and-high-availability/master-slave.md) and setup both MySQL server correctly.
* Verify the status of the database in the web portal's welcome page(be patient, the process may take several minutes).

Once the primary host has become the master and all the stacks, tmedia are up.

* Start toolpack on the secondary host
* Verify that the [secondary](/tmedia-documentation/products/tmedia/features-and-solutions/features/redundancy-and-high-availability/primary-secondary.md) host has become the system [slave](/tmedia-documentation/products/tmedia/features-and-solutions/features/redundancy-and-high-availability/master-slave.md).

Things to remember:

* [CDRs](https://prosbcdocs.telcobridges.com/telecom-references/cdr-and-statistics/cdr) are not copied between hosts, therefore it is necessary to gathered the [CDRs](https://prosbcdocs.telcobridges.com/telecom-references/cdr-and-statistics/cdr) from both hosts.
* Both host has a web portal running and they access the same database. Therefore whether you modify a configuration from the primary or secondary web portal you are modifying the same configuration.


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://prosbcdocs.telcobridges.com/tmedia-documentation/other-pages/operations/software-install.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
