OCM

After transfer Agent B unable to send text to customer

Issue description:

After Agent A transfers the chat interaction to Agent B, messages sent from Agent B is not able to display in VIVR page. But agent will be able to read messages sent from customer.

Troubleshooting steps:

  1. Check TMAC Server log for texts typed the agent
  2. Look for same message in TComm Server log
  3. If message present in TComm Server log it confirms that message is sent out of TComm server to VIVR via TComm proxy

Root Cause:

VVIV page checks for agent details in the incoming chat events, if the access role value is missing or empty in agent details then vivr will not be able to display the text message.

Resolution:

Assign the access role to agent in "Role Mapping" tab of OCM User Onboarding module for both the Agent A and Agent B.

SecurityLogin: -1 ; AgentLoginFailed: -3

Issue: When agent tries to login, TMAC UI error pop up "CTI login failed"

Troubleshoot steps:

  1. Check TMACServer log for keyword "SecurityLogin" and error code -1
  2. Check TMACServer log for keyword "AgentLoginFailed" and error code -3
  3. Check AESCTIWrapper log for "SecurityLoginDone" and  values for ErrorInfo: ResponseStatus and ErrorCode: , if these values are not matching the following TSAPI Error codes.
    1. #define ACSERR_APIVERDENIED -1 /* The API Version
      * requested is invalid
      * and not supported by
      * the API Client Library.
      */
      #define ACSERR_BADPARAMETER -2 /* One or more of the
      * parameters is invalid.
      */
      #define ACSERR_DUPSTREAM -3 /* This return indicates
      * that an ACS stream is
      * already established
      * with the requested server.
      */
      #define ACSERR_NODRIVER -4 /* This error return
      * value indicates that
      * no API Client Library
      * Driver was found or
      *installed on the system.
      */
      #define ACSERR_NOSERVER -5 /* The requested Server
      * is not present in the
      * network.
      */
      #define ACSERR_NORESOURCE -6 /* There are insufficient
      * resources to open an
      * ACS stream.
      */
      #define ACSERR_UBUFSMALL -7 /* The user buffer size
      * was smaller than the
      * size of the next
      * available event.
      */
      #define ACSERR_NOMESSAGE -8 /* There were no messages
      * available to return to
      * the application.
      */#define ACSERR_UNKNOWN -9 /* The ACS stream has
      * encountered an
      * unspecified error.
      */
      #define ACSERR_BADHDL -10 /* The ACS Handle is
      * invalid.
      */
      #define ACSERR_STREAM_FAILED -11 /* The ACS stream has
      * failed due to
      * network problems.
      * No further
      * operations are
      * possible on this stream.
      */
      #define ACSERR_NOBUFFERS -12 /* There were not
      * enough buffers
      * available to place
      * an outgoing message
      * on the send queue.
      * No message has been sent.
      */
      #define ACSERR_QUEUE_FULL -13 /* The send queue is
      * full. No message
      * has been sent.
      */
      #define ACSERR_SSL_INIT_FAILED -14 /* This return value
      * indicates that a stream
      * could not be opened
      * because initialization of
      * the OpenSSL library
      * failed.
      */
      #define ACSERR_SSL_CONNECT_FAILED -15 /* This return value
      * indicates that a stream
      * could not be opened
      * because the SSL connection
      * failed.
      */
      #define ACSERR_SSL_FQDN_MISMATCH -16 /* This return value
      * indicates that a stream
      * could not be opened
      * because during the SSL
      * handshake, the fully
      * qualified domain name
      * (FQDN) in the server
      * certificate did not match
      * the expected FQDN*/
      */
  4. If error code doesn't match any of the above return values, note the number value in ResponseStatus, then run query in database table select * from AGT_Agents where pbxid= null or pbxid='0'
  5. If any rows in database exists for pbxid=Null or pbxid='o' or pbxid='<any single digit integer value>' then manually update the PBXID field from OCM User Onboarding module with Avaya agent ID value.

Root Cause: PBXID being Null / 0 (zero) / Single digit is a product bug for CTIServer Version < 6.0.04.10

SMART Dialer Manual Upload -OCM Module-"Failed to Import Smart Dialer Details ConfigurationID and Intent is not Mapped"

Issue : Smart Dialer Manual Upload gives error Message :"Failed to Import Smart Dialer Details ConfigurationID and Intent is not Mapped"
When User uploads the CSV file with records even though Config ID and Intent is Mapped in Self Service Config Module

Resolution :
1)Check IVR_GENERIC_CONFIG table  for select Parameter,Value from IVR_GENERIC_CONFIG where EntityName='SmartDialer' 
2)For the above filter EntityName='SmartDialer' in the OCM UI self Service Config Module check if Parameters are present in IVRConfigValues.json

Hint: when Values are not present in IVRConfigValues.json we usually get Error Message in OCM Self Service Config Module when Trying to Edit

3)
Delete the Parameters which are not present in IVRConfigValues.json -[where EntityName='SmartDialer']

SMART Dialer Manual Upload -Failed to Import Smart Dialer Details

Solution for the  issue in SmartDialer :-

OCM UI:


OCM Logs:

CHECK for CHECKER_AUDITTRAIL_REPORT

With this table giving above error.

When changed the Column name revert_query to  Revert_Query this issue  was resolved.

Configuration of WaveFile Upload SaveAction for IVR Host Value Mapping

SaveAction can be configured in ~OCM\Configurations\Admin Modules\IvrHostValueMapping.json as shown below.

Key

Description

Possible Values

SaveAction

When maker checker is true keep SaveAction value as Save else it is as SaveToChecker.

"Save" or "SaveToChecker"

Configuration in WorkCode List Module.

To add the new work code hierarchy in WorkCode List can be done using ~/OCM/Configurations/Admin Modules/WorkCodeList.json file as shown below.

KeyDescriptionPossible Values
IDId of the Hierarchy1,2,3…so on
WorkLevelName of the work code 
ParentIDParent Id of the HierarchyValues will be the Id of the above Hierarchy

How to Enable/Disable Import features button and to Display/Hide the Channel Count, Features widgets in User Onboarding module?

To enable or disable import features button and to display or hide the Channel Count, Features widgets in User Onboarding module can be done using ~/OCM/Configurations/Admin Modules/UserOnboarding.json file as shown below.

Key

