Could not POST metadata to HTCC

Dear all,

Can you help to check this issue with Recording Processor Script?
Investigation:
recordingProcessor_2017-06-29_16-28-01_075.log

JB6CCUFA4P0UB9MRRBH5SS5II400000G
2017-06-29 16:35:34,825 process_metadata INFO 0 messages have been sent to HTCC.
2017-06-29 16:36:02,897 http_client WARNING Content: {“statusCode”:4,“statusMessage”:“An internal server error has occurred. Please contact your administrator.”}
2017-06-29 16:36:02,928 process_metadata INFO Response: 500. Could not POST metadata to HTCC: JB6CCUFA4P0UB9MRRBH5SS5II400000F
2017-06-29 16:36:02,928 process_metadata WARNING Could not find SM server info. Using default SM. JB6CCUFA4P0UB9MRRBH5SS5II400000F
2017-06-29 16:36:02,928 process_metadata INFO Back up metadata record into [D:\gcti\Recording Processor Script\failed\9f48899a-adf8-471b-aeee-e136fd3f39e7\JB6CCUFA4P0UB9MRRBH5SS5II400000F_20170629-163602.json] was successful.

Test HTCC on Server:
curl -u ops:ops -X POST -d @JB6CCUFA4P0UB9MRRBH5SS5II400000F_20170629-163602.json --header “Content-Type: application/json” http://172.16.1.96:8080/internal-api/contact-centers/9f48899a-adf8-471b-aeee-e136fd3f39e7/recordings
{“statusCode”:4,“statusMessage”:"An internal server error has occurred.

In Configuring the Storage Credentials, I have ignored one failed command:
vi /tmp/create_table
{
“operationName”:“createCRCF”
}
{

curl -u ops:ops -X POST -d @/tmp/create_table http://172.16.1.96:8080/api/v2/ops/contact-centers/9f48899a-adf8-471b-aeee-e136fd3f39e7/recordings --header “Content-Type: application/json”; echo
}
{“statusCode”:4,“statusMessage”:“error in call operation”}

Please let me know if you have any idea to fix this issue. Thank you very much!

Br, NhanNT

This seems like issue on IRWS - try to check whether the IRWS is working as expected - ie. you are able to get CCID, etc.

Hi Kubig,

Please share some command to check IRWS is working well. I have executed these commands below.
[root@rws ~]# { curl -u ops:ops -X POST -d @/tmp/add_voice_features http://172.16.1.96:8080/api/v2/ops/contact-centers/9f48899a-adf8-471b-aeee-e136fd3f39e7/features --header “Content-Type: application/json”; echo;}
{“statusCode”:0}
[root@rws ~]# vi /tmp/create_table
{
“operationName”:“createCRCF”
}
[root@rws ~]# { curl -u ops:ops -X POST -d @/tmp/create_table http://172.16.1.96:8080/api/v2/ops/contact-centers/9f48899a-adf8-471b-aeee-e136fd3f39e7/recordings --header “Content-Type: application/json”; echo;}
{“statusCode”:4,“statusMessage”:“error in call operation”}

Issue occurs when i try to create operationName, Log at jetty9:
ERROR [ops] [EtsBlEHtRV8UE4LNaB/buA1tyqp9seb4444m8nmh9luzmj9] [qtp492999673-24] /api/v2/ops/contact-centers/9f48899a-adf8-471b-aeee-e136fd3f39e7/recordings c.g.g.v.a.c.c.CallRecordingsOperationOpsController error in call operation
com.genesyslab.gir.v2.exceptions.CallRecordingOperationExceptionV2: The call recording records for contact center 9f48899a-adf8-471b-aeee-e136fd3f39e7 already created. ApiResponseV2(statusCode=4, statusMessage=The call recording records for contact center 9f48899a-adf8-471b-aeee-e136fd3f39e7 already created., id=null, uri=null, uris=null, attributes={})
at com.genesyslab.gir.v2.cassandra.tasks.callrecording.CreateCallRecordingColumnFamiliesCassandraTaskV2.execute(CreateCallRecordingColumnFamiliesCassandraTaskV2.java:43) ~[gir.jar!/:8.5.2]
at com.genesyslab.gir.v2.api.tasks.callrecording.RecordingOperationApiTaskV2.callCreateCRCF(RecordingOperationApiTaskV2.java:105) ~[gir.jar!/:8.5.2]
at com.genesyslab.gir.v2.api.tasks.callrecording.RecordingOperationApiTaskV2.onExecute(RecordingOperationApiTaskV2.java:163) ~[gir.jar!/:8.5.2]
at com.genesyslab.gir.v2.api.tasks.AbstractApiTask$ExecutionFailureExceptionAwareHystrixCommand.run(AbstractApiTask.java:384) ~[gir.jar!/:8.5.2]
at com.genesyslab.gir.v2.api.tasks.AbstractApiTask$ExecutionFailureExceptionAwareHystrixCommand.run(AbstractApiTask.java:361) ~[gir.jar!/:8.5.2]
at com.netflix.hystrix.HystrixCommand.executeCommand(HystrixCommand.java:1281) ~[hystrix-core-1.3.16.jar!/:na]
at com.netflix.hystrix.HystrixCommand.access$2300(HystrixCommand.java:103) ~[hystrix-core-1.3.16.jar!/:na]
at com.netflix.hystrix.HystrixCommand$5.call(HystrixCommand.java:1186) ~[hystrix-core-1.3.16.jar!/:na]
at com.genesyslab.cloud.v2.hystrix.GenesysHystrixContextCallable.call(GenesysHystrixContextCallable.java:32) ~[gir.jar!/:8.5.2]
at com.netflix.hystrix.strategy.concurrency.HystrixContextCallable.call(HystrixContextCallable.java:51) ~[hystrix-core-1.3.16.jar!/:na]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_101]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_101]
Caused by: com.genesyslab.data.RepositoryException: The call recording records for contact center 9f48899a-adf8-471b-aeee-e136fd3f39e7 already created.
at com.genesyslab.gir.v2.cassandra.repositories.callrecording.CallRecordingRepository.createCFForContactCenterHelper(CallRecordingRepository.java:828) ~[gir.jar!/:8.5.2]
at com.genesyslab.gir.v2.cassandra.repositories.callrecording.CallRecordingRepository.createCFForContactCenterForKeyspaces(CallRecordingRepository.java:804) ~[gir.jar!/:8.5.2]
at com.genesyslab.gir.v2.cassandra.repositories.callrecording.CallRecordingRepository.createCFForContactCenter(CallRecordingRepository.java:799) ~[gir.jar!/:8.5.2]
at com.genesyslab.gir.v2.cassandra.tasks.callrecording.CreateCallRecordingColumnFamiliesCassandraTaskV2.execute(CreateCallRecordingColumnFamiliesCassandraTaskV2.java:34) ~[gir.jar!/:8.5.2]
… 13 common frames omitted
Caused by: java.lang.Throwable: Calling Thread included as the last ‘caused by’ on the chain.
at sun.misc.Unsafe.park(Native Method) ~[na:1.8.0_101]
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) ~[na:1.8.0_101]
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1037) ~[na:1.8.0_101]
at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1328) ~[na:1.8.0_101]
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:277) ~[na:1.8.0_101]

