Using Voxbone with Genesys PureCloud

With Genesys PureCloud, it’s easy to Bring Your Own Carrier and unlock more value from the platform by using a dedicated telephony provider. The following guide shows you how to bring your Voxbone phone numbers to Genesys PureCloud as part of its BYOC Cloud Voice feature.

A little disclaimer: This is a guide developed by Voxbone’s Product team to help you get the most out of our platform. It isn’t necessarily supported or endorsed by the other platform, but we’re confident in its technical accuracy.

Bringing Voxbone to PureCloud as your carrier of choice delivers numerous benefits to your business, including:

  • Greater control over your call plans and routing
  • Instant voice access to 65+ markets representing 93% of global GDP
  • Fully compliant services for peace of mind over long-term stability and availability
  • HD voice and low latency on your calls, consistently across every market
  • Improved quality by routing voice traffic across our private global backbone and connecting from one of 500+ global locations to minimize transit between your network and ours, with express route connectivity available from all major cloud environments
  • Better cross-application workflows by using our telephony APIs to automate advanced functions such as phone number configuration and regulatory submissions

Learn more about the benefits of using Voxbone as your preferred carrier

It’s easy to connect numbers from your Voxbone account to the PureCloud platform, and enjoy both inbound and outbound calling services with the following simple configuration.

What you’ll need to get started

  1. A registered Voxbone account complete with phone numbers. (Create your account here)
  2. A running PureCloud instance, with users and your organisation set up. (Take a look at this quick-start guide.)

How it works

Genesys Cloud + Voxbone

When a call is received by Voxbone, we deliver it to your PureCloud instance through something called voice URIs – a kind of address for your voice services. Behind the scenes, we take care of complex things like least-cost routing, finding the best provider and optimizing for maximum call quality.

To connect your Voxbone numbers and make/receive calls on your Genesys PureCloud CX platform, we need to establish a SIP interface between the Voxbone platform and the Genesys platform.

This can be done in four steps:

  1. Create an External Trunk for Voxbone
  2. Configure inbound and outbound SIP settings on the External Trunk
  3. Add and assign Voxbone phone numbers to PureCloud users
  4. Place test calls to check your setup

Create an External Trunk on PureCloud for using Voxbone

SIP trunk configurations on the Genesys PureCloud platform are quite simple. To get connected, we need to specify inbound and outbound signalling domains (Fully Qualified Domain Names, or FQDNs) for Voxbone; provide authentication details; and, finally, add the numbers we want to use. If you are using BYOC Premises and not BYOC Cloud, refer to the Genesys guide here.

