# Microsoft SQL Integration Guide

Linking Cloud Voice to a Microsoft SQL database lets the system look up the caller against your database records the moment an inbound call arrives and show the caller's name when it finds a match. Without this, an incoming call shows only a phone number; with it, the matched contact's name appears instead. You can also synchronize database records into a phonebook (a shared contact directory inside Cloud Voice), which makes those contacts available for outbound dialing from the Cloud Voice App and lets you route inbound calls intelligently according to phonebook matches.

:::note
Microsoft SQL (SQL stands for Structured Query Language) is a database server that many businesses use to store customer or contact records. This page is an overview: it explains what the integration can do and points you to the step-by-step guides for each capability. PBX (Private Branch Exchange) is the phone system that receives your inbound calls.
:::

## Requirements

| Item | Requirement |
| --- | --- |
| Cloud Voice | **Plan**: Enterprise (EP) or Ultimate (UP)<br />**Firmware**: 84.16.0.70 or later |
| Microsoft SQL | Any release of Microsoft SQL Server works with Cloud Voice; there is no version requirement. |

:::caution
The integration only appears on the Enterprise or Ultimate plan, and only on firmware 84.16.0.70 or later. If the system is on a lower plan or older firmware, the Microsoft SQL option will not show up. Check the plan and firmware version before you start so you do not get partway through and hit a dead end.
:::

## Choose what you want to set up

The integration supports several capabilities: displaying a caller's name, keeping contacts in sync, and steering inbound calls based on phonebook matches. The tasks you complete depend on which of these you need. Use the scenarios below to decide what to configure.

:::tip
Pick the scenario that matches the outcome you want. Each scenario adds one task on top of the previous one, so start at the top of the list and stop once you reach the capability you need.
:::

### Caller name display only

To have inbound calls trigger a lookup and show the matched name, complete one task:

1. [Integrate Cloud Voice with Microsoft SQL](/pbx/integrations/microsoft-sql/integrate-cloud-voice-cloud-voice-with-microsoft-sql/)

### Caller name display and contact synchronization

To also pull your database records into a Cloud Voice phonebook, complete these tasks in order:

1. [Integrate Cloud Voice with Microsoft SQL](/pbx/integrations/microsoft-sql/integrate-cloud-voice-cloud-voice-with-microsoft-sql/)
2. [Set up Contact Synchronization from Microsoft SQL](/pbx/integrations/microsoft-sql/set-up-contact-synchronization-from-microsoft-sql/)

### Caller name display, contact synchronization, and phonebook-based inbound routing

To add inbound routing driven by phonebook matches, complete these tasks in order:

1. [Integrate Cloud Voice with Microsoft SQL](/pbx/integrations/microsoft-sql/integrate-cloud-voice-cloud-voice-with-microsoft-sql/)
2. [Set up Contact Synchronization from Microsoft SQL](/pbx/integrations/microsoft-sql/set-up-contact-synchronization-from-microsoft-sql/)
3. Set up inbound routes that direct calls based on matched phonebook contacts.

:::note
The tasks in each scenario build on one another, so complete them in the order shown. Contact synchronization needs the base integration in place first, and phonebook-based inbound routing needs contacts synchronized before there is anything to match against.
:::
