Quality Management
Suite
Installing & Troubleshooting The Telrexnetservice
1.
The TelRexNetService
The TelrexNetService monitors the sip traffic for
Call Control information.
It then passes that information on to the QMS Call Recording Service over
port 8008. It creates a persistent TCP connection to the named QMS
Recording Service. It needs to be installed on all Front End Servers or
Survival Branch Appliances (SBA) involved with phone traffic.
As of Version 5.2, we support multiple SIP domains.
2.
Lync Front End Servers and SBA's.
The Front End server is the main Lync server that runs many of the Lync
services and is the primary phone call control coordinator in a Lync network.
The SBA is like a Front End server but is installed at remote locations with
fewer services.
A server pool, also called a shared pool, is the combined events of Front End servers that together provide all the Call Control.
Below is a typical Lync installation with Front End servers, SBA, and server pool.
3. Requirements
The TelrexNetService is compatible with OCS, Lync 2010
and Lync 2013
A special user account is needed for the TelRexNetService. This account ‘must’ be a member of the same domain as the Front End server or
SBA on which you will be installing the TelRexNetService.
It must also be a part of the following groups:
CSAdministrator (Active Directory group)
RTCHSUniversalServices (Active Directory group)
RTCUniversalServerAdmins (Active Directory group)
This
User must also be added to the Local Group
RTC Server Applications (Local to
Front-end Server)
It is VERY important that this user be set up correctly.
To check that the account requirements of section 3 have been met, open a command prompt window and type in “whoami /groups”. You will see a list of groups that the user belongs to. By default it will belong to many groups. Scroll through the list and find the groups listed in section 3.
4. Installation
Login to the Front End Server or SBA as the account
that you created in section 3.
Copy the TelrexNetService install folder to the Front
End server or SBA and unzip it. Go to the install folder.
Double click on the TelrexNetService installer.
Right click and select install. Accept the license agreement and click
next.
The TelrexNetService Setup window opens.
4.1 Select the correct Lync/OCS version
4.2 Lync/OCS Front End Pool FQDN - Enter the Fully Qualified Domain Name (FQDN) of the Front End Pool. If there is no Front End Pool, meaning you only have one Front End server, then enter the FQDN of the Front End server.
4.3 HostName: Enter the machine name (Not FQDN) or IP address of the QMS Call Recording server. Enter multiple Call Recording servers separated by a space. The value you enter here is inserted into the config file under the key Service.CallRexrecordingHosts
Make sure that the machine name and IP address that you entered above is ping-able.
4.4 Lync/OCS server domain: Enter the Lync/OCS server domain (ex: if Lync users are addressed as user@gcs.telrex.com the server domain would be ocs.telrex.com
4.5 User Account: The User account that you created in step 3. Specify the username only
4.6 Domain of the user account: Enter the domain for the user in step 4.5. Note, if during the windows login, you logged in as Telrex/Username, you would enter ‘Telrex’ not telrex.com
4.7 Password: Enter the password for the user in step 4.5
4.8 Click NEXT. Click Install and when it is complete, Click finish.
5.0 Post Install Configuration
5.1 After installing the TelRexNetService, you need to update the TelRexNetService.exe.config file in the Telrexnetservice folder. In versions before 5.4, this was done manually. In version 5.4, this process is automated. What follows is the manual process. It is good to know. Following this section is a screen shot of the new utility that makes this process easier. Use this section to verify your entries if neccessary.
Use a text editor to open the file.
You will need to stop the TelRexNetservice Service in
Windows Services before proceeding.
Update the Service.DisallowedIPAddresses
setting. This setting filters out IP addresses from being assigned to a
QMS Users IP address. Include in this setting:
The IPV4 addresses of the QMS Server.
The IP Address of the Lync Front-end servers. If there is more than one Front End server, then the IP for every Front End server must be in this line.
The IP address of any Edge Servers or Exchange Servers in the Lync deployment.
Add additional IP's if necessary, if they appear in the Users IP address field. This might include 3rd part queuing hardware devices and maintenance IP's like the 169.#.#.#.
Note that this line already includes 127.0.0.1. That address needs to remain. Add additional IP's with a space between each IP address.
When finished, the line will look like this
example: <add key="Service.DisallowedIPAddresses"
value="127.0.0.1 192.168.5.2 10.1.1.40"/>
Of course the line will probably be much longer.
5.2 Look for a line similar to this: <add
key="Service.LocalDomain"
value="ocs.telrex.com"/>
Update the Service.LocalDomain
value to reflect the local OCS domain, if it did not get properly set during
the install. For example, if OCS users are addressed as user@ocs.telrex.com the
Local Domain setting is ocs.telrex.com.
5.3 Suppressed Codecs need to be removed. In the beginning of the Service.log, search for the line "Suppressed CODECS". You will see a line like Suppressed CODECS: <g723> <g722_1> <g726>. The Suppressed CODECS need to be removed.
To remove them, you need to add lines to the Telrexnetservice config file. Add a line for EACH suppressed Codec.
Example: <add key="Service.SupportCODECg722_1" value="true" />
Add a line for each Codec until no more Suppressed Codecs show up in the service log.
5.4 For Edge server recording, modify this key <add key="Service.RouteMediaThruEdge" value="True"/>
You must then identify the Edge Server Public IP's and enter them here:
<add key="Service.EdgePublicIPAddresses" value="10.27.1.178 198.22.2.39 198.22.2.27 10.27.1.172"/>
Note: All IP's of the edge server should be listed, including the NAT addresses of the Edge.
Make sure that these IP's are pingable (if that ability has not been turned off by the firewall)
5.5 For Edge recording where remote users access via a common gateway and where the user's sip endpoint address is common to all; you can try adding this key <add key="Service.EdgeRelayGateways" value="10.27.3.179 "/>
5.6 Here is a screen shot of the utility
5.7 Here is what the TelrexNetService.exe.config might look like.
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="Log.FileLogLevel"
value="Info"/>
<add key="Log.FileLogQualifiedName" value="service.log"/>
<add key="Log.FileLogType" value="RollingOnPeriod"/>
<add
key="Log.FileLogPeriod" value="daily:00:15"/>
<add
key="Log.FileLogMaxBackups" value="5"/>
<add key="Log.EventLogLevel"
value="None"/>
<add key="Log.TruncateOnOpen" value="True"/>
<add
key="Service.CallControlClientAddressFamily" value="InterNetwork"/>
<add
key="Service.ApplicationManifest" value="TelrexNetService.am"/>
<add
key="Service.SupressEncryption" value="false"/>
<add
key="Service.MaxSessionDurationMinutes" value="180"/>
<add
key="Service.RecordSIPDialogs" value="true"/>
<add
key="Service.LogAllSIPMessaging" value="true"/>
<add
key="Service.ComplainOnUnknownSession" value="false"/>
<add
key="Service.LocalDomain" value="global.local"/>
<add
key="Service.DisallowedIPAddresses" value="127.0.0.1 10.27.1.174 10.27.1.175
10.27.1.157 10.27.1.161 10.27.1.178 10.27.1.172"/>
<add
key="Service.CallRecorderPort" value="8008"/>
<add
key="Service.CallRecordingHosts" value="usbal1srv161"/>
<add
key="Service.PBXType" value="Lync"/>
<add
key="Service.DisallowedUserAgents" value=""/>
<add
key="Service.RouteMediaThruEdge" value="True"/>
<add
key="Service.EdgePublicIPAddresses" value="10.27.6.178 197.22.2.39
197.22.2.27 10.27.6.172"/>
<add key="Service.SilkCodecPayloadTypes"
value="103 104"/>
<add key="Service.SuppressCallControlOnBranch"
value="true"/>
<add key="ClientSettingsProvider.ServiceUri" value=""/>
</appSettings>
<runtime>
<assemblyBinding
xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly
xmlns="urn:schemas-microsoft-com:asm.v1"><assemblyIdentity
xmlns="urn:schemas-microsoft-com:asm.v1" name="ServerAgent"
publicKeyToken="31bf3856ad364e35" culture="neutral"/><bindingRedirect
xmlns="urn:schemas-microsoft-com:asm.v1" oldVersion="3.5.0.4"
newVersion="5.0.0.0"/></dependentAssembly></assemblyBinding>
</runtime>
<system.web>
<membership
defaultProvider="ClientAuthenticationMembershipProvider">
<providers>
<add name="ClientAuthenticationMembershipProvider"
type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider,
System.Web.Extensions, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" serviceUri=""/>
</providers>
</membership>
<roleManager defaultProvider="ClientRoleProvider"
enabled="true">
<providers>
<add name="ClientRoleProvider"
type="System.Web.ClientServices.Providers.ClientRoleProvider,
System.Web.Extensions, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400"/>
</providers>
</roleManager>
</system.web>
<startup>
<supportedRuntime version="v4.0"
sku=".NETFramework,Version=v4.0"/></startup>
</configuration>
6. Verify TelrexNetService Registration
Open the Lync Control Panel. Click on Topology / Server applications. See if Telrexnetservice is listed there.
Make sure that the TelrexNetService is registered to the Pool.
If the telrexnetservice is not there, you may need to manually register the Telrexnetservice. To manually register the telrexnetservice, open up powershell.
Type in the command: "Import-Module Lync" - (quotes included) This brings in all the relevant Lync pieces into Power Shell.
To Unregister the TelrexNetService for the Front End Server use the command:
Remove-CSServerApplication -Identity "Service:Registrar:zzz/TelrexNetService"
To register the TelrexNetService with Lync, enter
New-CSServerApplication
-Identity "Service:Registrar:zzz/TelrexNetService"
-Uri
http://www.telrex.com/LCS/TelrexNetService -Critical $False -Enabled $TRUE
You would run this but replace zzz w/ front end server pool name
Check the Server Applications list again and verify that it was added.
Note: When there is more than one Front End Server, there might be a Front End Pool (FEP) – Load Balance employed. The FE Pool might be a software piece installed on the DNS Server or it could be a hardware device connected to multiple Front End Servers. A Front End pool can contain a maximum of ten Front End Servers. Load balancing is recommended for multiple Front End Servers.
When a load balance front end pool is employed, the TelrexNetService must be installed on all Front End Servers that are part of the Front End Pool. After the installation, check to be sure that the TelrexNetService is registered to the Front End Pool.
If any re-registering was necessary, check the TRNS config file and restart the service.
When troubleshooting Call Control issues, keep in
mind that the service.log will only show calls handled by the Front-End server
that you are looking at. With Load Balance a call may come through any
Front-End Server and you may have to check the service.log on each Front-End
server in the Front End Pool.
7. Lync Build
To know what specific builds they are running, you
can validate by looking in Programs and Features or running this in powershell:
Get-WmiObject –query ‘select
* from win32_product’ | where {$_.name –like “Microsoft Lync Server*”} | ft Name, Version –AutoSize
As a result, you will get:
8.
Error Messages & Troubleshooting
8.1 If the installation fails, verify that the user account is setup correctly
as defined in section 3.
8.2 If the installation fails, you can run the Telrexnetservice.msi using the
msiexec.exe. This will give you a
comprehensive install log. This log
contains valuable information that could help you resolve the install
problem. Otherwise, this install file
would be necessary to escalate an install problem to development.
Open a Command Prompt window as
an administrator. Go to the folder where
the TelrexNetService.msi resides.
Use the following command to run
the installation. msiexec.exe –I TelrexNetService.msi /lv
TRNSInstallLog.txt
The log file will be generated in
the folder from which it was run. Use notepad and exam the logs for error
messages.
8.3 After a successful
installation, check in Windows services and verify that the TelrexNetService is
running.
8.4 Check the service.log. In most
cases you will want to look at the top of the service log. It is a good
idea to stop the TelrexNetService, save the old service logs to a zip file,
then delete all the service logs and restart the TelrexNetservice.
This will give you a clean log.
8.5 What you want to see in the service log is: "SIPApplicationDispatchThread.Runnable". That message should say Connected and not have any exceptions.
8.6 If you see “Cannot resolve hostname” in the service log. This indicates a problem with the “CallRecordingHosts” value in the Telrexnetservice config file. This is typical when the system is unable to resolve the FQDM. First ensure that it is ping-able. The “internal” domain name, found in the computer properties should be used.
8.7 If there is no Service
log in the program folder, then the user account is not setup correctly or has
insufficient rights. Verify Item 3 above. If it is correct, add
Domain Admin rights. This is a rights issue. The process does not
have the rights to create a new file in the TelrexNetService folder.
8.8 “UnauthorizedException creating ServerAgent” is a common install error. It indicates
that the Telrexnetservice is not being registered with Lync. Carefully review
section 2. Requirements.
Then
try this as a possible fix.
1. Go to Administrative Tools -> Services
2. Right-click TelrexNetService and click Properties
3. Click Log On tab
4. In the "This account" field, enter in a
Domain Admin account name and password
5.. Click OK, then restart TelrexNexService
Once that's done, check the service.log and search
for "SIPApplicationDispatchThread.Runnable".
That message should say Connected and not have an exception
8.9 Phones Rebooting - If the customer reports that Phone are rebooting, after installing the Telrexnetservice, and it doesnt matter if these phones are being or NOT to be recorded, the problem lies with the Suppressed codecs.
In the beginning of the Service.log, search for the line "Suppressed CODECS". You will see a line like Suppressed CODECS: <g723> <g722_1> <g726>. The Suppressed CODECS need to be removed.
To remove them, you need to add lines to the Telrexnetservice config file. Add a line for EACH suppressed Codec.
Example: <add key="Service.SupportCODECg722_1" value="true" />
Add a line for each Codec until no more Suppressed Codecs show up in the service log.
8.10 Inbound calls from a Response Group appears as an outbound call in Real Time View and Recording Search. This happens when the soft phone does not have a Phone URI configured. Upgrade to build 11108 or greater.
8.11 One side of a phone call is all static. Try adding this reg key to the config file. <add key="Service.DisableSSRTPOnReplacesHeader" value="true" />