Description

Possible Values

ConfigKey

To display or hide the widgets

in UserOnboarding

If the value is true then the widget

will be displayed otherwise it will be hidden

{'AgentProfilePictureEnabled':true,

'IsChannelsEnabled':true,

'IsFeaturesEnabled':true}

Enabled

To enable or disable the import button

in User onboarding

True, false

BatchSize

To split the records of the import

data in AuditTrail tab to avoid

the size exceed in the table.

Maximum value can be 200

Configure OCM Reports and Hide Columns in Report.

  • OCM Reports are configurable. Any column can be hidden or shown based on the preferences. A column can be hidden by making “Hidden” key to true under “Columns” in Report Configuration file.
  • Report Configuration file is ~OCM/Configurations/Reports/Report_name.json.

Key

Description

Possible Values

Title

Display name to be shown in OCM

Transaction

PropertyName

Actual Property name

Transaction

IncludeInReport

To include the property in report or not

true

IncludeInMenu

To include the property in the menu or not

true

Hidden

To hide the property in OCM

true

ClientTemplate

For client template methods

-

DataFormatType

To specify the data format types

-

How to configure New Agent feature?

  • OCM Agent Features can be enabled/ disabled from Agent Setting Module. However, we can also add new features to Agent Setting module.
  • These new features can be added in ~/OCM/Configurations/Admin Modules/AgentSettingChannelCount.json.

Key

Description

Possible Values

Feature

Feature Name

IsVoiceACDAutoAnswerEnabled

FeatureDisplay

Feature name to display in the module.

Auto Answer All ACD Calls

IsEnable

To enable/ disable the feature

false

Visible

To make feature visible/ not visible in the module.

True

How to Configure Skill Configuration Mode.

  • Skill Configuration mode can be set in appsettings.json using the key "SkillConfigurationMode".

KeyValueDescription
SkillConfigurationMode0In skill configuration module, data will be displayed/inserted/updated directly from the database.
SkillConfigurationMode1In skill configuration module data will be displayed/inserted/updated/deleted through the smsapi, if the data should return from database then endpoint of the SMSAPI should be WQ mode and if the data should be return from CM then the endpoint of the SMSAPI should be CM mode.

 

  • When we insert a new skill in the configuration mode the skill name should start with prefix "voice" or "chat" or "email" or "fax".
  • When we delete the skill in skill configuration module then we will check whether the skill is assigned to agent or not, if not assigned then will delete the skill.

Mapping of Session Variable to Group ID column in OCM AV Playback Report

A Session_Variable can be Mapped to group ID column with following configs  in TPPVA and TMAC Server :

(Here  "UCID" is taken as an example ,which  is available in TPPVA logs in SessionVariables list as pUcid="value")

  • TPPVA

>UserDataMapping.json

GroupID:pUcid

>DataMapping.json

GroupID:SessionVar.pUcid

>Template.config

<add key="Requeue_GroupIdVariable" value="pUcid"/>

  • TMAC Server

>ChatJsonConfig.config

groupid=pUcid

Timezone difference in OCM SMS host transaction report

Issue:

SMS Host transaction report shows timezone of the server (SGT) not the client(Thailand)

Resolution:

In Report scheduler tempate.config configure the key TimeZoneOffset to relevant time zone.

Ex:  For Thailand set "TimeZoneOffset"="1.0"

The offset must be from the server timezone.

Video recordings not playing in OCM Reports

Issue Description:

In OCM Audio/Video Playback reports, audio can be played but video will be having black screen.

Solution:

Check the output_chop_mode key value in <WebRTCRecorder-install-path>/Transcoder/config.json

If the value is set to 1 then make it 0.

Transcoder

How to Insert CIF/UCID from VIVR URL to GBL_Interaction_history ?

Requirement:

For mapping the Customer Identifier (CIF) in the VIVR URL would require primary reference value (Ex: UCID/ACCOUN_NUMBER/LOAN_ID) into GBL_Interaction_history. So that reporting module can fetch the reference fields and represent in OCM reports such as AVPlayback report etc..

Configuration:

  1. Pass the parameter in the URL as query string that is declared in VIVR config.                            Ex: https://nabilbank.tetherfilabs.com:8443/visual-ivr/captcha?intent=main&ucid=110215594558024250&node=75241665-42c4-4170-b3ea-f2f67083afd8
  2. The query string should be a variable predefined in "VIVR" custom headers.  The same header needs to be mapped in comm proxy customer json.
  3. In TMAC Server --> chatJsonConfig.config file, map the Query string value declared in comm proxy  customer json to TMAC variable. Ex: "node: "CIF". where value of query string "node" will be mapped to "cif". Hence the value of column "CIF" in GBL_Interaction_history table will be the value of "node".

 

MYSQL-'Host 'xxx.xx.x.xx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' error

Issue Description:

Unable to access the application with error 'Host 'xxx.xx.x.xx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' .

Troubleshooting Issue:

1.Restart MySQL service.

2.To stop happening this again, Before restarting the service increase below values in MySQL configuration file.

Look for the initialization file located at C:\ProgramData\MySQL\MySQL Server 8.0\my.ini. Open my.ini file with a Notepad++.

  • max_connections = 500;
  • max_connect_errors=10000;

MySQL-"Access denied for user 'username'@'hostname' (using password: NO)" when tried giving access in RoleBasedAccessManagement module

Issue Description: MySQL-"Access denied for user 'username'@'hostname' (using password: NO)" when tried giving access in RoleBasedAccessManagement module.

Troubleshooting steps:

If confLoadMode = "local" in tmc.config then connection string should be provided like below in TMC_Data.json.

DBConnection: "Provider=mysql; Server=172.xx.x.xx;Port=3306;Database=OCM;Uid= userId; Password = password; Persist Security Info=True;"

[MySQL]_Bulk upload operation failed with “Loading local data is disabled; this must be enabled on both the client and server sides.” error

Issue Description:

This issue will occur when trying to bulk upsert the records to MySql Server DB tables and when trying to update the records in UI.

Troubleshooting Issue:

  • Look for the initialization file located at C:\ProgramData\MySQL\MySQL Server 8.0\my.ini. Open my.ini file with a Notepad++. Look for the headers [client], [mysql] under the CLIENT section & [mysqld] under the SERVER section. Add the statement "local_infile=ON" under each of these headers. Save the file and restart MySQL80 service under the Windows local services.


