# Create an SMPP ESME trunk

Create an SMPP ESME trunk so that your application can bind to the DIDWW SMSC
to send and receive SMS. Set the trunk name and **Server location**, choose
which IP addresses can connect, limit the DID numbers that can be used as the
sender ID, and optionally add the trunk to an SMS trunk group.

For how your application connects to DIDWW and exchanges messages, see
[SMPP ESME trunk](../smpp-esme-trunk.html).

## Before you begin

- An active DIDWW account is required. [Sign in to DIDWW](https://my.didww.com/users/sign_in) or [Create DIDWW account](https://my.didww.com/users/sign_up#/users/sign_up).
- To use your DID numbers as sender IDs, at least one DID number with outbound
  P2P SMS enabled is required. See [P2P Outbound SMS
access](../../../how-sms-service-works.html#how-sms-service-works-p2p-access).

## Step 1: Open the creation form

1. In the DIDWW User Panel, go to **SMS > SMS Trunks**.
2. Click **Create New** in the top-right corner.
3. Select **SMPP ESME**.

[![Create New menu on the SMS Trunks page with SMPP ESME highlighted](../../../../_images/fig165.png)](../../../../_images/fig165.png)


**Fig. 1.** Select SMPP ESME

## Step 2: Configure the General settings

In the **General** section, name the trunk, choose the DIDWW SMPP server that
your application binds to, and choose which IP addresses can connect.

1. In **Friendly name**, enter a unique, descriptive name to identify the
   trunk.
2. Optionally, in **System type**, enter a value that categorizes your ESME,
   for example `VMS` (voice mail system) or `OTA` (over-the-air activation
   system). Your application sends this value as the `system_type` bind
   parameter.
3. In **Server location**, select **US, NY** or **NL, AMS**. The location
   determines the **Host** that your application binds to.
4. Optionally, in **Allowed IP addresses**, enter each IP address from which
   your application connects, in the format `(IPv4|IPv6)[/mask]`, and press
   **Enter**. If an entry is marked as invalid, correct it or click **Remove
   invalid**. If the field is empty, connections from all IP addresses are
   allowed.

Field definitions, formats, and constraints are listed in [General
settings](../smpp-esme-trunk-settings-reference.html#smpp-esme-settings-general).

Important

Your application connects to the DIDWW SMPP server of the trunk's **Server
location**. Your firewall must allow your application to open connections
to that server's IP address. See [Server locations and IP
addresses](../../technical-data/smpp-specification.html#smpp-endpoints).

[![Create SMPP ESME Trunk form with Friendly name, System type, Server location, and Allowed IP addresses in the General section](../../../../_images/fig22.webp)](../../../../_images/fig22.webp)


**Fig. 2.** Configure the General settings

## Step 3: Configure the source addresses

By default, **Allow any DID(s) for SMS OUT** is on, and all DIDs with Outbound
P2P SMS enabled in your account can be used as the sender ID. To allow only
specific DID numbers, restrict the source addresses. Otherwise, skip this
step.

1. In **Source Address Settings**, turn off **Allow any DID(s) for SMS OUT**.
2. In **Available source addresses**, select the DID numbers to allow. To find
   numbers, filter the list by **Source address**, **Description**,
   **Country**, or **Region**.
3. Click the right arrow button to add the selected numbers to **Allowed
   source addresses**, or click **Add all** to add every listed number. Only
   the numbers you add are available as sender IDs.

To remove numbers, select them in **Allowed source addresses** and click the
left arrow button, or click **Remove all**.

Field definitions are listed in [Source address
settings](../smpp-esme-trunk-settings-reference.html#smpp-esme-settings-source-address).

Note

When the **Allow any DID(s) for SMS OUT** toggle is turned off, the
**Available source addresses** list shows only DIDs that support outbound
P2P SMS.

[![Allow any DID(s) for SMS OUT turned off and a DID number moved from Available source addresses to Allowed source addresses](../../../../_images/gif19.gif)](../../../../_images/gif19.gif)


**Fig. 3.** Select the allowed source addresses

## Step 4: Add the trunk to a trunk group (optional)

You may assign the trunk to an existing SMS trunk group in order to enable
failover for inbound SMS. Within the trunk group, the trunk's priority
determines the order in which trunks will be used. If the trunk will not be
part of a trunk group, skip to Step 5.

1. Expand the **Trunk Group Configuration** section and select the group in
   **Assign to trunk group**.
2. In **Priority**, enter the trunk's priority within the group, from `0`
   to `32767`.

Field definitions are listed in [Trunk group
settings](../smpp-esme-trunk-settings-reference.html#smpp-esme-settings-trunk-group). To create a group, see [Create an
SMS
trunk group](../../trunk-groups/how-to-guides/create-sms-trunk-group.html).

Note

The system attempts to contact the target SMS trunk with the
highest-numbered priority first.

[![Trunk Group Configuration section of the Create SMPP ESME Trunk form with the Assign to trunk group and Priority fields](../../../../_images/trunk_group1.webp)](../../../../_images/trunk_group1.webp)


**Fig. 4.** Configure the trunk group settings

## Step 5: Create the trunk

Click **Create** at the bottom of the page to save the new trunk.

The new trunk appears on the **SMS Trunks** page. DIDWW generates its
**System ID** and **Password**, which your application uses to bind. Creating
the trunk does not assign it to a DID number.

[![Create button highlighted on the Create SMPP ESME Trunk form](../../../../_images/create2.webp)](../../../../_images/create2.webp)


**Fig. 5.** Create the trunk

## Next steps

- [View the trunk credentials](view-smpp-esme-trunk-credentials.html) to get
  the **Host**, **Port**, **System ID**, and **Password** for your
  application.
- [Bind your application](bind-smpp-esme-trunk.html) to the DIDWW SMSC with
  the trunk credentials.
- To receive SMS, [assign the trunk](../../../../phone-numbers/my-numbers/how-to-guides/assign-sms-trunk.html#assigning-sms-trunk) to one or more
  DIDs that support inbound SMS. For outbound SMS, DID assignment is not
  required.
- To send A2P messages with a verified Sender ID, associate an active
  [Sender ID Verification](../../../sender-id-verifications/index.html) with the
  trunk.

## Related resources

- [SMPP ESME trunk settings reference](../smpp-esme-trunk-settings-reference.html) - Look up field definitions,
  defaults, and constraints.
- [SMPP ESME trunk](../smpp-esme-trunk.html) - Understand how your
  application connects to DIDWW and exchanges messages.
- [Assign an SMS trunk](../../../../phone-numbers/my-numbers/how-to-guides/assign-sms-trunk.html#assigning-sms-trunk) - Assign the trunk to one or
  more DID numbers to start receiving messages.
- [Send and receive SMS with OpenSIPS](../../../../integrations/opensips/sms.html#opensips-sms-integration) -
  Connect OpenSIPS 4.0 to an SMPP ESME trunk to send SMS, receive SMS, and
  receive delivery receipts.
- [Manage SMPP ESME trunks](manage-smpp-esme-trunk.html) - Edit or delete an
  existing SMPP ESME trunk.
- [Sender ID Verifications](../../../sender-id-verifications/index.html) - Verify
  Sender IDs for A2P messaging through the trunk.
