Skip to main content

Telnyx Compute: Network — Full Documentation

Complete page content for Network (Compute section) of the Telnyx developer docs (https://developers.telnyx.com). This file: https://developers.telnyx.com/development/llms/compute-network-llms-full-txt.md · Root index: https://developers.telnyx.com/llms.txt

Private Networks

Network Overview

Source: https://developers.telnyx.com/docs/network/overview.md

Introduction

Telnyx programmable networking allows users and their application to access Telnyx SIP and API endpoints without traversing the public internet, therefore offering a path with better latency and throughput. The SIP and API endpoints are:
  • api.telnyx.com
  • sip.telnyx.com and their regional counterparts
  • *.telnyxcloudstorage.com where * is all available storage regions, e.g. us-central-1
The users’ applications can reside in any one of the major hyperscalers, i.e. AWS, GCP, and Azure, or the users’ own data centers (as long as the user has a presence in Equinix.) This model is analogous to certain AWS concepts — From the “outside” world, a user can use a Direct Connect to connect to private resources (e.g. your EC2 instances) or public resources (e.g. S3). Though to AWS, the “outside” world is largely limited to their users’ on premise data centers.

API Concepts

Coverage

Coverage API enumerates all the supported products at each of Telnyx’s PoP. Before creating any resources, please ensure that
  1. There is a PoP in the vicinity from where you want to connect, and
  2. The desired resources are available at that PoP.
Equally important, depending on the resource, there are product specific coverage endpoints you must consult. Refer to the coverage guide for more detail.

Networks

It is a logically isolated virtual network. It is a pre-requisite for the creation of other elements. Refer to the network guide for more detail.

Gateways

It is a virtual node that facilitates traffic routing between your Telnyx network and an outside network. There are three types of gateways.
  • WireGuard Gateways (WGW); in the API, it’s named interface
  • Internet Gateways (IGW)
  • Private Wireless Gateways (PWG)

WireGuard Gateways

It is a virtual VPN concentrator implemented with the open source WireGuard protocol. It is similar to
  • Virtual Private Gateway in AWS
  • VPN Gateway in GCP
  • Virtual Network Gateway in Azure
Refer to the WireGuard Gateway guide for more detail.

Internet Gateways

It is an element that routes traffic to and from the internet, similar to Internet Gateway or NAT Gateway in AWS Refer to the Internet Gateways Guide

Private Wireless Gateways

It is a private packet gateway that concentrates, routes, and segments traffic for a group of SIMs. Refer to private wireless gateway guide for more detail.

Virtual Cross Connects

It is a virtual direct connection between a supported cloud provider and Telnyx. Refer to VXC guide for more detail.

Coverage

Source: https://developers.telnyx.com/docs/network/coverage.md

Generic Coverage

Individual networking resource availability is not universal across all Telnyx regions. Hence the user must ensure the desired resource is offered at the desired region. To this end, we offer a coverage API (GET /v2/network_coverage). The location parameter is hierarchical: The available_services parameter is an array of all available resources that can be created at this specific location. Possible values are:
  • virtual_cross_connect
  • cloud_vpn aka wireguard interface aka wireguard gateway
  • private_wireless_gateway
  • public_internet_gateway
Here are some common usage patterns of this API.

Querying by the desired product

Querying by the desired product with a location constraint

Querying by the desired location

Here is a sample response:

Virtual Cross Connects (VXC) Coverage

In the case of virtual cross connect (VXC) there are two terminating endpoints to every single connection: a cloud provider endpoint and a Telnyx endpoint. As a result, it’s insufficient to simply perform the coverage check. For example, the above API response only indicates that one end of the VXC can be terminated at the Telnyx’s FR5 PoP. It provides no information about the other terminating endpoint. To that end, we offer a VXC coverage API (GET /v2/virtual_cross_connects_coverage) to augment the generic coverage API. Here are some common usage patterns of this API. Querying by fixing Telnyx endpoint
The response to the above query shows all the possible cloud provider endpoints at which a VXC, whose one end is terminated at Telnyx CH1 PoP, can be terminated. Querying by fixing cloud provider endpoint
The response to the above query shows all the possible Telnyx endpoints at which a VXC, whose one end is terminated at us-east-1 of AWS, can be terminated. Here is a sample response:
The available_bandwidth is in Mbps.

Networks Configuration

Source: https://developers.telnyx.com/docs/network/networks.md
A network instance is a prerequisite for the creation of all other elements. Here is a sample request:

Request sample

Don’t forget to update YOUR_API_KEY here.
Here is a sample response:
API reference is available here.

WireGuard Gateway Setup

Source: https://developers.telnyx.com/docs/network/gateways/wireguard-gateway.md
On naming convention: in the API Reference, certain legacy documentations, and the Mission Control Portal, WireGuard Gateways are referred to as “Wireguard Interfaces”. In this guide and all guides under the “Networking” collection, the term WireGuard Gateway is used consistently. The devices that connect to it are referred to as WireGuard Peers or simply Peers

Introduction

WireGuard Gateway (WGW) is an element to which peers can connect and form a VPN over the public internet. It’s built on top of the WireGuard implementation.

Creating a WGW

Step 1: Create a Network

Follow this guide.

Step 2: Check for Coverage

Follow this guide. Use filter[available_services][contains]=cloud_vpn to look for a desired site at which to deploy the WGW. ashburn-va is chosen for the subsequent steps.

Step 3: Create a WGW

Using the network created from Step 1 and the chosen region from Step 2, create the WGW. Once a WGW is created on a specific network, it cannot be “migrated” to another one; it needs to be recreated on the other network. Double check the correct network_id is used in the following API request.
It’s not yet ready to be used immediately after the creation since its status is provisioning.
  • endpoint denotes the publicly routable IP to which peers will connect over the public internet.
  • server_ip_address is the private subnet range the WGW and peers will use with WGW occupying the first usable IP.

Step 4: Wait for Status Transition

The expected time for status to transition to provisioned is approximately 5 minutes. You can poll the WGW to check for status.

Creating Peers

In the following example, a peer is created for the WGW from the previous section.
In the response, you are given the key pair with which to configure your peer. private_key is only given to you ONCE in the creation API response. It must be stored by you.
Simpler still, you may use the following API to obtain the conf file template.
After inserting the private_key, you can import the conf file on the peer.
[Interface] refers to the local peer.
  • PrivateKey should have the value returned in the private_key parameter.
  • Address is the next available IP in the subnet range. In this case, since this is the first peer, it gets the next IP after the WGW.
[Peer] refers to the WGW created previously.
  • PublicKey is that of the WGW
  • AllowedIPs is the network this peer has access to. See this excellent explanation.
  • Endpoint is the publicly exposed IP to which peers can connect
  • PersistentKeepalive is a default parameter that can be ignored.

Configuring Peers

With the conf file, you can import that onto the host. Here are the environment specific guides:

Use Cases

In this section, we introduce 3 use cases that WGW can accommodate by itself.

Use Case 1: Multi-Cloud Network

WGW can be used as a VPN concentrator server to facilitate traffic between peers. In the following example, we will construct this architecture. Multi Cloud Peers
  • Peer in Cloud A is an EC2 instance in AWS.
  • Peer in Cloud B is a Droplet in DigitalOcean.
It will be demonstrated that it’s extremely trivial to set up a “multicloud” network.

Peer in Cloud A

This EC2 instance runs an apache server but only allows inbound SSH traffic. EC2 Peer As a result, it’s unreachable from the public internet.
However, it’s connected to the WGW we created earlier.

Peer in Cloud B

Similarly, this Droplet instance runs an apache server but only allows inbound SSH traffic. Droplet Peer As a result, it’s unreachable from the public internet.
However, it’s connected to the WGW we created earlier.

Cross Cloud Boundary

Despite of the firewall rule configs in the respective environments, Peer 1 is able to talk to Peer 2 over the WireGuard subnet. From Peer 1
From Peer 2
This is readily extensible to peers running web services in various environments.

Use Case 2: Private Access to Other Telnyx Services

If a WGW is created with enable_sip_trunking, the WGW will enable routing for all Telnyx public API endpoints. Private Access On the peer config, additional routes are added under AllowedIPs.
As a result, traffic between a connected peer to Telnyx API, SIP, and Storage services will flow through the WGW (172.27.0.1) onto the Telnyx network as demonstrated below.
This arrangement is extremely useful in the case where we have to lock down public routing in the event of an extreme DDoS attack.

Use Case 3: Cross-Region Network

The previous architecture can be extended to the following one. Cross Regional Network In this example ---
  • Site A is Telnyx Ashburn
  • Site B is Telnyx Amsterdam
  • Cloud A is AWS
  • Cloud B is Digital Ocean
Traffic between the two peers ride the Telnyx backbone between Ashburn and Amsterdam. Coming Soon.

Other use cases

Costs

  • MRC for each WGW instance is $10.
  • Connected Peers are free of charge.

API References


Linux Configuration

Source: https://developers.telnyx.com/docs/network/wireguard-peer-config/linux.md

Prerequisite

You come from here and have a .conf file ready.

Step 1: Install WireGuard

ubuntu@ip-10-10-11-10:~$ sudo apt install wireguard

Step 2: Bring up the Interface

Assuming the correct config file is located at /etc/wireguard/peer1.conf

Step 3: Validating and Testing

If another peer is connected to the network, it should be pingable.

Next Steps

WireGuard Gateway (WGW) Guide outlines many use cases that may be valuable to you.

macOS Configuration

Source: https://developers.telnyx.com/docs/network/wireguard-peer-config/macos.md

Prerequisite

You come from here and have a .conf file ready.

Step 1: Install WireGuard Client

From here, choose and install the macOS client.

Step 2: Create a Tunnel

“Import Tunnel(s) from File…” Import Tunnel(s) from File... “Activate” "Activate" At this point, it should show “Status: Active” "Active"

Step 3: Validating and Testing

A connected peer should be pingable.

Next Steps

WireGuard Gateway (WGW) Guide outlines many use cases that may be valuable to you.

Windows Configuration

Source: https://developers.telnyx.com/docs/network/wireguard-peer-config/windows.md

Prerequisite

You come from here and have a .conf file ready.

Step 1: Install WireGuard Client

From here, choose and install the Windows Installer.

Step 2: Create a Tunnel

“Import Tunnel(s) from File…” Import Tunnel(s) “Activate” Activate Tunnel At this point, it should show “Status: Active”

Step 3: Validating and Testing

You can try pinging to/from a connected peer. If that does not work you can also try to set up a barebones http server and hit it from the connected peer (or vice versa). An example barebones server in python:
Run the server in one peer (python3 server.py - assuming you saved the above example in a file named server.py) and reach it with a client / browser from the other peer:

Next Steps

WireGuard Gateway (WGW) Guide outlines many use cases that may be valuable to you.

Internet Gateway (IGW)

Source: https://developers.telnyx.com/docs/network/gateways/internet-gateway.md
This is a beta feature

Introduction

Internet Gateway (IGW) is an element that routes traffic between your Telnyx network and the internet. It is intended to be used with certain other elements.

Creating an IGW

Step 1: Create a Network

Follow this guide.

Step 2: Check for Coverage

Follow this guide. Use filter[available_services][contains]=public_internet_gateway to look for a desired site at which to deploy the IGW. frankfurt-de is chosen for the subsequent steps.

Step 3: Create an IGW

Using the network created from Step 1 and the chosen region from Step 2, create the IGW. Once an IGW is created on a specific network, it cannot be “migrated” to another one; it needs to be recreated on the other network. Double check the correct network_id is used in the following API request.
It’s not yet ready to be used immediately after the creation since its status is provisioning.

Step 4: Wait for Status Transition

The expected time for status to transition to provisioned is approximately 10 minutes. You can poll the IGW to check for status.

Use Cases

Use Case 1: Pure play VPN

Internet Gateway (IGW) can be used with WireGuard Gateway (WGW) to create a simple VPN service.
  1. Set up an IGW
  2. Set up a WGW and a peer.
  3. On the peer, amend its config with:
    • DNS — choose your resolver. In the following example, 8.8.8.8 is chosen.
    • AllowedIPs — append with 0.0.0.0/0 so that reachability is beyond the private subnet.
Here is an example config of the peer.
Deactivate and reactivate your WireGuard tunnel. You should see the IGW’s public IP showing up when you query what your public IP is.

Use Case 2: IGW + Private Wireless Gateway (PWG)

Coming Soon.

Costs

  • The monthly recurring cost (MRC) for each instance of IGW is $50.
  • Traffic is not currently metered in beta phase. We will meter traffic in GA phase.

API References


Private Wireless Gateway (PGW)

Source: https://developers.telnyx.com/docs/network/gateways/private-wireless-gateway.md

Introduction

Private Wireless Gateway (PGW) is an element that routes traffic between a group of Telnyx SIMs and other network elements. Refer to this guide for more information on PGW.

Creating a PGW

Step 1: Create a Network

Follow this guide.

Step 2: Check for Coverage

Follow this guide. Use filter[available_services][contains]=private_wireless_gateway to look for a desired site at which to deploy the WGW. Currently, Ashburn, VA is the only supported site. We are working on making more sites available.

Step 3: Create a PGW

Once a PGW is created on a specific network, it cannot be “migrated” to another one; it needs to be recreated on the other network. Double check the correct network_id is used in the following API request.
It’s not yet ready to be used immediately after the creation since its status is provisioning.

Step 4: Wait for Status Transition

The expected time for status.value to transition to provisioned is approximately 15 minutes. You can poll the PGW to check for status.

Step 5: Attach a SIM Group

The PGW is of little use when there is no SIMs are attached to it. Individual SIM must be added to a SIM group which then can be attached to the PGW. This is easily accomplished on the Mission Control Portal. PGW will show the SIM group after a successful attachment.

Use Cases

In the following examples, abbreviations are consistently used for brevity.
  • PWG = Private Wireless Gateway
  • WGW = WireGuard Gateway
  • IGW = Internet Gateway
  • VXC = Virtual Cross Connect

Use Case 1: PWG + WGW

We will construct this architecture which is useful when
  1. Traffic to and from SIMs needs to be segmented and private, and
  2. They do not need high bandwidth connection back to your internal service.
PWG + WGW Architecture In the following example
  • The connected device is an iPhone.
  • It only has access to the peers attached to the WGW; there exists no default route for them.
  • Internal Service Peer is a Droplet on DigitalOcean that runs an toy Apache web server.
  • Admin Peer is a local host.
Detailed WGW and Peer setup guide can be found here. On both peers, ensure that both the WGW subnet and the PGW subnet are on the AllowedIPs of the [Peer] config.
From the internal service peer, we can see there is a route to the iPhone.
From the iPhone, it has access to the internal service peer. Connection to Apache

Use Case 2: PWG + WGW + IGW

The above architecture lacks a crucial functionality --- internet reachability. Though a workaround can be constructed by using one of the peers as an exit node for all default traffic, it’s far better to attach an IGW to the network. PWG + WGW + IGW Architecture Follow the procedure outlined in this guide to set up an IGW on the same network. At this point, the iPhone has internet reachability in addition to the WGW subnet and the PGW subnet. Deice Network Stats Deice Internet Reachability In the above screenshots,
  • the iPhone’s wifi is turned off
  • its “Default Gateway IP” is 100.64.199.1 which is that of the PGW
  • its “External IP” is 64.16.243.172 which is that of the IGW
  • it can ping google.com
Roundtrip ping time is high since in this example, the PGW is in Ashburn US while the IGW is in Frankfurt DE.

Use Case 3: PWG + WGW + IGW + VXC

Currently, the PWG + WGW + IGW + VXC combination only works when WGW, IGW, and VXC are at the Frankfurt Site. We are working on expanding the coverage so it will work universally across all Telnyx sites. In the case where the user’s internal services reside in a cloud provider, the architecture can be augmented yet again. In this case, a VXC can be attached to the network to accommodate this scenario. In the following example, we will establish
  • a VXC from AWS eu-central-1
  • an EC2 in AWS eu-central-1 running a toy Apache server.
For detailed VXC guide on AWS and other providers, please refer to this collection of guides PWG + WGW + IGW + VXC Architecture In AWS’s VPC, we can see the routes from Telnyx’s public APIs AND the SIMs’ private IP ranges are advertised and propagated. Route Table This is also validated by the traceroute output from within the EC2 instance. Latency is high as expected since the EC2 is in Frankfurt while the device is attached to a PGW in Ashburn.
Lastly, validate the connection from the device to EC2. Since the EC2 runs a toy Apache server, open up the HTTP port 80 for the SIM subnet. EC2 Inbound Rule From the iPhone, the server is clearly accessible via private IP. iPhone to Apache

Costs

  • The monthly recurring cost (MRC) for each instance of PGW is $100.
  • Additional costs on SIM and data are applicable as well. Consult this guide for more detail.

API References


VXC Introduction

Source: https://developers.telnyx.com/docs/network/vxc/intro.md
This guide first gives an overview of the product’s availability, costs, and the general API structure. Subsequently, it branches into cloud provider specific guides. The reader should only concern themselves with the section about the cloud provider that’s relevant to their use case.

Coverage & Availability

Source: https://developers.telnyx.com/docs/network/vxc/coverage.md
Refer to the coverage API to ensure the desired resource is offered at the desired region.

Pricing

Source: https://developers.telnyx.com/docs/network/vxc/cost.md
You will be charged by Telnyx AND your cloud provider. Telnyx charges an MRC for each VXC instance according to the following schedule, which may change at our discretion according to the general T&C. We can neither interpret nor advise how your cloud provider may charge your account. Please consult your cloud provider’s documentation.

AWS

GCP

Azure


VXC API

Source: https://developers.telnyx.com/docs/network/vxc/api.md
The API resource in question is /v2/virtual_cross_connects. The following group of parameters needs to be provided regardless of the cloud provider. The rest of the parameters are cloud provider specific. Please consult the subsequent sections.

AWS Direct Connect

Source: https://developers.telnyx.com/docs/network/vxc/aws.md

Architecture

We will construct the following architecture: AWS Architecture

Prerequisites

VPC

This step is performed on AWS. AWS VPC ⚠️ Note: Ensure the intended region is selected. In this example, we are using eu-central-1 as the region. AWS Create VPC

Virtual Private Gateway

This step is performed on AWS. Create and attach a virtual private gateway to the VPC created. AWS Virtual Private Gateway ⚠️ Note: Ensure the intended region is selected. In this example, we are using eu-central-1 as the region. AWS Create Virtual Private Gateway ⚠️ Note: Amazon default ASN value is 64512. You will need this value for VXC creation. Next, attach the virtual private gateway to the VPC created in the first step. AWS Attach Virtual Private Gateway AWS Attach Virtual Private Gateway 2 The state of the virtual private gateway will go from “Detached” to “Attaching” and finally “Attached”.

VPC Route Table

This step is performed on AWS. AWS VPC Route Table 1 AWS VPC Route Table 2 AWS VPC Route Table 3

Internet Gateway

This step is performed on AWS. This is optional. Create and attach an internet gateway to the VPC created. AWS Internet Gateway 1 AWS Internet Gateway 2 AWS Internet Gateway 3 AWS Internet Gateway 4 AWS Internet Gateway 5 AWS Internet Gateway 6

Subnet

This step is performed on AWS. Assuming you don’t have a subnet setup — Choose the VPC created. Subnet CIDR block should be chosen from within the VPC block. AWS Subnet

EC2

This step is performed on AWS. Assuming you don’t have an EC2 instance — spin one up in the same region. Assign the VPC and Subnet created previously. Enable public IP on the instance so you can ssh into it. AWS EC2

Account ID

This step is performed on AWS. ⚠️ You would need this number when you create the Telnyx VXC later. AWS Account ID

Telnyx Network

This step is performed on Telnyx. If you don’t have a network created already, you may follow this guide to create one.

Procedure

Create a VXC resource

This step is performed on Telnyx.
request
Take note of the VXC id returned in the response.

Direct Connect

This step is performed on AWS. If you haven’t accepted the connection from your AWS account within 1 hour of the VXC creation, the VXC would be deleted and you will have to start over. AWS Direct Connect AWS Direct Connect 2

Enable Primary Connection

This step is performed on Telnyx. The connection must be enabled to be used.
request
At this point, the connection on AWS will show as “available”. AWS Enable Primary Connection

Virtual Interface

This step is performed on AWS. The connection created above needs to have an interface to which to connect. AWS Virtual Interface 1 AWS Virtual Interface 2 Interface Parameters Lastly you should see the following – the interface is “available”. AWS Interface Parameters

Validate Connection

This step is performed on AWS. ssh into your EC2 instance and either ping or traceroute to one of the IP in the route table of the VPC. You can see the route went over the VXC instead of the public internet. AWS Validate Connection

Google Cloud Interconnect

Source: https://developers.telnyx.com/docs/network/vxc/gcp.md

Architecture

We will construct the following architecture on Google Cloud. GCP Architecture

Prerequisites

VLAN Attachment

This step is performed on Google GCP VLAN Attachment Parameters:
  • “Partner Interconnect Connection”
  • “Set up unencrypted Interconnect”
GCP VLAN Attachment Parameters GCP VLAN Attachment Parameters 2
  • “Network”: Choose the one you are connecting from
  • “Region”: Choose the one that there is a Telnyx PoP in proximity
  • “MTU”: 8896
GCP VLAN Attachment Parameters 3
  • Create a router or choose an existing one.
GCP VLAN Attachment Parameters 4 GCP VLAN Attachment Parameters 5 GCP VLAN Attachment Parameters 6

Telnyx Network

This step is performed on Telnyx. If you don’t have a network created already, you may follow this guide to create one.

Procedure

Create a VXC resource

This step is performed on Telnyx.

Activate Connection

This step is performed on Google. GCP Activate Connection GCP Activate Connection 2 GCP Activate Connection 3 “Peer ASN”: 63440 (Telnyx) “MD5 Authentication”: primary_bgp_key GCP Activate Connection 4

Update BGP Peering

This step is performed on Telnyx. At this point, the connection is “Down”. We need to take the Google assigned GBP IPs and set them on the VXC. GCP Update BGP Peering 1 GCP Update BGP Peering 2 Use the PATCH method.
  • primary_cloud_ip — “Cloud Router BGP IP” or “Remote IP” in the “Troubleshooting” page
  • primary_telnyx_ip — “BGP peer IP” or “Local IP”in the “Troubleshooting” page
At this point, on Google, it will show the “Status” as “Up” GCP Update BGP Peering 3

Validate Connection

This step is performed on Google.
  • Under VPC networks, you should see the routes advertised over the cloud router created.
  • You can also ssh in one of your instances in the same network and perform a traceroute.
GCP Verify Connection

Azure ExpressRoute

Source: https://developers.telnyx.com/docs/network/vxc/azure.md

Architecture

We will construct the following architecture. Azure Architecture

Prerequisites

Create ExpressRoute Circuit

This step is performed on Azure. Azure Prerequisite 1 Azure Prerequisite 2 Choose the rest of the parameters at your own discretion. Azure Pre-requisite 3 At the end of this step, the “Provider status” should say “Not provisioned”.

Telnyx Network

This step is performed on Telnyx. If you don’t have a network created already, you may follow this guide to create one.

Procedure

Create a VXC resource

This step is performed on Telnyx.
request
Take note of the following info in the response; you will need it later.
  • id
  • primary_cloud_ip
  • primary_bgp_key

Enable Primary Connection

This step is performed on Telnyx.
request
You must make sure the VXC status is provisioned before proceeding to the next step. You can poll the status using GET request on the specific VXC.

Azure Private Peering

This step is performed on Azure. “Provider status” must show “Provisioned” before performing this step. Azure Private Peering 1 Azure Private Peering 2 Azure Private Peering 3 After saving, you may need to wait for some time before performing the next step. Azure Private Peering 4 At this point, you should see Telnyx IPs advertised in the result after you click into “View route table.” Azure Private Peering 5 At this point, you are all set. Perform the following steps only if you are trying to test things out before putting it into your own production environment.

Virtual Network

Azure Virtual Network 1 Next, add a Gateway subnet. Keep all parameters as default. Azure Virtual Network 2

Virtual Network Gateways

Azure Virtual Network Gateways 1 The gateway creation will take a while; upward of 20 minutes. In the meantime, you can proceed to the following step.

Virtual Machines

Azure Virtual Machines 1 Azure Virtual Machines 2 You can keep the rest default or choose at your discretion.

Add Gateway Connection

This step is performed on Azure. The Virtual Gateway you created must be successfully deployed before this step is performed. Azure Add Gateway Connection 1 Azure Add Gateway Connection 2 Azure Add Gateway Connection 3

Validate Connection

This step is performed on Azure. Ensure all of the following are successfully deployed:
  • ExpressRoute
  • Virtual network
  • Virtual network gateway & connection
  • Virtual machine
SSH into the VM and perform a traceroute to sip.telnyx.com and sip.telnyx.eu. You can see the next hop is the next hop indicated on the Azure Private Peering under the express route. Azure Validate Connection

API Reference (Network)

Regions

Networks

WireGuard Interfaces

Public Internet Gateways

Virtual Cross Connects

Global IPs

Private Wireless Gateways