Genesys CTI User Forum
Genesys CTI User Forum => Genesys CTI Technical Discussion => Topic started by: Gef Buneri on May 26, 2023, 09:07:44 AM
-
Hello all, hope everything's fine out there.
I'm trying to figure out how to call a HTTPS URL (REST API using a HTTP POST with anonymous auth), but I feel something is missing. Until now I get that:
- One must configure the WEB options session within URS with the certificate specs (a certificate is mandatory?) and HTTP port infos
What else? I have read that to enable HTTPS web services calls from IRD, the Genesys Security Pack libraries should be installed, and their path configured on URS process side.
Could please someone help out? docs aren't perfectly clear on this, they mainly point to HTTP, not HTTPS calls.
Best regards,
Gef
-
Sorry it's been a few years but I can say 100% the security pack is not mandatory under Windows Server. What is important is to check TLS/SSL level support at the OS level too.
I don't recall if I put the cert thumbprint string in URS options or just got the third party cert and imported into the local computer cert store
-
Thank you Nonny. Sorry, I forgot to specify that this is a linux server.
-
Ahhh then I vaguely remember support telling me back in 2015 that the pack is required for Linux
-
Installed Genesys Security Pack on Linux, but even if all seems correctly configured, when trying to consume a HTTPS Web Service from a strategy, I obtain this message:
Unable to load resource 'libgsecurity_openssl_64.so', error code 'Unable to load any module file'
The file does exist and the PATH environmental variable is correctly configured pointing to the path where the file is in.
I installed the Security Pack in the same host as URS.
It seems I should add the path to the URS process too, but not sure how to do so.
Any clue?
Best,
Gef
-
Which environment is URS application using? I usually at the env for Genesys apps in lca script
Enviado de meu SM-N9600 usando o Tapatalk
-
By PATH you mean PATH or LD_LIBRARY_PATH?
-
I think the problem is that in the LD_LIBRARY_PATH the libraries path isn't present; am I right?
/$ printenv
XDG_SESSION_ID=4311
HOSTNAME=sip-server-01
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=***.***.***.*** **** ***
USER=****
LD_LIBRARY_PATH=/usr/lib/oracle/19.6/client64/lib
TNS_ADMIN=/usr/lib/oracle/19.6/client64/network/admin
MAIL=/var/spool/mail/****
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/lib/oracle/19.6/client64/bin
PWD=/
LANG=en_GB.UTF-8
HISTCONTROL=ignoredups
SHLVL=1
HOME=/home/tscs
LOGNAME=****
SSH_CONNECTION=***.***.***.*** **** ***.***.***.*** ***
LESSOPEN=||/usr/bin/lesspipe.sh %s
XDG_RUNTIME_DIR=/run/user/10224
ORACLE_HOME=/usr/lib/oracle/19.6/client64
_=/usr/bin/printenv
OLDPWD=/home/tscs
-
It is one of most common reason up to my knowledge.
Also it might depends from how it set and how URS is started.
I mean for example that if URS is started through LCA then LD_LIBRARY_PATH probably must be set in .bashrc and not in .bash_profile
-
You can see it getting the process ID of URS and then checking the file /proc/<process id>/environ
This way you can tell if URS was initialized with the proper environment variables.
And, like terry said, if you are initializing through Management Layer (SCI, GA, GAX, mlcmd, etc), URS will inherit LCA's environment variables at the time it was started up.
-
Hi everyone, I have checked further and in the snippet I posted in my previous comment the variable is missing because the environment is relative to my user, but for the genesys user the variable is correctly configured.
However, at this point I'm doubting I am using the wrong approach because the process is started from a different environment, SCI.
I wonder if it is possible to introduce the variable directly into the application using the configuration manager, in the URS's start info page?
As showed in Genesys documentation:
-----
Example 2:
Command Line Arguments: LD_LIBRARY_PATH=/home/OCS:$LD_LIBRARY_PATH ./cmserver -host HostName -port 8100 -app "OCS_Name" -l "LicensePort@LicenceHost"
-----
At the moment in CME the command line arguments string looks like this: -host [CFGSERVER] -port [CFGSERVERPORT] -app "urs" -l [PORT]@[LICENCESERVER]
So I was thinking of adding the value directly in the string, this way: LD_LIBRARY_PATH=[LIBSPATH]:$LD_LIBRARY_PATH -host [CFGSERVER] -port [CFGSERVERPORT] -app "urs" -l [PORT]@[LICENCESERVER]
Best and thank you very much for your time,
Gef
-
As said, if you are using SCI you are using LCA. Better insert the env variables there ;)
Enviado de meu SM-N9600 usando o Tapatalk
-
Thanks Cav <3 you mean in the lca_custom.cfg file?
Btw, the string as I wrote it in my previous example would work if used exactly whis way?
LD_LIBRARY_PATH=[LIBSPATH]:$LD_LIBRARY_PATH -host [CFGSERVER] -port [CFGSERVERPORT] -app "urs" -l [PORT]@[LICENCESERVER]
-
Btw, as stated by Terry, setting the url in .bashrc seems to have worked.
-
Great! Will follow that advice as well
Enviado de meu SM-N9600 usando o Tapatalk