(more…)

Unable to login to Agent Desktop and the error is "Agent not allowed to login at this time”

Issue Description:

Agent is not able to log in to Agent Desktop and shows the error message as “Agent not allowed to login at this time”

image

Components to verify:

Component

What to check 

Where to check

OCM

Operating hours for agent skill

OCM Operating hours module

 

Cause:

This is because for the Template where the Agent is belonging to, the Template Operating Hours Details is not matching. Either the Agent has to login at that time or change time in Template Operating Hours Details in OCM.

Resolution:

Log in to OCM. Go to ‘Admin Modules’, choose ‘TMAC’ and then select ‘Agent Settings’. Find the organization unit for the Agent.

image

 

Then go to ‘Admin Modules’, choose ‘TMAC’ and then select ‘Templates’.

image

 

In ‘Templates’ select ‘Templates OpHours’ and here all the template names will be present.

image

 

Select required ‘Template Name’ and change ‘Week Day’, ‘From time’ and ‘To time’ any of those which is required and click on ‘Save Changes’ and give the modify reason.

image

OCM (>v4.0.x.x Core)-"localhost is unable to handle this request" error when tried launching the application after deployment

OCM (>v4.0.x.x)-"localhost is unable to handle this request" error when tried launching the application after deployment. In event viewer ,getting error as "UnauthorizedAccessException: Access to the path 'C:\Windows\system32\config\system profile\AppData\Local\ASP.NET\Data Protection-Keys' is denied."

Troubleshooting Steps:

1.Provide full control to the folder where OCM core files are deployed. Rightclick on the folder-->Properties-->Security-->SelectUser-->Edit-->Enable fullcontrol-->Apply.

2.Enable windows authentication in IIS

3.Select Application pool in IIS and click on Advanced Settings. Select ".NET CLR Version" as "No Managed Code".

4.Select Application pool in IIS and click on Advanced Settings. Change "Load User Profile" to "True".

5.Restart application pool after the above changes and load application.

 

 

OCM (>v4.0.x.x Core): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections

OCM (>v4.0.x.x Core)  A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.

Troubleshooting steps:

1.If confLoadMode = "none" in tmc.config then  port number, instance name, db name, app name and provider should be provided in connection string in appsettings.json (OCM >v4.0.x.x)

2.If confLoadMode = "local" in tmc.config then connection string should be provided like below in TMC_Data.json. (OCM >v4.0.x.x)

DBConnection: "Provider=mssql;Data Source=172.xx.x.xx\\\\SQLEXPRESS,1433;Initial Catalog=OCM;User ID=userId;Password=password"

Even though reports are getting generated email displays "OCM Export Scheduler not able to generate report:"

a) Issue Description

Even though report are getting generated in Report downloads modules, Email displays "OCM Export Scheduler not able to generate report:".

b) Components to Verify

Check the below key in app.config

<add key="EmailNotify" value="1" />
<add key="DownloadCheckThreadSleepTime" value="20000" />

c)Troubleshooting

If EmailNotify is enabled, make thread to sleep for specified milliseconds, so that for every retry count file download is checked (eg: 20000 as 20 seconds).If Report has large data change the value to 40000 as 40 seconds.

d) Cause

This happens either the Email Notify key is not enabled or DownloadCheckThreadsleeptime key is not present . Also if we will not provide thread sleep time then export scheduler will send an email before the report is getting generated.

e) Next Steps 

Change the value of the key DownloadCheckThreadSleep to 20000 or 40000(depending on the report size). schedule a report in export scheduler and check the Emails when report is generated

 

Anti forgery token is meant for user “” but the current user is “username”

Issue Description:

This issue can be seen when anti forgery token validation is failed. This is happening because the anti-forgery token embeds the username of the user as part of the encrypted token for better validation. When you first call the @Html.AntiForgeryToken() the user is not logged in so the token will have an empty string for the username, after the user logs in, if you do not replace the anti-forgery token it will not pass validation because the initial token was for anonymous user and now we have an authenticated user with a known username.

Resolution:

  • We need to find cause for missing user name or empty user name
  • This occurs  when ajax is triggered if user is not logged in.
  • this has to be handled by the developer in there code. please collect the log and share it with developer.

 

Certain data does not display in Fax Reports for the user in OCM

Issue: Certain data does not display in Fax Reports for the user in OCM

Resolution:

The issue happens if Module Hierarchy is enabled in OCM and the orgunit of the user and the fax lines with data i.e, fax lines from fax which was sent/received in the given date range are different.

Hence ensure to log into OCM with the User ID of the user who belongs to the same orgunit as that of the fax line from which fax was sent/received in order to view the report data when Module Hierarchy is enabled

OCM – “Datetime Search doesn’t function in OCM Audit Trail Report”

Issue Description:

When we try to Search Datetime record in Audi Trail Report in OCM, Datetime Column search shows “No Records to Display”.

Components to Verify:           

  1. Component : SQL Database Server & Windows Server
  2. Where to Check : Windows Server & SQL Data Base Server
  3. What to Check : Check the Time Zone Settings of Window Server and Data Base Server

Troubleshooting:

  1. To Check the Database Server DateTime Format, Go to Database Server and Write Command “Select GetDate()”
  2. Date and Time Format
  • Go to Windows Server Where the OCM is Deployed and Click on Bottom Right Date and Time
  • Calendar Pop up Comes with the date and time Screen, Click on Change Time Zone Button
  • Click on Change Time Zone Button in Date and Time Tab. You can also Notice that the time zone is Other than Indian Standard Time
  • Pop Up naming Time Zone Settings is seen and Click on the Drop Down
  • Select (UTC+05.30) Chennai, Kolkata, Mumbai, New Delhi Option and Click on Ok in Time Zone Settings
  • Click on Ok in the Date and Time Screen
  • Now Restart the SQL Data Server Services
  • Now Restart the IIS Application

 

 

Resolution:

  • Check the Time Zone Settings in Window Server and SQL Database Server. Once you Change the Time Zone in Windows and Database Server, Restart the Database Service and IIS Application.

 

 

 

 

How many fax recipients can be tagged to an Fax addressbook

How many fax recipients can be tagged to a Fax address book

Resolution:

