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:
      • check <phoneNumber>
    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:




    Security Tools


    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:
      • protocol_check

    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.




    WebRTC Client Tools


    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