Skip to main content

Network Bridge

Setup Your Dashboard Account For Network Bridge#

This guide walks through the initial setup for Bandwidth's Network Bridge with Twilio. The network bridge allows you to use Bandwidth to create phone calls using our network from another authorized API provider.

You must contact Bandwidth Customer Support to get your SIP domain and port number.



  1. Create New Realm
  2. Create New SIP Credentials
  3. Create call via Twilio with new SIP Creds

Create New Realm#

In order to route the calls through Bandwidth, you'll need to create a new realm. Upon realm creation, it will be used as part of the Realm combined with <randomAccountHex>

RealmrequiredString identifying the realm.
DescriptionoptionalA string used for a description of the realm

Create New Sip Credentials#

In order to route the outbound calls through Bandwidth, you'll need to create a new set of SIP credentials. To generate your own hash values, you can follow the instructions below, but if you would like Bandwidth to generate those hash values for you, you can skip ahead to the Using the UI section of this guide.

UsernamerequiredString identifying the user.
DomainoptionalString defining the identity of the user. The Domain will be joined to the UserName with an @ to create a composite username. For example, the UserName bob could be combined with the domain to create a composite username
RealmoptionalString identifying the realm the user belongs. If left blank/empty the default realm on the account will be used.
HttpVoiceV2AppIdoptionalString identifying the V2 Voice application to route the call to.
Hash1requiredString representing a potential Hash values used to authenticate the client. The value should be computed from an MD5 Hash of: {composite-username}:{Realm}:{Password}.
Hash2requiredString representing a potential Hash value used to authenticate the client. The value should be computed from an MD5 Hash of {composite-username}:{Realm}:{Realm}:{Password}.

The Twilio platform requires a SIPAuthUsername and a SIPAuthPassword. These examples assume that your username=sipauthtest and password=password.

Generate MD5 Hash#

Either using the command line or an online tool generate the md5 hash from the username and desired password.

Most *nix (mac, linux) come with MD5 hash built in. Check that MD5 is installed by opening up the terminal and typing: Check that MD5 is installed

$ which md5

`Once MD5 is installed, run the command:md5 -s {composite-username}:{Realm}:{Password}where{Password}` is the desired password

Default Setup (No Domain Specified as Part of the User's ID)#

Generate MD5 Hash1 without Domain#
md5 -s sipauthtest:realmname.<randomAccountHex>
MD5 ("sipauthtest:realmname.<randomAccountHex>") = fe438bddfc087dda89d29e637f5684ab
Generate MD5 Hash2 without Domain#
md5 -s sipauthtest@realmname.<randomAccountHex><randomAccountHex>
MD5 ("sipauthtest@realmname.<randomAccountHex><randomAccountHex>") = 79bb0e55551e14a2f329a282c7cf145

Non-Default Setup (Domain Specified)#

Generate md5 Hash1 with domain
md5 -s<randomAccountHex>
MD5 ("<randomAccountHex>") = 817d76e91aad032a8c272229f468bfb2
Generate md5 Hash2 with domain
md5 -s<randomAccountHex><randomAccountHex>
MD5 ("<randomAccountHex><randomAccountHex>") = 39679d2a73c2e1ea719621bc0d8fdac8

Add the Newly Created Hash to Sip Credentials#

After generating the hash value, fill in the Hash1 and Hash2 values to create the SIP credentials.

Using the UI#

Select Sip Credentials from the account overview page on the Bandwidth Dashboard

Sip CredentialsCreate Sip Credentials Page

Using the API#

You can also use the API to create SIP credentials after generating the MD5 hash value. When using the API, Bandwidth will not generate the hashes for you - you must supply your own hash values. You can create multiple SIP credentials within one API call.

Content-Type: application/xml; charset=utf-8
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

Create Call Using the Network Bridge#

To create a call using the network bridge format:

  • TO field like sip:{Desired_to_number}@<randomAccountHex>{Port}
  • SipAuthUsername as the username created above like sipauthtest
  • SipAuthPassword as the password used to create the MD5 hash like password
Format the TO Field to use the Network Bridge#


Curl Request to Create the Call#
curl '{AccountId}/Calls.json' -X POST \
--data-urlencode 'To=sip:+17778889999@realmname.<randomAccountHex>' \
--data-urlencode 'From=+15553334444' \
--data-urlencode 'Url=' \
--data-urlencode 'SipAuthUsername=sipauthtest' \
--data-urlencode 'SipAuthPassword=password' \
-u {AccountId}:{AuthToken}