The default Number of Fax recipients allowed to be tagged into a Fax address book in the OCM Fax Addressbook module is 5. However, it is configurable with below key in OCM Web.config and the value should be limited to maximum 100 recipients

 <add key="MaxRecipient" value="20" />

Exception in SqlDataAccess-ExecuteMakerDataTableforPaginationwithQuery : Invalid object name 'dbname.tablename'

Issue Description:

This exception can be thrown when maker checker enabled module loaded.

Troubleshooting:

  • Check the OCM database if this table exits. If table is not present deploy this missing table.
  • After  creating missing table if same exception is thrown. If instance is running on MS SQL database check DBSchema key is configured properly in appsetting.json or web.config. DBSchema required  since we use two database for maker checker process

OCM Agent Setting module record update function failing.

Issue description:

  1. Navigate to OCM agent setting module
  2. Select any record and click on update button.
  3. Do the necessary changes in the record, add modify reason and click on save button.
  4. UI shows notification "Record update failed".
  5. OCM log  error:

2021-05-28 11:17:37,910 [8] DEBUG OCM.DataAccess.DALAgentSetting - Inside DALAgentSetting.Update():
2021-05-28 11:17:37,910 [8] ERROR OCM.DataAccess.DALAgentSetting - Exception in Update()::System.NullReferenceException: Object reference not set to an instance of an object.
at OCM.DataAccess.DALAgentSetting.Update(AgentSetting detail, Int32& isDBUpdateSuccess, List`1& TMACUpdateStatus)

Solution:

  1. Check the "IsTMACUpdateAllowed" key in OCM config file. 
    1. If the value is true,  then the record update will be reflected in the agent logged into TMAC on refresh.
    2. If the value is false, Record update will reflect when agent re-login.
  2. Check for key AgentProfilePicType" in OCM config file.
    1. If the value is 0, then provide valid media uploader and streamer url's in the "MediaUploader" and "MediaStreamer" keys.
    2. If the value is 1, then the agent profile pic will be saved locally.

How to disable detailed report export

Issue Resolution:

  • Open  OCM->Configurations->Reports-><requiredreportjsonfile>
  • Search for the key "IsdetailReport", change the value to 'false'

Server Error Displayed in the Auto Ack Template preview of Fax Template Module

Issue: Server Error '404-File or Directory Not Found' Displayed in the Auto Ack Template preview of Fax Template Module

Logs to check: check for below errors in OCM Log4Net.log

1.

2.

Troubleshoot steps:

1.verify whether the below key is present in OCM web.config

<add key="MaxFileSizeForUpload" value="10" />

If it is not present add the key and edit the record and upload the file again

2.if the key is present and still, the error is displayed Ensure that the file exists in the "FaxFileUploadURL" path configured.

 

How to Enable ‘Compose Fax’ Button Display in TMAC

Description: In order to send outgoing Fax from TMAC , Compose Fax button is required.

Resolution:

Compose Fax button will be displayed only if ‘Fax Out Enabled’ feature is enabled for the agent in OCM Agent Settings module

OCM – “Module Hierarchy Enabled and Org. Unit Data is not appearing in the Drop Down”

Issue Description:

For Fresh Deployment of OCM, Module Hierarchy Is Enabled and Teams are Created in Organizational Structure Module. But Org. Unit Data is not Shown in Role Management and User Role Mapping Module.

Components to Verify:

  1. Component: OCM & Data Base
  2. Where to Check: OCM Web Config, Data Base Server and OCM Logs
  3. What to Check:
  • Check the Key – “ModuleHierarachy” in OCM Web Config/Tconfig.
  • Check the OCM SQL Logs for “Exception : SELECT isnull([ParentID],'0') [ParentID] FROM AGT_Teams WHERE 1=1 AND TeamID=”
  • Check AGT_Teams in Database Server if Records are Created.

Keywords to Search:

Search for “ModuleHierarchy” Key in OCM Web Config/Tconfig template file based on “Confloadmode” set in tmc.config file.

Troubleshooting:

  1. Go to OCM Web Config/TConfig and Check for “ModuleHierarchy” Key Value. Initially while Configuring the Value will be “True”.
  2. Create Teams in Organizational Structure Module in Page Based.
  3. Go to Role Bases Access Management Module and Create Role. But Org. Unit Values are not Displaying.
  4. Add a Role and Click on Save. It will Create a Role when Org. Unit is Mandatory which is functionally wrong.
  5. Go to User Role Mapping and Create a User and Assign the Created Role.
  6. Not allowing to Save the Record since Org. Unit is Mandatory.
  7. Now go to OCM Web Config/Tconfig and Search for “ModuleHierarchy” and see the value. If it is True Change it to False.
  8. Now Refresh the IIS Pool and Website and Login to OCM and try to Create Role and User.
  9. In Role Based Access Management Module, Org. Unit is not appeared now. Create a Role.
  10. Go to User Role Mapping and now User will be able to see the Dropdown in Org. Unit. Create a User Selecting the Org. Unit. Note that in Page Based, UserName should be same as USERID Shown in OCM Grid. (Ex: QA in Below Picture)
  11. "Record Created Successfully" Notification is Shown in the OCM UI as below.
  12. Go to OCM Web Config/TConfig and Change the Value of “ModuleHierarchy” key as “True” now.
  13. Now Refresh the Application Pool and Website. Login to OCM and Create Roles, LDAP Users.
  14. Now Change to Role Based and Login via LDAP User.

Resolution:

  • Initially While Deploying OCM, Make sure the Module Hierarchy key value is set as False and then Create Teams for the OCM User. Later Once Creating the Role and User then Change the Value of Module Hierarchy Key as True in Order to make Module Hierarchy to work. Also note that Module Hierarchy is preferred with Role Based Auth Type only.

 

 

 

OCM – “Last Changed On Column not Updating for any Modules while creating or Updating a Record”

Issue Description:

When we try to Create or Update a record in any of the Modules in OCM, Last Changed on Column was showing Blank.

Components to Verify:

  1. Component : OCM & DataBase
  2. Where to Check: OCM Web Config, Windows Server & Data Base Server
  3. What to Check:
  • Check the Key – “DateParseFormat” and “DefaultDateTimeFormat” in OCM Web Config/Tconfig .
  • Check the Window Server, Database Server - Date and Time Format where the format should be present in the “DateParseFormat” Key
  • There should be only one space between Date and Time Format in “DefaultDateTimeFormat” and “DateParseFormat” Value in the web.config file.

Keywords to Search:

Search for “DefaultDateTimeFormat” and “DateParseFormat” Key in OCM Web Config/Tconfig template file based on “Confloadmode” set in tmc.config file.

Troubleshooting:

  1. Go to OCM Web Config/TConfig and Check for “DefaultDateTimeFormat” and “DateParseFormat” Key Value

In Above Screenshot Yellow Color Indicates the Space Between the Date and Time Format.

 

  1. Date and Time Format
  • Go to Windows Server Where the OCM is Deployed and Click on Bottom Right Date and Time
  • Calendar Pop up Comes with the Change date and time setting Button, click on it
  • Click on Change Date and Time Button in Date and Time Tab
  • Click On Change Calendar Settings
  • Two Pop Up Screens naming Region and Customize Format are showing up. Check if the Date and Time Format showing there in screen Include in "DateParseFormat" Key OCM Web config/Tconfig also.

 

Resolution:

  • We should keep only one space between Date and Time Format in “DefaultDateTimeFormat” and “DateParseFormat” Value.
  • “DateParseFormat” Key should have the date-time formats of the OCM hosted server and Data Base Server.
  • If your server format is M/d/yyyy h:mm tt then “DateParseFormat” Key should have different combination of format like
    • M/d/yyyy h:mm tt
    • MM/d/yyyy h:mm tt
    • M/dd/yyyy h:mm tt
    • MM/dd/yyyy h:mm tt
    • M/d/yyyy hh:mm tt
    • MM/d/yyyy hh:mm tt
    • M/dd/yyyy hh:mm tt
    • MM/dd/yyyy hh:mm tt

 

 

 

Chat transcript shown as json message instead of text message

Issue:

Chat transcript in Chatbot interaction report shows as json message for each bot/customer message instead of as text message

Cause:

This is because the message sent by the bot in JSON format is stored by the TMAC server as-is into the database.

Resolution:

Config "TextChat_FormatChatbotJsonMessage" should be enabled in TMAC server template.config file.

If this is disabled, TMAC will store messages of bot and customer in JSON format. If it is enabled, it will extract the exact text message from JSON and store in DB.

After enabling the config, stop-start TMAC server. Any new chatbot interactions after that will show the chat transcript with only the text messages correctly like shown below

In OCM Audio/Video Playback report, users are unable to play the Audio/Video recordings with OCM displaying message as "There is no recordings to this session to preview"

a) Issue Description:

In OCM Audio/Video Playback report, users are unable to play the Audio/Video recordings with OCM displaying message as "There is no recordings to this session to preview"

b) Components to Verify:

ComponentWhat to CheckWhere to Check
Recorder serviceIs the WebRTCRecorder Service Up and RunningStart -> Task Manager -> Services Tab -> WebRTCRecorderService
OCMIn OCM, user able to load the OCM Audio Video Playback report1. Login to OCM

2. Click on OCMReports on right top

3.Set the Report Channel as 'Video',Report Name as 'OCM Audio Video Playback  Report' and 'Report Type as 'Date Range'(Provide the valid date)'.

4.Click on 'Show Report'

 RecorderIf the recordings are availableCheck if the recordings are available in provided recording path(Ex: C:\WebRTCRecorder\Data\Processed)

The file mixed-v.webm present inside the processed folder should be able to play in VLC player or chrome.

 

c) Troubleshooting:

ComponentDetails
OCMProvide complete access to the WebRTC Certificate folder.

The certificate folder should contain a valid certificate.

  • Right-click on certificate folder and select properties
  • Navigate to the Security tab
  • Provide complete permission to the folder. Click on 'Edit' and provide complete access.
  • Click on ‘Apply’ and click ‘OK’

Below are the steps to generate the certificate, https://stackoverflowteams.com/c/tetherfi/questions/474

https://stackoverflowteams.com/c/tetherfi/questions/183

OCM ConfigCheck if the below config key is present in the OCM configuration file, if not present add this config key and check if the certificate path is provided in OCM config file as shown below.

<add key="WebRTCRecorderCertificateFolder" value="C:\Avaya\OCM\Certificate" />

The certificate folder should contain a valid certificate generated for that server in .cer format.

OCM ConfigScenario: Check by providing localhost/IP/server domain in both OCM config and WebRTC recorder config file as given below. These changes provided when OCM and WebRTC recorder are in same server.

In OCM configuration check for the below keys:

<add key="WebRTCRecorderAPIUrl" value="https://localhost:port/wrs/recording/rest/session/" />

  • Provide localhost in both OCM config and recorder config file as shown below,

Recorder ConfigScenario: Check by providing localhost/IP/server domain in both OCM config and WebRTC recorder config file as given below. These changes provided when OCM and WebRTC recorder are in the same server.

In Recorder configuration check for the below keys:

<add key="hostPublicName" value="localhost "/>

  • Provide localhost in both OCM config and recorder config file as shown below,

<add key="hostPublicName" value="localhost"/>

OCM ConfigScenario: Check by providing localhost/IP/server domain in both OCM config and WebRTC recorder config file as given below. These changes provided when OCM and WebRTC recorder are in same server/different server.

In OCM configuration check for the below keys:

<add key="WebRTCRecorderAPIUrl" value="https://server-ip:port/wrs/recording/rest/session/" />

  • Provide IP in both OCM config and recorder config file as shown below,
Recorder ConfigScenario: Check by providing localhost/IP/server domain in both OCM config and WebRTC recorder config file as given below. These changes provided when OCM and WebRTC recorder are in the same server/different server.

In Recorder configuration check for the below keys:

<add key="hostPublicName" value="server-ip"/>

Provide IP in both OCM config and recorder config file,

OCM ConfigScenario: Check by providing localhost/IP/server domain in both OCM config and WebRTC recorder config file as given below. These changes provided when OCM and WebRTC recorder are in the same server/different server.

In OCM configuration check for the below keys:

<add key="WebRTCRecorderAPIUrl" value="https://domain name:port/wrs/recording/rest/session/" />

Provide server domain in both OCM config and recorder config file as shown below,

Recorder ConfigScenario: Check by providing localhost/IP/server domain in both OCM config and WebRTC recorder config file as given below. These changes provided when OCM and WebRTC recorder is on the same server/different server.

In Recorder configuration check for the below keys:

<add key="hostPublicName" value="domain-name"/>

Provide server domain in both OCM config and recorder config file as shown below,

RecorderCheck if the recordings(mixed-v.webm) are playing in the Processed folder of the Recorder(path  C:\WebRTCRecorder\Data\Processed).

OCMIf  OCM and Recorder are in same server, no need to provide "WebRTCRecorderSecurityProtocolType" key value in the config

<add key="WebRTCRecorderSecurityProtocolType" value=" " />

If both are in different server, provide security protocol in OCM web config.

OCMBinding the certificate

Refer: https://weblog.west-wind.com/posts/2013/sep/23/hosting-signalr-under-sslhttps

Difference between org unit 0 and null

Issue Description

In Db OrgUnit will be displayed as Null , 0 or TeamID

Cause

Org unit will be null for those records which are present in database before module hierarchy was implemented

Org unit will be 0 for those records which are created with module hierarchy as disabled

Org Unit will be Team id for those which are created with module hierarchy as enabled

 

Troubleshooting 

For the  Null or 0 Org unit records , assign the team or team id to those records. To assign the team id

  1. Check module hierarchy key is enabled or not
  2. Login into OCM when module hierarchy is enabled
  3. Navigate to particular module (e.g Intro Message Announcement)
  4. Navigate to record for which you want to change the Org unit(e.g. where wavfile is Address.wav)
  5. Select the Org unit column and from dropdown select the team
  6. Click on save button
  7. If Module is Maker/Checker , Send the record for approval and approve the record . If not Org unit will be assign to record

 

 

All the records are getting displayed to the users when module hierarchy is enabled

Issue Description: 

All the records are getting displayed to all the logged in user in OCM in module hierarchy

Components to Verify

Check the following key in Web config.

<add key="ModuleHierachy" value="false" />

Check the team id for the record whether it is NULL or Number

Issue Resolution: 

To resolve this issue, update the org unit in particular module and record to team id or team .

To assign the team id or team

  1. Navigate to module
  2. Select the column Org Unit and select the team from the drop down
  3. Click on save.

Record will not be shown to other users who are not under the hierarchy. It will be displayed to t users which fall under the same hierarchy

Agent Skill Assignment: SkillX is getting assigned automatically to an agent.

Issue Description: Few Skills are getting added automatically to an agent though it's not been selected for an agent in the OCM AgentSkillAssignment module.

Workaround:

This mainly happens because recorder skills been configured in OCM configuration.

Please check below config keys,

<add key="RecorderSkill" value="20" /> // here 20 is recorder skill which will be added to all the agents by default. 
<add key="RecorderSkillLevel" value="1" /> // skill level

Recorder skill is nothing but default skill (in workqueue mode) that must be assigned to each agent while performing skill assignement.

If we see the auto-assigned skill is the same as recorder skill then this can't be considered as an issue, since each agent must have a default/recorder skill.

 

Checker Approve Failed for Create/Delete records

OCM screens with Maker Checker access, Checker approve/reject fails with below errors

"Message after approving: Failed to approve the data"

Troubleshooting:

1.Login to maker screen, create one record and send for approval.

2.Login to maker screen, delete one record and send for approval.

3.Verify the Checker DB before approving.

4.Ensure the checker DB does not have the record created/deleted in the checker DB before approval.

5. In case the maker record is already present in Checker DB before approval from OCM UI page, check the OCM Config.

6. Maker DB and Checker DB IP and config should not point to same DB. Maker and Checker DB IP should point to relevant DB.

Social Media Application/Account Module: Unable to connect to the remote server http://:/Manage/Social

a) Issue Description:

OCM UI shows error as below on Social Media Application or Account module when trying to add/edit/delete record

b) Cause

OCM is unable to connect to SMM Management API to process a record.

c) Troubleshooting

  1. Ensure Management API service is up and running. If not, start the ManagementAPI service.
  2. Ensure the ManagementAPI Service endpoint details provided in OCM config file ManagementAPIConfiguration.json is accurate. ServerURL should contain the ip address and port on which SMM Management API service is running. Screenshot of config given below.

OCM – IVR Module “IVR Introductory Module grid was not loading”

Issue Description:
When we try to upload the introductory message in a maker OCM the grid stopped loading. In checker OCM, IVR introductory module grid is not loading as well. However, we could see APPROVE/REJECT buttons. Once approved, the introductory message got uploaded but the grid was not loading in both Maker and checker OCM – IVR introductory Module.

Components to Verify:

1. Component : OCM & Data Base

2. Where to Check : OCM SQL logs, OCM logs & Data Base

3. What to Check :

  • Check the SQL query exception in OCM Logs.
  • Check the total no of records of “ Checker Audit Trial Table” in Data Base.

Keywords to Search:

Exception in OCM Logs, Select count(*) from Checker Audit Trial Table

Troubleshooting:

The maximum length of JSON strings. The default is 2097152 characters, which is equivalent to 4 MB of Unicode string data.

Resolution:

We should keep only less than 500 records in the Checker Audit Trial table. Purge the records which are more than 500.

Cannot connect nodes in OCM Campaign Linking module

Issue description:
After drag and drop of nodes, it cannot be connected.

Resolution:

  1. Check for the path of the key POMCampaignLinksConnectorpath in OCM config whether pomcampaignconnector.json is created or not in that path. If not create one with the same name as mentioned. (pomcampaignconnector.json)
  2. If the file is present and if it is empty you need to include [] and save it [open and close square bracket as shown below] and then logout, login back to OCM.

3. Still if cannot connect, then a link of min 2 nodes has to be created in POM, please contact Avaya vendor to do the same. Once done, login to OCM and you can see the nodes joined which is done in POM.

The sample data which you can see inside the pomcampaignconnector.json files once the nodes are connected and saved, below:

 

JSON configuration changes are not reflected

Issue Description:

New JSON configuration changes done by the user not notified to the application automatically.

Issue Resolution:

Once JSON configuration changes are done, user has to navigate to OCM Configuration page and  user has to Refresh Application to refresh recent changes in the application.

This logs out the user session and enables to re-login with all the changes.

 

Record approved failed. Request ID: " "

Issue Description:

  • This message prompted when checker tries to Approve data in OCM UI.

Issue Cause:

  • User will create a new record and update the same record as in below  

  • Request Id 1365 that is MakerUpdate will Send for Approval

  • Checker can’t approve this request because there is no record for the same in checker database.

Issue Resolution:

  • User must Send for Approval Request Id 1365 that is MakerCreate.

  • The checker must approve MakerCreate first then MakerUpdate.

How to hide any field/column in admin page/ report

Resolution:

Admin Page:

  • Go to OCM application path. Open Configurations/Admin Module. Find the JSON file configuration of the admin module.

  • If you want to hide Message field. Change the value of hidden to true.

Report:

  • Go to OCM application path. Open Configurations/Reports. Find the JSON file configuration of the report.

  • If you want to hide Message field. Change the value of hidden to false.

“30/31” days is greater than the maximum configured limit of 15 days

Issue Description:

  • This message prompted in OCM dashboard when the user set month to date.

Issue Resolution:

  • Month to date selection will select the date range from the current date to last month’s date.
  • This above error message prompted when application set MaximumDashboardDays less than days in a month.
<add key="MaximumDashboardDays" value="15" />

Callflows are not displayed in IW Role Based Access Matrix Module

Issue Resolution 1:

This issue is caused when interpreter is not running. Check whether interpreter is running or not

 

Issue Resolution 2:

Check for interpreter version

 

Issue Resolution 3:

Check for interpreter URL in ApplicationConfiguration.json

User is not able to see the callflow in the dashboard even after providing the access to the callflow in IW Callflow access matrix

When we have given two roles to a single user, the application will check for the role which has higher Role ID and access provided to that role will be in effect.

Please refer below table:

Sl.No

Role1Role2Role3

Output

1MakerCheckerPreviewerAccess Provided to Previewer Role will be in effect. For any combination with Previewer role, access provided to Previewer will be in effect
2MakerCheckerAccess provided to Maker Role will be in effect ( Maker Role has higher priority than Checker)
3MakerMakerQuery will check for the higher Role Id ( 2 is higher than 1) in CMM_Roles table and Access provided to that role will be in effect.
4CheckerCheckerQuery will check for the higher Role Id ( 2 is higher than 1) in CMM_Roles table and Access provided to that role will be in effect.
5PreviewerPreviewerQuery will check for the higher Role Id ( 2 is higher than 1) in CMM_Roles table and Access provided to that role will be in effect.

 

"String or binary data would be truncated." error in OCM Report Scheduler logs

Issue description :

ERROR ReportGeneric.GenericReportBase ----- Error in SelectData(). Rolled back data : ChatInteractionReport from 20190701 000001 to 20190730 111535:System.Data.SqlClient.SqlException (0x80131904): String or binary data would be truncated.
The statement has been terminated.

 

Resolution :

This error appears when the reporting table column length is less than the data length when, service trying to insert.

Need to verify all the columns length with data value length and update accordingly in OCM Reporting tables.

How to exclude/include Admin/Report/Dashboard in OCM Application?

Resolution:

  • All Admin module/Reports are configured in AccessConfiguration.json file
  • This file contains 4 main sections AdminPages, Reports, Dashboards, OtherApplications.

  • Any Admin module to exclude from OCM application, Included property should change to false as below under AdminPages

  • Similarly, for reports, Included property should be changed to false as below under Reports
  • This excluded module/report will not appear in User Management or Role management access-list in OCM Application

No records to display in Intro Message Announcement

Issue Description:

This issue due to this error in the log “Index was outside the bounds of the array”.

Issue Resolution:

  • Value count in the IntroductoryMessage and IntroductoryMessageFileUploadName should match
<add key="IntroductoryMessage" value="IVR_A_MainMenu,IVR_B_MainMenu,IVR_C_MainMenu" />

<add key="IntroductoryMessageFileUploadName" value="CBGPhrases,CBGPhrases,CBGPhrases" />
  • Check if all functionality present in the table are added in IntroductoryMessage key in web config.

How disable Org. unit option?

Issue Description:

This message prompted when the user doesn't select the org unit in the admin page of OCM UI

Issue Resolution:

Change the value of ModuleHierachy key in the web config of OCM.

<!--  ModuleHierachy is used to filter records in OCM Admin pages based on set org. unit(true/false)-->

<add key="ModuleHierachy" value="false" />

How is IW role type decided based on role access

Issue Description:

This role type displayed in the IW Role-Based Access Matrix and IW Master Access Matrix

Issue Resolution:

  • Login to OCM. Navigate to the Home tab and open the Role-Based Access Management page.
  • Select a Role and click on the Other Applications tab.
  • IsMaker or IsChecker or IsPreviewer can be enabled by giving access to functionality

  • Checker: when IsChecker is enabled
  • Maker: when IsMaker and IsChecker enabled
  • Previewer: irrespective of IsPreviewer enabled combination  

 

Record Updation/Deletion Failed. Supervisor is already assigned to Agent

Issue Description:

This message prompted when the user changes a Supervisor to Agent in Agent Setting/User Role Mapping.

Issue Resolution:

If the User ID already assigned as Supervisor to any other Agent/User.

 

Record Updation Failed. Org. unit can not be changed, Supervisor is already assigned to Agent

Issue Description:

This message prompted when the user change org. unit of a record in Agent Setting/User Role Mapping.

Issue Resolution:

If that record already assigned as a supervisor to some agents with the same org. unit

Unable to delete record. Please remove child level of record and try again

Issue Description:

This message prompted in the Organizational Structure page

Issue Resolution:

This message prompted while the user tries to delete the parent org unit, wherein the child org unit level is already present.

Unable to delete record. Org. unit is assigned agent/user

Issue Description:

This message prompted in the Organizational Structure page

Issue Resolution:

When the user tries to delete the org unit which already assigned to Agent/User in Agent Setting/User Role Mapping.

Record Creation Failed, Already Exist

Issue Description:

This message prompted in all admin pages of OCM UI

Issue Resolution:

This message prompted when the same record exists in the table of the admin page in OCM

Duplicate "Filed Name"

Issue Description:

This message prompted in all admin pages of OCM UI

Issue Resolution:

This message prompted when the same record exists in the gird of the admin page (client-side validation)

 

How to set Checker access in OCM

Resolution:

Auth Type = Role:

  • Login to OCM. Navigate to the Home tab and open the Role-Based Access Management page.
  • Select a Role and click on the Admin Pages tab.

  • Disable View, Add, Edit, Delete and Export Access for the functionality.

  • Enable the access for the functionality in Admin Page Checker tab.

Auth Type = Page:

  • Login to OCM. Navigate to the Home tab and open the User Management page.
  • Select a User and click on the Admin Pages tab.

  • Disable View, Add, Edit, Delete and Export Access for the functionality.

  • Enable the access for the functionality in Admin Page Checker tab.

 

How to set Maker role for IW and TAS

Resolution:

  • Login to OCM. Navigate to the Home tab and open the Role-Based Access Management page.
  • Select a Role and click on the Other Applications tab.

  • Check access to functionality ends with Maker.
  • Navigate to the Home tab and open the User Role Mapping page.

  • Select the user which you are using to login IW or TAS and assign a role.

 

How to set Previewer role for IW and TAS

Resolution:

  • Login to OCM. Navigate to the Home tab and open the Role-Based Access Management page.
  • Select a Role and click on the Other Applications tab.

  • Check access to functionality ends with Previewer.
  • Navigate to the Home tab and open the User Role Mapping page.

  • Select the user which you are using to login IW or TAS and assign a role.

 

You do not have access to any of the resources, kindly contact your system administrator

Issue Description:

This issue will occur due to either DB down or root configuration missing or logged in user doesn’t have any view access to OCM.

Issue Resolution:

DB down check:

  • Make sure the Connectionstring configured properly in the application.

  • Check if SQL Server and SQL Server services are always running on the server hosting your SQL instance.

Root Configuration:

  • Open the OCM application hosted path in IIS and select Configurations folder.

  • Set the ConfigurationPath in the OCM web config.

Access Check:

  • Login to OCM. Navigate to the Home tab and open the User Role Mapping page.

  • Check the assigned Role for the User.
  • Navigate to the Home tab and open the Role-Based Access Management page.

  • Check if access is given for the assigned Role. If not provide access to required Admin Pages, Reports, etc.

How to set only Maker access in OCM

Resolution:

Auth Type = Role:

  • Login to OCM. Navigate to the Home tab and open the Role-Based Access Management page.
  • Select a Role and click on the Admin Pages tab.

  • Enable View, Add, Edit, Delete and Export Access for the functionality.

  • Disable the access for the functionality in the Admin Page Checker tab.

Auth Type = Page:

  • Login to OCM. Navigate to the Home tab and open the User Management page.
  • Select a User and click on the Admin Pages tab.

  • Enable View, Add, Edit, Delete and Export Access for the functionality.

  • Disable the access for the functionality in the Admin Page Checker tab.

In grid phrases are shown in red colour

Issue Description:

This issue will occur when OCM Phrase URL pointing to wrong wav file upload path or wav file is missing in the file upload path

Issue Resolution:

Checker:

  • Check configured path in FileUploadPath exists.
  • Check WaveFileURL exists in IIS and path configured as in FileUploadPath

Maker:

  • Check configured path in FileUploadPathMaker exists.
  • Check WaveFileURLMaker exists in IIS and path configured as in FileUploadPathMaker

Wav file existence check:

  • Check Welcome.wav for Mandarin language present in file upload path

  • If file is not present in the path re upload the wav file again by editing the record.

 

How to set Checker role for IW and TAS

Resolution:

  • Login to OCM. Navigate to the Home tab and open the Role-Based Access Management page.
  • Select a Role and click on the Other Applications tab.

  • Check access to functionality ends with Checker.
  • Navigate to the Home tab and open the User Role Mapping page.

  • Select the user which you are using to login IW or TAS and assign a role.

 

Old & New values are not displayed in Audit Trail report

Issue Description:

This issue will occur due to DLL version mismatch.

Issue Resolution:

  • Configured DLL list in the AuditTraildllList should present in the AuditTraildllPath.

  • These DLL versions present in the AuditTraildllList should match with product DLL version present in application folder.

How to disable maker checker functionality in admin modules

Resolution:

  • Open respected JSON file from the path \Configurations\Admin Modules

  • Change MakerChecker key to false.

How to make OCM Report/Admin page read only

Report Read Only:

  • If auth type is Role in web.config. Open Role-Based Access Management page in OCM and remove Export access of the Role.

  • If auth type is Page in web.config. Open User Management page in OCM and remove Export access of the User.

Admin Page Read Only:

  • If auth type is Role in web.config. Open Role-Based Access Management page in OCM and remove Add, Edit, Delete and Export access of the Role.

  • If auth type is Page in web.config. Open User Management page in OCM and remove Add, Edit, Delete and Export access of the User.

Could not load file or assembly

Issue Description:

This issue will occur when a DLL is missing in the bin or configured a folder for example libs folder.

Issue Resolution:

  • Check the log as below find DLL/Filename and expected path.
  • Redeploy required missing DLL/File.

Skill list is empty in the Agent Skill Assignment

Issue Description:

This issue will occur when SMS API is not configured properly in OCM.

Issue Resolution:

  • Check the log and try to browse the SMS API endpoint URL.

  • If the request is not reachable. Go to service hosted server and Right-click on the Start button to open the Menu. Select Run. This opens the Run box. Now type services.msc in it and hit Enter to open the Services Manager.

  • Navigate to SMS API service. Right-click on the service name check path. Go to path and open service configuration file

  • Find the baseAddress of the service and browse the same.

  • If the request is not reachable. Check the status SMS API in the service manager. If service is not running status. Right-click in the Services pop-up click the Start Service button.

  • Configure the proper endpoint of SMS API in the OCM web.config.

  • Refresh Agent Skill Assignment page in OCM. If still skills are not listed check the channel configuration mentioned in AgentSettingChannelCount.json configuration.

  • Configure the Operator set value either one of this (StartsWith/EndsWith/Contains/Range) and OperatorValue as per skill name added in CM/WQ table.

Cannot find table 0

Issue Description:

This issue will occur when report is not configured properly in OCM database.

Issue Resolution:

  • Check existence of OCMCustomReport table in OCM database.

  • Check existence of Get_OCMReport and Get_CustomReport stored procedure in OCM database.

  • Check existence of GenericReportQueries in the table OCMCustomReport.