Update -
We have been able to get the required call and agent events. We should be OK as far as passive call recording is concerned.
For active recording, when we get the required call event that we wish to record actively, we send a private service request as follows -
KeyValueCollection reasons = new KeyValueCollection();
KeyValueCollection extensions = new KeyValueCollection();
extensions.Add("record", "source");
extensions.Add("id", ev.CallUuid);
extensions.Add("dest", "sip:" + sipSocketListenerIP + ":" + sipSocketListenerPort);
RequestPrivateService requestPrivateService = RequestPrivateService.Create(3013, ev.thisDN, ev.connID, ev.userData, reasons, extensions);
tServerProtocol.Send(requestPrivateService);
As per Genesys active recording documentation, we should get a sip invite on the listener socket.
We get an 'EventACK' to our request followed by an 'EventAttachedDataChanged'. This event contains the following attributes -
'GSIP_REC_FN' [str] = "CE937U6TP90HF509O6NAINAN3O004O6H"
'GSIP_RECORD' [str] = "ON"
We do not receive an invite on our listener socket. The above attributes indicates that the media server is creating a recording file and not duplicating and sending us the RTP packets.
How do we make the media server forward the packets to us ? Is that a change in the Genesys configuration ? Will the RTP packets be received on the same port as the invite ?
Thanks for your help.