UADs (User Agent Devices) are "profiles" used by system extensions, the UAD is responsible for the "back end" config of the device associated to it and controls a lot of in-depth configuration such as auto provisioning, transport methods used (SIP, IAX2), DTMF options and additional XML configuration scripts. The parameters set here will be populated in new extensions made on the system by default (e.g if TLS is enabled here, every new extension will have TLS enabled by default). Every device on the system has a UAD.
Most of our commonly used devices are already pre-configured with the most common settings by default in order to allow administrators an easy way of adding extensions.
However, some CallSwitch installations have specific requirements, hence it can sometimes be advisable to edit the selected UAD and set it to the required values. Additionally, if an installation needs to use an unlisted UAD, clicking on "Add User Agent" allows adding of a new UAD.
For example, the end user could have a SIP doorphone that needs to be connected to CallSwitch, by using the "Generic SIP" UAD, you would be able to manually provision any SIP device to the platform using an extension's Username & Secret.
A description of all of the various UAD fields can be found below:
- Protocol (very top left):
Select the protocol the UAD (User Agent Device) uses, This will almost always be SIP.
- Device Name:
Unique device name, this is what the UAD will be called when a new device is created.
(ex. Yealink T46G)
- DTMF Mode (Dual Tone Multi-Frequency):
Select the DTMF mode being used; by default system wide this is set to rfc2833 and should not require changing at all.
Every system extension belongs to a certain system context for back end routing. The default context used by the CallSwitch is 'default' and must not be changed.
UAD status, if this field is set to 'Active', this UAD will be available in the 'UAD' select box by default when adding new extensions.
It is mainly there to stop Administrators from having to delete a UAD from the system to stop it appearing in the drop down when a new extension is being created.
- Internal UAD name for Auto-Provisioning
This is where you define how the system will recognise the UAD internally, if the specific device type is available here you must choose it.
(ex. Yealink T46G, Yealink T41S)
The Network related settings here will define how the handsets assigned to this UAD communicate with the CallSwitch platform.
Type of transfer protocol that will be used on CallSwitch.
UDP (User Datagram Protocol) - With UDP, computer applications can send messages, in this case referred to as datagrams, to other hosts on an Internet Protocol (IP) network without prior communications to set up special transmission channels or data paths.
TCP (Transmission Control Protocol) - provides reliable, ordered, error-checked delivery of a stream of octets between programs running on computers connected to an intranet or the public Internet.
TLS (Transport Layer Security) - cryptographic protocol that provide communication security over the Internet. asymmetric cryptography is used for authentication of key exchange, symmetric encryption for confidentiality, and message authentication codes for message integrity.
TIP: If you are experiencing issues with an end users network, using TCP may help resolve problems being experienced. TCP includes error detection, so if packets are not making it through to the handsets this can resolve those issues.
Note: The device being used must support the specific type of Transport for this to work. Also some additional config may be required (e.g TLS string being added to the XML setup of a Yealink handset).
This option enables or disables encryption in CallSwitch transport, by default this is always set to Offer if possible.
- NAT (Network Address Translation):
Set the appropriate Extension to CallSwitch NAT relation.
By default, this should always be set to Yes, the nature of CallSwitch assumes that the extensions are going to be used in a remote setting, so NAT will always be enabled on the end users network.
- Direct media
This option tells the CallSwitch Server wether or not to issue a reinvite to the client. For standard use, this should be set to "No" by default..
- Direct RTP setup:
Here you can enable or disable the new experimental direct RTP setup. Setting this value to yes sets up the call directly with media peer-2-peer without re-invites. By default, you should leave this set to "Not Set"
Timing interval in milliseconds at which a 'ping' is sent to the Extension, in order to find out its status(online/offline).
In CallSwitch V5 'Qualify' is set to 8000 by default.
(ex. Set this option to '2500' to send a ping signal every 2.5 seconds to the UAD/Phone or trunk)
- Ring time:
Extension ring timer found under the advanced Options. Changing this parameter here will change the timer for all new extensions created with this UAD.
(ex. Time in seconds that the extension will ring before the call is considered unanswered)
- Incoming Dial Options:
Advanced dial options for all incoming calls
- Outgoing Dial Options:
Advanced dial options for all outgoing calls
A full list of Dial options can be found in the Dial Options article.
- Incoming Limit:
Sets the maximum number of simultaneous incoming calls. If an extension receives more incoming calls than set here, they are all redirected to the extensions voicemail box. by default this is generally set to 3.
- Outgoing Limit:
Sets the maximum number of simultaneous outgoing calls. The outgoing call can be placed on hold and another call can be made from the same extension. However, this feature has to be supported by the device being used.
Note: The device being used with this extension must support the limits placed here
This section allows certain codecs to be defined for the extension. Codecs are used to convert analog to digital voice signals and vice versa. The Codecs available here must be supported by the selected device or issues will be experienced.
- Video Support
Set this option to Yes to enable SIP video support (experimental).
- Auto-Framing (RTP Packetisation):
If auto framing is turned on, system will choose packetisation level based on remote ends preferences.
Auto provisioning is use to establish a link between the handset and the Callswitch platform. By default all Yealink handsets are fully auto-provisioned by default, utilising the Yealink redirection server to provision automatically based on MAC address.
If a device is manually configured it may not mesh with the system on certain aspects, such as pulling in the local directory ect, so best practice is to always Auto Provision handsets.
Other handsets also support Auto Provisioning such as the Polycom VVX range or the Gigaset Maxwell Basic handsets, although manual intervention is required.
- Auto Provisioning:
Enable auto provisioning service for this extension
- DHCP (Dynamic Hosts Configuration Protocol):
Set whether the extension is on a DHCP or a Static IP address, by default this should be set to DHCP.
Presence enables the device assigned to the UAD to subscribe to hints which are used for BLF.
User Agent General Auto Provisioning Template:
The User Agent General Provisioning template is an extremely powerful tool that can be used to directly edit almost every aspect of a handset's configuration. By default, we populate this with a pre-created UAD, but this can be later edited or modified by an administrator if required.
Placing a valid XML string here will directly change all handset's configuration file assigned to the UAD. If it just one handset that you want to change the config for, there is an extension specific template under the "Advanced Options" of system extensions.
For example, if i enter the XML strings below into a Yealink handset's template, once it sends a provision request to the CallSwitch platform (through either a reset, A config update request on the basic menu or the provisioning timeout). It will update the handsets config, disabling call waiting and set the admin interface Username to admin and the password to CallSwitch.
call_waiting.enable = 0
security.user_password = admin:CallSwitch
Note: Depending on the handset and XML string entered, if the XML string is incorrect the handset may fail to provision or the handset will completely ignore the incorrect string.