Skip to content

REST Resource: projects.sipDomains

Resource: SipDomain

The SipDomain resource.

JSON representation
{
  "name": string,
  "sipDomainId": string,
  "displayName": string,
  "allowRegister": boolean,
  "callTerminationMode": enum (TerminationMode),
  "callTerminationHandlerUris": [
    string
  ],
  "cidrBlocks": [
    {
      object (CidrBlock)
    }
  ],
  "callRecording": {
    object (CallRecordingConfig)
  },
  "type": enum (DomainType),
  "channelLimit": number (int32),
  "teamsDirectRoutingStatus": {
    object (TeamsDirectRoutingStatus)
  },
  "fqdn": string,
  "createTime": string (Timestamp),
  "deleteTime": string (Timestamp),
  "domainOptional": boolean
}
Fields  
name string
Resource name of the sip domain. It must match the pattern projects/{project_id}/sipDomains/{sip_domain_id}
sipDomainId string
Output only. The subdomain component of the SIP domain. This is the {sip_domain_id} value from name and is a convenience field. The FQDN of the SIP domain will be prepended to the base domain, such as sip.enfonica.com.

This value must be globally unique.

This must be lowercase alpha-numeric or hyphens and must start and end with an alpha-numeric character, and must be a minimum of 2 and maximum of 30 characters. This is captured in the following regular expression: ^[a-z0-9][a-z0-9-]{0,28}[a-z0-9]$
displayName string
The display name of the sip domain for use in the UI. Max length 100 characters.
allowRegister boolean
Whether REGISTER is supported for users.
callTerminationMode enum (TerminationMode)
How call termination will be handled. This can be configured to act as a simple SIP trunk, or as a programmable SIP domain.
callTerminationHandlerUris[] string
List of URIs in priority order that will be executed for call termination. This is only used when call_termination_mode is PROGRAMMABLE.

The first URI is the primary, and the subsequent URIs are used in order if the previous URIs fail.

The following URIs are supported: - absolute http and https URIs.

Additional URIs may be supported in the future.

Maximum 5 URIs.

At least one entry must be specified when call_termination_mode is PROGRAMMABLE.
cidrBlocks[] object (CidrBlock)
A list of up to 100 IP blocks that are permitted to use this SIP domain.

How authorization works changes based on this whitelist and users: - If this list is empty and there are no users defined, the SIP domain cannot be used. - If this list is specified and there are no users defined, any IP that matches the whitelist can place calls without authentication. - If this list is specified and users are defined, user authentication is required and can only occur when their IP matches this whitelist.

If you have requested Enfonica to set domain_optional to true, then you cannot modify this field and it becomes read-only.

callRecording object (CallRecordingConfig)
The configuration of call recording and transcription. If not set, then call recording is disabled.
type enum (DomainType)
Immutable. The type of SIP domain. Defaults to STANDARD. Can only be set on Create.
channelLimit number (int32 format)
The maximum number of simultaneous calls allowed over this SIP domain. This is only applicable to Teams Direct Routing, and is ignored for other types of SIP domains. Note that support for other types of SIP domains may be added in the future.

For Teams Direct Routing, you will be billed based on your channel limit. To avoid being billed, you must delete the SIP domain.

For Teams Direct Routing: Valid values: 1 to 100. Defaults to 1.
teamsDirectRoutingStatus object (TeamsDirectRoutingStatus)
Output only. The status of Teams Direct Routing. Only set if type is TEAMS_DIRECT_ROUTING.
fqdn string
Output only. The FQDN associated with this SIP domain.
createTime string (Timestamp format)
Output only. The creation time of the sip domain.
deleteTime string (Timestamp format)
Output only. The deletion time of the sip domain, if it has been deleted.
domainOptional boolean
Output only. For call termination, whether specifying the domain name is optional. This flag must be enabled by Enfonica support.

If true, then calls can be made to Enfonica SIP IP addresses without specifying the domain name. The IP networks in cidr_blocks are used to match calls to this SIP domain. Having this functionality enabled also prohibits you from modifying cidr_blocks. To modify cidr_blocks with this functionality enabled, you must contact Enfonica support.

If false (default), calls must be made using the domain name and you have full access to modify cidr_blocks.

SipDomain.TerminationMode

Call termination modes.

Enums  
TERMINATION_MODE_UNSPECIFIED Unspecified termination mode.
TERMINATION_MODE_DISABLED Call termination is not permitted.
PSTN_TRUNK Calls to this SIP domain will be routed over the PSTN.
PROGRAMMABLE Calls to this SIP domain will be handled by a VoiceML endpoint.

CidrBlock

Repesents a block of IPv4 addresses.

JSON representation
{
  "displayName": string,
  "cidrBlock": string
}
Fields  
displayName string
The display name of this CIDR block. May be up to 100 characters in length.
cidrBlock string
The block of IPv4 addresses in CIDR notation.

SipDomain.DomainType

Type of SIP domain.

Enums  
DOMAIN_TYPE_UNSPECIFIED Unspecified domain type.
DOMAIN_TYPE_STANDARD Standard SIP domain.
DOMAIN_TYPE_TEAMS_DIRECT_ROUTING SIP domain configured for interoperability with Microsoft Teams Direct Routing. For Teams Direct Routing SIP domains, the following behavior changes apply: - cidr_blocks is read-only and will be auto-populated. - the LoadBalancer sub-resource is read-only and will be auto-populated. - domain_optional will always be false. - channel_limit applies and you will be billed.

TeamsDirectRoutingStatus

The Teams Direct Routing Status.

JSON representation
{
  "verified": boolean
}
Fields  
verified boolean
Whether verification has been performed to verify the ownership of the SIP domain with Office 365.

Methods

Methods  
create POST /v1beta1/{parent}/sipDomains
Creates a sip domain.

The caller must have voice.sipDomains.create permission on the project.
get GET /v1beta1/{name}
Retrieves a sip domain identified by the supplied resource name.

The caller must have voice.sipDomains.get permission on the project.
list GET /v1beta1/{parent}/sipDomains
Lists all SipDomains. List returns sip domain sorted by create_time descending.

The caller must have voice.sipDomains.list permission on the project.
update PATCH /v1beta1/{sip_domain.name}
Updates a sip domain.

The caller must have voice.sipDomains.update permission on the project.
delete DELETE /v1beta1/{name}
Performs a soft-delete of the specified SIP domain.

The caller must have voice.sipDomains.delete permission on the project.
verifyTeamsDirectRouting POST /v1beta1/{sip_domain}:verifyTeamsDirectRouting
Verifies the SIP domain with Teams Direct Routing by applying a verification string provided by Office 365.

The caller must have voice.sipDomains.update permission on the project.