> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fonoster.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Linking any virtual number

> Connecting any SIP provider with Fonoster.

This guide will walk you through connecting your SIP provider to Fonoster by setting up authentication, configuring a SIP trunk, and creating your virtual number. Follow the steps below to link any virtual number to your application.

<Note>
  For Twilio numbers, consider using the dedicated command
  `fonoster sipnet:numbers:linkTwilioNumber` for a simplified process.
</Note>

<Steps>
  <Step title="Request early access">
    To get started, you’ll need a Fonoster account. Sign up at [**https://app.fonoster.com/auth/signup**](https://app.fonoster.com/auth/signup)
  </Step>

  <Step title="Set Up Authentication (If required)">
    If your VoIP provider requires SIP authentication, run the following command and follow the interactive prompts:

    ```bash theme={"system"}
    fonoster sipnet:credentials:create
    ```

    Before running this command, please request the necessary credentials from your provider.

    If your provider uses static IP authentication, provide them with the following IP address:

    `165.22.7.155`

    Your provider will use it to verify the origin of the signaling.
  </Step>

  <Step title="Configure Your SIP Trunk">
    Before creating your trunk, verify with your provider the preferred transport protocol (e.g., *TCP* or *UDP*). Use the same protocol when specifying your *Outbound URI*. Use the following command to create your trunk:

    ```bash theme={"system"}
    fonoster sipnet:trunks:create
    ```

    Follow the prompts to complete the configuration. Ensure your *Inbound URI* ends with `.sip.fonoster.com`. For example, if your company is **Acme Corp**, you might use `acme.sip.fonoster.com`

    <Note>
      *Inbound URIs* are globally unique. If you receive an error, please try using a different value.
    </Note>
  </Step>

  <Step title="Create and Verify Your Virtual Number">
    With your trunk in place, create a virtual number to route incoming SIP traffic. Execute the command below:

    ```bash theme={"system"}
    fonoster sipnet:numbers:create
    ```

    You will be prompted for the details of your virtual number. Ensure that this number exactly matches the value your provider sends in the **FROM** header of the SIP traffic. Any discrepancy may prevent proper traffic matching.

    If you encounter an error such as "Number already exists," please contact the [Fonoster support team](https://discord.gg/4QWgSz4hTC). They will help resolve any conflicts with existing numbers.

    Finally, to check that your virtual Number has been linked successfully by listing your Numbers with:

    ```bash theme={"system"}
    fonoster sipnet:numbers:list
    ```

    Once the Number is linked, try calling it to ensure the voice application is accessible.
  </Step>
</Steps>

<CardGroup cols={2}>
  <Card title="Programmable Voice" icon="rocket-launch" href="https://discord.com/invite/4QWgSz4hTC">
    Learn more about the Programmable Voice API and how to build advanced voice applications.
  </Card>

  <Card title="SDKs" icon="code" href="https://discord.com/invite/4QWgSz4hTC">
    Learn how to use the Node.js and Web SDKs to interact with Fonoster programmatically.
  </Card>
</CardGroup>
