Sebastian,
It would appear as though your WebDAV setup is returning a 405 Method Not Allowed when processing /internal-api/screen-recordings. Have you finished configuring your storage credentials for IRWS? You will be required to send URL data to the IRWS services to complete.
Configuring the Storage Credentials for Interaction Recording Web Services
Complete the steps below to configure storage credentials for Interaction Recording Web Services.
Start
1. Determine the contact center ID on Interaction Recording Web Services using the following command with the ops
username and password (ops:ops):
{
curl -u ops:ops
http://<Interaction Recording Web Services Server>:<Interaction Recording Web Services port>/}
Interaction Recording Web Services returns the following output:
{"statusCode":0,"uris":["http://<Interaction Recording Web Services Server>:<Interaction Recording Web Services contact-centers/<contact center ID (in hex format)>"]}
Important
Use the <contact center ID (in hex format)> construction in all
subsequent commands.
2. Using a text editor, create a new file called create_table, with the following content:
{
"operationName":"createCRCF"
}
3. Execute the following command:
{
curl -u ops:ops -X POST -d @create_table http:// <Interaction Recording Web Services Server>:<Interaction Recording contact-centers/<contact center ID (in hex format)>/screen-recordings
--header "Content-Type: application/json"; echo
}
4. Enable storage for a single or multiple locations:
Important
Within the storage settings, the same location can be specified multiple times if you have inactive
("active": false) settings specified as well as "active": true. However, you must ensure
that for a specific location, only one value has "active": true set. For additional information
about storage settings, refer to Interaction Recording Web Services (Web Services) Group Settings.
See the Property Descriptions section for details about the supported property values.
• For a single location:
a. Using a text editor, create the create_single_location file:
{
"name":"storage",
"location": "/",
"value":[
{
"storageType": "webDAV",
"active": true,
"credential":
{
"userName": "<webdav user>",
"password": "<webdav password>",
"storagePath": "<webdav uri>"
}
}
]
}
Important
Replace <webdav user>, <webdav password>, <webdav uri> with the appropriate values.
b. Execute the following command:
{
curl -u ops:ops -X POST -d @create_single_location http:// <Interaction Recording Web Services Server>:</contact-centers/<contact center ID (in hex format)>/settings/screen-recording
--header "Content-Type: application/json"; echo
}
• For multiple locations:
a. Using a text editor, create the create_first_location file:
{
"name":"storage",
"location": "<node_location>",
"value":[
{
"storageType": "webDAV",
"active": true,
"credential":
{
"userName": "<webdav user>",
"password": "<webdav password>",
"storagePath": "<webdav uri>"
}
}
]
}
b. Execute the following command:
{
curl -u ops:ops -X POST -d @create_first_location
http://<Interaction Recording Web Services Server>:</contact-centers/<contact center ID (in hex format)>/settings/screen-recording
--header "Content-Type: application/json"; echo
}
Important
Replace <node_location>, <webdav user>, <webdav password>, <webdav uri>
with the appropriate values. The values for the <node_location> are similar to the
nodePath settings in the application.yaml file, but allow a hierarchical representation. For
example, an Interaction Recording Web Services node uses a storage setting with a location
of "/US" in the nodePath set to "/US/AK" or "/US/HI".
c. Repeat steps a and b for each location required.
End
------------------------------
Ivan Ullmann
Eventus Solutions Group
------------------------------
Original Message:
Sent: 01-07-2020 07:54
From: Sebastian Valenzuela
Subject: Method Not Allowed deploying SCREEN RECORDING in GIR
Hello Team,
I'm deploying Screen Recording into a GIR solution that is in production.
I've configured webdav, features, application yaml, muxer and GAX.
At this moment we are receiving the following error.
This is from cloud.log
01/07/2020 03:00:12.731 INFO [agente1580] [XOZ3dPzGzLsYsXlb1dWJ0wqohnwfe6m6jg1bb7cycsb75tq] [c2756514-df2c-485a-b090-cd8a622a4f64] [qtp1188889531-23] /internal-api/screen-recordings c.g.g.v.a.c.s.b.CreateScreenRecordingControllerBase Upload screen recording unsuccessful for contact center [c2756514-df2c-485a-b090-cd8a622a4f64]01/07/2020 03:00:12.731 INFO [agente1580] [XOZ3dPzGzLsYsXlb1dWJ0wqohnwfe6m6jg1bb7cycsb75tq] [c2756514-df2c-485a-b090-cd8a622a4f64] [qtp1188889531-23] /internal-api/screen-recordings c.g.g.v.a.c.s.b.CreateScreenRecordingControllerBase Upload screen recording unsuccessful for contact center [c2756514-df2c-485a-b090-cd8a622a4f64]01/07/2020 03:00:12.734 ERROR [agente1580] [XOZ3dPzGzLsYsXlb1dWJ0wqohnwfe6m6jg1bb7cycsb75tq] [c2756514-df2c-485a-b090-cd8a622a4f64] [qtp1188889531-23] /internal-api/screen-recordings c.g.c.v.a.s.e.WebApiExceptionHandlerV2 Unexpected exception, returning internal errorcom.genesyslab.gir.v2.exceptions.CallRecordingOperationExceptionV2: null ApiResponseV2(statusCode=3, statusMessage=Server response: Method Not Allowed, id=null, uri=null, uris=null, attributes={}) at com.genesyslab.gir.v2.media.datamodel.callrecording.WebDAVClient.put(WebDAVClient.java:154) ~[gir.jar!/:8.5.2] at com.genesyslab.gir.v2.media.task.screenrecording.WriteScreenRecordingWebDAVMediaTaskV2.uploadMediaFile(WriteScreenRecordingWebDAVMediaTaskV2.java:52) ~[gir.jar!/:8.5.2] at com.genesyslab.gir.v2.media.task.screenrecording.AbstractWriteScreenRecordingMediaTaskV2.execute(AbstractWriteScreenRecordingMediaTaskV2.java:55) ~[gir.jar!/:8.5.2] at com.genesyslab.gir.v2.api.tasks.screenrecording.CreateScreenRecordingApiTaskV2.uploadMediaFiles(CreateScreenRecordingApiTaskV2.java:371) ~[gir.jar!/:8.5.2] at com.genesyslab.gir.v2.api.tasks.screenrecording.CreateScreenRecordingApiTaskV2.onExecute(CreateScreenRecordingApiTaskV2.java:165) ~[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_201] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_201] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_201] at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_201]
Do you have any idea what should be missing or bad configured?
Thank you
#Implementation
#SystemAdministration
------------------------------
Sebastian Valenzuela
CrossNet S.A.
------------------------------