### Integration Server API Example: Start WhatsApp Interaction Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Product_Evolution_Guide/Features/altitude-335.html Example code snippet showing how to start a WhatsApp interaction using the Integration Server APIs. Found in the 'Messaging with CTLive' user manual. ```json { "action": "start_interaction", "channel": "WhatsApp", "to": "" } ``` -------------------------------- ### General Configuration Parameters Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Server_and_Database/Configuration_Files/altitude-uci-server-config.html Illustrates common general configuration parameters for the Altitude uCI Server, including mode, contact center name, home binaries path, license server address, start batch file, document repository path, installation type, and authentication service URL. ```xml server easy C:\Program Files (x86)\Altitude\Altitude uCI 8\Altitude uCI Server\easy\bin\ localhost:1770 C:\Program Files (x86)\Altitude\Altitude uCI 8\Altitude uCI Server\easy\local\easy_arc.bat C:\ProgramData\Altitude\Altitude uCI 8\Altitude uCI Server\easy\Documents\ stand-alone https://ccserver.mycompany.com:5100 ``` -------------------------------- ### Example Authentication Service Installation with Oracle Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Installation_Guide/task/how-to-install-auth-service-oracle.html?tocid=1_2_1_4 This command demonstrates how to install or upgrade the Authentication Service using Chocolatey, specifying Oracle as the database type and providing various configuration parameters for certificates, database connection, signing keys, and service user. ```powershell choco upgrade altitude.authentication-service -y --source "C:\AuthService;chocolatey" --params "'/InstallDir: /LogsDir: /HttpsPort: /CertSource:file /CertPath:C:\Certificates\CustomerSupport\server_certificate.pfx /CertPassword:MyCustP0rtalPa$$ /DatabaseType:oracle /DBHost:localhost /DBPort: /DBServiceName:authservicedb /DBUser:auth-service /DBPassword:Auth!Serv1ce /SigningKeys:file|C:\Certificates\Self-Signed\cert.pfx|Cert1f#Pa$$w0rd /BuiltinUrisMP: /BuiltinUrisAgentWeb: /ServiceUser:'" ``` -------------------------------- ### Agent Lite SSO with GET Request Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/System_Administration/concept/single-sign-on-architecture.html Illustrates how to perform a GET request to initiate single sign-on for Agent Lite. This method is suitable for shorter authentication strings due to query string length limitations. ```http GET /uAgentWeb8Mobile?securitytokenuser=someuser&securitytoken=sometoken ``` -------------------------------- ### Start WhatsApp Conversation Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Digital_Channels_and_AI/Messaging_with_CTLive/example/is-examples-intro.html Shows how to initiate a WhatsApp conversation using the Integration Server API. This example assumes a valid WhatsApp number and template are available. ```csharp using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Altitude.Integration.Api; using Altitude.Integration.Api.Messaging; namespace Altitude.Integration.Examples.Messaging { public class StartWhatsAppConversationExample { public async Task StartConversationAsync(IIntegrationApi api) { var conversation = new WhatsAppConversation { To = new ContactAddress { Type = ContactAddressType.PhoneNumber, Value = "+1234567890" }, From = new ContactAddress { Type = ContactAddressType.PhoneNumber, Value = "+0987654321" }, TemplateId = "order_confirmation", TemplateParameters = new Dictionary { { "orderId", "12345" }, { "customerName", "Jane Smith" } } }; await api.Messaging.StartWhatsAppConversationAsync(conversation); } } } ``` -------------------------------- ### Install pg_hint_plan package Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Installation_Guide/concept/install-prerequisites-altitude-uci-server.html Install the pg_hint_plan package using apt for query optimizer hints. ```bash sudo apt install postgresql-17-pg-hint-plan ``` -------------------------------- ### Install ASP.NET using aspnet_regiis Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Installation_Guide/concept/install-prerequisites-integration-server-uagent-web.html Use this command if IIS is installed after the Microsoft .NET Framework to install ASP.NET. The command is located in the Microsoft .NET folder. ```bash aspnet_regiis -i ``` -------------------------------- ### Altitude SIP Phone .appinstaller Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Agent_Apps/Altitude_SIP_Phone/concept/appinstaller-example.html?tocid=2_3_1_6 This XML snippet shows a complete .appinstaller file. It specifies the application's main package, publisher details, installation URI, and update settings, including checking for updates on launch. ```xml ``` -------------------------------- ### Altitude SIP Phone .appinstaller Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Agent_Apps/Altitude_SIP_Phone/concept/appinstaller-example.html This XML snippet shows a complete .appinstaller file. It specifies the installation URI, version, package details, and update check interval for the Altitude SIP Phone. Use this to automate installations and updates from a network share. ```xml ``` -------------------------------- ### Install Authentication Service with Parameters Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/High_Availability/task/how-to-install-auth-service-sqlserver.html Use this choco upgrade command in PowerShell (as administrator) to install the Authentication Service. Specify source, installation directory, logs directory, HTTPS port, and certificate details as needed. ```powershell choco upgrade "C:\AuthService\AuthService.1000.nupkg" --source "C:\AuthService\" --installDir "C:\Program Files\Altitude\Altitude uCI 8\Altitude Authentication Service" --logsDir "C:\ProgramData\Altitude\Altitude uCI 8\Logs\Altitude Authentication Service" --httpsPort "443" --certSource "file" --certPath "C:\certs\auth.pfx" --certPassword "password" ``` -------------------------------- ### Install HAProxy Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/High_Availability/task/install-haproxy.html Execute these commands on each node to update package lists and install the HAProxy package. ```bash sudo apt update sudo apt install haproxy ``` -------------------------------- ### Get User-Defined Enumerated Field Table Schema Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/APIs/uAgent_Web_API/autoref/instance/get-user-defined-enumerated-field-table-schema.html Call this method to retrieve the table schema for user-defined enumerated fields. No specific setup or imports are shown in this example. ```csharp TableSchema GetUserDefinedEnumeratedFieldTableSchema() ``` -------------------------------- ### Run ACC Dialer First-Time Setup with Sudo Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Installation_Guide/task/how-to-install-acc-dialer.html?tocid=6_1_1_0 If you encounter permission issues, run the first-time setup script using sudo. ```bash sudo ./scripts/first-time-setup.sh ``` -------------------------------- ### Download Click-to-call Sample Files Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Telephony/Altitude_vBox_51/ref/trunk-click.html Downloads a .zip file containing a tutorial, Java applet, JavaScript API, and configuration file for Click-to-call functionality. The unzipped content should be placed on an HTTP server. ```bash Download as .zip files ``` -------------------------------- ### Get Altitude SIP Phone Installation Location Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Agent_Apps/Configuration_Files/altitude-softphone.html Retrieves the installation directory of the Altitude SIP Phone application using PowerShell. This command requires administrator privileges. ```powershell Get-AppxPackage Altitude.SIPPhone ``` -------------------------------- ### Run ACC Dialer First-Time Setup Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Installation_Guide/task/how-to-install-acc-dialer.html Execute the initial setup script for ACC Dialer from the extracted folder. Use 'sudo' if running as a non-root user. ```bash ./scripts/first-time-setup.sh ``` ```bash sudo ./scripts/first-time-setup.sh ``` -------------------------------- ### ASL Example: Start WhatsApp Interaction Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Product_Evolution_Guide/Features/altitude-335.html Example ASL code snippet demonstrating how to initiate a WhatsApp interaction using CTLive. Found in the 'Messaging with CTLive' user manual. ```ASL start outbound interaction "WhatsApp" with "" ``` -------------------------------- ### Run ACC Dialer First-Time Setup Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Installation_Guide/task/how-to-install-acc-dialer.html?tocid=6_1_1_0 Execute this script to perform the initial setup of ACC Dialer. Ensure you are in the extracted folder. ```bash ./scripts/first-time-setup.sh ``` -------------------------------- ### Check Authentication Service Update Level Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Installation_Guide/task/how-to-check-the-update-level-authentication-service.html?tocid=1_2_1_8 Run this command in PowerShell as administrator on the server where the Authentication Service is installed to see its update level. This command queries Chocolatey for installed packages starting with 'altitude.authentication-service'. ```powershell choco list --id-starts-with altitude.authentication-service ``` -------------------------------- ### PostgreSQLReplication Configuration Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Server_and_Database/Configuration_Files/rdb-windows-service-replication.html XML configuration for setting up PostgreSQL replication. This includes parameters for both the subscriber and publisher databases, as well as the publication and subscription names. ```xml pgsqldbserver 5432 easy_replica My!P@ssw=rd server8_rdb pgsqldbserver 5432 easy My!P@ssw=rd easy rdb_publication rdb_subscription ``` -------------------------------- ### Initialize Docker Swarm Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Installation_Guide/task/how-to-install-acc-dialer.html?tocid=6_1_1_0 Start the Docker swarm service. This command is typically executed only once during the initial setup. ```bash docker swarm init ``` -------------------------------- ### Instance Configuration Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Server_and_Database/Configuration_Files/license-config.html Defines the name and port for a License Manager instance. This is a fundamental part of the configuration. ```xml ... ``` -------------------------------- ### IVR Get Digits Node Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Development/Altitude_Scripting_Language_Examples/ref/ivr-get-digit.html This snippet shows how to use the 'get digits' node to play an audio file, capture a 4-digit PIN, and handle valid input, invalid input, timeouts, and errors. The 'get digits' action uses input timeouts defined by the 'set audio' action. ```ASL node "PIN" { variables { Pin: text(4) } on enter { play { file <"enterpin.wav"> } } node loop { clear digits get digits into Pin { input mode size 4 on digits do { if ValidPin(Pin) then { goto node 'MENU' } else { play { file <"badpin-repeat.wav"> } } } on timeout do { discard script } on error do { discard script } } } } ``` -------------------------------- ### Install Authentication Service with SQL Server Parameters Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/High_Availability/task/how-to-install-auth-service-sqlserver.html Use this command to install the Authentication Service with SQL Server, specifying all necessary parameters for database connection, certificates, and application URIs. ```powershell choco upgrade altitude.authentication-service -y --source "C:\AuthService;chocolatey" --params "'/InstallDir: /LogsDir: /HttpsPort: /CertSource:file /CertPath:C:\Certificates\CustomerSupport\server_certificate.pfx /CertPassword:MyCustP0rtalPa$$ /DatabaseType:sqlserver /DBServer:localhost /DBDatabase:authservicedb /DBUser:auth-service /DBPassword:Auth!Serv1ce /SigningKeys:file|C:\Certificates\Self-Signed\cert.pfx|Cert1f#Pa$$w0rd /BuiltinUrisMP: /BuiltinUrisAgentWeb: /ServiceUser:'" ``` -------------------------------- ### dbPort Preview Mode Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Server_and_Database/Configuration_Files/dbport.html Run dbPort in preview mode to see the proposed database schema changes without applying them. This output shows the instance name, versions, and configuration settings. ```text dbPort configuration: Instance name: 'easy' Source version: '8.1.1', revision: 10300 Destination version: '8.1.1', revision: 12001 Preview mode: ON Segmentation mode: OFF Starting database port. Appending in table report_template column explorable with type :smallint : with def val = 0. ... Creating view business_obj as select * from ph_business_obj where status < 100 ... Dropping index ixactivity_his_not_scored on table activity_history ... Stamping new version [8.1.1,12001]... Port successful. ``` -------------------------------- ### While Loop Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Development/Altitude_Scripting_Language_Reference/ref/action/control-flow.html Executes actions repeatedly as long as a condition remains true. The condition is checked at the start of each iteration. ```Altitude Scripting while a <> b do { if a > b then { a := a - b } else { b := b - a } } ``` -------------------------------- ### Node appSettings Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Connectors/Configuration_Files/aer2qms-exe-config.html This snippet shows the basic appSettings structure for Node.js applications. ```xml ``` -------------------------------- ### Get Selection Range from Input Element Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Development/Altitude_Scripting_Language_Reference/ref/action/elem-input.html Retrieves the start and end positions of the current text selection in an input element and assigns them to specified integer variables. ```ASL input Text [in window Integer] get selection start into IntegerVAR end into IntegerVAR ``` -------------------------------- ### Check Connector for QMS Update Level Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Installation_Guide/task/how-to-check-the-update-level-connector-qms.html Use this command in an administrator PowerShell session to list installed packages starting with 'altitude.qms.' to identify the Connector for QMS version. ```powershell choco list --id-starts-with altitude.qms.. ``` -------------------------------- ### WebRTC Node Configuration Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Agent_Apps/Configuration_Files/integration-config.html Example of how to configure the WebRTC node in the Web.config file. This includes settings for secure connections, passwords, and STUN/TURN servers. ```xml true xxxx stun.l.google.com:19302 ``` -------------------------------- ### Standard Fields Mapping Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Connectors/Configuration_Files/aer2qms-exe-config.html This snippet shows a typical configuration for mapping standard fields between QMS and Altitude Enterprise Recording. Ensure that the AerName attributes match your Altitude Enterprise Recording installation. ```xml ``` -------------------------------- ### Building and Deploying a Managed DLL Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Development/Altitude_Scripting_Language_Reference/ref/dll/managed-dlls.html Steps for compiling the C# project into a DLL and placing it in the correct ASL directory for use. ```text 1. In Visual Studio, right-click the project in Solution Explorer and select "Build". 2. Locate the generated DLL file in the project's \bin\Debug or \bin\Release folder. 3. Copy the DLL file to the ASL DLLs directory (e.g., C:\Program Files\Altitude\ASL\bin). 4. Restart the ASL service or application for changes to take effect. ``` -------------------------------- ### Custom Fields Mapping Example Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Connectors/Configuration_Files/aer2qms-exe-config.html This snippet demonstrates how to map custom fields and activity outcomes from QMS to Altitude Enterprise Recording. The AerName attributes should reflect the custom naming conventions in your Altitude Enterprise Recording setup. ```xml ``` -------------------------------- ### Example Configuration for Altitude ASL Upgrader Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Installation_Guide/task/how-to-configure-altitude-asl-upgrader.html?tocid=8_1_1_2 This is an example of the appSettings section within the upgrade-scripts.exe.config file, showing how to set various configuration parameters for the Altitude ASL Upgrader. ```xml ``` -------------------------------- ### Start Inbound IVR Script with Timeouts and Answer Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Development/Altitude_Scripting_Language_Examples/ref/ivr-start-inbound.html This script discards if not inbound, sets input timeouts for 'get digits' and 'choose' actions, answers an alerting call, and proceeds to the 'NEXT' node if the call is connected. ```Altitude Scripting Language on start { if @script_start_reason <> ScriptStartReason::inboundPhone then { discard script } set audio all digits timeout to 30 inter digit timeout to 5 first digit timeout to 10 goto node "ANSWER" } node "ANSWER" { on enter { if @phone_info.state = PhoneState::alerting then { answer phone wait for connected } if @phone_info.state = PhoneState::connected then { goto node "NEXT" } else { write log 'Discard after failing to answer in ANSWER.' discard script } } } ``` -------------------------------- ### Install Authentication Service with SQL Server Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Product_Evolution_and_Administration/Installation_Guide/task/how-to-install-auth-service-sqlserver.html?tocid=1_2_1_3 Use this choco upgrade command in PowerShell to install the Authentication Service. Specify the source path for the installation package, the installation directory, and the logs directory. ```powershell choco upgrade --source C:\AuthService\ --InstallDir "C:\Program Files\Altitude\Altitude uCI 8\Altitude Authentication Service" --LogsDir "C:\ProgramData\Altitude\Altitude uCI 8\Logs\Altitude Authentication Service" ``` -------------------------------- ### Instant Messaging Recording Start Event Source: https://docs.enghouseinteractive.com/altitude/8.7/en-US/Development/Altitude_Scripting_Language_Reference/ref/decl/event-im.html Called when the interaction starts being recorded. The reason for starting recording is provided. ```ASL event instant messaging start recording(rec_start_reason: RecordingStartReason) RecordingStartReason: enumeration { configuration { value 1 } agent { value 2 } supervisor { value 3 } } ```