Thanks, Nhan

According to the logs it looks like your IVR profile is not completely configured and the Speechminer parameters are missing.

Thanks Kubig,

I have re-checked configuration and metadata have been sent to HTCC. But there is issue on Web Services and metadata haven’t written to Cassandra.
Config changed:
[htcc]

Support CSRF Protection for HTCC

csrfp= 0
Because at Web Service i set: enableCsrfProtection: false

Can you help to check issue on Web Services?
[tr][td]
07/01/2017 03:00:27.709 DEBUG [elasticsearch[Bes][index][T#4]] org.elasticsearch.action.index [Bes] [call-recordingv2-region1-9f48899a-adf8-471b-aeee-e136fd3f39e7][3], node[w8MutmfBRlOiWg-Ib2uPXA], [P], s[STARTED]: Failed to execute [index {[call-recordingv2-region1-9f48899a-adf8-471b-aeee-e136fd3f39e7][CallRecordings][JB6CCUFA4P0UB9MRRBH5SS5II400001L], source[{“duration”:37000,“userData”:" ["00005aCMF6QG000W"] ["ON","JB6CCUFA4P0UB9MRRBH5SS5II400001L_5115_2003_2017-07-01_02-53-44_"] ["36a61d7c-3213-424e-b880-bc3a022a8caf","84253cfc-2ed7-491d-b8d7-45b09d7c9b9a"] ["PAUSED"] ["ON"] ["ON"] [3]",“mediaFiles”:[{“userName”:“phuongnd”}],“startTime”:1498877622000,“stopTime”:1498877659000,“userDataKvps”:[{“name”:“ContactId”,“valueStr”:“00005aCMF6QG000W”},{“name”:“GSIP_REC_FN”,“valueStr”:“JB6CCUFA4P0UB9MRRBH5SS5II400001L_5115_2003_2017-07-01_02-53-44_”},{“name”:“IW_CaseUid”,“valueStr”:“36a61d7c-3213-424e-b880-bc3a022a8caf”},{“name”:“IW_BundleUid”,“valueStr”:“84253cfc-2ed7-491d-b8d7-45b09d7c9b9a”},{“name”:“agentId”,“valueStr”:“2003”},{“name”:“ani”,“valueStr”:“5115”},{“name”:“dnis”,“valueStr”:“2003”},{“name”:“recordDN”,“valueStr”:“2003”},{“name”:“agentExtensionDN”,“valueStr”:“2003”},{“name”:“callerPhoneNumber”,“valueStr”:“5115”},{“name”:“dialedPhoneNumber”,“valueStr”:“2003”},{“name”:“callType”,“valueStr”:“Inbound”}],“region”:“region1”,“userName”:[“phuongnd ACB_Agent phuongnd”],“callType”:“Inbound”,“callerPhoneNumber”:“5115”,“dialedPhoneNumber”:“2003”,“labels”:}]}]
org.elasticsearch.index.mapper.MapperParsingException: Analyzer [whitespace_lowercase] not found for field [CR.userName]
at org.elasticsearch.index.mapper.core.TypeParsers.parseField(TypeParsers.java:213) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.core.StringFieldMapper$TypeParser.parse(StringFieldMapper.java:156) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.object.ObjectMapper$TypeParser.parseProperties(ObjectMapper.java:258) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.object.ObjectMapper$TypeParser.parse(ObjectMapper.java:216) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:203) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.DocumentMapperParser.parseCompressed(DocumentMapperParser.java:185) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.MapperService.parse(MapperService.java:387) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:253) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.MapperService.documentMapperWithAutoCreate(MapperService.java:416) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.shard.service.InternalIndexShard.prepareIndex(InternalIndexShard.java:391) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:203) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:556) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction$1.run(TransportShardReplicationOperationAction.java:426) [elasticsearch-1.0.1.jar!/:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_101]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_101]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
07/01/2017 03:00:27.768 ERROR [ops] [EtsBlEHtRV8UE4LNaB/buA1m8cubjw1ey0jjv9w6mdiusto] [hystrix-ApiCreatePool-51] /internal-api/contact-centers/9f48899a-adf8-471b-aeee-e136fd3f39e7/recordings c.g.g.v.a.t.c.CreateCallRecordingApiTaskV2 Error indexing call recording CallRecording(id=JB6CCUFA4P0UB9MRRBH5SS5II400001L, ccid=9f48899a-adf8-471b-aeee-e136fd3f39e7, callerPhoneNumber=5115, dialedPhoneNumber=2003, startTime=Sat Jul 01 09:53:42 ICT 2017, mediaFiles=[CRMediaFile(mediaDescriptor=CRStorageMediaDescriptor(storage=webDAV, storageVersion=null, path=http://172.16.1.96/recordings/2017-07-01T02%253A53%253A44Z_JB6CCUFA4P0UB9MRRBH5SS5II400001L_2003-00C60195-10002984-00000001.mp3, data=null, auth=null)

Thanks, Nhan.[/td][/tr]

This is problem with ElasticSearch not with the IRWS

Odesláno z mého D5803 pomocí Tapatalk

Hi Kubig,

I changed gir.jar and metadata posted to HTCC.
Changed: default-mapping.json
“CR.userName”:{
“type”:“string”,
“index”:“analyzed”,
“analyzer”:“whitespace_lowercase”
to
“CR.userName”:{
“type”:“string”,
“index”:“analyzed”,
“analyzer”:“whitespace”

But it failed when post to Interaction Receiver of SpeechMiner.
recordingProcessor_2017-07-04_09-44-02_259.log
2017-07-04 10:27:40,121 process_metadata DEBUG Sending to HTCC: 3J5IOAB4R930BC27GD9PTHDSS400000R
2017-07-04 10:27:40,151 metadata_client DEBUG POST: http://172.16.1.96:8080/internal-api/contact-centers/9f48899a-adf8-471b-aeee-e136fd3f39e7/recordings: Response Status: 200
2017-07-04 10:27:40,151 metadatarecord DEBUG Could not find rp.speechminer_uri in record.
2017-07-04 10:27:40,151 metadatarecord DEBUG Could not find rp.speechminer_auth in record.
2017-07-04 10:27:40,151 process_metadata WARNING Could not find SM server info. Using default SM. 3J5IOAB4R930BC27GD9PTHDSS400000R

I see that MCP didn’t get infor of speechminer_uri and speechminer_auth in IVR Profiles to write to metadata file? Do you have any idea to fix this issue?

Thanks, Nhan

Are the rp. parameters filled correctly on IVR profile level?

Yes,

I have configured IVR Profile contain rp.speechminer_uri and rp.speechminer_auth but MCP didn’t get this infor and write to metadata files.

	
gvp.service-parameters/recordingclient.rp.speechminer_auth
gvp.service-parameters
recordingclient.rp.speechminer_auth
fixed,default:password
 
gvp.service-parameters/recordingclient.rp.speechminer_uri
gvp.service-parameters
recordingclient.rp.speechminer_uri
fixed,http://172.16.1.21/interactionreceiver

Further, do you know where configure for user/password of Interaction Receiver? Because, After deployment Interaction Receiver, I can access to http://172.16.1.21/interactionreceiver/ without user/password.

http://172.16.1.21/interactionreceiver/
Hello

Thanks, Nhan

Try a MCP reset

Enviado de meu E6633 usando Tapatalk

Hi cavagnaro,

I have reset MCP many times but it still don’t work. It have get info of Web Services and send file .mp3 and metadata to HTCC but not get info of SpeechMiner and Interaction Receiver.
Config in IVR Profiles:

gvp.service-parameters/recordingclient.callrec_dest
gvp.service-parameters
recordingclient.callrec_dest
fixed,http://172.16.1.27:8889/api/contact-centers/9f48899a-adf8-471b-aeee-e136fd3f39e7/recordings/
gvp.service-parameters/recordingclient.recdest
gvp.service-parameters
recordingclient.recdest
fixed,http://172.16.1.96/recordings
gvp.service-parameters/recordingclient.rp.speechminer_uri
gvp.service-parameters
recordingclient.rp.speechminer_uri
fixed,http://172.16.1.21/interactionreceiver
gvp.service-parameters/recordingclient.type
gvp.service-parameters
recordingclient.type
fixed,audio/mp3

But in metadata files, there is only info of Web Services.

{"mediaFiles":[{"duration":"0","ivrprofile":"record","mediaDescriptor":{"path":"[b]http://172.16.1.96/recordings/[/b]2017-06-30T03%3A58%3A52Z_JB6CCUFA4P0UB9MRRBH5SS5II4000010_5001-00C10195-10002A44-00000001.mp3","storage":"webDAV"},"mediaId":"2017-06-30T03%3A58%3A52Z_JB6CCUFA4P0UB9MRRBH5SS5II4000010_5001-00C10195-10002A44-00000001.mp3","parameters":{"agentId":"5001","ani":"5002","callUuid":"JB6CCUFA4P0UB9MRRBH5SS5II4000010","connId":"006c02a4e4d3f01f","dateTime":"2017-06-30T03:58:52Z","dnis":"5001","id":"JB6CCUFA4P0UB9MRRBH5SS5II4000010_5002_5001_2017-06-30_03-58-52_","recordDN":"5001","sipsAppName":"hcmsip01"},"size":"0","startTime":"2017-06-30T03:58:40Z","stopTime":"2017-06-30T03:58:40Z","tenant":"Environment","type":"audio/mp3"}]}

Maybe, there is any options in MCP impact to this?

Thanks, Nhan

Hi cavagnaro,

After I changed IVR Profiles option:
gvp.general/service-type
gvp.general
service-type
record #old value: voicexml

Metadata have been sent to Interaction Receiver, But it still response error code 202:
2017-07-07 09:38:39,700 metadatarecord DEBUG Could not find rp.speechminer_uri in record.
2017-07-07 09:38:39,700 metadatarecord DEBUG Could not find rp.speechminer_auth in record.
2017-07-07 09:38:39,700 process_metadata WARNING Could not find SM server info. Using default SM. H7RIE87ME140R1MTUF2DC2P5U8000009
2017-07-07 09:38:39,700 process_metadata DEBUG Sending to SM: H7RIE87ME140R1MTUF2DC2P5U8000009
2017-07-07 09:38:39,716 metadata_client DEBUG POST: http://172.16.1.21/interactionreceiver: Response Status: 202
2017-07-07 09:38:39,716 process_metadata DEBUG Removing metadata record:
2017-07-07 09:38:39,716 process_metadata DEBUG None
2017-07-07 09:38:39,716 process_metadata INFO 0 messages have been sent to HTCC.

Response in wireshark:
16315 848.926685000 172.16.1.27 172.16.1.21 HTTP 452 POST /interactionreceiver HTTP/1.1 (application/json)
16317 848.935156000 172.16.1.21 172.16.1.27 HTTP 395 HTTP/1.1 202 Accepted (text/html)

Failed to process metadata. \r\n
ProgramId does not exist. External ID: H7RIE87ME140R1MTUF2DC2P5U8000008 not processed

Can you help me to check this issue?

Thanks, Nhan

What options you defined on the default IVR profile?

Enviado de meu E6633 usando Tapatalk

Hi,

This is all options i have configured at IVR Profiles.
[gvp.context-services-authentication]
password = 3F54B4DDAD98B6EA912DA5282AFBF44E
username = default

[gvp.general]
service-type = record

[gvp.policy]
cti-allowed = false
outbound-call-allowed = true
transfer-allowed = true
use-same-gateway = always

[gvp.recording-certificates]
placeholder = 1

[gvp.service-parameters]
recordingclient.callrec_authorization = fixed,default:password
recordingclient.callrec_dest = fixed,http://172.16.1.27:8889/api/contact-centers/9f48899a-adf8-471b-aeee-e136fd3f39e7/recordings/
recordingclient.channels = 2
recordingclient.gvp.config.mpc.mp3.bitrate = fixed,16
recordingclient.gvp.config.msml.record.filenametemplate = fixed,$dateTime$$callUuid$$dnis$
recordingclient.httpauthorization = fixed,user:password
recordingclient.httpauthorization2 = fixed,default:password
recordingclient.recdest = fixed,http://172.16.1.96/recordings
recordingclient.rp.speechminer_auth = fixed,default:password
recordingclient.rp.speechminer_uri = fixed,http://172.16.1.21/interactionreceiver
recordingclient.type = fixed,audio/mp3
voicexml.gvp.appmodule = fixed,VXML-NG

[gvp.service-prerequisite]
initial-page-url = http://172.16.1.16:8080/Examples/src-gen/FullCallRecording.vxml

I also changed rpconfig.cfg in Proccesor
Add infor of SpeechMiner
[speechminer]

Disable client certificate validation when connecting to SpeechMiner

over HTTPS (0 == false)

post_uri=http://172.16.1.21/interactionreceiver
username=default
password=password
disable_ssl_certificate_validation = 1

Config new MSML use for recording:
[TServer]
contact = sip:172.16.1.91:5070
make-call-rfc3725-flow = 1
oos-check = 5
oos-force = 4
prefix = msml=
refer-enabled = false
ring-tone-on-make-call = false
service-type = msml
sip-hold-rfc3264 = true
sip-uri-params = gvp-tenant-id=record
subscription-id = Environment

Regard, Nhan

Is this profile really in use during the recording? Did you check what MCP is sending to the RPS?

Hi Kubig,

Metadata have been sent to Processor and Processor have sent metadata to Web Services and Interaction Receiver. Webservices have written metadata to Cassandra DB, but seem like Uplatfrom could not write metadata to SpeechMiner DB. Therefore, Interaction Receiver have responsed error 202: Failed to process metadata. \r\n
ProgramId does not exist. External ID: H7RIE87ME140R1MTUF2DC2P5U8000008 not processed

I think there is issue with configuration on Interaction Receiver and SpeechMiner, I’m re-checking this.

Thanks, Nhan.

Because there is no URI to post data there. Check what MCP posts and also what data the ICON provides.

Hello there Kubig, nhannt, and cavagnaro,

First time posting in this forum! I hope I will eventually also help people in here! ;D

We are having a similar issue in the posting of Metadata from the RPS to the RWS:

RPS.-

2017-07-07 15:01:02,413 process_metadata DEBUG Sending to HTCC: FRFQ23B0AD5KF6RPTDRG95IKI0008H7K
2017-07-07 15:01:02,413 htcc_client DEBUG Getting token for csrf protection
2017-07-07 15:01:02,444 http_client DEBUG Set-Cookie saved GIRJSESSID=vbs728p226ca1rp4uoclyo5hs; httponly; Path=/
2017-07-07 15:01:02,444 htcc_client DEBUG GET: http://10.100.47.75:8080/api/v2/diagnostics/version: Response Status: 200
2017-07-07 15:01:02,444 http_client DEBUG Cookie header added
2017-07-07 15:01:02,538 http_client DEBUG Failure: POST RECORD: http://10.100.47.75:8080/internal-api/contact-centers/78d61955-1eb9-4957-918d-8451461d7250/recordings
2017-07-07 15:01:02,538 http_client DEBUG Headers: {‘date’: ‘Fri, 07 Jul 2017 19:58:18 GMT’, ‘transfer-encoding’: ‘chunked’, ‘status’: ‘500’, ‘content-type’: ‘application/json’, ‘cache-control’: ‘no-store’}
2017-07-07 15:01:02,538 http_client WARNING Content: {“statusCode”:4,“statusMessage”:“An internal server error has occurred. Please contact your administrator.”}
2017-07-07 15:01:02,538 htcc_client DEBUG reset csrf protection
2017-07-07 15:01:02,538 htcc_client DEBUG Getting token for csrf protection
2017-07-07 15:01:02,552 htcc_client DEBUG GET: http://10.100.47.75:8080/api/v2/diagnostics/version: Response Status: 200
2017-07-07 15:01:02,552 process_metadata INFO Response: 500. Could not POST metadata to HTCC: FRFQ23B0AD5KF6RPTDRG95IKI0008H7K
2017-07-07 15:01:02,569 process_metadata INFO 0 messages have been sent to SpeechMiner.
2017-07-07 15:01:02,569 process_metadata INFO 0 messages have been sent to HTCC.

RWS.-

07/08/2017 04:02:19.184 DEBUG [ops] [5zrbbeqm4sr9lgznuy9niekb] [elasticsearch[Unthinnk][index][T#1]] /internal-api/contact-centers/78d61955-1eb9-4957-918d-8451461d7250/recordings org.elasticsearch.action.index [Unthinnk] [call-recordingv2-us-78d61955-1eb9-4957-918d-8451461d7250][0], node[fJ7tvnwtTiOZs0Q6wK3ctw], [P], s[STARTED]: Failed to execute [index {[call-recordingv2-us-78d61955-1eb9-4957-918d-8451461d7250][CallRecordings][FRFQ23B0AD5KF6RPTDRG95IKI0008H7K], source[{“duration”:10000,“userData”:" ["bad577f9-eace-463a-902b-2ad2e68a717c","0","8fee53c4-9c78-4853-8906-33da7864246a"] ["LlamadaEfectiva"] ["00012aCJAKAY3PFA"] ["0","SP_DENWA_10"] ["ON","FRFQ23B0AD5KF6RPTDRG95IKI0008H7K_2017-07-07_20-00-41"] ["ON","0"]“,“mediaFiles”:[{“userName”:“mzambrano”,“partitions”:[”/Jsupervisor"]}],“startTime”:1499457641000,“stopTime”:1499457651000,“userDataKvps”:[{“name”:“IW_CaseUid”,“valueStr”:“bad577f9-eace-463a-902b-2ad2e68a717c”},{“name”:“BusinessCall”,“valueStr”:“0”},{“name”:“IW_BundleUid”,“valueStr”:“8fee53c4-9c78-4853-8906-33da7864246a”},{“name”:“DispositionCode”,“valueStr”:“LlamadaEfectiva”},{“name”:“ContactId”,“valueStr”:“00012aCJAKAY3PFA”},{“name”:“OtherTrunkName”,“valueStr”:“SP_DENWA_10”},{“name”:“GSIP_REC_FN”,“valueStr”:“FRFQ23B0AD5KF6RPTDRG95IKI0008H7K_2017-07-07_20-00-41”},{“name”:“agentId”,“valueStr”:“1278”},{“name”:“ani”,“valueStr”:“2753”},{“name”:“dnis”,“valueStr”:“90996424571”},{“name”:“recordDN”,“valueStr”:“2753”},{“name”:“agentExtensionDN”,“valueStr”:“2753”},{“name”:“callerPhoneNumber”,“valueStr”:“2753”},{“name”:“dialedPhoneNumber”,“valueStr”:“90996424571”},{“name”:“callType”,“valueStr”:“Outbound”}],“region”:“us”,“userName”:[“mzambrano Miguel Zambrano”],“callType”:“Outbound”,“callerPhoneNumber”:“2753”,“dialedPhoneNumber”:“90996424571”,“labels”:}]}]
org.elasticsearch.index.mapper.MapperParsingException: Analyzer [whitespace_lowercase] not found for field [CR.userName]
at org.elasticsearch.index.mapper.core.TypeParsers.parseField(TypeParsers.java:213) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.core.StringFieldMapper$TypeParser.parse(StringFieldMapper.java:156) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.object.ObjectMapper$TypeParser.parseProperties(ObjectMapper.java:258) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.object.ObjectMapper$TypeParser.parse(ObjectMapper.java:216) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.DocumentMapperParser.parse(DocumentMapperParser.java:203) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.DocumentMapperParser.parseCompressed(DocumentMapperParser.java:185) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.MapperService.parse(MapperService.java:387) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.MapperService.merge(MapperService.java:253) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.mapper.MapperService.documentMapperWithAutoCreate(MapperService.java:416) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.index.shard.service.InternalIndexShard.prepareIndex(InternalIndexShard.java:391) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.action.index.TransportIndexAction.shardOperationOnPrimary(TransportIndexAction.java:203) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction.performOnPrimary(TransportShardReplicationOperationAction.java:556) ~[elasticsearch-1.0.1.jar!/:na]
at org.elasticsearch.action.support.replication.TransportShardReplicationOperationAction$AsyncShardOperationAction$1.run(TransportShardReplicationOperationAction.java:426) [elasticsearch-1.0.1.jar!/:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131]
07/08/2017 04:02:19.189 ERROR [ops] [5zrbbeqm4sr9lgznuy9niekb] [hystrix-ApiCreatePool-3] /internal-api/contact-centers/78d61955-1eb9-4957-918d-8451461d7250/recordings c.g.g.v.a.t.c.CreateCallRecordingApiTaskV2 Error indexing call recording CallRecording(id=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, ccid=78d61955-1eb9-4957-918d-8451461d7250, callerPhoneNumber=2753, dialedPhoneNumber=90996424571, startTime=Fri Jul 07 15:00:41 ECT 2017, mediaFiles=[CRMediaFile(mediaDescriptor=CRStorageMediaDescriptor(storage=webDAV, storageVersion=null, path=http://10.100.47.75:9090/recordings/FRFQ23B0AD5KF6RPTDRG95IKI0008H7K_2017-07-07_20-00-41-00B20195-10002B0D-00000001.mp3, data=null, auth=null), folder=null, startTime=Fri Jul 07 15:00:41 ECT 2017, stopTime=Fri Jul 07 15:00:51 ECT 2017, callUUID=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, mfUUID=ee4b193d-c9d6-426d-94b5-c94619ab6dda, mediaId=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K_2017-07-07_20-00-41-00B20195-10002B0D-00000001.mp3, type=audio/mp3, duration=9781, tenant=Resources, ivrprofile=IVRDefault, size=18648, parameters={dateTime=2017-07-07T20:00:41Z, agentId=1278, rp.speechminer_auth=:, rp.speechminer_uri=http://10.100.47.72/interactionreceiver/, sipsAppName=SIPServerGYE, recordDN=2753, connId=00a002a1eecf2987, dnis=90996424571, id=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K_2017-07-07_20-00-41, ani=2753, username=mzambrano, callUuid=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K}, masks=null, pkcs7=null, certAlias=null, partitions=, accessgroups=[/Jsupervisor])], eventHistory=[EventDescriptor(occurredAt=Fri Jul 07 15:00:26 ECT 2017, calluuid=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, eventId=null, contact=CRContact(type=User, phoneNumber=2753, userName=mzambrano, firstName=Miguel, lastName=Zambrano), event=Joined, data=null), EventDescriptor(occurredAt=Fri Jul 07 15:00:51 ECT 2017, calluuid=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, eventId=null, contact=CRContact(type=User, phoneNumber=2753, userName=mzambrano, firstName=Miguel, lastName=Zambrano), event=Left, data=null), EventDescriptor(occurredAt=Fri Jul 07 15:00:41 ECT 2017, calluuid=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, eventId=null, contact=CRContact(type=External, phoneNumber=9090996424571, userName=null, firstName=null, lastName=null), event=Joined, data=null), EventDescriptor(occurredAt=Fri Jul 07 15:00:51 ECT 2017, calluuid=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, eventId=null, contact=CRContact(type=External, phoneNumber=9090996424571, userName=null, firstName=null, lastName=null), event=Left, data=null), EventDescriptor(occurredAt=Fri Jul 07 15:00:26 ECT 2017, calluuid=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, eventId=2017-07-07T20:00:26.017Z_1499457626_FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, contact=null, event=Data, data={added={IW_CaseUid=bad577f9-eace-463a-902b-2ad2e68a717c, BusinessCall=0, IW_BundleUid=8fee53c4-9c78-4853-8906-33da7864246a}}), EventDescriptor(occurredAt=Fri Jul 07 15:00:28 ECT 2017, calluuid=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, eventId=2017-07-07T20:00:28.350Z_1499457628_FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, contact=null, event=Data, data={added={DispositionCode=LlamadaEfectiva}}), EventDescriptor(occurredAt=Fri Jul 07 15:00:28 ECT 2017, calluuid=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, eventId=2017-07-07T20:00:28.657Z_1499457628_FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, contact=null, event=Data, data={added={ContactId=00012aCJAKAY3PFA}}), EventDescriptor(occurredAt=Fri Jul 07 15:00:41 ECT 2017, calluuid=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, eventId=2017-07-07T20:00:41.367Z_1499457641_FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, contact=null, event=Data, data={added={WrapUpTime=0, OtherTrunkName=SP_DENWA_10}}), EventDescriptor(occurredAt=Fri Jul 07 15:00:41 ECT 2017, calluuid=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, eventId=2017-07-07T20:00:41.767Z_1499457641_FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, contact=null, event=Data, data={added={GSIP_RECORD=ON, GSIP_REC_FN=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K_2017-07-07_20-00-41}}), EventDescriptor(occurredAt=Fri Jul 07 15:00:51 ECT 2017, calluuid=FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, eventId=2017-07-07T20:00:51.437Z_1499457651_FRFQ23B0AD5KF6RPTDRG95IKI0008H7K, contact=null, event=Data, data={deleted={GSIP_RECORD=ON, WrapUpTime=0}})], labels=, nonDelete=false, callType=Outbound, region=us, deleteCandidate=false)
com.genesyslab.cloud.v2.exceptions.CloudException: Failed to write index to the search node
at com.genesyslab.gir.data.AbstractRecordingSearchService.saveRecordingInformation(AbstractRecordingSearchService.java:234) ~[gir.jar!/:8.5.2]
at com.genesyslab.gir.v2.api.tasks.callrecording.CreateCallRecordingApiTaskV2.onExecute(CreateCallRecordingApiTaskV2.java:158) [gir.jar!/:8.5.2]
at com.genesyslab.gir.v2.api.tasks.callrecording.CreateCallRecordingApiTaskV2.onExecute(CreateCallRecordingApiTaskV2.java:45) [gir.jar!/:8.5.2]
at com.genesyslab.gir.v2.api.tasks.AbstractApiTask$ExecutionFailureExceptionAwareHystrixCommand.run(AbstractApiTask.java:384) ~[gir.jar!/:8.5.2]
at com.genesyslab.gir.v2.api.tasks.AbstractApiTask$ExecutionFailureExceptionAwareHystrixCommand.run(AbstractApiTask.java:361) ~[gir.jar!/:8.5.2]
at com.netflix.hystrix.HystrixCommand.executeCommand(HystrixCommand.java:1281) ~[hystrix-core-1.3.16.jar!/:na]
at com.netflix.hystrix.HystrixCommand.access$2300(HystrixCommand.java:103) ~[hystrix-core-1.3.16.jar!/:na]
at com.netflix.hystrix.HystrixCommand$5.call(HystrixCommand.java:1186) ~[hystrix-core-1.3.16.jar!/:na]
at com.genesyslab.cloud.v2.hystrix.GenesysHystrixContextCallable.call(GenesysHystrixContextCallable.java:32) ~[gir.jar!/:8.5.2]
at com.netflix.hystrix.strategy.concurrency.HystrixContextCallable.call(HystrixContextCallable.java:51) ~[hystrix-core-1.3.16.jar!/:na]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_131]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_131]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_131]

Can you help with some questions:

  • Is it strictly necessary to use ElasticSearch in your deploy? I ask because there is a parameter “enableElasticSearchIndexing” in the https://docs.genesys.com/Documentation/HTCC/8.5.2/Dep/HTCCConfigurationOptionsReference that suggests it could be turned off. (I assume if it could be turned off, there would be repercussions in performance)

  • I checked that OP changed the .json to dismiss the first error of whitespace. I assume that this is the .json that exists in the config-templates? Because I can’t find the one with the name changed by OP (default-mapping.json). Also the whitespace_lowecase comes by default in the installation package, is it ok to change it?

  • Can you please help me with an example of the # Elasticsearch section of the application.yaml? We currently are having problems with the “nodes:” part.

Thanks in advance for your help.

Best regards,

Juan

ElasticSearch is not working properly as you can see in the log fragment. Check the ES status and configuration. Also check if the libraries for ES are present on Cassandra level as well.

Thanks Kubig,

I centered my attention into the Elastic Search configuration. The ES deployment seemed to have no issues at all (it was a stand-alone deploy), so finally I made some tweaks following the doc for the application.yaml Elastic Search part and voilá:

2017-07-09 04:36:31,171 http_client DEBUG Cookie header added
2017-07-09 04:36:33,078 metadata_client DEBUG POST: http://10.100.47.75:8080/internal-api/contact-centers/78d61955-1eb9-4957-918d-8451461d7250/recordings: Response Status: 200
2017-07-09 04:36:33,094 process_metadata DEBUG Wait for call to end: 10
2017-07-09 04:36:38,141 config_server DEBUG no more events from config server
2017-07-09 04:36:43,109 process_metadata DEBUG Wait for call to end: 10
2017-07-09 04:36:53,125 process_metadata DEBUG Wait for call to end: 10
2017-07-09 04:37:03,141 process_metadata DEBUG Wait for call to end: 10
2017-07-09 04:37:13,157 process_metadata DEBUG processing record: FRFQ23B0AD5KF6RPTDRG95IKI0008N2L
2017-07-09 04:37:13,173 metadatarecord DEBUG Found matched username for recordDN: mzambrano
2017-07-09 04:37:13,173 process_metadata DEBUG Sending to SM: FRFQ23B0AD5KF6RPTDRG95IKI0008N2L
2017-07-09 04:37:15,407 metadata_client DEBUG POST: http://10.100.47.72/interactionreceiver/: Response Status: 200

We are currently trying to configure a Genesys user to check the recording and finish the cycle, but it gives me an error in authentication in the SM… Is there a catch in configuring Genesys users to enter SM?

Best regards,

Juan