# How to configure SIP Trunks on 3CX

You’ll learn how to configure your 3CX PBX to make use of our SIP-trunk services and inbound numbers.\ <br>

**Step one**

Create a SIP-trunk at MessageBird Dashboard and make sure that you have a Domain name with an attached ACL that only includes IP-addresses. When an ACL includes username/passwords, they are obligated to use for setting up a SIP-trunk. For a detailed guide, head to this article: [SIP Trunking.](https://support.messagebird.com/hc/en-us/articles/360001836358)\ <br>

**Step two**

Log in to the management interface of your 3CX and do the following:

&#x20;

Go to **SIP trunks**:

* Select ‘Add SIP trunk’
* ‘Select Country’: choose ‘Generic’
* ‘Select Provider’: pick ‘Generic VoiP Provider’
* ‘Main Trunk No’: enter your default number that you want to display, in the international format including a leading + sign. For example +31123456789
* Click the ‘Ok’ button when ready.

<figure><img src="https://675349995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUJNEE9TMK4fU91VKstBr%2Fuploads%2Fgit-blob-4f6143ee314455dc0346b204b0ded4cc5e78d1df%2Fimage4.png?alt=media" alt=""><figcaption></figcaption></figure>

\
Go to the tab page **General:**

* Enter a name for your Trunk. This is for your reference only, so pick a name that will be easily identifiable for you.
* Registrar/Server/Gateway Hostname or IP’: enter the domain name that you created at the MessageBird portal
* **‘Outbound Proxy’**: enter the domain name that you created at the MessageBird portal again
* ‘Type of Authentication’: this can stay on ‘Do not require - IP Based'
* ‘Authentication ID’ (SIP User ID): leave it empty.
* ‘Authentication Password’: leave it empty.
* ‘3 Way Authentication Password’: don’t set.\ <br>

Keep in mind that other settings can be changed based on your own preference. Click the ‘Ok’ button when ready.\ <br>

Go to the tab page **DIDs:**

* Click ‘Add DID’ and enter your DID in international format Without a leading + sign (for example 31123456789) and repeat for all your DIDs. Click the ‘Ok’ button when ready.\ <br>

Go to the tab page **Caller ID:**

* At the selection **Outbound** add 2 replacement rules click ‘Add’
* Source Pattern 0  and Replace Pattern 31
* Source Pattern 00  and Replace Pattern +
* Click the ‘Ok’ button when ready.\ <br>

<figure><img src="https://675349995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUJNEE9TMK4fU91VKstBr%2Fuploads%2Fgit-blob-86111c05f0bf41791c23a7d575ca33b328082c04%2Fimage3.png?alt=media" alt=""><figcaption></figcaption></figure>

Go to the tab page **Options:**

* At selection ‘Advanced’, select ‘Support Re-invite’, and disable ‘Force invites to be sent to IP of Registar’
* At selection ‘Codec Priority’, remove the codec G729
* Click the ‘Ok’ button when ready.\
  \ <br>

  <figure><img src="https://675349995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUJNEE9TMK4fU91VKstBr%2Fuploads%2Fgit-blob-5fd96cb556cc716792b4f2283d04ca85cf31a6ab%2Fimage1.png?alt=media" alt=""><figcaption></figcaption></figure>

&#x20;

\* You don’t need to change anything on tab page **Inbound Parameters.**<br>

&#x20;

Go to the tab page **Outbound Parameters:**

* By default the Caller ID from Extension settings are used in case of Call forwarding to outbound calls; however, in case you want to see the original caller ID of the dialler with ‘Call Forwarding’, you need to change the following details:&#x20;
  * Change **Display Name** to ‘Originator Caller number will be sent’
  * Change **User Part change** to ‘Originator Caller number will be sent’
* Click the ‘Ok’ button after making these changes.

&#x20;

That’s it! You’re all set and ready.

&#x20;

Check out this additional information if you need it:

&#x20;

* Additional information for *Outbound Rules* (general settings)\ <br>

  <figure><img src="https://675349995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUJNEE9TMK4fU91VKstBr%2Fuploads%2Fgit-blob-cad526c8e6fb3063a87e31467cc897e9d70ac24d%2Fimage6.png?alt=media" alt=""><figcaption></figcaption></figure>

  \ <br>
* Additional information for *Inbound Rules* (general settings)\ <br>

  <figure><img src="https://675349995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUJNEE9TMK4fU91VKstBr%2Fuploads%2Fgit-blob-687e304d05bc71c0d2a5bcaf1eb2ff3ea24515fb%2Fimage2.png?alt=media" alt=""><figcaption></figcaption></figure>

  \ <br>
* Additional information for *Extensions* (general settings)\ <br>

  <figure><img src="https://675349995-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUJNEE9TMK4fU91VKstBr%2Fuploads%2Fgit-blob-aa00aa39757bd2f239f0bba7429cbeb1e5439faf%2Fimage5.png?alt=media" alt=""><figcaption></figcaption></figure>

  \ <br>

\
\ <br>


---

# Agent Instructions: 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:

```
GET https://docs.bird.com/connectivity-platform/sip-trunking/how-to-configure-sip-trunks-on-3cx.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
