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.
Do you have SRTP/TLS as an feature enabled in your HMP license in this case?
Thanks for the response. We were unaware that SRTP/TLS was a specific feature in the HMP license, we had assumed it was part of the standard RTP licenses we purchased. However, I downloaded the demo HMP 2 port licence that appears to include every available license option and 'Secure RTP - A Basic Demo' still fails with the exact same results as my original post.
just to check since its been a long while since I seen the evaluation license, does it happen a separate section for SRTP called out in the lic file itself. that is how you can confirm.
Please see full contents of evaluation license below.
SERVER this_host ANY
FEATURE Voice INTEL 3.0 27-apr-2018 2 \
FEATURE Enhanced_RTP INTEL 3.0 27-apr-2018 2 \
FEATURE Conferencing INTEL 3.0 27-apr-2018 2 \
FEATURE Speech_Integration INTEL 3.0 27-apr-2018 2 \
FEATURE Fax INTEL 3.0 27-apr-2018 2 \
FEATURE RTP_G_711 INTEL 3.0 27-apr-2018 2 \
FEATURE IP_Call_Control INTEL 3.0 27-apr-2018 2 \
FEATURE Multimedia INTEL 3.0 27-apr-2018 2 \
FEATURE Native_Audio INTEL 3.0 27-apr-2018 2 \
Ok, unfortunately it appears the evaluation license does not have enablement for SRTP in this case. You would have to sync with a Dialogic Sales Rep in order to acquire a trial based license to get that extra feature.
This would explain the problems we have been experiencing, so will arrange a new licence. Thanks for all your help, really appreciate it.