Provisioning
Download OpenAPI specification:Download
The provisioning API provides functionality to provision features provided by the platform, such as SIP devices and trunks. It also offers access to log data, usage statistics, documentation and access to API tokens.
Base url: https://api.prod-eu-north-1.iotcomms.io/provisioning
Authorize credentials request from API user.
/device/{domain}/bulk/{bulkId}
Authorizations:
path Parameters
bulkId required | string The id for the bulk, can be anything |
domain required | string The domain that the devices are provisioned for. |
Responses
Response samples
- 200
{- "success": true,
- "status": {
- "reason": "string",
- "stoppedAt": 0,
- "bulkId": "string",
- "domain": "string",
- "startedAt": 0,
- "status": "STARTED"
}
}
/device/{domain}/bulk/{bulkId}
Provision made devices at once by uploading a csv file
Authorizations:
path Parameters
bulkId required | string The id for the bulk, can be anything |
domain required | string The domain that the devices are provisioned for. |
Request Body schema: text/csvrequired
This endpoint accepts a csv file as input and is intended to be used to provision large quantities of devices. The file must be under 10MB.
Process
First call this endpoint with a bulk id of your choice with your csv file as the body of the request. This will immedietly respond with a 200 OK. Using the same bulk id, perform a GET request to see the status of the bulk job and the reason for any potential errors.
File format
Basics
Each column in the header of the csv file should correspond to a property in the device object. Consider the following example:
deviceId | authType |
---|---|
1234 | deviceid |
5678 | deviceid |
In this example we are provisioning two devices, one with the device id of '1234' and one with the device id '5678'. Both of the devices have their authType set to 'deviceid'.
Nested properties
It is possible to configure nested properties. See the following example:
deviceId | authType | authorized.domain | authorized.invite | authorized.register | password |
---|---|---|---|---|---|
1234 | userid | customer47.prod-eu-north-1.iotcomms.io | .* | true | supersecret |
5678 | userid | customer47.prod-eu-north-1.iotcomms.io | .* | true | supersecret |
In this example we are provisioning properties inside the authorized object of the device.
Service data
Anything inside the 'serviceData' property must be a valid JSON value. This for example means text will need to be "inside quotes".
deviceId | authType | serviceData.foo.bar |
---|---|---|
1234 | deviceid | "example text" |
5678 | deviceid | "example text" |
deviceType | string Enum: "sipDevice" "alarmbridgeConnect" "groupScheme" "alarmUnit" Describes what kind of device is registered:
| ||||||||||||||
lastConfigured | number This property is set with the timestamp of when an Alarmbridge Connect gateway last downloaded it's configuration file. | ||||||||||||||
macAddress | string This property is used to resolve a device based on MAC address of associated Alarmbridge Connect gateway. | ||||||||||||||
password | string If authType is set to userid this property is mandatory. It is not used for the other authTypes. deviceId and password are used as credentials for the /authorize API to fetch JWT tokens for SIP authentication. | ||||||||||||||
object This property is used together with userid | |||||||||||||||
| |||||||||||||||
object This property is an object which store service specific settings for a device. | |||||||||||||||
| |||||||||||||||
description | string <= 200 characters This property is used to describe or keep notes regarding this device. Maximum 200 characters. | ||||||||||||||
ha1 | string This property is used in conjunction with the credentials | ||||||||||||||
deviceCLI | string This property is used to resolve a device based on telephone number for incoming calls to for example Alarmbridge service. | ||||||||||||||
authType required | string Enum: "credentials" "deviceid" "userid" Authentication type to be used for the device. Valid values are credentials, deviceid or userid (JWT). | ||||||||||||||
deviceId required | string^[a-zA-Z0-9\-\._:~+]+$ Unique id identifying the device. Depending on request type and configuration this value is matched against user part in from: header or for SCAIP requests the value of |
Responses
/alarmeventmapper/{domain}
Authorizations:
path Parameters
domain required | string |
query Parameters
provisory | string A boolean indicating if the configurations are to be stored as provisory instead of the working configurations. When stored as provisory the configuration will not be used by the service. |
limit | string An integer to determine a limit of how many entries should be returned from the query. The default value is 100, and it is also the maximum value accepted. |
nextToken | string The token returned from a previous query to this endpoint. Used for pagination. Include this token to get the next results. |
Responses
Response samples
- 200
{- "alarmeventmappers": [
- {
- "alarmHandling": "drop",
- "targetEndpoint": {
- "protocol": "scaip",
- "sipAuthUser": "string",
- "sipAuthPassword": "string",
- "destAddr": "string",
- "overrideSipFrom": "string",
- "defaultVoiceDestination": "string",
- "backupEndpoint": {
- "backupOverrideSipFrom": "string",
- "backupSipAuthPassword": "string",
- "backupDefaultVoiceDestination": "string",
- "backupSipAuthUser": "string",
- "backupDestAddr": "string"
}
}, - "deviceIdPadLength": 0,
- "description": "string",
- "mappingRules": { },
- "unknownAlarmEventVoiceDestination": "string",
- "fromDomain": "string",
- "maxSessionDuration": 0,
- "controllerIdPadLength": 0,
- "name": "string",
- "mapDeviceIdToControllerId": false,
- "useVoiceBridge": true,
- "callerId": "string",
- "id": "string",
- "enableDestinationMonitoring": true
}
], - "success": true
}
/alarmeventmapper/{domain}
Provision an Alarm Event Mapper with specific id for the domain.
Authorizations:
path Parameters
domain required | string |
query Parameters
provisory | string A boolean indicating if the configurations are to be stored as provisory instead of the working configurations. When stored as provisory the configuration will not be used by the service. |
Request Body schema: application/jsonrequired
IVR configuration object
.
alarmHandling required | string Enum: "callEmergencyCenter" "usePredefinedDestination" "requestCallback" "drop" Alarmbridge will signal back to the alarm device to clear the alarm event without any subsequent voice call. | ||||||||||||||||||||||||||
required | object | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
deviceIdPadLength | integer <int32> (DeviceId Pad Length) [ 0 .. 10 ] Default: 0 Enable leading zero padding of deviceId before concatenation. Only used if Map Device Id To Controller Id is activated. | ||||||||||||||||||||||||||
description | string Description of the service. | ||||||||||||||||||||||||||
mappingRules | object The mapping rules let protocol specific alarm mapping rules to be specified. See the protocol specific documentation for more details. This is found in the Alarmbridge getting started documentation section, document "Getting Started with Alarmbridge custom event mappings" | ||||||||||||||||||||||||||
unknownAlarmEventVoiceDestination | string This property is configured with a SIP URI pointing to a fallback voice destination to be used in case an incoming alarm event can't be decoded and there is no calling party phone number. For inbound analogue alarm calls it will connect the incoming call with this destination upon alarm event decode failure. | ||||||||||||||||||||||||||
fromDomain | string (From domain) Used to override the domain portion portion of the SIP From: header. Usually set to the domain of the tenant. With this field any domain can be set. | ||||||||||||||||||||||||||
maxSessionDuration | number (Maximum session duration) This can be used to override the default value for the time a session exist in the service. | ||||||||||||||||||||||||||
controllerIdPadLength | integer <int32> (ControllerId Pad Length) [ 0 .. 10 ] Default: 0 Enable leading zero padding of controllerId before concatenation. Only used if Map Device Id To Controller Id is activated. | ||||||||||||||||||||||||||
name required | string A user provided name to identify this service. | ||||||||||||||||||||||||||
mapDeviceIdToControllerId | boolean Default: false If true it will concatenate controllerId and deviceId and then remove deviceId from the alarm event. | ||||||||||||||||||||||||||
useVoiceBridge | boolean Switches the usage of voice bridge on and off. | ||||||||||||||||||||||||||
callerId | string (Caller Id) Used to override the callerId field in the outbound alarmevent. | ||||||||||||||||||||||||||
id | string The id of a Bridge Service configuration to be used as sender for the event. | ||||||||||||||||||||||||||
enableDestinationMonitoring | boolean (Enable Destination Monitoring) Monitor if target or backup is active |
Responses
Request samples
- Payload
{- "alarmHandling": "callEmergencyCenter",
- "waitForCallback": 5,
- "targetEndpoint": {
- "protocol": "scaip",
- "sipAuthUser": "string",
- "sipAuthPassword": "string",
- "destAddr": "string",
- "overrideSipFrom": "string",
- "defaultVoiceDestination": "string",
- "backupEndpoint": {
- "backupOverrideSipFrom": "string",
- "backupSipAuthPassword": "string",
- "backupDefaultVoiceDestination": "string",
- "backupSipAuthUser": "string",
- "backupDestAddr": "string"
}
}, - "deviceIdPadLength": 0,
- "description": "string",
- "mappingRules": { },
- "unknownAlarmEventVoiceDestination": "string",
- "fromDomain": "string",
- "maxSessionDuration": 0,
- "controllerIdPadLength": 0,
- "name": "string",
- "mapDeviceIdToControllerId": false,
- "useVoiceBridge": true,
- "callerId": "string",
- "id": "string",
- "enableDestinationMonitoring": true
}
Response samples
- 200
{- "success": true,
- "id": "string"
}
/alarmeventmapper/{domain}
path Parameters
domain required | string |
query Parameters
provisory | string A boolean indicating if the configurations are to be stored as provisory instead of the working configurations. When stored as provisory the configuration will not be used by the service. |
Responses
Response samples
- 200
{ }
/trunk/{domain}/{trunkId}
Authorizations:
path Parameters
domain required | string The domain that the trunk is provisioned for. |
trunkId required | string The id of the trunk requested. |
Responses
Response samples
- 200
{- "success": true,
- "trunk": {
- "destinationTarget": "string",
- "localCodec": "GSM",
- "destinationTransport": "string",
- "sourceNetworks": [
- { }
], - "addTerminatingUriParameters": "string",
- "trunkGroupId": "string",
- "usePrivateIP": true,
- "destinationMatch": "/regex/",
- "transcode": true,
- "description": "string",
- "type": "trunk",
- "userName": "string",
- "destinationRewrite": "string",
- "trunksideCodec": "GSM",
- "forceRtpRelay": true,
- "password": "string",
- "forceNatRewrites": true,
- "diversionHeader": "string",
- "rewriteAnumber": "string",
- "ha1": "string",
- "networkId": "string",
- "realm": "string",
- "blacklistPattern": "string"
}
}
/trunk/{domain}/{trunkId}
Add or modify a trunk to be used with the service.
Authorizations:
path Parameters
domain required | string The domain that the trunks are provisioned for. |
trunkId required | string The id of the trunk to be updated or deleted. |
Request Body schema: application/jsonrequired
Trunk Configuration
Configuration for inbound and outbound calls where routing is based on b-party number. A tenant can have multiple trunks configured, e.g. for different countries or different types of calls.
destinationTarget required | string An IP/FQDN pointing at Target domain for trunk. |
localCodec | string Enum: "GSM" "PCMU" "PCMA" |
destinationTransport required | string The transport protocol for the trunk |
Array of strings or strings | |
Array Any of string <ipv4> A list of either cidr or IPv4. | |
addTerminatingUriParameters | string Parameters added to the R-URI sent on outgoing trunk |
trunkGroupId | string Identifier of used trunk group for a call. In INVITE to SIP-servern this will be used to direct call to specific trunk. |
usePrivateIP | boolean |
destinationMatch required | string <regex> A regular expression to match the destinations |
transcode | boolean Specifies if a call should be transcoded or not. |
description | string Optional description of the trunk |
type | string Value: "trunk" Describes the type of serviceDestination, for trunks always "trunk" |
userName | string To be used with realm and password. To update userName, realm and password fields must also be filled. This is used to generate an ha1. If realm, userName and password are sent in the request, the response will contain a password to the trunks authentication. |
destinationRewrite | string A regular expression to rewrite the destination user |
trunksideCodec | string Enum: "GSM" "PCMU" "PCMA" |
forceRtpRelay | boolean The forceRtpRelay property is set on a SIP trunk to enable the RTP relay feature for calls passing through the trunk. With this setting, the signaling remain unchanged. This setting is typically used when a trunk is used for traffic between two IP networks without any direct IP routing. |
password | string To be used with userName and realm. To update password, realm and username fields must also be filled. This is used to generate an ha1. If realm, userName and password are sent in the request, the response will contain a password to the trunks authentication. |
forceNatRewrites | boolean The forceNatRewrites property is set to enable NAT traversal functionality for the calls passing through the trunk. This will trigger re-write of signaling and enable the RTP relay functionality. This setting is typically used if the system on the remote side of the trunk is placed behind a NAT. |
diversionHeader | string A number to be set in diversion header on outbound calls for trunk |
rewriteAnumber | string Number to replace originating number on a trunk |
ha1 | string Used for authenticating the trunk. Alternatively, if realm, userName and password are sent in the body, the ha1 will be generated and a password to authenticate with it will be returned in the request response. |
networkId | string String identifying the terminating network. Multiple trunks may have the same networkId meaning that they are terminated in the same network on the remote side. Used for RTP routing, not SIP routing. |
realm | string To be used with userName and password. To update realm, username and password fields must also be filled to proceed. This is used to generate an ha1. If realm, userName and password are sent in the request, the response will contain a password to the trunks authentication. |
blacklistPattern | string A regular expression to block destinations on the trunk |
Responses
Request samples
- Payload
{- "destinationTarget": "string",
- "localCodec": "GSM",
- "destinationTransport": "string",
- "sourceNetworks": [
- { }
], - "addTerminatingUriParameters": "string",
- "trunkGroupId": "string",
- "usePrivateIP": true,
- "destinationMatch": "/regex/",
- "transcode": true,
- "description": "string",
- "type": "trunk",
- "userName": "string",
- "destinationRewrite": "string",
- "trunksideCodec": "GSM",
- "forceRtpRelay": true,
- "password": "string",
- "forceNatRewrites": true,
- "diversionHeader": "string",
- "rewriteAnumber": "string",
- "ha1": "string",
- "networkId": "string",
- "realm": "string",
- "blacklistPattern": "string"
}
Response samples
- 200
{- "success": true,
- "id": "string"
}
/trunk/{domain}/{trunkId}
Delete a specified trunk configured for a domain.
Authorizations:
path Parameters
domain required | string The domain that the trunk is provisioned for. |
trunkId required | string The id of the trunk to get details for. |
Responses
Response samples
- 200
{- "success": true
}
/trunk/{domain}/{trunkId}
Patch a specified trunk configured for a domain.
Authorizations:
path Parameters
domain required | string The domain that the trunk is provisioned for. |
trunkId required | string The id of the trunk to get details for. |
Request Body schema: application/jsonrequired
The body of the request is an Array of operations as specified in the RFC 6902
path | string The path of the property inside the object. Should always start with slash (/). E.g.: /serviceData/alarmBridge/sipUri is the path to the deep property sipUri, of the alarmBridge that is a property of serviceData which is a property in root. In javascript this property is accessed like so: serviceData.alarmBridge.sipUri, from object
|
op | string Enum: "add" "remove" "replace" "copy" "move" "test" String defining the operation to be performed. The supported operations are add, remove, replace, copy, move and test. |
from | string A path as described in the path property. Used for copy and move operations indicating where to copy/move from |
value | string The value of the property to be set. Valid for add, replace and test. The value could be of type string, number, object or array. |
Responses
Request samples
- Payload
[- {
- "path": "string",
- "op": "add",
- "from": "string",
- "value": "string"
}
]
Response samples
- 200
{- "reason": "string",
- "success": true
}
/apiKey/{domain}/{keyId}
Delete a specified API key for a domain.
Authorizations:
path Parameters
domain required | string The domain that the API key is provisioned for. |
keyId required | string The id of the API key to delete. The id can be found in the sk of the response body from a request to the get method of /apiKey/{domain}. |
Responses
Response samples
- 200
{- "success": true
}
/apiKey/{domain}/{keyId}
path Parameters
domain required | string The domain that the API key is provisioned for. |
keyId required | string The id of the API key to delete. The id can be found in the sk of the response body from a request to the get method of /apiKey/{domain}. |
Responses
Response samples
- 200
{ }
/device/{domain}/{deviceId}
Authorizations:
path Parameters
domain required | string The domain that the device is provisioned for. |
deviceId required | string The id of the device to get details for. |
Responses
Response samples
- 200
{- "deviceType": "sipDevice",
- "reason": "string",
- "lastConfigured": 0,
- "description": "string",
- "deviceCLI": "string",
- "deviceId": "string",
- "macAddress": "string",
- "password": "string",
- "heartbeatStatus": "online",
- "success": true,
- "authorized": {
- "domain": "string",
- "invite": "string",
- "register": true
}, - "serviceData": {
- "alarmBridge": {
- "heartbeatInterval": 300000,
- "alarmProtocol": "tt92",
- "emergencyDestination": "string",
- "overrideInAlarmEvent": {
- "deviceType": "string",
- "controllerId": "string",
- "deviceComponent": "string",
- "systemConfig": "string",
- "location": "string",
- "audio": "string",
- "priority": 0,
- "deviceId": "string",
- "statusCode": "string"
}, - "usePredefinedDestination": true
}
}, - "ha1": "string",
- "authType": "credentials",
- "heartbeatExpiration": 0
}
/device/{domain}/{deviceId}
Delete a specified device configured for a domain.
Authorizations:
path Parameters
domain required | string The domain that the device is provisioned for. |
deviceId required | string The id of the device to get details for. |
Responses
Response samples
- 200
{- "success": true
}
/device/{domain}/{deviceId}
Modify or add properties to a device.
Authorizations:
path Parameters
domain required | string |
deviceId required | string |
Request Body schema: application/jsonrequired
The body of the request is an Array of operations as specified in the RFC 6902
path | string The path of the property inside the object. Should always start with slash (/). E.g.: /serviceData/alarmBridge/sipUri is the path to the deep property sipUri, of the alarmBridge that is a property of serviceData which is a property in root. In javascript this property is accessed like so: serviceData.alarmBridge.sipUri, from object
|
op | string Enum: "add" "remove" "replace" "copy" "move" "test" String defining the operation to be performed. The supported operations are add, remove, replace, copy, move and test. |
from | string A path as described in the path property. Used for copy and move operations indicating where to copy/move from |
value | string The value of the property to be set. Valid for add, replace and test. The value could be of type string, number, object or array. |
Responses
Request samples
- Payload
[- {
- "path": "string",
- "op": "add",
- "from": "string",
- "value": "string"
}
]
Response samples
- 200
{- "reason": "string",
- "success": true
}
/apiKey/{domain}
Create a new API key for the organization.
Authorizations:
path Parameters
domain required | string The domain that the API keys are provisioned for. |
Request Body schema: application/jsonrequired
Could include an RS256 public key. If none is included a random string token will be generated.
key required | string |
Responses
Request samples
- Payload
{- "key": "string"
}
Response samples
- 200
{ }
/statistics/{domain}/{type}/{bucketsize}
Get service statistics aggregated in time buckets.
Authorizations:
path Parameters
type required | string The type of statistics to get. Supported values are: cdr_siprec. |
bucketsize required | string The size of the time bucket to use to aggregate the statistics. Supported values are: hour, day or month. |
domain required | string The domain of the tenant to get statistics for. |
Responses
Response samples
- 200
{- "success": true,
- "statistics": [
- {
- "name": "string",
- "min_duration": 0,
- "sum_duration": 0,
- "num_calls": 0,
- "max_duration": 0,
- "average_duration": 0
}
]
}
/statistics/{domain}/{type}/{bucketsize}
path Parameters
type required | string The type of statistics to get. Supported values are: cdr_siprec. |
bucketsize required | string The size of the time bucket to use to aggregate the statistics. Supported values are: hour, day or month. |
domain required | string The domain of the tenant to get statistics for. |
Responses
Response samples
- 200
{ }
/mediaservice/{domain}
Authorizations:
path Parameters
domain required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
limit | string An integer to determine a limit of how many entries should be returned from the query. The default value is 100, and it is also the maximum value accepted. |
nextToken | string The token returned from a previous query to this endpoint. Used for pagination. Include this token to get the next results. |
Responses
Response samples
- 200
{- "success": true,
- "mediaservices": [
- {
- "googleApikey": "string",
- "disableLateOffer": true,
- "ivrRefresherExpiration": 0,
- "callbackTimeout": 0,
- "destinationMatch": "/regex/",
- "googleServiceKey": { },
- "callbackDescription": "string",
- "description": "string",
- "callbackName": "string",
- "replySessionExpiration": 0,
- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": {
- "x-functions-key": "string"
}, - "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "rtpTimeout": 0,
- "callbackId": "string",
- "offeredCodecs": [
- "opus"
], - "name": "string",
- "networkId": "string",
- "id": "string"
}
]
}
/mediaservice/{domain}
Provision a Media Service with specific id for the domain.
Authorizations:
path Parameters
domain required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Request Body schema: application/jsonrequired
IVR configuration object
.
googleApikey | string API key used in case the Mediaservice should use Google text to speech services. | ||||||||||
disableLateOffer | boolean By default SIP calls originating from the Mediaservice will not have a SDP to optimize the signaling. Instead the codec offer is sent in the ACK. If the remote system have problems with this a normal invite is sent with a fake media endpoint, and once call is established a re-invite is sent if this property is set to true. | ||||||||||
ivrRefresherExpiration | number >= 0 This is an optional property to be set if the mediaservice should act as session refresher for the SIP session in case the remote side has not requested to be refresher. The time value in seconds will be set in the session-expires header. | ||||||||||
callbackTimeout | number Max time (including re-transmission attempts in milliseconds until the HTTPS callback is timing out | ||||||||||
destinationMatch required | string <regex> Regular expression used to determine if incoming calls to the tenant should be handled by this service destination. | ||||||||||
googleServiceKey | object Google service key object used in case the Mediaservice should use Google text to speech services. | ||||||||||
callbackDescription | string An user given description that helps identifying the callback resource. | ||||||||||
description | string Description of the service destination. | ||||||||||
callbackName | string An user given name that helps identifying the callback resource. | ||||||||||
callbackBaseUrl required | string <uri> HTTPS base URL where callback requests for the service is sent. NOTE: It must be a URL starting with https:// | ||||||||||
replySessionExpiration | number >= 0 This is an optional property that control the value of Session-Expires header time value in seconds for call originating from the mediaservice. It will per default set the ;refresher=uas property to request remote side to act as refresher. | ||||||||||
required | Array of objects Array of authentication objects. These objects are used to generate JWT bearer tokens to sign callback requests from the service destinaton. If a callback request authentication fails, the request will be re-sent with a signature generated using the next authentication object in the list until all objects have been used. | ||||||||||
Array
| |||||||||||
rtpTimeout | number Overrides the default RTP timeout value of 90 seconds. Set it to the desired value in seconds. If RTP media from remote side been silent for this time the IVR participant will be disconnected and it also triggers a service alarm. | ||||||||||
callbackId | string A generated id used to manage the callback resource. | ||||||||||
offeredCodecs | Array of strings (Limit offered codecs) Items Enum: "opus" "PCMA" "PCMU" An array of codecs to be offered in case a SIP Invite is received without SDP. If this is not specified all codecs are offered. If incoming invite contains a SDP the answer match in inbound invite codec is set. | ||||||||||
name required | string A name provided by the user to identify this service destination. | ||||||||||
networkId | string The platform supports network connectivity from many different public or private IP networks. If routing is not possible between these networks they may be assigned a networkId. This is an optional property indicating which networkId the media service should be bound to. If a call would originate or terminate from a SIP trunk assigned a different networkId media will must be anchored in the platform since no direct routing is possible between the networks. | ||||||||||
id | string Unique ID generated for the service destination |
Responses
Request samples
- Payload
{- "googleApikey": "string",
- "disableLateOffer": true,
- "ivrRefresherExpiration": 0,
- "callbackTimeout": 0,
- "destinationMatch": "/regex/",
- "googleServiceKey": { },
- "callbackDescription": "string",
- "description": "string",
- "callbackName": "string",
- "replySessionExpiration": 0,
- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": {
- "x-functions-key": "string"
}, - "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "rtpTimeout": 0,
- "callbackId": "string",
- "offeredCodecs": [
- "opus"
], - "name": "string",
- "networkId": "string",
- "id": "string"
}
Response samples
- 200
{- "success": true,
- "id": "string"
}
/notificationsettings/{domain}
Get event notification destinations for the service.
Authorizations:
path Parameters
domain required | string |
Responses
Response samples
- 200
{- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": { },
- "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "alarmTopic": "string",
- "httpTimeout": 0,
- "sipEventsTopic": "string",
- "useHttpEvents": true,
- "alarmEventsRestEndpoint": "string",
- "sipEventsRestEndpoint": "string",
- "alarmbridgeCallbackEndpoint": "string"
}
/notificationsettings/{domain}
Set event notification destinations for the service.
Authorizations:
path Parameters
domain required | string |
Request Body schema: application/jsonrequired
Notification destination settings object.
Array of objects (restAuthentication) | |||||||||||
Array
| |||||||||||
alarmTopic | string AWS ARN of SNS topic where the service will post service alarms as specified in the SNS alarmTopic API. | ||||||||||
httpTimeout | integer <int32> Total timeout in milliseconds before callback request including three re-try attempts will fail. | ||||||||||
sipEventsTopic | string AWS ARN of SNS topic where the service will post events as specified in the SNS sipEventsTopic API. | ||||||||||
useHttpEvents | boolean If this is set to true HTTPS will be used for callback notifications and not SNS for sipEvents and alarms. | ||||||||||
alarmEventsRestEndpoint | string this is set to true HTTPS will be used for serve notifications and not SNS for sipEvents and alarms. | ||||||||||
sipEventsRestEndpoint | string REST callback base URL to be used for sipEvents notifications. Must start with http:// or https:// | ||||||||||
alarmbridgeCallbackEndpoint | string REST callback base URL to be used for alarmbridge service callbacks. Must start with http:// or https:// |
Responses
Request samples
- Payload
{- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": { },
- "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "alarmTopic": "string",
- "httpTimeout": 0,
- "sipEventsTopic": "string",
- "useHttpEvents": true,
- "alarmEventsRestEndpoint": "string",
- "sipEventsRestEndpoint": "string",
- "alarmbridgeCallbackEndpoint": "string"
}
Response samples
- 200
{- "success": true
}
/trunk/{domain}
Authorizations:
path Parameters
domain required | string The domain that the trunks are provisioned for. |
query Parameters
limit | string An integer to determine a limit of how many entries should be returned from the query. The default value is 100, and it is also the maximum value accepted. |
nextToken | string The token returned from a previous query to this endpoint. Used for pagination. Include this token to get the next results. |
Responses
Response samples
- 200
{- "trunks": [
- {
- "trunkId": "string",
- "serviceDestination": {
- "destinationTarget": "string",
- "localCodec": "GSM",
- "destinationTransport": "string",
- "sourceNetworks": [
- { }
], - "addTerminatingUriParameters": "string",
- "trunkGroupId": "string",
- "usePrivateIP": true,
- "destinationMatch": "/regex/",
- "transcode": true,
- "description": "string",
- "type": "trunk",
- "userName": "string",
- "destinationRewrite": "string",
- "trunksideCodec": "GSM",
- "forceRtpRelay": true,
- "password": "string",
- "forceNatRewrites": true,
- "diversionHeader": "string",
- "rewriteAnumber": "string",
- "ha1": "string",
- "networkId": "string",
- "realm": "string",
- "blacklistPattern": "string"
}
}
], - "nextToken": "string",
- "success": true
}
/trunk/{domain}
Add or modify a trunk to be used with the service.
Authorizations:
path Parameters
domain required | string The domain that the trunks are provisioned for. |
Request Body schema: application/jsonrequired
Trunk Configuration
Configuration for inbound and outbound calls where routing is based on b-party number. A tenant can have multiple trunks configured, e.g. for different countries or different types of calls.
trunkId | string The id of the trunk to be updated. If this property is not specified in the request a new trunk will be created with a new ID. In case no trunk with the specified ID exists a new trunk will be created using this ID. | ||||||||||||||||||||||||||||||||||||||||||||||||
required | object (Trunks service destination object) | ||||||||||||||||||||||||||||||||||||||||||||||||
|
Responses
Request samples
- Payload
{- "trunkId": "string",
- "serviceDestination": {
- "destinationTarget": "string",
- "localCodec": "GSM",
- "destinationTransport": "string",
- "sourceNetworks": [
- { }
], - "addTerminatingUriParameters": "string",
- "trunkGroupId": "string",
- "usePrivateIP": true,
- "destinationMatch": "/regex/",
- "transcode": true,
- "description": "string",
- "type": "trunk",
- "userName": "string",
- "destinationRewrite": "string",
- "trunksideCodec": "GSM",
- "forceRtpRelay": true,
- "password": "string",
- "forceNatRewrites": true,
- "diversionHeader": "string",
- "rewriteAnumber": "string",
- "ha1": "string",
- "networkId": "string",
- "realm": "string",
- "blacklistPattern": "string"
}
}
Response samples
- 200
{ }
/trunk/{domain}
Create a trunk to be used with the service.
Authorizations:
path Parameters
domain required | string The domain that the trunks are provisioned for. |
Request Body schema: application/jsonrequired
Trunk Configuration
Configuration for inbound and outbound calls where routing is based on b-party number. A tenant can have multiple trunks configured, e.g. for different countries or different types of calls.
destinationTarget required | string An IP/FQDN pointing at Target domain for trunk. |
localCodec | string Enum: "GSM" "PCMU" "PCMA" |
destinationTransport required | string The transport protocol for the trunk |
Array of strings or strings | |
Array Any of string <ipv4> A list of either cidr or IPv4. | |
addTerminatingUriParameters | string Parameters added to the R-URI sent on outgoing trunk |
trunkGroupId | string Identifier of used trunk group for a call. In INVITE to SIP-servern this will be used to direct call to specific trunk. |
usePrivateIP | boolean |
destinationMatch required | string <regex> A regular expression to match the destinations |
transcode | boolean Specifies if a call should be transcoded or not. |
description | string Optional description of the trunk |
type | string Value: "trunk" Describes the type of serviceDestination, for trunks always "trunk" |
userName | string To be used with realm and password. To update userName, realm and password fields must also be filled. This is used to generate an ha1. If realm, userName and password are sent in the request, the response will contain a password to the trunks authentication. |
destinationRewrite | string A regular expression to rewrite the destination user |
trunksideCodec | string Enum: "GSM" "PCMU" "PCMA" |
forceRtpRelay | boolean The forceRtpRelay property is set on a SIP trunk to enable the RTP relay feature for calls passing through the trunk. With this setting, the signaling remain unchanged. This setting is typically used when a trunk is used for traffic between two IP networks without any direct IP routing. |
password | string To be used with userName and realm. To update password, realm and username fields must also be filled. This is used to generate an ha1. If realm, userName and password are sent in the request, the response will contain a password to the trunks authentication. |
forceNatRewrites | boolean The forceNatRewrites property is set to enable NAT traversal functionality for the calls passing through the trunk. This will trigger re-write of signaling and enable the RTP relay functionality. This setting is typically used if the system on the remote side of the trunk is placed behind a NAT. |
diversionHeader | string A number to be set in diversion header on outbound calls for trunk |
rewriteAnumber | string Number to replace originating number on a trunk |
ha1 | string Used for authenticating the trunk. Alternatively, if realm, userName and password are sent in the body, the ha1 will be generated and a password to authenticate with it will be returned in the request response. |
networkId | string String identifying the terminating network. Multiple trunks may have the same networkId meaning that they are terminated in the same network on the remote side. Used for RTP routing, not SIP routing. |
realm | string To be used with userName and password. To update realm, username and password fields must also be filled to proceed. This is used to generate an ha1. If realm, userName and password are sent in the request, the response will contain a password to the trunks authentication. |
blacklistPattern | string A regular expression to block destinations on the trunk |
Responses
Request samples
- Payload
{- "destinationTarget": "string",
- "localCodec": "GSM",
- "destinationTransport": "string",
- "sourceNetworks": [
- { }
], - "addTerminatingUriParameters": "string",
- "trunkGroupId": "string",
- "usePrivateIP": true,
- "destinationMatch": "/regex/",
- "transcode": true,
- "description": "string",
- "type": "trunk",
- "userName": "string",
- "destinationRewrite": "string",
- "trunksideCodec": "GSM",
- "forceRtpRelay": true,
- "password": "string",
- "forceNatRewrites": true,
- "diversionHeader": "string",
- "rewriteAnumber": "string",
- "ha1": "string",
- "networkId": "string",
- "realm": "string",
- "blacklistPattern": "string"
}
Response samples
- 200
{- "success": true,
- "id": "string"
}
/device/{domain}
Authorizations:
path Parameters
domain required | string The domain that the devices are provisioned for. |
query Parameters
limit | string An integer to determine a limit of how many entries should be returned from the query. The default value is 100, and it is also the maximum value accepted. |
nextToken | string The token returned from a previous query to this endpoint. Used for pagination. Include this token to get the next results. |
filter | string A string to filter the devices. The filter returns devices of which deviceid starts with the filter string. |
Responses
Response samples
- 200
{- "devices": [
- {
- "deviceType": "sipDevice",
- "reason": "string",
- "lastConfigured": 0,
- "description": "string",
- "deviceCLI": "string",
- "deviceId": "string",
- "macAddress": "string",
- "password": "string",
- "heartbeatStatus": "online",
- "success": true,
- "authorized": {
- "domain": "string",
- "invite": "string",
- "register": true
}, - "serviceData": {
- "alarmBridge": {
- "heartbeatInterval": 300000,
- "alarmProtocol": "tt92",
- "emergencyDestination": "string",
- "overrideInAlarmEvent": {
- "deviceType": "string",
- "controllerId": "string",
- "deviceComponent": "string",
- "systemConfig": "string",
- "location": "string",
- "audio": "string",
- "priority": 0,
- "deviceId": "string",
- "statusCode": "string"
}, - "usePredefinedDestination": true
}
}, - "ha1": "string",
- "authType": "credentials",
- "heartbeatExpiration": 0
}
], - "nextToken": "string",
- "success": true
}
/device/{domain}
Add or modify a device to be used with the service.
Authorizations:
path Parameters
domain required | string The domain that the devices are provisioned for. |
Request Body schema: application/jsonrequired
The parameters authType, domain and deviceid are required for all requests.
domain *
(string) The SIP domain that the user belongs to. Value is used to authorize originating sip requests.
deviceid *
(string) Unique id identifying the device. Depending on request type and configuration this value is matched against user part in from: header or other service specific configuration to authorize service access. Note: To provision Alarmbridge devices this string should be of format customerSiteId:controllerId:deviceId to authenticate incoming alarm events having these properties. If just a controllerId is in the alarm event the string should be set to controllerId. No customerSiteId is provisioned this and first colon should be omitted.
authType *
(string)
The remaining contents of the request depend on the type of authentication to be used for the device. Valid values are credentials, deviceid or userid (JWT).
credentials
Used to generate a device that use SIP digest authentication. The SIP password is automatically generated and returned in response.
deviceid
Used to add SCAIP devices to white list. Authentication is done by matching deviceId value with CID in SCAIP body.
userid
Used to create access for end users using applications that can authenticate with SIP service using JWT tokens. If this type is used a password is provided to be associated with the user. JWT token is then fetched using the /authorize API endpoint. This request requires the extra parameters password and authorized
password
(string) If authType is set to userid this property is mandatory. It is not used for the other authTypes. deviceId and password are used as credentials for the /authorize API to fetch JWT tokens for SIP authentication.
authorized
(object)
This property is used together with userid authType
. The object configure authorization polices for SIP requests sent by the device. Contains domain, invite and register:
- domain (string): The SIP domain that the user is authorized to use.
- invite (string): Regular expression evalutated against SIP destinations in invite requests. If match then request is authorized.
- register (boolean): Indicates if the user is authorized to send SIP register requests for the domain.
ha1
(string) If authType is set to credentials this is an optional parameter that allow a SIP ha1 password hash to be provided. This allow a specific SIP password to be set for the device provisioned. If it is not provided an random password will be created automatically.
deviceType | string Enum: "sipDevice" "alarmbridgeConnect" "groupScheme" "alarmUnit" Describes what kind of device is registered:
| ||||||||||||||
lastConfigured | number This property is set with the timestamp of when an Alarmbridge Connect gateway last downloaded it's configuration file. | ||||||||||||||
macAddress | string This property is used to resolve a device based on MAC address of associated Alarmbridge Connect gateway. | ||||||||||||||
password | string If authType is set to userid this property is mandatory. It is not used for the other authTypes. deviceId and password are used as credentials for the /authorize API to fetch JWT tokens for SIP authentication. | ||||||||||||||
object This property is used together with userid | |||||||||||||||
| |||||||||||||||
object This property is an object which store service specific settings for a device. | |||||||||||||||
| |||||||||||||||
description | string <= 200 characters This property is used to describe or keep notes regarding this device. Maximum 200 characters. | ||||||||||||||
ha1 | string This property is used in conjunction with the credentials | ||||||||||||||
deviceCLI | string This property is used to resolve a device based on telephone number for incoming calls to for example Alarmbridge service. | ||||||||||||||
authType required | string Enum: "credentials" "deviceid" "userid" Authentication type to be used for the device. Valid values are credentials, deviceid or userid (JWT). | ||||||||||||||
deviceId required | string^[a-zA-Z0-9\-\._:~+]+$ Unique id identifying the device. Depending on request type and configuration this value is matched against user part in from: header or for SCAIP requests the value of |
Responses
Request samples
- Payload
{- "deviceType": "sipDevice",
- "lastConfigured": 0,
- "macAddress": "string",
- "password": "string",
- "authorized": {
- "domain": "string",
- "invite": "string",
- "register": true
}, - "serviceData": {
- "alarmBridge": {
- "heartbeatInterval": 300000,
- "alarmProtocol": "tt92",
- "emergencyDestination": "string",
- "overrideInAlarmEvent": {
- "deviceType": "string",
- "controllerId": "string",
- "deviceComponent": "string",
- "systemConfig": "string",
- "location": "string",
- "audio": "string",
- "priority": 0,
- "deviceId": "string",
- "statusCode": "string"
}, - "usePredefinedDestination": true
}
}, - "description": "string",
- "ha1": "string",
- "deviceCLI": "string",
- "authType": "credentials",
- "deviceId": "string"
}
Response samples
- 200
{- "password": "string",
- "success": true
}
/device/{domain}
Delete all devices configured for a domain.
Authorizations:
path Parameters
domain required | string The domain that the devices are provisioned for. |
Request Body schema: application/jsonrequired
confirmDeleteAll | boolean If false or absent the request will simulate the deletion without actually removing any devices. |
Responses
Request samples
- Payload
{- "confirmDeleteAll": true
}
Response samples
- 200
{- "reason": "string",
- "success": true,
- "message": "string",
- "error": { }
}
/alarmbridge/{domain}
Authorizations:
path Parameters
domain required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
limit | string An integer to determine a limit of how many entries should be returned from the query. The default value is 100, and it is also the maximum value accepted. |
nextToken | string The token returned from a previous query to this endpoint. Used for pagination. Include this token to get the next results. |
Responses
Response samples
- 200
{- "alarmbridges": [
- {
- "alarmEventMapperId": "string",
- "defaultHeartbeatInterval": 300000,
- "useVPNConnection": false,
- "fallbackAlarmProtocol": "bs8521",
- "callbackTimeout": 15000,
- "destinationMatch": "/regex/",
- "toneSettings": {
- "calleeDtmfSendType": "2833",
- "callerDtmfSendType": "2833",
- "dtmfSendType": "2833"
}, - "callbackDescription": "string",
- "controlCommandsEnabled": true,
- "description": "string",
- "arcDisconnectClearsCall": true,
- "customEventMap": { },
- "customerSiteId": "/regex/",
- "callbackName": "string",
- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": { },
- "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "protocol": "tt92",
- "callbackId": "string",
- "name": "string",
- "id": "string",
- "dataRequestInterval": 0,
- "defaultEmergencyDestination": "string",
- "protocolMode": "dtmf"
}
], - "success": true
}
/alarmbridge/{domain}
Provision an Alarmbridge with specific id for the domain.
Authorizations:
path Parameters
domain required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Request Body schema: application/jsonrequired
IVR configuration object
.
protocol required | string (Inbound protocol) Enum: "api" "bs8521" "deviceProvisioned" "nowip" "scaip" "tt92" "ttnew" "multiprotocol" "voicecall" "nowipcontroller" This property control which alarm protocol that is expected for incoming events to the service destination. To learn more, head to our Getting Started Alarmbridge guide. | ||||||||||
protocolMode required | string Enum: "dtmf" "sdmf" This property set additional configuration for configured protocol. Currently only applicable for tt92 protocol. | ||||||||||
alarmEventMapperId | string Id of the bridge service to be used by this service destination. | ||||||||||
defaultHeartbeatInterval | number >= 300000 Default: 300000 Specified, in milliseconds, the default heartbeat interval value to be used for all devices. If this is set the heartbeat service is then enabled for all the devices sending heartbeat messages to this service destination. It could be overridden by setting the property when provisioning a device. The heartbeats are checked by our system every five minutes, so that is the minimum value that can be set (300000 milliseconds). | ||||||||||
useVPNConnection | boolean (Use VPN Connection) Default: false Setting this property to true it will disable the NAT traversal logic in the SIP server and configure the media server to use private IP addresses. | ||||||||||
fallbackAlarmProtocol | string Enum: "bs8521" "scaip" "tt92" "ttnew" This property is used in combination with the | ||||||||||
callbackTimeout | number Default: 15000 Max time in milliseconds for a response until a callback request is considered as a failure. | ||||||||||
destinationMatch required | string <regex> Regular expression used to determine if incoming calls to the tenant should be handled by this service destination. | ||||||||||
object Set properties how to send DTMF tones for Alarmbridge service destination. | |||||||||||
| |||||||||||
callbackDescription | string An user given description that helps identifying the callback resource. | ||||||||||
controlCommandsEnabled | boolean Default: true If this property is set to true the Alarmbridge will stay in the media path when a subsequent voice call have been established after reception of alarm event. If not set the media path will be straight between alarm device and alarm receiver. To be able to use the | ||||||||||
description | string Description of the service. | ||||||||||
arcDisconnectClearsCall | boolean Default: true If this is set to true an incoming call hangup/BYE received from ARC would trigger a clear command to be sent to the connected alarm device before the call is hung up. If not set it is required to use the /alarmbridge/hangupalarmcall API to send the clear command before hanging up the call. | ||||||||||
customEventMap | object Object with rules that define how alarm events should be transformed in callback requests. See the getting-started document "Getting Started with Alarmbridge custom event mappings" for information of the structure of this object. | ||||||||||
customerSiteId | string <regex> ^[a-zA-Z0-9_\-\.]+$ If this property is set the value will be copied to the customerSiteId property of /newAlarmbridgeEvent callbacks. It will also be used as to prefix controllerId:deviceId string for alarm device authentication lookup against provisioned devices. A provisioned devices identifier must be unique for a tenant, and this prefix allow different customer sites to use overlapping controllerId:deviceId configurations. | ||||||||||
callbackName | string An user given name that helps identifying the callback resource. | ||||||||||
callbackBaseUrl | string <uri> HTTPS base URL where callback requests for the service is sent. NOTE: It must be a URL starting with https:// | ||||||||||
Array of objects (Authentication) This array contain objects used to authenticate callback requests. If the first object fail to authenticate the service will continue with the rest of objects in the list until success. More information of how these objects are constructed is found in the getting-started guide "Getting Started with iotcomms.io REST APIs." | |||||||||||
Array
| |||||||||||
callbackId | string A generated id used to manage the callback resource. | ||||||||||
name required | string A name provided by the user to identify this service. | ||||||||||
id | string Unique ID generated for that resource | ||||||||||
dataRequestInterval | number Specifies in milliseconds the time between data request tones send by the service to alarm device. Applicable for bs8521 protocol. Defaults to 1600ms | ||||||||||
defaultEmergencyDestination | string This is the default emergency destination number used for new alarm events. It could be overridden by setting the property when provisioning a device. |
Responses
Request samples
- Payload
{- "tonePowers": [
- 0
], - "protocol": "api",
- "protocolCandidates": [
- "bs8521"
], - "toneSettings": {
- "0": "inaudio",
- "calleeDtmfSendType": "2833",
- "callerDtmfSendType": "2833",
- "dtmfSendType": "2833"
}, - "protocolModes": [
- "dtmf"
], - "alarmEventMapperId": "string",
- "defaultHeartbeatInterval": 300000,
- "useVPNConnection": false,
- "fallbackAlarmProtocol": "bs8521",
- "callbackTimeout": 15000,
- "destinationMatch": "/regex/",
- "callbackDescription": "string",
- "controlCommandsEnabled": true,
- "description": "string",
- "arcDisconnectClearsCall": true,
- "customEventMap": { },
- "customerSiteId": "/regex/",
- "callbackName": "string",
- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": { },
- "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "callbackId": "string",
- "name": "string",
- "id": "string",
- "dataRequestInterval": 0,
- "defaultEmergencyDestination": "string"
}
Response samples
- 200
{- "success": true,
- "id": "string"
}
/cloudsipua/{domain}
Authorizations:
path Parameters
domain required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
limit | string An integer to determine a limit of how many entries should be returned from the query. The default value is 100, and it is also the maximum value accepted. |
nextToken | string The token returned from a previous query to this endpoint. Used for pagination. Include this token to get the next results. |
Responses
Response samples
- 200
{- "success": true,
- "cloudsipuas": [
- {
- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": {
- "x-functions-key": "string"
}, - "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "callbackTimeout": 0,
- "callbackId": "string",
- "destinationMatch": "/regex/",
- "callbackDescription": "string",
- "name": "string",
- "description": "string",
- "id": "string",
- "callbackName": "string",
}
]
}
/cloudsipua/{domain}
Provision a Cloud SIP User Agent with specific id for the domain.
Authorizations:
path Parameters
domain required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Request Body schema: application/jsonrequired
IVR configuration object
.
Array of objects Array of authentication objects. These objects are used to generate JWT bearer tokens to sign callback requests from the service destinaton. If a callback request authentication fail, the request will be re-sent and signature generated using the next authentication object in the list until all objects been used. | |||||||||||
Array
| |||||||||||
callbackTimeout | number | ||||||||||
callbackId | string A generated id used to manage the callback resource. | ||||||||||
destinationMatch required | string <regex> Regular expression used to determine if incoming calls to the tenant should be handled by this service destination. | ||||||||||
callbackDescription | string An user given description that helps identifying the callback resource. | ||||||||||
name required | string A name provided by the user to identify this service. | ||||||||||
description | string Description of the service. | ||||||||||
id | string Unique ID generated for that resouce | ||||||||||
callbackName | string An user given name that helps identifying the callback resource. | ||||||||||
callbackBaseUrl required | string <uri> HTTPS base URL where callback requests for the service is sent. NOTE: It must be a URL starting with https:// |
Responses
Request samples
- Payload
{- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": {
- "x-functions-key": "string"
}, - "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "callbackTimeout": 0,
- "callbackId": "string",
- "destinationMatch": "/regex/",
- "callbackDescription": "string",
- "name": "string",
- "description": "string",
- "id": "string",
- "callbackName": "string",
}
Response samples
- 200
{- "success": true,
- "id": "string"
}
/mediaservice/{domain}/{mediaServiceId}
Authorizations:
path Parameters
mediaServiceId required | string |
domain required | string |
query Parameters
provisory | string A boolean indicating if the configurations to be deleted are provisory instead of the working configurations. |
Responses
Response samples
- 200
{- "mediaservice": {
- "googleApikey": "string",
- "disableLateOffer": true,
- "ivrRefresherExpiration": 0,
- "callbackTimeout": 0,
- "destinationMatch": "/regex/",
- "googleServiceKey": { },
- "callbackDescription": "string",
- "description": "string",
- "callbackName": "string",
- "replySessionExpiration": 0,
- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": {
- "x-functions-key": "string"
}, - "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "rtpTimeout": 0,
- "callbackId": "string",
- "offeredCodecs": [
- "opus"
], - "name": "string",
- "networkId": "string",
- "id": "string"
}, - "success": true
}
/mediaservice/{domain}/{mediaServiceId}
Overwrite the configurations of an Media Service with specific id.
Authorizations:
path Parameters
mediaServiceId required | string |
domain required | string |
query Parameters
provisory | string A boolean indicating if the configurations to be deleted are provisory instead of the working configurations. |
Request Body schema: application/jsonrequired
IVR configuration object
.
googleApikey | string API key used in case the Mediaservice should use Google text to speech services. | ||||||||||
disableLateOffer | boolean By default SIP calls originating from the Mediaservice will not have a SDP to optimize the signaling. Instead the codec offer is sent in the ACK. If the remote system have problems with this a normal invite is sent with a fake media endpoint, and once call is established a re-invite is sent if this property is set to true. | ||||||||||
ivrRefresherExpiration | number >= 0 This is an optional property to be set if the mediaservice should act as session refresher for the SIP session in case the remote side has not requested to be refresher. The time value in seconds will be set in the session-expires header. | ||||||||||
callbackTimeout | number Max time (including re-transmission attempts in milliseconds until the HTTPS callback is timing out | ||||||||||
destinationMatch required | string <regex> Regular expression used to determine if incoming calls to the tenant should be handled by this service destination. | ||||||||||
googleServiceKey | object Google service key object used in case the Mediaservice should use Google text to speech services. | ||||||||||
callbackDescription | string An user given description that helps identifying the callback resource. | ||||||||||
description | string Description of the service destination. | ||||||||||
callbackName | string An user given name that helps identifying the callback resource. | ||||||||||
callbackBaseUrl required | string <uri> HTTPS base URL where callback requests for the service is sent. NOTE: It must be a URL starting with https:// | ||||||||||
replySessionExpiration | number >= 0 This is an optional property that control the value of Session-Expires header time value in seconds for call originating from the mediaservice. It will per default set the ;refresher=uas property to request remote side to act as refresher. | ||||||||||
required | Array of objects Array of authentication objects. These objects are used to generate JWT bearer tokens to sign callback requests from the service destinaton. If a callback request authentication fails, the request will be re-sent with a signature generated using the next authentication object in the list until all objects have been used. | ||||||||||
Array
| |||||||||||
rtpTimeout | number Overrides the default RTP timeout value of 90 seconds. Set it to the desired value in seconds. If RTP media from remote side been silent for this time the IVR participant will be disconnected and it also triggers a service alarm. | ||||||||||
callbackId | string A generated id used to manage the callback resource. | ||||||||||
offeredCodecs | Array of strings (Limit offered codecs) Items Enum: "opus" "PCMA" "PCMU" An array of codecs to be offered in case a SIP Invite is received without SDP. If this is not specified all codecs are offered. If incoming invite contains a SDP the answer match in inbound invite codec is set. | ||||||||||
name required | string A name provided by the user to identify this service destination. | ||||||||||
networkId | string The platform supports network connectivity from many different public or private IP networks. If routing is not possible between these networks they may be assigned a networkId. This is an optional property indicating which networkId the media service should be bound to. If a call would originate or terminate from a SIP trunk assigned a different networkId media will must be anchored in the platform since no direct routing is possible between the networks. | ||||||||||
id | string Unique ID generated for the service destination |
Responses
Request samples
- Payload
{- "googleApikey": "string",
- "disableLateOffer": true,
- "ivrRefresherExpiration": 0,
- "callbackTimeout": 0,
- "destinationMatch": "/regex/",
- "googleServiceKey": { },
- "callbackDescription": "string",
- "description": "string",
- "callbackName": "string",
- "replySessionExpiration": 0,
- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": {
- "x-functions-key": "string"
}, - "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "rtpTimeout": 0,
- "callbackId": "string",
- "offeredCodecs": [
- "opus"
], - "name": "string",
- "networkId": "string",
- "id": "string"
}
Response samples
- 200
{- "success": true,
- "id": "string"
}
/mediaservice/{domain}/{mediaServiceId}
Delete a specified Media Service configured for a domain.
Authorizations:
path Parameters
mediaServiceId required | string |
domain required | string |
query Parameters
provisory | string A boolean indicating if the configurations to be deleted are provisory instead of the working configurations. |
Responses
Response samples
- 200
{- "success": true
}
/mediaservice/{domain}/{mediaServiceId}
path Parameters
mediaServiceId required | string |
domain required | string |
query Parameters
provisory | string A boolean indicating if the configurations to be deleted are provisory instead of the working configurations. |
Responses
Response samples
- 200
{ }
/mediaservice/{domain}/{mediaServiceId}
Patch a specified Media Service configured for a domain.
Authorizations:
path Parameters
mediaServiceId required | string |
domain required | string |
query Parameters
provisory | string A boolean indicating if the configurations to be deleted are provisory instead of the working configurations. |
Request Body schema: application/jsonrequired
The body of the request is an Array of operations as specified in the RFC 6902
path | string The path of the property inside the object. Should always start with slash (/). E.g.: /serviceData/alarmBridge/sipUri is the path to the deep property sipUri, of the alarmBridge that is a property of serviceData which is a property in root. In javascript this property is accessed like so: serviceData.alarmBridge.sipUri, from object
|
op | string Enum: "add" "remove" "replace" "copy" "move" "test" String defining the operation to be performed. The supported operations are add, remove, replace, copy, move and test. |
from | string A path as described in the path property. Used for copy and move operations indicating where to copy/move from |
value | string The value of the property to be set. Valid for add, replace and test. The value could be of type string, number, object or array. |
Responses
Request samples
- Payload
[- {
- "path": "string",
- "op": "add",
- "from": "string",
- "value": "string"
}
]
Response samples
- 200
{- "reason": "string",
- "success": true
}
/alarmbridge/{domain}/{alarmBridgeId}
Authorizations:
path Parameters
domain required | string |
alarmBridgeId required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Responses
Response samples
- 200
{- "success": true,
- "alarmbridge": {
- "alarmEventMapperId": "string",
- "defaultHeartbeatInterval": 300000,
- "useVPNConnection": false,
- "fallbackAlarmProtocol": "bs8521",
- "callbackTimeout": 15000,
- "destinationMatch": "/regex/",
- "toneSettings": {
- "calleeDtmfSendType": "2833",
- "callerDtmfSendType": "2833",
- "dtmfSendType": "2833"
}, - "callbackDescription": "string",
- "controlCommandsEnabled": true,
- "description": "string",
- "arcDisconnectClearsCall": true,
- "customEventMap": { },
- "customerSiteId": "/regex/",
- "callbackName": "string",
- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": { },
- "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "protocol": "tt92",
- "callbackId": "string",
- "name": "string",
- "id": "string",
- "dataRequestInterval": 0,
- "defaultEmergencyDestination": "string",
- "protocolMode": "dtmf"
}
}
/alarmbridge/{domain}/{alarmBridgeId}
Overwrite the configurations of an Alarmbridge with specific id.
Authorizations:
path Parameters
domain required | string |
alarmBridgeId required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Request Body schema: application/jsonrequired
IVR configuration object
.
protocol required | string (Inbound protocol) Enum: "api" "bs8521" "deviceProvisioned" "nowip" "scaip" "tt92" "ttnew" "multiprotocol" "voicecall" "nowipcontroller" This property control which alarm protocol that is expected for incoming events to the service destination. To learn more, head to our Getting Started Alarmbridge guide. | ||||||||||
protocolMode required | string Enum: "dtmf" "sdmf" This property set additional configuration for configured protocol. Currently only applicable for tt92 protocol. | ||||||||||
alarmEventMapperId | string Id of the bridge service to be used by this service destination. | ||||||||||
defaultHeartbeatInterval | number >= 300000 Default: 300000 Specified, in milliseconds, the default heartbeat interval value to be used for all devices. If this is set the heartbeat service is then enabled for all the devices sending heartbeat messages to this service destination. It could be overridden by setting the property when provisioning a device. The heartbeats are checked by our system every five minutes, so that is the minimum value that can be set (300000 milliseconds). | ||||||||||
useVPNConnection | boolean (Use VPN Connection) Default: false Setting this property to true it will disable the NAT traversal logic in the SIP server and configure the media server to use private IP addresses. | ||||||||||
fallbackAlarmProtocol | string Enum: "bs8521" "scaip" "tt92" "ttnew" This property is used in combination with the | ||||||||||
callbackTimeout | number Default: 15000 Max time in milliseconds for a response until a callback request is considered as a failure. | ||||||||||
destinationMatch required | string <regex> Regular expression used to determine if incoming calls to the tenant should be handled by this service destination. | ||||||||||
object Set properties how to send DTMF tones for Alarmbridge service destination. | |||||||||||
| |||||||||||
callbackDescription | string An user given description that helps identifying the callback resource. | ||||||||||
controlCommandsEnabled | boolean Default: true If this property is set to true the Alarmbridge will stay in the media path when a subsequent voice call have been established after reception of alarm event. If not set the media path will be straight between alarm device and alarm receiver. To be able to use the | ||||||||||
description | string Description of the service. | ||||||||||
arcDisconnectClearsCall | boolean Default: true If this is set to true an incoming call hangup/BYE received from ARC would trigger a clear command to be sent to the connected alarm device before the call is hung up. If not set it is required to use the /alarmbridge/hangupalarmcall API to send the clear command before hanging up the call. | ||||||||||
customEventMap | object Object with rules that define how alarm events should be transformed in callback requests. See the getting-started document "Getting Started with Alarmbridge custom event mappings" for information of the structure of this object. | ||||||||||
customerSiteId | string <regex> ^[a-zA-Z0-9_\-\.]+$ If this property is set the value will be copied to the customerSiteId property of /newAlarmbridgeEvent callbacks. It will also be used as to prefix controllerId:deviceId string for alarm device authentication lookup against provisioned devices. A provisioned devices identifier must be unique for a tenant, and this prefix allow different customer sites to use overlapping controllerId:deviceId configurations. | ||||||||||
callbackName | string An user given name that helps identifying the callback resource. | ||||||||||
callbackBaseUrl | string <uri> HTTPS base URL where callback requests for the service is sent. NOTE: It must be a URL starting with https:// | ||||||||||
Array of objects (Authentication) This array contain objects used to authenticate callback requests. If the first object fail to authenticate the service will continue with the rest of objects in the list until success. More information of how these objects are constructed is found in the getting-started guide "Getting Started with iotcomms.io REST APIs." | |||||||||||
Array
| |||||||||||
callbackId | string A generated id used to manage the callback resource. | ||||||||||
name required | string A name provided by the user to identify this service. | ||||||||||
id | string Unique ID generated for that resource | ||||||||||
dataRequestInterval | number Specifies in milliseconds the time between data request tones send by the service to alarm device. Applicable for bs8521 protocol. Defaults to 1600ms | ||||||||||
defaultEmergencyDestination | string This is the default emergency destination number used for new alarm events. It could be overridden by setting the property when provisioning a device. |
Responses
Request samples
- Payload
{- "tonePowers": [
- 0
], - "protocol": "api",
- "protocolCandidates": [
- "bs8521"
], - "toneSettings": {
- "0": "inaudio",
- "calleeDtmfSendType": "2833",
- "callerDtmfSendType": "2833",
- "dtmfSendType": "2833"
}, - "protocolModes": [
- "dtmf"
], - "alarmEventMapperId": "string",
- "defaultHeartbeatInterval": 300000,
- "useVPNConnection": false,
- "fallbackAlarmProtocol": "bs8521",
- "callbackTimeout": 15000,
- "destinationMatch": "/regex/",
- "callbackDescription": "string",
- "controlCommandsEnabled": true,
- "description": "string",
- "arcDisconnectClearsCall": true,
- "customEventMap": { },
- "customerSiteId": "/regex/",
- "callbackName": "string",
- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": { },
- "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "callbackId": "string",
- "name": "string",
- "id": "string",
- "dataRequestInterval": 0,
- "defaultEmergencyDestination": "string"
}
Response samples
- 200
{- "success": true,
- "id": "string"
}
/alarmbridge/{domain}/{alarmBridgeId}
Delete a specified Alarmbridge configured for a domain.
Authorizations:
path Parameters
domain required | string |
alarmBridgeId required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Responses
Response samples
- 200
{- "success": true
}
/alarmbridge/{domain}/{alarmBridgeId}
path Parameters
domain required | string |
alarmBridgeId required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Responses
Response samples
- 200
{ }
/alarmbridge/{domain}/{alarmBridgeId}
Patch a specified Alarmbridge configured for a domain.
Authorizations:
path Parameters
domain required | string |
alarmBridgeId required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Request Body schema: application/jsonrequired
The body of the request is an Array of operations as specified in the RFC 6902
path | string The path of the property inside the object. Should always start with slash (/). E.g.: /serviceData/alarmBridge/sipUri is the path to the deep property sipUri, of the alarmBridge that is a property of serviceData which is a property in root. In javascript this property is accessed like so: serviceData.alarmBridge.sipUri, from object
|
op | string Enum: "add" "remove" "replace" "copy" "move" "test" String defining the operation to be performed. The supported operations are add, remove, replace, copy, move and test. |
from | string A path as described in the path property. Used for copy and move operations indicating where to copy/move from |
value | string The value of the property to be set. Valid for add, replace and test. The value could be of type string, number, object or array. |
Responses
Request samples
- Payload
[- {
- "path": "string",
- "op": "add",
- "from": "string",
- "value": "string"
}
]
Response samples
- 200
{- "reason": "string",
- "success": true
}
/currentuser/profile
Get the user profile for the signed in user.
Authorizations:
Responses
Response samples
- 200
{- "success": true,
- "profile": {
- "firstName": "string",
- "lastName": "string",
- "emailConsent": 0,
- "phone": "string",
- "company": "string",
- "email": "string"
}
}
/currentuser/profile
Update the user profile for the signed in user.
Authorizations:
Request Body schema: application/jsonrequired
firstName | string |
lastName | string |
emailConsent | integer <int32> Timestamp of when consent to receive email communication was given |
phone | string |
company | string |
string |
Responses
Request samples
- Payload
{- "firstName": "string",
- "lastName": "string",
- "emailConsent": 0,
- "phone": "string",
- "company": "string",
- "email": "string"
}
Response samples
- 200
{- "success": true
}
/currentuser/profile
Create a user profile for a user signing in for the first time.
Authorizations:
Request Body schema: application/jsonrequired
authProvider | string Authentication provider used to manage user authentication. |
firstName | string |
lastName | string |
otherInfo | string Other information. |
useCase | string Target use case for service. |
termsAgreed | integer <int32> Timestamp indicating when the terms and conditions consent was made. |
emailConsent | integer <int32> Timestamp of when consent to receive email communication was given |
phone | string |
company | string |
profileReviewed | boolean Indicates that the profile has been reviewed by user. |
deploymentSize | string Target deployment size. |
string |
Responses
Request samples
- Payload
{- "authProvider": "string",
- "firstName": "string",
- "lastName": "string",
- "otherInfo": "string",
- "useCase": "string",
- "termsAgreed": 0,
- "emailConsent": 0,
- "phone": "string",
- "company": "string",
- "profileReviewed": true,
- "deploymentSize": "string",
- "email": "string"
}
Response samples
- 200
{- "success": true
}
/currentuser/profile
Patch a user profile.
Authorizations:
Request Body schema: application/jsonrequired
firstName | string |
lastName | string |
emailConsent | integer <int32> Timestamp of when consent to receive email communication was given |
phone | string |
company | string |
string |
Responses
Request samples
- Payload
{- "firstName": "string",
- "lastName": "string",
- "emailConsent": 0,
- "phone": "string",
- "company": "string",
- "email": "string"
}
Response samples
- 200
{- "success": true
}
/cloudsipua/{domain}/{cloudSipUAId}
Authorizations:
path Parameters
domain required | string |
cloudSipUAId required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Responses
Response samples
- 200
{- "success": true,
- "cloudsipua": {
- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": {
- "x-functions-key": "string"
}, - "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "callbackTimeout": 0,
- "callbackId": "string",
- "destinationMatch": "/regex/",
- "callbackDescription": "string",
- "name": "string",
- "description": "string",
- "id": "string",
- "callbackName": "string",
}
}
/cloudsipua/{domain}/{cloudSipUAId}
Overwrite the configurations of an Cloud SIP User Agent with specific id.
Authorizations:
path Parameters
domain required | string |
cloudSipUAId required | string |
query Parameters
provisory | string A boolean indicating if the configurations to be deleted are provisory instead of the working configurations. |
Request Body schema: application/jsonrequired
IVR configuration object
.
Array of objects Array of authentication objects. These objects are used to generate JWT bearer tokens to sign callback requests from the service destinaton. If a callback request authentication fail, the request will be re-sent and signature generated using the next authentication object in the list until all objects been used. | |||||||||||
Array
| |||||||||||
callbackTimeout | number | ||||||||||
callbackId | string A generated id used to manage the callback resource. | ||||||||||
destinationMatch required | string <regex> Regular expression used to determine if incoming calls to the tenant should be handled by this service destination. | ||||||||||
callbackDescription | string An user given description that helps identifying the callback resource. | ||||||||||
name required | string A name provided by the user to identify this service. | ||||||||||
description | string Description of the service. | ||||||||||
id | string Unique ID generated for that resouce | ||||||||||
callbackName | string An user given name that helps identifying the callback resource. | ||||||||||
callbackBaseUrl required | string <uri> HTTPS base URL where callback requests for the service is sent. NOTE: It must be a URL starting with https:// |
Responses
Request samples
- Payload
{- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": {
- "x-functions-key": "string"
}, - "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "callbackTimeout": 0,
- "callbackId": "string",
- "destinationMatch": "/regex/",
- "callbackDescription": "string",
- "name": "string",
- "description": "string",
- "id": "string",
- "callbackName": "string",
}
Response samples
- 200
{- "success": true,
- "id": "string"
}
/cloudsipua/{domain}/{cloudSipUAId}
Delete a specified Cloud SIP User Agent configured for a domain.
Authorizations:
path Parameters
domain required | string |
cloudSipUAId required | string |
query Parameters
provisory | string A boolean indicating if the configurations to be deleted are provisory instead of the working configurations. |
Responses
Response samples
- 200
{- "success": true
}
/cloudsipua/{domain}/{cloudSipUAId}
path Parameters
domain required | string |
cloudSipUAId required | string |
query Parameters
provisory | string A boolean indicating if the configurations to be deleted are provisory instead of the working configurations. |
Responses
Response samples
- 200
{ }
/cloudsipua/{domain}/{cloudSipUAId}
Patch a specified Cloud SIP User Agent configured for a domain.
Authorizations:
path Parameters
domain required | string |
cloudSipUAId required | string |
query Parameters
provisory | string A boolean indicating if the configurations to be deleted are provisory instead of the working configurations. |
Request Body schema: application/jsonrequired
The body of the request is an Array of operations as specified in the RFC 6902
path | string The path of the property inside the object. Should always start with slash (/). E.g.: /serviceData/alarmBridge/sipUri is the path to the deep property sipUri, of the alarmBridge that is a property of serviceData which is a property in root. In javascript this property is accessed like so: serviceData.alarmBridge.sipUri, from object
|
op | string Enum: "add" "remove" "replace" "copy" "move" "test" String defining the operation to be performed. The supported operations are add, remove, replace, copy, move and test. |
from | string A path as described in the path property. Used for copy and move operations indicating where to copy/move from |
value | string The value of the property to be set. Valid for add, replace and test. The value could be of type string, number, object or array. |
Responses
Request samples
- Payload
[- {
- "path": "string",
- "op": "add",
- "from": "string",
- "value": "string"
}
]
Response samples
- 200
{- "reason": "string",
- "success": true
}
/logs/{domain}/sip
Gets SIP log items for specified domain based on the posted filter criteria.
Authorizations:
path Parameters
domain required | string |
Request Body schema: application/jsonrequired
filterPattern | string String with filter critera to be matched for returned log items. |
limit | integer <int32> Maximum number of log items to be returned. |
startTime | integer <int32> Timestamp of beginning of interval to fetch log items for. |
endTime | integer <int32> Timestamp of end of interval to fetch log items for. |
Responses
Request samples
- Payload
{- "filterPattern": "string",
- "limit": 0,
- "startTime": 0,
- "endTime": 0
}
Response samples
- 200
{- "success": true,
- "logItems": [
- {
- "reason": "string",
- "srcIp": "string",
- "method": "string",
- "requestUri": "string",
- "srcPort": 0,
- "transport": "udp",
- "body": "string",
- "type": "request",
- "timeStamp": 0,
- "dstPort": 0,
- "dstIp": "string",
- "sipHeaders": { },
- "statusCode": "string"
}
]
}
/siprecservice/{domain}
Get siprec service.
Authorizations:
path Parameters
domain required | string |
Responses
Response samples
- 200
{- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": { },
- "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "alarmTopic": "string",
- "httpTimeout": 0,
- "sipEventsTopic": "string",
- "useHttpEvents": true,
- "alarmEventsRestEndpoint": "string",
- "sipEventsRestEndpoint": "string",
- "alarmbridgeCallbackEndpoint": "string"
}
/siprecservice/{domain}
Set siprec service.
Authorizations:
path Parameters
domain required | string |
Request Body schema: application/jsonrequired
Siprec service settings object.
Array of objects (restAuthentication) | |||||||||||
Array
| |||||||||||
alarmTopic | string AWS ARN of SNS topic where the service will post service alarms as specified in the SNS alarmTopic API. | ||||||||||
httpTimeout | integer <int32> Total timeout in milliseconds before callback request including three re-try attempts will fail. | ||||||||||
sipEventsTopic | string AWS ARN of SNS topic where the service will post events as specified in the SNS sipEventsTopic API. | ||||||||||
useHttpEvents | boolean If this is set to true HTTPS will be used for callback notifications and not SNS for sipEvents and alarms. | ||||||||||
alarmEventsRestEndpoint | string this is set to true HTTPS will be used for serve notifications and not SNS for sipEvents and alarms. | ||||||||||
sipEventsRestEndpoint | string REST callback base URL to be used for sipEvents notifications. Must start with http:// or https:// | ||||||||||
alarmbridgeCallbackEndpoint | string REST callback base URL to be used for alarmbridge service callbacks. Must start with http:// or https:// |
Responses
Request samples
- Payload
{- "restAuthentication": [
- {
- "sub": "string",
- "requestHeaders": { },
- "scope": "string",
- "secret": "string",
- "type": "RS256"
}
], - "alarmTopic": "string",
- "httpTimeout": 0,
- "sipEventsTopic": "string",
- "useHttpEvents": true,
- "alarmEventsRestEndpoint": "string",
- "sipEventsRestEndpoint": "string",
- "alarmbridgeCallbackEndpoint": "string"
}
Response samples
- 200
{- "success": true
}
/alarmeventmapper/{domain}/{alarmEventMapperId}
Authorizations:
path Parameters
alarmEventMapperId required | string |
domain required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Responses
Response samples
- 200
{- "alarmeventmapper": {
- "alarmHandling": "drop",
- "targetEndpoint": {
- "protocol": "scaip",
- "sipAuthUser": "string",
- "sipAuthPassword": "string",
- "destAddr": "string",
- "overrideSipFrom": "string",
- "defaultVoiceDestination": "string",
- "backupEndpoint": {
- "backupOverrideSipFrom": "string",
- "backupSipAuthPassword": "string",
- "backupDefaultVoiceDestination": "string",
- "backupSipAuthUser": "string",
- "backupDestAddr": "string"
}
}, - "deviceIdPadLength": 0,
- "description": "string",
- "mappingRules": { },
- "unknownAlarmEventVoiceDestination": "string",
- "fromDomain": "string",
- "maxSessionDuration": 0,
- "controllerIdPadLength": 0,
- "name": "string",
- "mapDeviceIdToControllerId": false,
- "useVoiceBridge": true,
- "callerId": "string",
- "id": "string",
- "enableDestinationMonitoring": true
}, - "success": true
}
/alarmeventmapper/{domain}/{alarmEventMapperId}
Overwrite the configurations of an Alarm Event Mapper with specific id.
Authorizations:
path Parameters
alarmEventMapperId required | string |
domain required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Request Body schema: application/jsonrequired
IVR configuration object
.
alarmHandling required | string Enum: "callEmergencyCenter" "usePredefinedDestination" "requestCallback" "drop" Alarmbridge will signal back to the alarm device to clear the alarm event without any subsequent voice call. | ||||||||||||||||||||||||||
required | object | ||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
deviceIdPadLength | integer <int32> (DeviceId Pad Length) [ 0 .. 10 ] Default: 0 Enable leading zero padding of deviceId before concatenation. Only used if Map Device Id To Controller Id is activated. | ||||||||||||||||||||||||||
description | string Description of the service. | ||||||||||||||||||||||||||
mappingRules | object The mapping rules let protocol specific alarm mapping rules to be specified. See the protocol specific documentation for more details. This is found in the Alarmbridge getting started documentation section, document "Getting Started with Alarmbridge custom event mappings" | ||||||||||||||||||||||||||
unknownAlarmEventVoiceDestination | string This property is configured with a SIP URI pointing to a fallback voice destination to be used in case an incoming alarm event can't be decoded and there is no calling party phone number. For inbound analogue alarm calls it will connect the incoming call with this destination upon alarm event decode failure. | ||||||||||||||||||||||||||
fromDomain | string (From domain) Used to override the domain portion portion of the SIP From: header. Usually set to the domain of the tenant. With this field any domain can be set. | ||||||||||||||||||||||||||
maxSessionDuration | number (Maximum session duration) This can be used to override the default value for the time a session exist in the service. | ||||||||||||||||||||||||||
controllerIdPadLength | integer <int32> (ControllerId Pad Length) [ 0 .. 10 ] Default: 0 Enable leading zero padding of controllerId before concatenation. Only used if Map Device Id To Controller Id is activated. | ||||||||||||||||||||||||||
name required | string A user provided name to identify this service. | ||||||||||||||||||||||||||
mapDeviceIdToControllerId | boolean Default: false If true it will concatenate controllerId and deviceId and then remove deviceId from the alarm event. | ||||||||||||||||||||||||||
useVoiceBridge | boolean Switches the usage of voice bridge on and off. | ||||||||||||||||||||||||||
callerId | string (Caller Id) Used to override the callerId field in the outbound alarmevent. | ||||||||||||||||||||||||||
id | string The id of a Bridge Service configuration to be used as sender for the event. | ||||||||||||||||||||||||||
enableDestinationMonitoring | boolean (Enable Destination Monitoring) Monitor if target or backup is active |
Responses
Request samples
- Payload
{- "alarmHandling": "callEmergencyCenter",
- "waitForCallback": 5,
- "targetEndpoint": {
- "protocol": "scaip",
- "sipAuthUser": "string",
- "sipAuthPassword": "string",
- "destAddr": "string",
- "overrideSipFrom": "string",
- "defaultVoiceDestination": "string",
- "backupEndpoint": {
- "backupOverrideSipFrom": "string",
- "backupSipAuthPassword": "string",
- "backupDefaultVoiceDestination": "string",
- "backupSipAuthUser": "string",
- "backupDestAddr": "string"
}
}, - "deviceIdPadLength": 0,
- "description": "string",
- "mappingRules": { },
- "unknownAlarmEventVoiceDestination": "string",
- "fromDomain": "string",
- "maxSessionDuration": 0,
- "controllerIdPadLength": 0,
- "name": "string",
- "mapDeviceIdToControllerId": false,
- "useVoiceBridge": true,
- "callerId": "string",
- "id": "string",
- "enableDestinationMonitoring": true
}
Response samples
- 200
{- "success": true,
- "id": "string"
}
/alarmeventmapper/{domain}/{alarmEventMapperId}
Delete a specified Alarm Event Mapper configured for a domain.
Authorizations:
path Parameters
alarmEventMapperId required | string |
domain required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Responses
Response samples
- 200
{- "success": true
}
/alarmeventmapper/{domain}/{alarmEventMapperId}
path Parameters
alarmEventMapperId required | string |
domain required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Responses
Response samples
- 200
{ }
/alarmeventmapper/{domain}/{alarmEventMapperId}
Patch a specified Alarm Event Mapper configured for a domain.
Authorizations:
path Parameters
alarmEventMapperId required | string |
domain required | string |
query Parameters
provisory | string A boolean indicating if the provisory configurations should be fetched instead of the working configurations. |
Request Body schema: application/jsonrequired
The body of the request is an Array of operations as specified in the RFC 6902
path | string The path of the property inside the object. Should always start with slash (/). E.g.: /serviceData/alarmBridge/sipUri is the path to the deep property sipUri, of the alarmBridge that is a property of serviceData which is a property in root. In javascript this property is accessed like so: serviceData.alarmBridge.sipUri, from object
|
op | string Enum: "add" "remove" "replace" "copy" "move" "test" String defining the operation to be performed. The supported operations are add, remove, replace, copy, move and test. |
from | string A path as described in the path property. Used for copy and move operations indicating where to copy/move from |
value | string The value of the property to be set. Valid for add, replace and test. The value could be of type string, number, object or array. |
Responses
Request samples
- Payload
[- {
- "path": "string",
- "op": "add",
- "from": "string",
- "value": "string"
}
]
Response samples
- 200
{- "reason": "string",
- "success": true
}
/grandstream/{domain}/{mac}
Authorizations:
path Parameters
mac required | string The MAC address of the device to fetch configuration for. |
domain required | string The domain of the tenant to get device configuration for. |
query Parameters
k required | string Valid API secret to authenticate the device. |