Create new External Trunk

  1. Log in to your Genesys PureCloud admin dashboard (eg.
  2. In the console, go to “Trunks” under Admin > Telephony
  3. To add Voxbone as a BYOC Carrier, click on “Create New” under the “External Trunks” tab
  4. Select “BYOC Carrier” as your Trunk type, and then “Generic BYOC Carrier”. This will reveal more settings to help you configure the new trunk.

Configure Inbound/Termination Settings

  1. Once you’ve selected the type of External Trunk, the rest of the trunk details will appear.
  2. Set the “Inbound SIP Termination Identifier”. This will determine the voice URI that links your Voxbone numbers to PureCloud.

Configure Outbound Settings

We support two methods of authentication for outbound calling:

Follow these steps to authenticate via SIP digest.

  1. The first step is to configure outbound settings on your trunk. We recommend using the global FQDN/Anycast IP, but you can also use the PoP-specific FQDNS/IPs found on our Voxbone Connect product page. Enter “” as “Outbound SIP Termination FQDN” and add “”, our Anycast signalling IP with port 5060 in “SIP Servers or Proxies”.
  2. Enable “Digest authentication”.
  3. Enter “” as the realm, and save your username and password for SIP Digest authentication on outbound calls. These credentials can be retrieved from the Voxbone platform by going to Configure > Configure Outbound Voice.Once done, this is how your “Outbound” settings should look:
  4. Configure your default caller ID. Pick a phone number from your Voxbone inventory that’s enabled for outbound calling. We recommend using “Unassigned DID” as “Address override method”, as this will let you use any assigned caller IDs of queues and agents.

Configure SIP Access Control List

In order to allow incoming traffic from Voxbone to your PureCloud instance(s), we’ll need to whitelist Voxbone signalling and media IPs and ranges under SIP Access Control settings. If you want to setup a future-proof list (which we strongly recommend), add all Voxbone PoP signalling IPs and RTP ranges here. (Note: Voxbone’s Anycast IP is specifically for outbound calls. In this process, you’re whitelisting the Voxbone IP addresses that will be sending calls to PureCloud.)

If not, enter the IP addresses and RTP ranges of the PoPs you use with Voxbone. This will determine which Voxbone data center incoming calls flow through, so we recommend choosing the one nearest to your PureCloud instance. For example, you may want to use Frankfurt/DE as the configured PoP on your numbers that route to your PureCloud instance in Germany.

The list of inbound signalling IPs and RTP ranges can be found on our website.

Configure Identity Settings

Our outbound voice service expects the standard E.164 format prefixed with the “+” sign. Therefore, we should set “Address Omit + Prefix” to “Disabled”.

  1. Scroll down to the “External Trunk Configuration” section at the bottom of the page and expand “Identity” settings
  2. Under Outbound, set “Address Omit + Prefix” to “Disabled” for both “Calling” and “Called” sections.
  3. Configure diversion settings. Diversion settings are what allow your own caller ID to show up to whoever you’re calling, even when the call is forwarded through several other numbers. At the bottom of the page, expand “Protocol” section and set “Diversion Method” to “Diversion Header” under “Header/Invite” section.

Media for header/invite

Configure Media Settings

The codec settings on the PureCloud BYOC Trunk should have a similar or identical list of codecs to the ones used by Voxbone. If there’s a certain type of codec you want to use or prioritise, you can do so under the “Media” section in “External Trunk Configurations”. Make sure the allowed codec lists are similar.

All done! Now save your Voxbone trunk for PureCloud BYOC, and continue with the next steps of assigning it to your site.

Assign the Voxbone trunk to your site

In order to start using the Voxbone trunk you just created for making outbound calls, it needs to be assigned to a site (i.e. location). Go to Telephony > Sites on the PureCloud Admin dashboard, and pick the site you want to use for your Voxbone numbers.

  1. Go to ‘Site details’ under Telephony > Sites
  2. Add the External Trunk you created for Voxbone to the list of “External Trunks” in “Outbound Routes” tab, by selecting it in the “Select External Trunks” dropdown list.
    Make sure to assign any relevant classifications for the site too. For this tutorial, we want our users on the site to use Voxbone for Domestic, International and Emergency calls.

Assign Voxbone Phone Numbers to PureCloud Users

Numbers can be assigned to users, groups, phones, queues and any feature on PureCloud that allows creating a new outbound voice interaction. For the purpose of this tutorial, we’ll explain how numbers can be assigned to users. For more information about different types of number assignments and number management, refer to Genesys Help Center.

This process can be fully automated, all the way from buying the Voxbone number to assigning it to a PureCloud user. For more information on how numbers are assigned and configured on PureCloud, take a look at the PureCloud Resource Center.

Make sure the numbers are properly configured on the Voxbone platform for use in PureCloud. Here are the key configurations to look out for:

  1. Does the number have a Voice URI linked to the External Trunk Inbound URI?
  2. Are the codecs on the number the same/similar to the ones configured on the External Trunk on PureCloud?
  3. Is outbound calling/emergency calling enabled on the number?

Once you’ve checked those, it’s time to replicate our Voxbone number inventory in the PureCloud system:

  1. Under PureCloud Admin Dashboard, go to Telephony > DID Numbers.
  2. Switch to the “DID Numbers” tab to add any numbers or ranges. If you’re adding a single number, you can enter the same E.164 number in both DID Start and DID End fields.
    We recommend adding “Voxbone” in the “Service Provider” field to have better tracking of your resources in PureCloud.
  3. Once you’ve completed the form at the bottom of the list, click “+” to add the number.

Once the numbers are added, they can be assigned to users. On PureCloud, this is done under a user’s profile, by editing “Contact Information”. In order to assign the number you just added to a user, follow these steps:

  1. Go to Directory > My Organization and find the user you want to assign a number to, under the “People” tab, then click on the user to see their profile.
  2. Switch to ‘Edit mode’ to change ‘Contact information’.
  3. Click ‘Edit’ in the ‘Contact information’ box. This will reveal the settings.
  4. Enter the Voxbone phone number you’ve just added to any of the phone number fields, and select ‘Primary Voice’. Make sure to leave ‘Primary SMS’ unchecked.
  5. Click ‘Save’.


Assign Phone Numbers to a Location for Emergency Calling on PureCloud

When agents or users make outbound calls to emergency numbers from phones connected to PureCloud, the system uses the caller ID/phone number that’s configured under the location to which the numbers are assigned.

In order to ensure emergency calls can be made – a legal requirement in many jurisdictions – you’ll need to assign a Voxbone phone number that’s enabled for emergency calling in the right location.

To assign a phone number for emergency calling to your location in PureCloud:

  1. Go to Directory > Locations on the PureCloud admin dashboard
  2. Pick the location to which you’d like to assign a Voxbone number for emergency calling
  3. Set the emergency number by selecting the country, entering the rest of the E.164 number, and clicking ‘Save’.

Creating a Voice URI between Voxbone and PureCloud

This is where we set up the SIP interface from Voxbone to PureCloud. On Voxbone’s platform, this is done via voice URIs.

Here, you’ll use the Inbound/Termination URI configured on the PureCloud External Trunk, whose domain in our example was “”.

Note: To be able to differentiate call routing on PureCloud, on Voxbone you can use the reserved keyword “{E164}”, which lets us use the same voice URI for many different numbers – plus detect what number is called/who’s calling on PureCloud. If you’re using this routing, assign the phone numbers to individual users on PureCloud platform.

  1. Log in to your Voxbone account.
  2. Go to Configure > Configure Voice URIs (or, if you’re logged in, click here).
  3. Click ‘New’ to create a Voice URI routed to your PureCloud instance.
  4. Specify the Voice URI as {E164}@(whatever you set as the SIP domain on PureCloud). For example: {E164}

When you’re done, your Voice URI should look something like this:

Route your Voxbone numbers to PureCloud

Now, we need to link one of our numbers to the PureCloud Voice URI we just created.

  1. Go to Configure > Configure DIDs or, if you’re logged in, click here.
  2. Use filters to pick a number of your choice to assign for testing and hit ‘Search’.
  3. Once you’ve picked your number, under the Configuration menu, go to the “Voice” tab and click ‘Voice URI’.
    Make sure to pick at least g.729 and g.711 codecs (and opus for WebRTC phones on PureCloud) to prevent any SDP or media-related errors.
  4. In the window, select the Voice URI you just created.
  5. Hit ‘Apply’ and ‘Continue’, then finally, ‘Confirm’.
  6. All set! Now place a call to the number you’re using for testing. It should reach your PureCloud instance, at the user’s phone who was assigned this number.

Testing Inbound calls

Any calls placed to the numbers associated with your PureCloud URI are now delivered by Voxbone to your PureCloud instance. If you used the {E164} keyword, your PureCloud External Trunk should see them as calls received to URI (called Voxbone DID)@(PureCloud External Trunk FQDN URI).

In this tutorial, for example, if the Voxbone number “3228080000” is linked to {E164}, when a call is placed, PureCloud External Trunk will see an incoming call to [email protected].

Now you can use all advanced call routing, distribution and engagement features within PureCloud without changing anything – and have Voxbone as the delivery platform.

Testing Outbound Calls

To test outbound calls via Voxbone through PureCloud, make sure you have outbound dialing enabled with Voxbone (either domestic or international) on the phone number assigned to the user, or set as the Outbound Calling Address on your External Trunk.

Testing International/Domestic Calls

After assigning a phone number to a user or group, just dial a national or international number from a PureCloud phone, such as a registered WebRTC Phone.

Testing Emergency Calls

As testing actual calls to emergency services is impractical, we have a dedicated 3-digit number you can dial to ensure your setup works fine for real emergency calls.

To test it, make sure the emergency number plan assigned to the site allows 3-digit dials, or a specific one with “777”. Then, dial “777” from your PureCloud phone, which will connect you to an echo service.

Once you validate two-way media, all emergency calls will work fine, as long as your phone numbers are enabled for the service on the Voxbone platform. As a default, we recommend that you configure the “Emergency Number” under ‘Location settings’ in PureCloud (Directory > Locations > Your Location.)


Most issues related to outbound calling are related to the external trunk configuration or site assignments:

  • If getting ‘no route found’ issues when placing outbound calls, make sure the external trunk you created for Voxbone is assigned to the site of the phone, and that it has the relevant number plans assigned. You can also simulate the dial to ensure your number plans are ok from within the PureCloud dashboard.
  • If calls are getting rejected, make sure:
    • the authentication credentials under ‘External trunk settings’ are valid,
    • the number you’re using as caller ID has at least one of international and national outbound dialing enabled from the Voxbone platform

Support & further issues

Once you’re done with the setup, we recommend you follow BYOC Configuration Checklist to eliminate any issues caused by misconfiguration on your PureCloud instance.

If you’re still having trouble connecting Voxbone to PureCloud, here are a few last tips:

  1. You can check whether your calls are reaching Voxbone by looking at your Call History (Login to Voxbone > Account > Call History)
  2. If you see a call record on Voxbone with an error message, contact our care team by creating a ticket
  3. If you don’t see a call record showing up in Voxbone, this means the call was declined or rejected by your PureCloud instance. In that case, contact your Genesys partner for support.