I have installed HMP Windows SU 395 in windows 2019 server. I am looking for how can I record the conversation between two calls. i.e. one inbound and one outbound call.
1. As of now I have an application which will record the inbound call which is fine where I am routing IPT & VOX channels and latter recording the call using dx_reciottdata.
2. But now in the same application I have to make outbound call specified by the caller (DTMF input).
I have couple of following questions.
1. for this outbound call, still do I need to route IPT & VOX channels for inbound call?
2. How do I connect inbound and outbound calls?
3. once connected, to record the conversation (may be called transaction) what channels need to be routed using nr_scroute. I think I need to use dx_mreciottdata().
4. Am I correct to think I need to have following resources
to record -> 1 VOX channel,
inobund call -> 1 VOX (play prompts), 1 IPT,
outbound call -> 1 VOX (again for prompts as I need to inform the user the call being recorded), 1 IPT
If I am missing something other than above, please guide me.
The scenario you have would is a transaction record were you pass tx timeslot for each IPM channel in the TS_INFO structure to that dx_mrec call. These can be obtain by calling gc_getxmitslot on both respective GC line devices used for the individual calls in question. Then you can route to calls together by use of gc_listen by passing the opposing tx timeslot of the IPM channels.
Thanks for reply.
I was able to record the transaction, but I have following issues.
1. I am opening the channels IPT, IPM, VOX devices in single gc_OpenEx call. When I got incoming call I am getting gc_getxmitimeslot of line dev of incoming channel and one outgoing channel and using nr_scroute.
2. But the issue is once outgoing call connected in GCEV_CONNECTED, I am routing ldev and vox to notify the user saying call being recorded. only outgoing channel user can hear the prompt and not incoming channel user.
3. Even I un-routing the ldev and vox of outgoing channel, later the outgoing call user voice can't be heared for incoming call user. (transaction recording has no issue, it is recording both users voice)
4. As per some other forum threads, ldev timeslots of 2 channels connected, if I play, it will be heared for both users. But I can't make this work.
5. In your reply, you mentioned IPM device time slots should be connected, but if I am not mistaken then I have to use ipm_GetXmitSlot and ipm_listen but I can't mix gc_XXXX APIs with ipm_XXXX APIs. please correct me if I am wrong.
For #1: I don't believe nr_scroute has support for IP, but could be wrong, that has long been deprecated and not suggested to use in this case as it really for SR based systems, not HMP.
For #2, a single channel can only listen to one timeslot at a time. If you need to make an announcement to both callers than that has to be done individually prior to when you hair-pin those caller together.
For points #3 and #4, this can only be done in a conference type setup. As you can't have two GC/IPMs in hairpin connection and then expect to play file/audio to them at the same time. As stated in point #2 can only listen to one timeslot at a time.
For #5, the use of gc_getxmitlsot returns the TX of the IPM device in this case. Thus no need to use the lower level IPML based calls of the same. Just gc_getxmitslot of both channels, and then calls gc_listen on the opposing IPM channel tx to create the hairpin connection as stated prior.
Note for the purposes of IP inclusion of the dxxx in gc_Open really serves no purpose that was more for PSTN based protocols since the dxxx might have been used for CPA purposes pending the protocol.