Aculab .NET UAS Overview
            
            
            
            
            Language Support
            UAS download packages are available that support a variety of programming languages.
            The following documentation refers to the .NET UAS which provides CLS-compliant APIs
            for writing applications in any of the Microsoft .NET-supported languages: C#, VB, F# and C++.
            
            A number of sample UAS applications are provided with the .NET UAS that illustrate some
            typical simple scenarios. C# and VB versions exist for all of these scenarios and a few selected samples
            have been written in F# and C++.
            
            
            In addition, a few C# samples have been included that illustrate how to use the various Web Service interfaces
            to initiate outgoing services, manage files, manage large conferences, manage reports, purchase and
            manage inbound telephone numbers and monitor the connections between the UAS and the cloud.
            
            In addition, a few C# samples have been included that illustrate how to use the various Web Service interfaces
            to initiate outgoing services, manage files and manage reports.
            
            
            .Net Framework Support
            .NET UAS download packages are available for .Net Frameworks v3.5, v4.0, v4.5, v4.5.2, v4.6 and v4.6.2. 
            
            .NET UAS applications can be developed and built using Visual Studio or one of the various .NET 
            language-specific IDEs and must be built against the selected .NET Framework.
            
            The UAS API makes use of named method arguments introduced in framework version 4.0 and above.
            Consequently, there are some API differences between the v3.5 and higher versions.
            
            
            
Architecture
            The .NET UAS runs applications that use the UASAppAPI and UASClassLibrary libraries (and can also use the WS API).
            These provide call handling, media processing, file handling and diagnostic facilities.
            
            
            
            
            
            Compatibility:
            The .Net UAS is compatible with Microsoft Windows 7/8/10.
            
            
            
UAS Management Console
            
            
            Application Management
            Applications developers can upload, remove, monitor and diagnose their applications.
            
            See the 
Using the UAS section for
            instructions on how to manage applications on the UAS.
            
            
            
Writing Telephony Applications
            A UAS application is simply a .NET class library assembly that uses the UASAppAPI and adheres to a few
            conventions. Writing a simple .NET UAS application is a straightforward task using the supplied Visual Studio
            project templates that are included in the UAS installation.
            
            The UAS API is based on the Aculab Media System (AMS) Client API which provides powerful media processing and call control
            features via a high-level client API. It allows incoming and outgoing telephone calls to be controlled and
            connected together or transferred, wav file playback, wav file record, DTMF playback, DTMF detection,
            fax sending, fax receiving and conferencing.
            
            See the 
Writing Applications section for
            guidance on developing applications for the UAS.
            
            
            
Inbound Applications
            The target address of an incoming call 
(1) is used to determine which application
            is to be executed. A message is sent to the UAS to run an instance of the specified application
            
(2).
            The application is handed an active incoming call and its first task is typically either to answer it or reject
            it 
(3). Optionally, the application can also make an
            additional outbound call 
(4).
            
            
 
             
            Inbound Services
            An Inbound Service must be registered on the relevant 
cloud region
            Rapide server in order for it to be able to start a
            particular inbound application in response to an incoming call. Each Inbound Service points to exactly one
            application while several Inbound Services can point to the same application.
            
            You can create a new Inbound Service from 
Inbound Services
            (requires you to be logged in).
            
            
            
Starting Outbound Applications
            While inbound applications are run automatically in response to incoming calls, outbound applications are typically
            started externally to 
the cloudthe Rapide server, via a
            standalone program.
            
			Note that UAS applications can also start outbound applications.
            
            The 
Aculab CloudRapide Web Services API can
            be used to write a 
WS Application
            that starts an outbound application on a particular
            
cloud regionRapide server
            (1).
            A message is sent to the UAS to run an instance of the specified outbound
            application 
(2). The outbound application typically then makes an
            outbound call 
(3,4). Like inbound applications, an outbound application
            can usually also make additional outbound calls 
(4) on its extra channels.
            
            
 
             
            Outbound Services
            An Outbound Service must be registered on
            
the relevant cloud regionthe Rapide server
            in order for it to be able to start a particular outbound application. Each Outbound Service points
            to exactly one application while several Outbound Services can point to the same application.
            
            You can create a new Outbound Service from 
Outbound Services
            (requires you to be logged in).
            
            
Outbound Parameters
            The particular 
cloud regionRapide server
            and user's account on which an Outbound Service resides are specified through the WS API.
            In addition this API provides an 
outboundParameters field that will ultimately
            be passed to the outbound application. Typically this contains the destination address of the resultant outbound call.
            
            
Managing Files
            Files that can be managed include .wav media files that applications may play or record, .tif media files that applications may send or
            receive as faxes and REST API log files that are created when using the 
REST API. 
			Encrypted .wav and .tif files can be uploaded and downloaded. 
			See 
Protocols and formats for the supported encryption algorithms.
			
            
Uploaded and recorded files are located in a cloud media store, one per cloud account.
			Uploaded and recorded files are stored on the Rapide server.
            Some basic file manipulation methods are available to UAS applications via the FileManager property of 
			
UASApplication.
			In addition, the Web Services API can be
            used to perform more comprehensive file management.
            See the 
Manage Files Web Service.
            
			An account's cloud media file store can be browsed 
here.
			
            
High Level API
            This release contains a high level extension api that provides additional high level functionality on top of the standard UASCallChannel. 
			This includes methods to make and connect a call to another call, 
			to prompt for and validate an entered number and to run an interactive menu.
            See the 
CallChannelHelper class.