Hi,
We currently use RTP in 3PCC (3rd party call control) on PowerMedia HMP for Windows SU375, but need to support SRTP. The code snippets in the IP Media Library API document suggest only minor changes are required by adding IPM_SECURITY_INFO to the IPM_MEDIA_INFO struct used in ipm_StartMedia. In our code we specify EV_ASYNC mode for ipm_StartMedia, but SRTP streaming fails without any error code indicating the call to ipm_StartMedia function failed, any IPMEV_STARTMEDIA, IPMEV_ERROR etc. events being presented to the event handler or anything obviously wrong in the rtflog files.
In order to try and identify the problem, we downloaded 'Secure RTP - A Basic Demo' from the HMP Technical Helpweb. We had to make a couple of minor modifications to the example (replacing a hard coded voice channel name for a name generated from the passed channel paramter), but executing the demo results in the following:
1. 'ipm_StartMediaInfo failed for device name = ipmB1C1 with error = 10 (Synchronization object timeout)' in the demo command prompt.
2. 03/06/2018 13:40:38.569 12344 11756 libipm_ipvsc EXCE Ipmedialib ipmB1C1 ===> ipm_StartMedia(): Exception=CSRLSyncTimeoutException,Line=93,File=srlsynclist.cpp in the rtflog.
The demo uses ipm_StartMedia in EV_SYNC mode, so we modified the demo to use EV_ASYNC mode and the modified demo behaves the same as our product, in that SRTP streaming fails without any error code indicating the call to ipm_StartMedia function failed, any IPMEV_STARTMEDIA, IPMEV_ERROR etc. events being presented to the event handler or anything obviously wrong in the rtflog files.
We have tested in Debug and Release versions on both Windows 7 and 10 boxes (which have 60 and 30 RTP/voice licences respectively) with the same results. When we comment out the SRTP IPM_SECURITY_INFO media info configuration so both demo examples are just streaming RTP, both the EV_SYNC and EV_ASYNC versions of the code successfully stream. When you deliberately misconfigure IPM_SECURITY_INFO (such as an incorrect master key length etc.), the call to ipm_StartMedia fails as expected. I think we must be making a basic error or are missing something some additional required functionality or configuration as we cannot get the 'Secure RTP - A Basic Demo' to stream a vox file using SRTP.
Any help appreciated.
Many thanks