openapi: 3.2.0 info: title: Microsoft Azure SipRouting Service Sip Configuration API description: SipRouting Service contact: email: acsdevexdisc@microsoft.com version: 2023-04-01-preview security: - azure_auth: - user_impersonation - apiKey: [] tags: - name: SIP Configuration paths: /sip: get: tags: - SIP Configuration summary: Microsoft Azure Gets Sip Configuration For Resource operationId: microsoftAzureSiproutingGet parameters: - $ref: '#/components/parameters/ApiVersionParameter' - $ref: '#/components/parameters/ExpandSipConfiguration' responses: '200': description: Ok. content: application/json: schema: $ref: '#/components/schemas/SipConfiguration' default: description: Failure headers: x-ms-error-code: description: Error code schema: type: string content: application/json: schema: $ref: ../../../Common/stable/2022-07-13/common.json#/definitions/CommunicationErrorResponse x-ms-examples: Get SIP configuration for resource with Trunk Health expand: $ref: ./examples/GetSipConfigurationWithExpand.json description: Needs a more full description created. patch: tags: - SIP Configuration summary: Microsoft Azure Updates Sip Configuration For Resource operationId: microsoftAzureSiproutingUpdate parameters: - $ref: '#/components/parameters/ApiVersionParameter' responses: '200': description: Updated configuration is returned. content: application/json: schema: $ref: '#/components/schemas/SipConfiguration' default: description: Failure headers: x-ms-error-code: description: Error code schema: type: string content: application/json: schema: $ref: ../../../Common/stable/2022-07-13/common.json#/definitions/CommunicationErrorResponse x-ms-examples: Update SIP configuration for resource: $ref: ./examples/UpdateSipConfiguration.json description: Needs a more full description created. requestBody: content: application/merge-patch+json: schema: $ref: '#/components/schemas/SipConfigurationUpdate' description: Sip configuration update object. components: parameters: ApiVersionParameter: in: query name: api-version description: Version of API to invoke required: true schema: type: string ExpandSipConfiguration: name: expand in: query required: false description: Sip configuration expand. Optional. x-ms-parameter-location: method x-ms-enum: name: ExpandEnum modelAsString: true values: - value: trunks/health description: Health state of a SIP trunk for routing calls. schema: type: string enum: - trunks/health schemas: Tls: type: object description: The status of the TLS connections of the Trunk. required: - status properties: status: type: string description: The status of the TLS connections of the Trunk. enum: - unknown - ok - certExpiring - certExpired x-ms-enum: modelAsString: true name: tlsStatus values: - value: unknown description: Indicates an unknown status. - value: ok description: Indicates the status is okay. - value: certExpiring description: Indicates the Trunk certificate is expiring. - value: certExpired description: Indicates the Trunk certificate is expired. TrunkUpdate: description: Represents a SIP trunk update. type: object properties: sipSignalingPort: format: int32 description: Gets or sets SIP signaling port of the trunk. type: integer enabled: description: Enabled flag $ref: '#/components/schemas/Enabled' Trunk: description: Represents a SIP trunk for routing calls. See RFC 4904. Can be expanded with additional data. required: - sipSignalingPort - enabled type: object properties: sipSignalingPort: format: int32 description: Gets or sets SIP signaling port of the trunk. type: integer enabled: description: Enabled flag $ref: '#/components/schemas/Enabled' health: description: Represents health state of a SIP trunk for routing calls. type: object readOnly: true $ref: '#/components/schemas/Health' Ping: type: object description: The status of SIP OPTIONS message sent by Trunk. required: - status properties: status: type: string description: The status of SIP OPTIONS message sent by Trunk. enum: - unknown - ok - expired - error x-ms-enum: name: pingStatus modelAsString: true values: - value: unknown description: Indicates an unknown status. - value: ok description: Indicates the status is okay. - value: expired description: Indicates the status is expired. - value: error description: Indicates the status is at an error level. SipConfigurationUpdate: description: Represents a SIP configuration update. type: object properties: domains: description: 'Domains that will be used. Map key is domain.' type: object additionalProperties: $ref: '#/components/schemas/DomainPatch' trunks: description: 'SIP trunks for routing calls. Map key is trunk''s FQDN (1-249 characters).' maxProperties: 250 type: object additionalProperties: $ref: '#/components/schemas/TrunkUpdate' routes: description: Trunk routes for routing calls. maxItems: 250 type: array items: $ref: '#/components/schemas/TrunkRoute' Domain: description: 'Represents Domain object as response of validation api. Map key is domain.' required: - enabled type: object properties: enabled: description: Enabled flag $ref: '#/components/schemas/Enabled' DomainPatch: description: 'Represents Domain that will be used. Map key is domain.' type: object properties: enabled: description: Enabled flag $ref: '#/components/schemas/Enabled' OverallHealth: type: object description: The overall health status of Trunk. required: - status properties: status: type: string description: The overall health status of Trunk. enum: - unknown - active - inactive x-ms-enum: name: overallHealthStatus modelAsString: true values: - value: unknown description: Indicates an unknown health status. - value: active description: Indicates the Trunk is active. - value: inactive description: Indicates the Trunk is inactive. reason: type: string description: The reason overall status of Trunk is inactive. enum: - noRecentCalls - noRecentPings - noRecentCallsAndPings x-ms-enum: name: inactiveStatusReason modelAsString: true values: - value: noRecentCalls description: Indicates no recent calls. - value: noRecentPings description: Indicates ping status is expired. - value: noRecentCallsAndPings description: Indicates no recent calls and ping status is expired. TrunkRoute: description: Represents a trunk route for routing calls. required: - name - numberPattern type: object properties: description: description: Gets or sets description of the route. maxLength: 1024 type: string name: description: Gets or sets name of the route. maxLength: 256 type: string numberPattern: description: 'Gets or sets regex number pattern for routing calls. .NET regex format is supported. The regex should match only digits with an optional ''+'' prefix without spaces. I.e. "^\+[1-9][0-9]{3,23}$".' maxLength: 1024 type: string trunks: description: Gets or sets list of SIP trunks for routing calls. Trunks are represented as FQDN. maxItems: 250 type: array items: type: string SipConfiguration: description: 'Represents a SIP configuration. When a call is being routed the routes are applied in the same order as in the routes list. A route is matched by its number pattern. Call is then directed into route''s first available trunk, based on the order in the route''s trunks list. The configuration can be expanded with additional data.' type: object properties: domains: description: 'Validated Domains. Map key is domain.' maxProperties: 250 type: object additionalProperties: $ref: '#/components/schemas/Domain' trunks: description: 'SIP trunks for routing calls. Map key is trunk''s FQDN (1-249 characters).' maxProperties: 250 type: object additionalProperties: $ref: '#/components/schemas/Trunk' routes: description: Trunk routes for routing calls. maxItems: 250 type: array items: $ref: '#/components/schemas/TrunkRoute' Health: description: Represents health state of a SIP trunk for routing calls. type: object required: - tls - ping - overall properties: tls: $ref: '#/components/schemas/Tls' ping: $ref: '#/components/schemas/Ping' overall: $ref: '#/components/schemas/OverallHealth' Enabled: type: boolean description: 'Flag if domain is enabled or not. If enabled it''s used in configuration, if not enabled it''s not used.' securitySchemes: azure_auth: type: oauth2 flows: implicit: scopes: user_impersonation: impersonate your user account authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize description: Azure Active Directory OAuth2 Flow apiKey: type: apiKey name: access_key in: header description: An authentication string containing a signature generated using HMAC-SHA256 scheme. x-ms-parameterized-host: hostTemplate: '{endpoint}' useSchemePrefix: false parameters: - $ref: '#/components/parameters/Endpoint'