# NOTE: For your deployment, you must change the values of the following attributes:
# - ic3: serverAddress
# - mcp: SiteDomain, ClusterName
# - node-profile: TenantID, AppID, SecretValue
# All other attributes can be left unchanged from the values below.
deployment-config:custom-data:
custom-config:
# Requirements:
# - serverAddress
# This must be a resolvable DNS entry for the deployment's
# Teams Phone Mobile Consultation API server.
# This will depend on the region of your deployment, where the region must be
# the same as used for SIP traffic to the Microsoft Teams Phone Service.
# Contact your Microsoft Teams customer support representative to obtain this.
# Valid values are api-as.pstnhub.microsoft.com, api-au.pstnhub.microsoft.com,
# api-eu.pstnhub.microsoft.com, or api-us.pstnhub.microsoft.com, depending on your region.
# - port
# The server port used for requests to the Teams Phone Mobile Consultation API.
ic3:
serverAddress: "api-eu.example.com"
port: 443
# Requirements:
# - SiteDomain
# The site domain used by the DNS SRV records for the MCP nodes.
# - ClusterName
# The name used by the DNS SRV records for the MCP cluster.
# e.g the supplied config will match the following DNS records:
# mcp1-core IN A 1.2.3.4
# mcp2-core IN A 1.2.3.5
# mcp3-core IN A 1.2.3.6
# _sip._tcp.<ClusterName>.<SiteDomain>. IN SRV 10 10 5060 mcp1-core
# _sip._tcp.<ClusterName>.<SiteDomain>. IN SRV 10 10 5060 mcp2-core
# _sip._tcp.<ClusterName>.<SiteDomain>. IN SRV 10 10 5060 mcp3-core
mcp:
SiteDomain: example.com
ClusterName: my-mcp-cluster
# Requirements:
# - AuthorityBaseURL
# Used for authorization with the Teams Phone Mobile Consultation API server.
# Do not change this from the provided value below.
# - TenantID, AppID
# Obtain these from your Microsoft Teams customer support representative.
# - AuthCredentialType
# This must be one of "SECRET" or "CERTIFICATE".
# If "SECRET", the SecretValue-id attribute must be supplied.
# The PrivateKey-id and Certificate-id attributes can be removed or set to null.
# If "CERTIFICATE", both the PrivateKey-id and Certificate-id attributes must be supplied.
# The SecretValue-id attribute can be removed or set to null.
# - SecretValue-id
# If using, obtain SecretValue from your Microsoft Teams customer support representative.
# Store the SecretValue in the QSS and use the reference ID here.
# - PrivateKey-id, Certificate-id
# If using, obtain PrivateKey and Certificate from your Microsoft Teams customer support representative.
# These must be one-line strings without any newline characters such as `\n`
# and must not contain headers and footers such as
# -----BEGIN` PRIVATE KEY-----` or `-----END CERTIFICATE-----`.
# Store the PrivateKey and Certificate in the QSS and use the reference ID here.
# - MaxRequestAttempts
# This is an integer value for the per-call maximum HTTPS request attempts made by MCP
# to retrieve a Temporary Routing Number.
# - Timeout
# This is an integer value in milliseconds between 500 and 60000 inclusive.
# NOTE: If changing the Timeout, there is a separate HTTP per-request timeout configured
# in the REST resource adaptor. This has a default value of 3200ms,
# and can only be manually modified post-install.
# We recommend setting the resource adaptor timeout to a value slightly larger than the
# Timeout below. For further details, contact your support representative.
node-profile:
AuthorityBaseURL: "https://login.microsoftonline.com"
TenantID: "abc-123"
AppID: "def-456"
AuthCredentialType: "SECRET"
SecretValue-id: "mysecretvalue-qss-ref"
# PrivateKey-id: "mykey-qss-ref"
# Certificate-id: "mycertificate-qss-ref"
MaxRequestAttempts: 3
Timeout: 3000
# Note: All the sip-error-handling fields are optional.
# Requirements:
# - BusyResponseCodes
# A list of SIP error response codes. If a response with a code in this list is received,
# MCP will pass the response back to the caller.
# - NoAnswerTimer
# The time (in seconds) that MCP will wait for a final SIP response. This is triggered when a call is
# redirected to a TRN and receives a ringing response, but does not receive a non-provisional response.
# - NoAnswerTimeoutResponse
# The SIP error response code if the NoAnswerTimer is triggered.
# 1. Triggered on redirected calls: if this value is in the BusyResponseCodes list,
# error responses with this code are sent back to the caller.
# If not, call setup continues without Teams services.
# 2. Triggered otherwise: always send error responses with this code back to the caller.
# - Example Scenario
# MCP receives an error response from IC3 and sends the INVITE with the original call target
# back to the IMS core. The INVITE receives a ringing response, but does not receive a non-provisional response,
# triggering the no answer timeout.
# MCP sends an error response with the configured NoAnswerTimeoutResponse code.
# - ProvisionalResponseTimeout
# The time (in seconds) that MCP will wait for a provisional SIP response from the
# Teams Phone Mobile Consultation API server.
# - ResponseCodeSentOnProvisionalResponseTimeout
# The SIP error response code if the ProvisionalResponseTimeout is triggered.
# 1. Triggered on redirected calls: if this value is in the BusyResponseCodes list,
# error responses with this code are sent back to the caller.
# If not, call setup continues without Teams services.
# 2. Triggered otherwise: always send error responses with this code back to the caller.
# - Example Scenario
# 1.A call is redirected to a TRN and only receives a 100 Trying in response,
# which triggers the provisional response timeout.
# MCP sends the invite with the original call target back to the IMS core.
# 2.MCP receives an error response from IC3 and sends the INVITE with the original call target back to the IMS core.
# The INVITE receives a ringing response and only receives a 100 Trying in response,
# triggering the provisional response timeout.
# MCP sends an error response with the configured ResponseCodeSentOnProvisionalResponseTimeout code.
sip-error-handling:
BusyResponseCodes: [401, 402, 405, 406, 407, 409, 411, 412, 413, 414, 415, 416, 417, 420, 421, 422, 423, 424, 425, 428, 429, 430, 433, 436, 437, 438, 439, 440, 469, 470, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 491, 493, 494, 603]
NoAnswerTimer: 180
NoAnswerTimeoutResponse: 408
ProvisionalResponseTimeout: 15
ResponseCodeSentOnProvisionalResponseTimeout: 504
# Note: This section is only required if using an HTTP proxy
# for MCP requests to the Teams Phone Mobile Consultation API server.
# Requirements:
# - UseHttpProxy
# If using an HTTP proxy for requests to the Teams Phone Mobile Consultation API server,
# set this to True and configure the other attributes below.
# Otherwise, this is an optional attribute that defaults to False.
# - HttpProxyAddress
# The IP address, or DNS record resolvable by MCP, of the deployment's HTTP proxy server.
# Unless UseHttpProxy is set to True,
# this attribute will be ignored and MCP configured to not use an HTTP proxy.
# - HttpProxyPort
# The port used by the HTTP proxy server to listen for incoming requests.
# Unless UseHttpProxy is set to True,
# this attribute will be ignored and MCP configured to not use an HTTP proxy.
# http-proxy:
# UseHttpProxy: True
# HttpProxyAddress: "http-proxy.example.com"
# HttpProxyPort: 3128
# Note: This section is only required if using the forced routing feature
# This is provisioned as an array of name/uri pairs. The name must be
# equal to the service attribute received in the Route header on the
# incoming initial INVITE.
# The uri must be a valid SIP URI.
# routing-options:
# - name: fr-routing-example-1
# uri: sip:<sip-username>@example.com
# - name: fr-routing-example-2
# uri: sip:<sip-username>@anotherdomain.com
# Note: This section is required if certificate revocation checking is required.
# Requirements:
# - enable-crl
# If set to True, enable the use of certificate revocation lists (CRLs) to check the validity of certificates.
# - enable-ocsp
# If set to True, enable the use of Online Certificate Status Protocol (OCSP) to check the validity of
# certificates. If both OCSP and CRLs are enabled, OCSP takes precedence.
# ssl-certificate-revocation-check:
# enable-crl: False
# enable-ocsp: True