Web Service Application Samples
Get an Application Instance Result
Sample Name: GetApplicationInstanceResult
A command line console application to query the cloud for the result of a UAS application
instance run, either inbound or outbound.
This application takes a number of command line options:
GetApplicationInstanceResult.exe [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <applicationInstanceId> | <applicationInstanceIdsFileName>
dotnet GetApplicationInstanceResult.dll [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <applicationInstanceId> | <applicationInstanceIdsFileName>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
-
followed by either:
- applicationInstanceId = the unique id relating to a single invocation of an outbound or
inbound application (e.g. 01f92d482e33a4ce.375315)
or
- applicationInstanceIdsFileName = the name of a file containing 1 or more
application instance id strings, comma-separated
An applicationInstanceId can be obtained from a number of sources:
- using the service_start and service_status web services
(see the Invoke an Outbound Service sample)
- using the report_start web service
(see the Manage Reports sample)
- using the UAS Management Console ADRs page for the UAS on which the instance ran
Note: there can be a delay of several seconds before the result data for a particular
application instance becomes available on the cloud.
Examples:
GetApplicationInstanceResult.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ 01f92d482e33a4ce.375315
retrieves the application result from cloud region 1-2-0
on account bob@acompany.com
for application instance 01f92d482e33a4ce.375315
dotnet GetApplicationInstanceResult.dll 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ appInstances.csv
appInstance.csv file contents:
040880762e891fab.798,040880762e891fab.799,0408804b36f73ef5.809
retrieves the application results from cloud region 1-2-0
on account bob@acompany.com
for all three application instances specified.
Interrupt a REST Application
Sample Name: InterruptRESTApplication
A command line console application to interrupt one or more REST application instances
that are currently running on Aculab cloud.
This application takes a number of command line options:
InterruptRESTApplication.exe [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <applicationInstanceId> | <applicationInstanceIdsFileName> [redirectPage [redirectMethod]]
dotnet InterruptRESTApplication.dll [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <applicationInstanceId> | <applicationInstanceIdsFileName> [redirectPage [redirectMethod]]
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
followed by either:
- applicationInstanceId = the unique id relating to a single invocation of an outbound or
inbound application (e.g. 01f92d482e33a4ce.375315)
or
- applicationInstanceIdsFileName = the name of a file containing 1 or more
application instance id strings, comma-separated
and optionally:
- redirectPage = an optional page to which the application will be redirected by
the interrupt. If no redirectPage is specified then following
the interrupt the REST application will call the final page and end
- redirectMethod = the method used to access the redirectPage, GET or POST.
Default is GET.
Examples:
InterruptRESTApplication.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ 01f92d482e33a4ce.375315
This interrupts the application instance 01f92d482e33a4ce.375315 on cloud 1-2-0
on account bob@acompany.com
InterruptRESTApplication.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ appInstances.csv
appInstances.csv file contents:
040880762e891fab.798,040880762e891fab.799,0408804b36f73ef5.809
This interrupts the three specified REST application instances on cloud 1-2-0
on account bob@acompany.com
dotnet InterruptRESTApplication.dll 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ 01f92d482e33a4ce.375315 http://rest.acompany.com/AppInterruptHandler.aspx
This interrupts the application instance 01f92d482e33a4ce.375315 on cloud 1-2-0
on account bob@acompany.com. The application will be redirected to
the specified page following the interrupt.
Manage Conferences
Sample Name: ManageConferences
A command line console application to manage reservations on a specified cloud region.
These include small conferences that are created on the fly or large conferences that
need to be reserved in advance (see
Conferencing).
To test the features provided by this sample calls into each conference may be made
using the AddToConference UASApplication sample (specifying the conferenceName as a 4-digit pin).
This application takes a number of command line options:
ManageConferences.exe [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
dotnet ManageConferences.dll [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
- command = one of the following:
- listConferences [ <conferenceType> ]
- listParticipants <conferenceName>
- setParticipantOptions <conferenceName> <participantId> <mute> <enableDtmf>
- ejectParticipant <conferenceName> <participantId>
- reserve <conferenceName> <maxParticipants> [ <divertToService> [ <startTime> [ <minutesDuration> ] ] ]
- unreserve <conferenceName>
- extend <conferenceName> <additionalMinutes>
where:
- conferenceType = active or reserved.
- conferenceName = a conference name consisting of alphanumeric characters only and
must be unique on the chosen cloud.
- participantId = the id of a conference participant as returned by the listParticipants command.
- mute = true or false. Mutes or unmutes the participant.
- enableDtmf = true or false. Enables or disables DTMF key actions for the participant.
- maxParticipants = the maximum number of parties to reserve for a conference.
See Conferencing for the
allowable range.
- divertToService = the name of an inbound service on the cloud to which participants will be diverted
when they call a conference before it has started. null or "" just busies the call
(defaults to null).
- startTime = the earliest start time of the conference (UTC) expressed as yyyy-MM-dd-HH-mm.
(e.g. 2011-11-10-09-30 for 10th Nov 2011 09:30)
This must be at least 5 minutes and at most 24 hours away.
The conference can only be started after this time. Default is 20 mins from now.
- minutesDuration = the maximum duration of the conference in minutes
Default is 20 mins, allowable range 15-480.
- additionalMinutes = the number of minutes by which to extend the conference.
Allowable range is 15-60 minutes.
Examples:
ManageConferences 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ reserve MyLargeConf1 120 PlayHoldingMusic 2015-11-10-09-30 20
reserves a 20 minute conference "MyLargeConf1"
for 120 parties
for 09:30 on 10th Nov 2015
diverting early callers to service "PlayHoldingMusic"
on cloud region 1-2-0 (account bob@acompany.com)
Manage Files
Sample Name: ManageFiles
A command line console application that provides access to
the file management facilities of the Aculab Cloud Web Services API.
This application takes a number of command line options:
ManageFiles.exe [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
dotnet ManageFiles.dll [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
-
command = one of the following:
- upload <fileType> <localFilename> <cloudFilename> [<encrypted> [<timeToLive> [<contentType>]]]
- upload_multiple <fileType> <localFileList> <cloudFolder> [<encrypted> [<timeToLive> [<contentType>]]]
- download <fileType> <cloudFilename> <localFilename>
- file_list | list <fileType> <cloudFileSpec> [<startAfter> [<count> [<from> [<to>]]]]
- folder_list <fileType> <cloudFolder> [<startAfter> [<count> [<from> [<to>]]]]
- delete <fileType> <cloudFileSpec>
- rename <fileType> <cloudFilename> <newCloudFilename>
Note: commands
upload and
rename only support
media and
msg_media fileTypes.
where:
- fileType = the file type: media, msg_media or rest
- localFilename = the name of a file on the local file system.
- cloudFilename = the name of a file on the media, msg_media or rest cloud file store.
For upload from a file listing this is a path
on the cloud media or message media file store where the files will be uploaded.
- localFileList = the name of a file containing a list of names of one or
more media or msg_media files on the local file system, one per line.
- cloudFolder = A path to a folder on one of the cloud file stores.
- newCloudFilename = the name of the renamed file on the cloud media or message media file store.
- cloudFilespec = a specification of files on the chosen cloud file store. This can be the
name of a single file or the first part of a file path followed by
a trailing wildcard character *. This matches all files starting
with filespec. The wildcard character can only be specified at the
end of the string.
- encrypted = 'true' or 't' to specify that the media file(s) being uploaded is encrypted (case-insensitive) or
'false' or 'f' for non-encrypted files. The default is 'false'. Encrypted msg_media files are not supported.
- timeToLive = the lifetime of the uploaded file(s). This is a time period expressed as a number followed
by a units character - one of D or d for days, H or h for hours, M or m for minutes, or U for unlimited
(e.g. 24H is 24hours)
- contentType = the content type (also called the MIME type) of the uploaded file(s) (e.g. "image/jpeg"). If not specified this is derived
from the filename extension. Set it here if it needs to be overridden. If specified for upload_multiple all the files must be
the same type.
- startafter = if listing large numbers of files, this specifies the last filename in the previous file list after which to list more files.
It is the name of a file on the media, message media or rest logs cloud file store including path or "-" to list from the start.
If specified this should be the filename from the previous list which has its startafter property set.
If this is specified as an integer, it is used as the DEPRECATED startpos argument.
- count = the maximum number of files to list. The default is 10000. The maximum this can be set to is 10000.
- from = list/delete only files after the UTC date and time specified in the ISO 8601 format yyyy-mm-ddThh:mm:ss (e.g. 2019-02-13T11:22:02).
- to = list/delete only files before the UTC date and time specified in the ISO 8601 format yyyy-mm-ddThh:mm:ss (e.g. 2019-02-13T11:23:02).
Examples:
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ upload media c:/test/acuwelcome.wav wavs/newacuwelcome.wav
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ upload msg_media c:/test/banner.png images/banner.png true
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ upload_multiple msg_media c:/test/FileList.txt images/ true
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ download media /wavs/newacuwelcome.wav c:/test/newacuwelcome.wav
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ download rest /2013/11/07/rest_16_39_23_058d242936dcc5f9.47610.log
c:/restapi/logs/2013_11_07/rest_16_39_23_058d242936dcc5f9.47610.log
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ list media *
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ file_list media *
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ file_list msg_media images/*
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ file_list media wavs/rec* - 1000
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ file_list media wavs/rec* wavs/rec0999.wav 1000 1000
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ file_list rest 2013/11/07/rest_*
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ file_list rest 2013/11/*
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ folder_list media /
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ folder_list msg_media images/
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ folder_list media wavs/recordings/ - 1000
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ folder_list media wavs/recordings/ wavs/rec0999.wav 1000 1000
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ folder_list rest 2013/11/07/
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ folder_list rest 2013/11/
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ delete media recordings/2013_11_03_19924.wav
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ delete media recordings/2013_11*
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ delete media recordings/*
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ delete media *
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ delete rest 2013/11/07/rest_16_39_23_058d242936dcc5f9.47610.log
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ delete rest 2013/11/*
ManageFiles.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ rename media wavs/old/welcome.wav wavs/newwelcome.wav
Manage Inbound Telephone Numbers
Sample Name: ManageTelephoneNumbers
A command line console application that provides access to
the telephone number management facilities of the Aculab Cloud
Web Services API. It allows one or more telephone numbers to be
purchased and can be configured to create corresponding inbound
services for each new number based on an existing service.
This application takes a number of command line options:
ManageTelephoneNumbers.exe [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
dotnet ManageTelephoneNumbers.dll [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
- command = one of the following:
- listcountries [<telnumbertype>]
- liststates "<country>"
- listregions "<country>[:<state>]" [<telnumbertype>]
- listnumbers ["<country>[:<state>]" ["<region>" [<telnumbertype>]]]
- listregaddresses
- delete <telnumber> | <telnumbersFile>
- purchase "<country>[:<state>]" "<region>"
[<quantity> [<allowpartial> [<baseonservice> ["<regaddress>" [<telnumbertype>]]]]]
- purchasedev "<country>[:<state>]" "<region>"
[<quantity> [<allowpartial> [<baseonservice> ["<regaddress>" [<telnumbertype>]]]]]
where:
- telnumbertype = one of the telephone number types: geographic, national, mobile or tollfree.
- country = one of the returned country strings.
- state = one of the returned state strings.
- region = one of the returned region strings.
- quantity = the quantity of telephone numbers to purchase. Defaults to 1.
- allowpartial = (true/false) determines whether the request succeeds even
if the requested quantity of telephone numbers are not available. Defaults to false.
- baseonservice = the name of an existing inbound service (including the "sip:" prefix).
If set then a new service will be created for each new number
purchased, based on the settings within this service.
- regaddress = the name of a regulation address that exists on the cloud account
being used. Some countries require a regulation address to be specified.
- telnumber = a single inbound telephone number.
- telnumbersFile = the name of a file containing 1 or more telephone numbers,
comma-separated.
Examples:
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ listcountries
Israel, Georgia, Mexico, Lithuania, United Kingdom, Netherlands, Croatia,
Greece, Switzerland, Dominican Republic, Brazil, Romania, Czech Republic,
El Salvador, Poland, South Africa, Luxembourg, Sweden, Germany, Peru,
Puerto Rico, Hungary, Norway, Spain, Canada, Italy, Finland, United States,
Slovenia, Ireland, Argentina, Cyprus, Australia, Vietnam, France, New Zealand,
Latvia, Slovakia, Chile, Belgium, Japan, Bulgaria
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ liststates "Canada"
Alberta, British Columbia, Manitoba, New Brunswick, Newfoundland And Labrador,
Nova Scotia, Ontario, Prince Edward Island, Quebec, Saskatchewan
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ listregions "France"
Rennes / 2, Rochefort / 5, Creteil / 1, Vannes / 2, Boulogne-Billancourt / 1, Montauban / 5, Cholet / 2, Annecy / 4, Poitiers / 5, Belfort / 3, Paris / 1, Pau / 5, Marseille / 4, Orleans / 2, Vesoul / 3, Clermont-Ferrand / 4, Angers / 2, Carhaix-Plouguer / 2, Lille / 3, Metz / 3, Arles / 4, Chambery / 4, Besancon / 3, Nantes / 2, Nanterre / 1, Dreux / 2, Evreux / 2, Perpignan / 4, Niort / 5, Colmar / 3, Le Havre / 2, Bobigny / 1, Tulle / 5, Toulouse / 5, Meaux / 1, Troyes / 3, Corbeil-Essones / 1, Chalon-Sur-Saone / 3, Saint-Nazaire / 2, Nice / 4, Nimes / 4, Brest / 2, Saint-Etienne / 4, Le Raincy / 1, Blois / 2, Bordeaux / 5, La Roche-Sur Yon / 2, Beziers / 4, Charleville-Mezieres / 3, Toulon / 4, Saint-Germain-En-Laye / 1, Bourges / 2, Calais / 3, Caen / 2, Versailles / 1, Nancy / 3, Saint-Quentin / 3, Sarcelles / 1, Avignon / 4, Dijon / 3, Beauvais / 3, Strasbourg / 3, Limoges / 5, Cergy / 1, Saint-Malo / 2, Grenoble / 4, Cannes / 4, Mulhouse / 3, Laval / 2, Tours / 2, Montpellier / 4, Moissac / 5, Amiens / 3, Corse / 4, Auray / 2, Lyon / 4, Reims / 3, Aix-En-Provence / 4, Le Mans / 2, Dunkerque / 3, Enghien-Les-Bains / 1, Rouen / 2
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ listregions "United States:Michigan"
Berrien Springs / 269, Beaverton / 989, Fulton / 269, Harrison / 989, Coloma / 269, Gagetown / 989, Rankin / 810, Milano / 734, Caseville / 989, Saginaw / 989, Clarkston / 248, Pinckney / 734, Detroit Zone 03 / 313, Ann Arbor / 734, Trufant / 616, Linden / 810, Imlay City / 810, Temperance / 734, Fenton / 810, Manistee / 231, Dexter / 734, Cadillac / 231, Elk Rapids / 231, Avoca / 810, Capac / 810, Plymouth / 734, Milford White Lake / 248, Davison / 810, Holly / 248, Alto / 616, Port Huron / 810, Romeo / 586, Lexington / 810, Mayville / 989, Detroit Zone 05 / 313, Bridgman / 269, Rockford / 616, Gladwin / 989, Detroit Zone 02 / 313, Yale / 810, Flushing / 810, Almont / 810, South Lyon / 248, Pontiac / 248, Wayland / 269, Trenton / 734, Fife Lake / 231, Clare / 989, Dutton / 616, Lake Orion / 248, Traverse City / 231, Grant / 231, Newaygo / 231, Williamsbg / 231, Cass City / 989, Holland / 616, Flat Rock / 734, Caledonia / 616, Auburn Heights / 248, Athens / 269, Saranac / 616, Hastings / 269, Plainwell / 269, Battle Creek / 269, New Boston / 734, Howell / 517, Detroit Zone 06 / 313, Rochester / 248, Kalkaska / 231, Gregory / 734, Washington / 586, Utica / 586, Greenville / 616, Richland / 269, Buchanan / 269, Ionia / 616, Warren / 586, Whitmore Lake / 734, Hartland / 810, Flint / 810, Bad Axe / 989, Armada / 586, Sebewaing / 989, Auburn / 989, Coleman / 989, Kingston / 989, Midland / 989, Ubly / 989, Northville / 248, Dryden / 810, Cheboygan / 231, Eau Claire / 269, Freeland / 989, Otsego / 269, Ada / 616, Clio Mount Morris / 810, Sparta / 616, Belding / 616, Ellsworth / 231, East Tawas / 989, Middleville / 269, Sawyer / 269, Commerce / 248, Reed City / 231, Dorr / 616, Applegate / 810, Jamestown / 616, Wayne / 734, Willis / 734, Grand Haven / 616, Southfield / 248, Birch Run / 989, Oscoda / 989, Bellevue / 269, Wolverine / 231, West Bloomfield / 248, Freeport / 616, Zeeland / 616, Otisville / 810, Erie / 734, Mount Clemens / 586, Alden / 231, Beulah / 231, Chelsea / 734, Standish / 989, Byron Center / 616, Jeddo / 810, Birmingham / 248, Fairgrove / 989, Royal Oak / 248, Petoskey / 231, Monroe / 734, Farmington / 248, Benton Harbor / 269, Grand Rapids / 616, Akron / 989, Frankfort / 231, Hudsonville / 616, Bay City / 989, Center Line / 586, Rockwood / 734, New Haven / 586, Columbiaville / 810, Roseville / 586, Memphis / 810, Saline / 734, Detroit Zone 01 / 313, Kalamazoo / 269, Romulus / 734, Oxford / 248, Farwell / 989, Drayton Plains / 248, Walled Lake / 248, Ortonville / 248, Vicksburg / 269, Algonac / 810, Wyandotte / 734, Grand Blanc / 810, Boyne City / 231, Marine City / 810, New Baltimore / 586, Belleville / 734, Ypsilanti / 734, Carleton / 734, Richmond / 586, St Joseph / 269, Detroit Zone 04 / 313, Lapeer / 810, Vassar / 989, St Clair / 810, Troy / 248, Rosebush / 989, Niles / 269, Watervliet / 269, Fremont / 231, Baroda / 269, Big Rapids / 231, Cedar Springs / 616, Lowell / 616, Brighton / 810
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ listnumbers
19724995174: Purchased 21 May 2019 for $1.00. United States, Texas, Dallas / 972. Geographic.
""2222"
46844687093: Purchased 20 May 2019 for $1.00. Sweden, Stockholm / 8. Geographic.
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ listnumbers "Sweden" "Stockholm / 8"
46844687093: Purchased 20 May 2019 for $1.00. Sweden, Stockholm / 8. Geographic.
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ listnumbers "United States:Texas" "Dallas / 972"
19724995174: Purchased 21 May 2019 for $1.00. United States, Texas, Dallas / 972. Geographic.
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ listregaddresses
My French Place: Paris / 1, France
My German Hideout: Berlin / 30, Germany
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ delete 7890123
7890123 deleted
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ delete numbersToDelete.csv
7890123 - Deleted.
1010202 - Failed to delete. Error code 0300. Telephone number 101010101 doesn't belong to you.
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ purchase "United States" "Dallas / 972"
Purchased 1 of 1 numbers:
19725877455
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ purchase "United States:Texas" "Dallas / 972"
Purchased 1 of 1 numbers:
19725877456
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ purchase "Sweden" "Stockholm / 8" 2
Purchased 2 of 2 numbers:
33249880328
33249880410
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ purchase "Sweden" "Stockholm / 8" 2 true sip:MyExistingService
Purchased 2 of 2 numbers:
33249880540 (Created service sip:33249880540)
33249880631 (Created service sip:33249880631)
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ purchase "Sweden" "Stockholm / 8" 3 true sip:MyExistingService
Purchased 2 of 3 numbers:
33249880740 (Created service sip:33249880740)
33249880752 (Created service sip:33249880752)
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ purchase "France" "Nantes / 2" 3 false sip:MyExistingService "My French Place"
Purchased 3 of 3 numbers:
33249880765 (Created service sip:33249880765)
33249880766 (Created service sip:33249880766)
33249880767 (Created service sip:33249880767)
ManageTelephoneNumbers.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ purchase "Germany" "Mönchengladbach / 2161" 1 false "" "MyGermanAddress"
Purchased 1 of 1 numbers:
45249880768
Manage Reports
Sample Name: ManageReports
A command line console application that provides access to
the Report Management facilities of the Aculab Cloud
Web Services API.
This application takes a number of command line options:
ManageReports.exe [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
dotnet ManageReports.dll [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
- command = one of the following:
- start <content> <from> [<to>]
- list <listtype>
- cancel <reportname>
- download <reportname> <localfilename>
- delete <reportname>
where:
- content = adr | cdr | fdr | msg | err.
- from/to = YYYY-MM-DD_HH:MM:SS (to is optional and defaults to DateTime.Now if omitted).
- listtype = inprogress | completed.
- reportname = the name of the report to cancel, download or delete.
- localfilename = path and filename for the downloaded file.
Note: Reports are generated as comma-separated value files.
Examples:
ManageReports.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ start cdr 2012-06-28_00:00:00
ManageReports.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ start cdr 2012-06-28_00:00:00 2012-06-29_00:00:00
ManageReports.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ list inprogress
ManageReports.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ list completed
ManageReports.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ cancel 1-2-0_bob@acompany.com_cdr-adm_2012-06-28_00:00:00_2012-07-29_00:00:00.csv
ManageReports.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ download 1-2-0_bob@acompany.com_cdr-adm_2012-06-28_00:00:00_2012-07-29_00:00:00.csv .\myReport.csv
ManageReports.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ delete 1-2-0_bob@acompany.com_cdr-adm_2012-06-28_00:00:00_2012-07-29_00:00:00.csv
Manage SMS/MMS Messages
Sample Name: ManageMessages
A command line console application that provides access to
the SMS and MMS messaging facilities of the Aculab Cloud Web Services API.
This application takes a number of command line options:
ManageMessages.exe [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
dotnet ManageMessages.dll [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
- command = one of the following:
- sendsms | send <to | tosFileName> <from> <content> [<statusPage> [<requestDeliveryReport> [<alphanumericId>]]]
- sendmms <to | tosFileName> <from> <msgMediaList> [<content> [<statusPage> [<requestDeliveryReport> [<alphanumericId>]]]]
- cancel <messageRef | messageRefsFileName>
- status <messageRef | messageRefsFileName>
- blockedto <toNumber>
- blockedfrom <fromNumber>
where:
- to = the number of the phone to which the message will be sent.
This must be a full international number without any leading +.
- tosFileName = the name of a file containing 1 or more
to strings, comma-separated.
- from = the number from which the message will be sent. This must be one
of your numbers. This must be a full international number without any leading +.
- content = the content of your message. This can be empty for MMS messages.
- msgMediaList = a comma separated list of message media files to include in the message.
- statusPage = the URL of a web page to which message status updates will be sent. Default is
"" meaning that no updates will be sent.
- requestDeliveryReport = true or false. true to request a delivery report. Note that the carrier must support
delivery reports otherwise the send will fail. Default is false.
- messageRef = a message reference string, as returned by send.
- messageRefsFileName = the name of a file containing 1 or more
messageRef strings, comma-separated.
- toNumber = a mobile number. The returned list will contain all your numbers which are blocked
for sending to this number.
- alphanumericId = a string that will be displayed (if supported) on the recipient's handset instead of
the fromNumber. Limited to 11 characters (A-Z, a-z, 0-9 and space).
Note: a comma-separated file ("MessageRefs.csv") containing the message references of the sent message parts
is written by the send command.
Examples:
ManageMessages.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ sendsms 441098654321 441098123456 "A useful text message."
ManageMessages.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ sendsms 441098654321 441098123456 "A useful text message." http://sms.acompany.com/InMessageHandler.aspx
ManageMessages.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ sendsms 441098654321 441098123456 "A useful text message." http://sms.acompany.com/InMessageHandler.aspx true
ManageMessages.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ sendsms targets.txt 441098123456 "A useful text message."
ManageMessages.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ sendmms 441098654321 441098123456 banner.png,footer.jpg
ManageMessages.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ status 2e891aea_0.1366641192.77832
ManageMessages.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ status messageRefs.txt
ManageMessages.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ cancel 2e891aea_0.1366641192.77832
ManageMessages.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ cancel messageRefs.txt
ManageMessages.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ blockedto 441098654321
ManageMessages.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ blockedfrom 441098123456
Manage Services
Sample Name: ManageServices
A command line console application that provides access to
the service management facilities of the Aculab Cloud Web Services API.
This application takes a number of command line options:
ManageServices.exe [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
dotnet ManageServices.dll [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
- command = one of the following:
- list <direction>
- schema <direction> [<destinationFilename>]
- read <direction> <serviceName> [<destinationFilename>]
- write <direction> <serviceName> <configurationFilename> [<destinationFilename>]
- modify <direction> <serviceName> <configurationFilename> [<destinationFilename>]
- delete <direction> <serviceName>
- outbound_queues
- outbound_queue_info <serviceName> [<servicePassword>]
- outbound_queue_purge <serviceName> [<servicePassword>]
where:
- direction = the direction of service, outbound or inbound.
- destinationFileName = the name of a json file into which the output will be written.
- serviceName = the name of the service.
- configurationFilename = the name of a json file containing a full or partial service configuration.
- servicePassword = the outbound service password associated with the specified outbound service.
Examples:
ManageServices 1-2-0 bob@acompany mypassword list outbound
.Net Manage Services Web Service Sample
Listing outbound services...
3 service(s) found:
OutboundServiceA Target[http://bob@acompany.com/apps/firstpagea] Description[REST test service A.]
OutboundServiceB Target[http://bob@acompany.com/apps/firstpageb] Description[REST test service B.]
OutboundServiceC Target[http://bob@acompany.com/apps/firstpagec] Description[REST test service C.]
ManageServices 1-2-0 bob@acompany 6b4UmwoOPxjeI2M76aebfQ schema outbound c:\services\schemas\outbound.json
.Net Manage Services Web Service Sample
Getting outbound schema...
Dumping the schema to c:\services\schemas\outbound.json.
ManageServices 1-2-0 bob@acompany 6b4UmwoOPxjeI2M76aebfQ read inbound InboundServiceA c:\services\InboundServiceA.json
.Net Manage Services Web Service Sample
Reading inbound service 'InboundServiceA'...
Dumping the configuration to InboundServiceA.
ManageServices 1-2-0 bob@acompany 6b4UmwoOPxjeI2M76aebfQ write inbound InboundServiceC c:\services\configurations\InboundConfig.json c:\services\InboundServiceC.json
.Net Manage Services Web Service Sample
Writing inbound service 'InboundServiceC'...
InboundServiceC has been created. Dumping the new configuration to c:\services\InboundServiceC.json."
ManageServices 1-2-0 bob@acompany 6b4UmwoOPxjeI2M76aebfQ modify inbound InboundServiceC c:\services\configurations\InboundConfigPatch.json c:\services\InboundServiceC.json
.Net Manage Services Web Service Sample
Modifying inbound service 'InboundServiceC'...
InboundServiceC has been modified. Dumping the new configuration to c:\services\InboundServiceC.json."
ManageServices 1-2-0 bob@acompany 6b4UmwoOPxjeI2M76aebfQ delete outbound OutboundServiceC
.Net Manage Services Web Service Sample
Deleting outbound service 'OutboundServiceC'...
OutboundServiceC has been deleted."
ManageServices 1-2-0 bob@acompany 6b4UmwoOPxjeI2M76aebfQ outbound_queues
.Net Manage Services Web Service Sample
Retrieving queue information for all outbound services that have queued service starts...
2 service(s) found:";
OutboundServiceA has 4 queued service starts.
OutboundServiceB has 2 queued service starts.
ManageServices 1-2-0 bob@acompany 6b4UmwoOPxjeI2M76aebfQ outbound_queue_info OutboundServiceB
.Net Manage Services Web Service Sample
Retrieving queue information for 'OutboundServiceB'...
OutboundServiceB has 2 queued service starts.
ManageServices 1-2-0 bob@acompany 6b4UmwoOPxjeI2M76aebfQ outbound_queue_purge OutboundServiceB
.Net Manage Services Web Service Sample
Purging queue for 'OutboundServiceB'...
OutboundServiceB has had 2 queued service starts cancelled:"
32100b7b_0.1666781810.06811
34100b7b_0.1666781810.07821
Monitor Recordings
Sample Name: MonitorRecordings
A command line console application that provides access to
the monitor recording facilities of the Aculab Cloud Web Services API.
This application takes a number of command line options:
MonitorRecordings.exe [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
dotnet MonitorRecordings.dll [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
- command = one of the following:
- list <applicationInstanceId>
- download <recording> <localfilename>
where:
- applicationInstanceId = the id that identifies the application instance for
which to retrieve a list of monitor recordings from the cloud.
- recording = the name of the monitor recording file on the cloud.
- localfilename = the path and filename for the downloaded file.
Examples:
MonitorRecordings.exe 1-2-0 bob@acompany.com :bobsPword 6b4UmwoOPxjeI2M76aebfQ list 0123456789abcdef.12345
dotnet MonitorRecordings.dll 1-2-0 bob@acompany.com :bobsPword 6b4UmwoOPxjeI2M76aebfQ download 2014-05-14/0123456789abcdef.12345.6543/150994965_NRCH_NORMAL(200).wav .\myRecording1.wav
Number Lookup
Sample Name: NumberLookup
A command line console application that provides access to
the telephone number lookup facilities of the Aculab Cloud Web Services API.
This application takes a number of command line options:
NumberLookup.exe [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
dotnet NumberLookup.dll [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
- command = one of the following:
where:
- phoneNumber = the phone number to check, in international format.
Examples:
NumberLookup.exe 1-2-0 bob@acompany.com :bobsPword 6b4UmwoOPxjeI2M76aebfQ check 17813523550
.Net Number Lookup Web Service Sample
Lookup up 17813523550...
Country: United States of America (US)
Type: Landline
Carrier:
dotnet NumberLookup.dll 1-2-0 bob@acompany.com :bobsPword 6b4UmwoOPxjeI2M76aebfQ check 443069990123
.Net Number Lookup Web Service Sample
Lookup up 443069990123...
Country: United Kingdom of Great Britain and Northern Ireland (GB)
Type: SpecialServices
Carrier:
Sample Name: SecurityTools
A command line console application that provides access to
the security tools of the Aculab Cloud Web Services API.
This application takes a number of command line options:
SecurityTools.exe [--wsserver <webserveraddress>] [--protocol tls10|tls11|tls12|tls13] <cloudId> <username>
<apiAccessKey> <command>
dotnet SecurityTools.dll [--wsserver <webserveraddress>] [--protocol tls10|tls11|tls12|tls13] <cloudId> <username>
<apiAccessKey> <command>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- protocol = the protocol to support. By default, the wrappers will use the latest available protocols.For diagnostic purposes you can specify your own protocol to support.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
- command = one of the following:
Examples:
dotnet SecurityTools.dll 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ protocol_check
.Net Security Tools Web Service Sample
Checking protocol...
Failed: Protocol "TLSv1" is deprecated
Protocol: TLSv1
Cipher: ECDHE-RSA-AES256-SHA
User Agent: A test .Net Framework user agent
Source Address: 123.45.67.126
SecurityTools.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ protocol_check
.Net Security Tools Web Service Sample
Checking protocol...
Passed
Protocol: TLSv1.2
Cipher: ECDHE-RSA-AES256-GCM-SHA384
User Agent: A test .Net Core user agent
Source Address: 123.45.67.126
Start a REST API Outbound Service
Sample Name: StartRESTOutbound
A command line console application that starts an outbound service that is currently
configured on a cloud region ro run a REST API application.
The telephone number to call, the originating number and user-specified
outboundParameters to be passed to a single service instance can be
supplied on the command line. Multiple instances can be started by
specifying the name of a file that contains a set of these parameters
for each instance (comma-separated).
This application takes a number of command line options:
StartRESTOutbound.exe [--wsserver <webserveraddress>] <cloudId> <username>
<outboundService> <outboundServicePassword> ;<to>;[<from>];[<outboundParameters>] | <csvFilename>
dotnet StartRESTOutbound.dll [--wsserver <webserveraddress>] <cloudId> <username>
<outboundService> <outboundServicePassword> ;<to>;[<from>];[<outboundParameters>] | <csvFilename>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- outboundServicePassword = the outbound service password
- followed by either:
- to = required - the destination of the outbound call
- from = optional - the origin of the outbound call
- outboundParameters = optional - a single outbound parameters string
that will be passed to the application
or
- csvFilename = the name of a file containing 1
or more to;from;outboundParameter strings, comma-separated
Note: outboundParameters, whether defined on the command line or in a file, must not
contain characters carriage return, line feed or ^. Comma-delimited parameters defined
in a file are trimmed of leading and trailing spaces.
Note: multiple call invocations are only supported on standard production cloud
accounts or above.
Examples:
StartRESTOutbound.exe 1-2-0 bob@acompany.com MyOutboundService 54321 "sip:bill@bcompany.com;bob@acompany.com;user defined info"
Starts a single instance of MyOutboundService.
The outbound destination is sip:bill@bcompany.com
originating from bob@acompany.com passing it the string
"user defined info"
dotnet StartRESTOutbound.dll 1-2-0 bob@acompany.com MyOutboundService 54321 mytargets.csv
where:
mytargets.csv contains:
sip:bill@bcompany.com;bob@acompany.com;user defined info,44908273800;441908273802;,sip:ben@ccompany.com;;user defined info
Starts three instances of MyOutboundService.
The first outbound destination is sip:bill@bcompany.com
originating from bob@acompany.com passing it the string "user defined info".
The second outbound destination is 44908273800
originating from 441908273802 passing it an empty outboundParameters string.
The third outbound destination is sip:ben@bcompany.com,
with an empty originating address, passing it the string "user defined info".
Start a UAS Outbound Service
Sample Name: StartUASOutbound
A command line console application that invokes an outbound service that is currently
configured on a cloud region to run an application on a UAS.
The outbound parameters to be passed to each service invocation can be supplied on the
command line. Multiple invocations can be made by specifying a count on the command line.
In this case all invocations will receive the same outboundParameters.
Alternatively a file of comma-separated outboundParameter strings can be supplied on the
command line. One invocation will be made with each outboundParameter specified.
This application takes a number of command line options:
StartUASOutbound.exe [--wsserver <webserveraddress>] <cloudId> <username>
<outboundService> <outboundServicePassword>
[<outboundParameters> [<count>]] | <outboundParametersFilename>
dotnet StartUASOutbound.dll [--wsserver <webserveraddress>] <cloudId> <username>
<outboundService> <outboundServicePassword>
[<outboundParameters> [<count>]] | <outboundParametersFilename>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- outboundServicePassword = the outbound service password
- followed by either:
- outboundParameters = a single outbound parameters string
that will be passed to the application followed optionally by
- count = the number of invocations to make, each being passed
the specified outboundParameters
or
- outboundParametersFilename = the name of a file containing 1
or more outboundParameter strings, comma-separated
Note: outboundParameters, whether defined on the command line or in a file, must not
contain characters carriage return, line feed or ^. Comma-delimited parameters defined
in a file are trimmed of leading and trailing spaces.
Note: a comma-separated file containing the application instance ids of the invoked services
is written when they have all completed ("appInstances.csv").
Note: multiple call invocations are only supported on standard production cloud
accounts or above.
Examples:
StartUASOutbound.exe 1-2-0 bob@acompany.com MyOutboundService 54321 sip:bill@bcompany.com 5
Invokes service MyOutboundService (with password 54321) 5 times
on cloud region 1-2-0 on account bob@acompany.com
and passes each invocation the outbound parameters: sip:bill@bcompany.com
dotnet StartUASOutbound.dll 1-2-0 bob@acompany.com MyOutboundService 54321 outParams.csv
outParams.csv file contents:
sip:bill@bcompany.com,sip:ben@bcompany.com,sip:lw@bcompany.com
Invokes service MyOutboundService (with password 54321) three times
on cloud region 1-2-0 on account bob@acompany.com
and passes each invocation one of the sip addresses from the outParams.csv file.
Voice Biometrics
Sample Name: VoiceBiometrics
A command line console application that provides access to
the voice biometric facilities of the Aculab Cloud Web Services API. It shows how to use the UserGroup and UserGroupKey APIs and the User API to supply one or more audio files containing voice data to register, update and verify a user.
Note: textDependent mode is enabled by default, which requires that all audio input to register, update and verify for a particular user must contain the same spoken phrase.
This application takes a number of command line options:
User API:
VoiceBiometrics [--wsserver <webServerAddress>] [--method <httpRequestMethod>] user <cloudId> <username> <command>
or
dotnet VoiceBiometrics.dll ...
UserGroup API:
VoiceBiometrics [--wsserver <webServerAddress>] userGroup <cloudId> <username> <apiAccessKey> <command>
or
dotnet VoiceBiometrics.dll ...
UserGroupKey API:
VoiceBiometrics [--wsserver <webServerAddress>] userGroupKey <cloudId> <username> <apiAccessKey> <command>
or
dotnet VoiceBiometrics.dll ...
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- httpRequestMethod = PUT, POST or GET. The method used to make one of the requests that supply audio data. When using PUT and POST the audio file is supplied in the request body while for GET, the request returns a url on which a websocket is opened and the audio file streamed to it. The default is to use POST.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
- For the User API, command can be one of the following:
- register <userId> <userGroupKey> <audioFilename>
- update <userId> <userGroupKey> <audioFilename>
- verify <userId> <userGroupKey> <audioFilename> [ <sensitivity> [ <textDependent> [ <enablePAD> ] ] ]
- stats <userId> <userGroupKey>
- exists <userId> <userGroupKey>
- delete <userId> <userGroupKey>
- For the User Group API, command can be one of the following:
- list
- create <userGroupName>
- delete <userGroupName>
- For the User Group Key API, command can be one of the following:
- list <userGroupName>
- create <userGroupName>
- modify <userGroupKey> <keyEnabled> [<retainData>]
- delete <userGroupKey>
where:
- userId = a user-defined Id that uniquely identifies the user.
- userGroupName = the name of a user group that will contain user registrations.
- userGroupKey = an access key from the user group with which this user will be associated.
- audioFilename = the name of the audio file to process.
For PUT and POST, if the string starts with http: or https: the name is assumed
to be a url from which to download the audio data.
For POST it can be a comma - delimited list.
- sensitivity = the sentivity of the biometric analysis.Range is -10.0 to 10.0.Default is 0.0.Positive values decrease confidence, negative values increase confidence.
- textDependent = by default this is true, meaning all audio data supplied to register, update and verify must contain the same spoken phrase.Set this to false to allow any phrase to be used to register, update and verify.
- enablePAD = enable presentation attack detection(PAD).Presentation attacks may be encountered when voice data is supplied that has been covertly obtained from the user, synthesized or replayed.When PAD is enabled, and an attack is detected, extra information is returned identifying the type of attack. PAD is disabled by default.
- keyEnabled = true to enable the key or false to disable it.
- retainData = true to retain biometric and transaction data for all transactions using the key.
Examples:
VoiceBiometrics user 1-2-0 bob@acompany register Bob ak-3FHfDbq7e-g9QaOGwyv6C9 BobPhrase1a.wav
.Net Voice Biometrics Web Services Sample
Registering user Bob...
Registered.
VoiceBiometrics --method GET user 1-2-0 bob@acompany register Bob ak-3FHfDbq7e-g9QaOGwyv6C9 https://my.wav.files.com/get_wav?filename=BobPhrase1a.wav
.Net Voice Biometrics Web Services Sample
Registering user Bob...
Registered.
VoiceBiometrics user 1-2-0 bob@acompany verify Bob ak-3FHfDbq7e-g9QaOGwyv6C9 BobPhrase2a.wav 2.0 false true
.Net Voice Biometrics Web Services Sample
Verifying audio for user Bob...
Verified as Bob (confidence 1.17)
VoiceBiometrics usergroup 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ list
.Net Voice Biometrics Web Services Sample
Listing user groups...
User groups:
BobsCompany 12 Jan 2021 09:27:15 27 registrations
1 group(s) found.
VoiceBiometrics usergroupkey 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ create BobsCompany
.Net Voice Biometrics Web Services Sample
Creating key in user group BobsCompany...
Created key ak-ksxh4hiLdNEwGdEKd3osOH.
Sample Name: WebRTCClientTools
A command line console application that provides access to
the WebRTC Client tools of the Aculab Cloud Web Services API.
This application takes a number of command line options:
WebRTCClientTools.exe [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
dotnet WebRTCClientTools.dll [--wsserver <webserveraddress>] <cloudId> <username>
<apiAccessKey> <command>
where:
- webServerAddress = optionally set the address of the cloud web server. By default the wrappers call web
services on ws-{cloudId}.aculabcloud.net. In certain circumstances you may need to use a different address which you can set here.
- protocol = the protocol to support. By default, the wrappers will use the latest available protocols.For diagnostic purposes you can specify your own protocol to support.
- cloudId = cloud region id (e.g. 1-2-0)
- username = cloud account username
- apiAccessKey = cloud API access key
- command = one of the following:
- generate_token <clientId> [ <timeToLive> ]
- list_registered_clients
where:
- clientId = The client id of the WebRTC client that will be registered. This is
the same as the clientId used when creating the WebRTC client..
- timeToLive = The time, in seconds, that the token is valid for. This must be between
600 and 86400. Uses the service default if zero.
- enableIncoming = Make the token valid for enabling incoming calls to the client.
- callClients = A comma separated list of client ids of WebRTC clients that can be called.
For each id the last character can be a '*' wildcard in which case
it matches any client whose id starts with the preceding string.
A single '*' matches all clients.If no value is given the token
cannot be used for calling other clients.
Examples:
dotnet WebRTCClientTools.dll 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ generate_token MyClient1234
.Net WebRTC Client Tools Web Service Sample
Generating token for Client1234...
Token: eyJhbGciOiJSUzI1NiIsImtpZCI6Ik45dHZUcGhxX2Z.eyJhdWQiOiIwLTAtMCIsImV4cCIjox
dotnet WebRTCClientTools.dll 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ generate_token AnotherClient 3600
...
dotnet WebRTCClientTools.dll 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ generate_token AnotherClient 0 true ADestinationClient1
...
dotnet WebRTCClientTools.dll 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ generate_token AnotherClient 0 true AClient*,BClient*
...
WebRTCClientTools.exe 1-2-0 bob@acompany.com 6b4UmwoOPxjeI2M76aebfQ list_registered_clients
.Net WebRTC Client Tools Web Service Sample
Requesting client list...
Client List:
"Client1234", last modified 30 Apr 2020 09:04:33, expires 30 Apr 2020 09:14:33
"ClientB", last modified 30 Apr 2020 08:55:06, expires 30 Apr 2020 09:05:06
2 clients(s) registered