Skip to content

azurermVoiceServicesCommunicationsGateway

Manages a Voice Services Communications Gateways.

!> NOTE: You must have signed an Operator Connect agreement with Microsoft to use this resource. For more information, see prerequisites.

!> NOTE: Access to Azure Communications Gateway is restricted, see getAccessToAzureCommunicationsGatewayForYourAzureSubscription for details.

Example Usage

/*Provider bindings are generated by running cdktf get.
See https://cdk.tf/provider-generation for more details.*/
import * as azurerm from "./.gen/providers/azurerm";
/*The following providers are missing schema information and might need manual adjustments to synthesize correctly: azurerm.
For a more precise conversion please use the --provider flag in convert.*/
const azurermResourceGroupExample = new azurerm.resourceGroup.ResourceGroup(
  this,
  "example",
  {
    location: "West Europe",
    name: "example-resources",
  }
);
const azurermVoiceServicesCommunicationsGatewayExample =
  new azurerm.voiceServicesCommunicationsGateway.VoiceServicesCommunicationsGateway(
    this,
    "example_1",
    {
      api_bridge: "${jsonencode({})}",
      auto_generated_domain_name_label_scope: "SubscriptionReuse",
      codecs: "PCMA",
      connectivity: "PublicAddress",
      e911_type: "DirectToEsrp",
      emergency_dial_strings: ["911", "933"],
      location: "West Europe",
      microsoft_teams_voicemail_pilot_number: "1",
      name: "example-vcg",
      on_prem_mcp_enabled: false,
      platforms: ["OperatorConnect", "TeamsPhoneMobile"],
      resource_group_name: azurermResourceGroupExample.name,
      service_location: [
        {
          allowed_media_source_address_prefixes: ["10.1.2.0/24"],
          allowed_signaling_source_address_prefixes: ["10.1.1.0/24"],
          esrp_addresses: ["198.51.100.3"],
          location: "eastus",
          operator_addresses: ["198.51.100.1"],
        },
        {
          allowed_media_source_address_prefixes: ["10.2.2.0/24"],
          allowed_signaling_source_address_prefixes: ["10.2.1.0/24"],
          esrp_addresses: ["198.51.100.4"],
          location: "eastus2",
          operator_addresses: ["198.51.100.2"],
        },
      ],
      tags: {
        key: "value",
      },
    }
  );
/*This allows the Terraform resource name to match the original name. You can remove the call if you don't need them to match.*/
azurermVoiceServicesCommunicationsGatewayExample.overrideLogicalId("example");

Arguments Reference

The following arguments are supported:

  • name - (Required) Specifies the name which should be used for this Voice Services Communications Gateways. Changing this forces a new resource to be created.

  • location - (Required) Specifies the Azure Region where the Voice Services Communications Gateways should exist. Changing this forces a new resource to be created.

  • resourceGroupName - (Required) Specifies the name of the Resource Group where the Voice Services Communications Gateways should exist. Changing this forces a new resource to be created.

  • connectivity - (Required) How to connect back to the operator network, e.g. MAPS. Possible values is publicAddress. Changing this forces a new Voice Services Communications Gateways to be created.

  • codecs - (Required) The voice codecs expected for communication with Teams. Possible values are pcma, pcmu,g722,g7222,silk8 and silk16.

  • e911Type - (Required) How to handle 911 calls. Possible values are standard and directToEsrp.

  • platforms - (Required) The Voice Services Communications GatewaysAvailable supports platform types. Possible values are operatorConnect, teamsPhoneMobile.

  • serviceLocation - (Required) A serviceLocation block as defined below.

  • autoGeneratedDomainNameLabelScope - (Optional) Specifies the scope at which the auto-generated domain name can be re-used. Possible values are tenantReuse, subscriptionReuse, resourceGroupReuse and noReuse . Changing this forces a new resource to be created.

  • apiBridge - (Optional) Details of API bridge functionality, if required.

  • emergencyDialStrings - (Optional) A list of dial strings used for emergency calling.

  • onPremMcpEnabled - (Optional) Whether an on-premises Mobile Control Point is in use.

  • tags - (Optional) A mapping of tags which should be assigned to the Voice Services Communications Gateways.

  • microsoftTeamsVoicemailPilotNumber - (Optional) This number is used in Teams Phone Mobile scenarios for access to the voicemail IVR from the native dialer.


A serviceLocation block supports the following:

  • location - (Required) Specifies the region in which the resources needed for Teams Calling will be deployed.

  • operatorAddresses - (Required) IP address to use to contact the operator network from this region.

  • allowedMediaSourceAddressPrefixes - (Optional) Specifies the allowed source IP address or CIDR ranges for media.

  • allowedSignalingSourceAddressPrefixes - (Optional) Specifies the allowed source IP address or CIDR ranges for signaling.

  • esrpAddresses - (Optional) IP address to use to contact the ESRP from this region.

!> NOTE: The esrpAddresses must be specified for each serviceLocation when thee911Type is set to directToEsrp. The esrpAddresses must not be specified for each serviceLocation when thee911Type is set to standard.

Attributes Reference

In addition to the Arguments listed above - the following Attributes are exported:

  • id - The ID of the Voice Services Communications Gateways.

Timeouts

The timeouts block allows you to specify timeouts for certain actions:

  • create - (Defaults to 30 minutes) Used when creating the Voice Services Communications Gateways.
  • read - (Defaults to 5 minutes) Used when retrieving the Voice Services Communications Gateways.
  • update - (Defaults to 30 minutes) Used when updating the Voice Services Communications Gateways.
  • delete - (Defaults to 30 minutes) Used when deleting the Voice Services Communications Gateways.

Import

Voice Services Communications Gateways can be imported using the resourceId, e.g.

terraform import azurerm_voice_services_communications_gateway.example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.VoiceServices/communicationsGateways/communicationsGateway1