" /> call recording solution for genesys engage - Genesys CTI User Forum

Author Topic: call recording solution for genesys engage  (Read 2390 times)

Offline perfect_null

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
call recording solution for genesys engage
« on: March 15, 2021, 03:03:53 PM »
Advertisement
Hello everyone

Long time lurker and first time poster here, I went through the topics and did my part of research(I guess), and want to clarify some things a little before I move on with implementation, so maybe some of you will tell me why it is not possible

I am trying to set a recording solution for automated testing of service lines of our client, and I need to come up  with some lightweight way to do it - basically call about 15 service lines using powershell script, and check if they are playing the audio announcement and pair it up with template files of the announcements (I know that I can check the events in received sip logs and look up the announcement files beeing played, but there is demand for strictly audio checking, so there you have it)

What I am planning to do is using Tlib Request Private Service method, but I figured I cannot use simple socket for listening to media replacation stream from media server, because I need to establish the connection, register the voip service, etc, basically as seen under following page:
https://docs.genesys.com/Documentation/GVP/8.1.0/Solution/IntegratingwithThirdPartyVendors

My question is: anyone here tried to set up Asterisk call recording server for such purpose? When looking through various topics I noticed some people were pointing at compatibilty issues with various recording solutions on the market, and regarding Asterisk, genesys only mentions its integration only as possible solution for media server itself, not recording service that I am planning to employ it as.
Any points will be greatly appreciated, thanks
« Last Edit: March 17, 2021, 08:46:58 AM by perfect_null »

Offline genesysguru

  • Sr. Member
  • ****
  • Posts: 293
  • Karma: 12
    • Genesys Guru Blog
Re: call recording solution for genesys engage
« Reply #1 on: March 16, 2021, 01:59:46 PM »
Do you have  a SIP based solution? Why are you to record in a call recording solution? If you are SIP based just inject calls into the SIP server directly and then record the audio heard. Spawning multiple PJSUA instances using separate SIP and RTP ports from a Powershell script should do the job.

https://www.pjsip.org/pjsip/docs/html/page_pjsip_samples_pjsua.htm

Offline perfect_null

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
Re: call recording solution for genesys engage
« Reply #2 on: March 17, 2021, 07:44:18 AM »
Hey, thank you for reaching out :)

The script is suposed to run on admin server (the infrastructure is basically a lot of vdis split seperately into diffferent servers), unfortunately it doesnt have the audio device; at first I was trying to make it work using genesys endpoint sdk, but it turned out to be less flexible than I thought - my plan was to simply capture the byte stream coming over opened connection to the endpoint, but it turned out these sdk endpoints are not cooperating when you dont have the audio devices on your os, so I gave up and looked into the server-side recording.

As you mentioned, for now I use genesys sdk to log into agent account at sip server; initiate the calls with tserverprotocol requests and then I get all the server responses.

I am going to look into the pjsip libs to see if they would be good for setting up 'dummy' audio listeners for the calls and capture the rtp packets in my situation, I would really appreciate if you would have some tips in that regard, :)

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7641
  • Karma: 56330
Re: call recording solution for genesys engage
« Reply #3 on: March 17, 2021, 12:58:27 PM »
So you want to call a number, see if there is a audio in the RTP stream? You would need some sip sdk, could be Genesys SIP endpoint SDK not the Tlib PSDK.
With your custom endpoint you call and capture the stream, and analyze it comparing maybe to the expect audio? Is that it?
About the sound card... Well... That is a problem if you are trying to reproduce the audio, not to capture. You can create a virtual sound card? What limits do you have on server management?


Enviado de meu SM-N9600 usando o Tapatalk


Offline perfect_null

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
Re: call recording solution for genesys engage
« Reply #4 on: March 17, 2021, 02:52:45 PM »
[quote author=cavagnaro link=topic=11970.msg53813#msg53813 date=1615985907]
So you want to call a number, see if there is a audio in the RTP stream? You would need some sip sdk, could be Genesys SIP endpoint SDK not the Tlib PSDK.
With your custom endpoint you call and capture the stream, and analyze it comparing maybe to the expect audio? Is that it?
[/quote]


yep, that's what Im looking for to do - Im guessing a captured bytestreamm would be enough since there is a good chance I can just cast it to .wav file then

[quote author=cavagnaro link=topic=11970.msg53813#msg53813 date=1615985907]
About the sound card... Well... That is a problem if you are trying to reproduce the audio, not to capture. You can create a virtual sound card? What limits do you have on server management?

[/quote]

I only need to capture the audio so I guess I could skip the virtual sound card thing - my only concern is that when trying to dig through endpoint sdk I couldnt find appropriate way of negotiating the audio stream using the endpoint client methods, but I guess I need to try harder  - judging on the example application supplied with the sdk it just seemed like it is heavily depending on the audio devices in the system, and the supplied documentation didnt seemed to provide any appropriate use cases of these classes, do you know maybe a good examples for that?

« Last Edit: March 17, 2021, 02:55:36 PM by perfect_null »

Offline cavagnaro

  • Administrator
  • Hero Member
  • *****
  • Posts: 7641
  • Karma: 56330
Re: call recording solution for genesys engage
« Reply #5 on: March 17, 2021, 05:40:43 PM »
SIP Endpoint is that, SIP, RTP is out of the handling. There you need something like a sniffer to do that

Offline perfect_null

  • Newbie
  • *
  • Posts: 4
  • Karma: 0
Re: call recording solution for genesys engage
« Reply #6 on: March 17, 2021, 08:48:54 PM »
well I dont want to exactly sniff the packets, just to capture the stream of ongoing call so I can save it locally :)
I think it was even mentioned in the endpoint sdk documentation that it relies on some other audio libraries but I am not on my work pc right now so I cant confirm it (from what I remember when I looked through the code of sample app there was no media processing per se, the driver object was basically accepting connections and fetching data straight of audio devices which were assigned in cfg files, but I could not find any middleware code that processed it so I think these libs are integrated into .dll code itself, but last time I checked that project was about 2 weeks ago, so I could be wrong and I missed something, still doubt it)
Anyway I guess I am going to try my luck with Asterisk or PJ libraries then :)

Offline genesysguru

  • Sr. Member
  • ****
  • Posts: 293
  • Karma: 12
    • Genesys Guru Blog
Re: call recording solution for genesys engage
« Reply #7 on: March 18, 2021, 03:04:23 PM »
OK - the easy solution (for me but that's because I am a techie!)  - spawn multiple PJSUA instances each with a different STP and RTP port range. Capture RTP using WinPCAP etc. Reconstruct the audio from the RTP stream which is easy and you can match to the virtual endpoint because you know the associated RTP port. SRTP is a bit more trickly but I have done it in the past.

Craig