eurovoice HMP 1.1 overview
eurovoice HMP provides a high performance, low-level SDK for developing SIP-based VoIP applications. Typical applications include inbound and outbound Interactive Voice Response, Call Routing & Transcoding. The SDK may also be used in a SIP-only mode for the development of SIP Application Servers.
eurovoice HMP 1.1 SDK provides the following functionality:-
SIP
· Make / receive calls
· Reject or redirect calls
· Mid call transfer (SIP REFER)
· Send / receive custom SIP Headers
· Send / receive custom SDP data
· SIP Registration, as a client or server
· SIP WWW or Proxy authentication, as a client or server
· SIP INFO, NOTIFY and OPTIONS messages
· On / off hold support.
· IPv4, IPv6, SIP, SIP over TLS.
RTP
· RTP Session management
· G711 u-law and A-law codecs
· Support of u-law, A-law and 16-bit linear audio file formats
· Play audio file
· Record audio
· Send / Receive DTMF over RFC2833
· Timer start / stop
· Active Speech Detection with 100ms resolution
· RTP Stream switching for tromboning and audio broadcasting support
· RTP or SRTP.
Scalability
· In excess of 250 simultaneous SIP / RTP sessions
· For SIP-only mode, in excess of 1000 concurrent SIP sessions.
eurovoice HMP 1.1 is designed for Microsoft Windows 64-bit platforms including:-
· Windows Server 2008R2
· Windows Server 2012, 2012R2
· Windows Server 2016
· Windows 7, 8, 8.1 and 10.
eurovoice HMP 1.1 technical specification
The eurovoice Host Media Processing SDK provides a set of functions that may be called by the user application to receive and make SIP calls, start and stop audio (RTP) sessions, play and record audio files, send and receive DTMF tones and more.
The SDK provides an asynchronous architecture – this allows an application to support multiple simultaneous phone calls with one thread of execution. When an HMP function is called from the user application it returns immediately. The eurovoice HMP layer then performs the necessary low level functions and raises a completion event when done. Additionally, the eurovoice HMP layer raises an event to the user application when an external telephony event, such as an incoming call, occurs.
eurovoice HMP architecture
The SDK includes a C or C++ compatible library which can be called by applications developed in Microsoft’s Visual Studio Integrated Development Environment or by other compatible compilers. Visual Studio 2012 or later is recommended.
Developers wishing to use a higher level development environment, such as C# or VB.NET, or who do not want to develop low-level asynchronous event callback type applications are recommended to use eurovoice’s high-level application development toolkit, eurovoice objects 5.0.
The functions exposed by the eurovoice HMP SDK include:-
General functions
evHMP_EventText |
Returns a text string representing an event |
evHMP_GenTimerStart |
Starts or restarts a general timer |
evHMP_GenTimerStop |
Stops a general timer |
evHMP_GetNumLinesLicenced |
Returns the number of eurovoice HMP lines licenced on server |
evHMP_GetVersion |
Returns eurovoice HMP version information |
evHMP_Log |
Writes a user specified entry to the HMP log file |
evHMP_ResultText |
Returns a text string representing a return code value |
evHMP_SetCallback |
Stores a reference to the call back handling function |
SIP functions
evSIP_AnswerCall |
Accepts an incoming call request |
evSIP_AnswerCallDataInit |
A convenience function to initialise AnswerCallData |
evSIP_AuthChallenge |
Sends an authentication challenge to the incoming request |
evSIP_AuthChallengeDataInit |
A convenience function to initialise AuthChallengeData |
evSIP_AuthDataInit |
A convenience function to initialise AuthData |
evSIP_AuthValidateResponse |
Validates an authentication response |
evSIP_CancelCall |
Cancels an outgoing call attempt |
evSIP_GetAuthData |
Retrieves incoming authentication information |
evSIP_GetRTPData |
Retrieves SDP information from incoming call |
evSIP_GetSIPHeader |
Retrieves SIP headers from incoming call |
evSIP_GetSourceAddress |
Returns source address and port of incoming request |
evSIP_MakeCall |
Initiates an outgoing call |
evSIP_MakeCallDataInit |
A convenience function to initialise MakeCallData |
evSIP_OffHold |
Takes a call off hold |
evSIP_OnHold |
Puts a call on hold |
evSIP_Register |
Sends a SIP registration request to a SIP Server |
evSIP_RejectCall |
Rejects an incoming call request |
evSIP_SendBye |
Ends a call |
evSIP_SendInfo |
Sends a SIP Info message |
evSIP_SendNotify |
Sends a SIP Notify message |
evSIP_SendOptions |
Sends a SIP Options message |
evSIP_SendProvisional |
Sends a SIP Provisional message to an incoming call |
evSIP_SendRefer |
Sends a SIP Refer message for mid-call transfer |
evSIP_SendRegResponse |
Returns a response to an incoming SIP REGISTER request |
evSIP_SendReInvite |
Sends a further SIP Invite request during a call |
evSIP_SendReInviteResponse |
Returns a response to a SIP Re-Invite request |
evSIP_Start |
Starts eurovoice HMP, logging and the SIP stack |
evSIP_Stop |
Stops the SIP stack, logging and eurovoice HMP |
evSIP_UnRegister |
Deregisters the SIP stack from a SIP Server |
RTP functions
evRTP_Play |
Starts the sending of audio buffer data over RTP |
evRTP_PlayAddBuffer |
Adds data to the audio output buffer |
evRTP_PlayClearBuffer |
Clears existing data from the audio output buffer |
evRTP_PlayStop |
Stops the sending of audio data over RTP |
evRTP_Record |
Starts the receiving of incoming audio data |
evRTP_RecordGetBuffer |
Retrieves a buffer of incoming audio data |
evRTP_RecordStop |
Stops the receiving of incoming audio data |
evRTP_SendDTMF |
Sends DTMF digit(s) over RTP using RFC2833 |
evRTP_SendDTMFStop |
Stops the sending of a DTMF digit string |
evRTP_SessionCreate |
Creates a new RTP session |
evRTP_SessionGetChannelFromHandle |
Retrieves the application’s channel from RTP handle |
evRTP_SessionGetHandleFromChannel |
Retrieves the RTP handle from channel number |
evRTP_SessionRemove |
Ends an RTP session |
evRTP_SpeechDetectionStart |
Starts active speech detection on incoming audio |
evRTP_SpeechDetectionStop |
Stops active speech detection on incoming audio |
evRTP_Start |
Starts the RTP engine |
evRTP_Stop |
Stops the RTP engine |
evRTP_StreamConnect |
Streams RTP audio from one channel to another |
evRTP_StreamDisconnect |
Disconnects previously connected RTP streams |
evRTP_TimerStart |
Starts or restarts a user application RTP timer |
evRTP_TimerStop |
Stops a user application RTP timer |
evRTP_TxRxStart |
Starts transmission and reception of RTP audio |
evRTP_TxRxStop |
Stops transmission and reception of RTP audio |
eurovoice HMP events
EVHMPEVENT_DTMF |
Triggers for each new incoming DTMF digit |
EVHMPEVENT_DTMFSENDCOMPLETE |
A completion event for evRTP_SendDTMF |
EVHMPEVENT_GENTIMERCANCELLED |
Triggers when a general timer is cancelled |
EVHMPEVENT_GENTIMEREXPIRED |
Triggers when an general timer expires |
EVHMPEVENT_PLAYCOMPLETE |
A completion event for evRTP_Play |
EVHMPEVENT_RECORDBUFFER |
Triggers as recording buffer becomes available |
EVHMPEVENT_RECORDCOMPLETE |
A completion event for evRTP_RecordStop |
EVHMPEVENT_RTPSTARTED |
A completion event for evRTP_TxRxStart |
EVHMPEVENT_RTPSTOPPED |
A completion event for evRTP_TxRxStop |
EVHMPEVENT_RTPTIMERCANCELLED |
Triggers when an application RTP timer is cancelled |
EVHMPEVENT_RTPTIMEREXPIRED |
Triggers when a user application RTP timer expires |
EVHMPEVENT_SIPBYE |
Triggers on an incoming SIP BYE request |
EVHMPEVENT_SIPCALLCONNECTED |
Triggers when a SIP call is connected |
EVHMPEVENT_SIPCALLPROGRESS |
Triggers with call progress information |
EVHMPEVENT_SIPCALLTERMINATED |
Triggers when a SIP call is disconnected |
EVHMPEVENT_SIPHOLDRESPONSE |
A completion event for on/off hold functions |
EVHMPEVENT_SIPINFOREQUEST |
Triggers on incoming SIP INFO request |
EVHMPEVENT_SIPINFORESPONSE |
A completion event for evSIP_SendINFO |
EVHMPEVENT_SIPINVITE |
Triggers on incoming SIP INVITE request |
EVHMPEVENT_SIPNOTIFYREQUEST |
Triggers on incoming SIP NOTIFY request |
EVHMPEVENT_SIPNOTIFYRESPONSE |
A completion event for evSIP_SendNotify |
EVHMPEVENT_SIPOFFHOLDREQUEST |
Triggers on incoming off-hold request |
EVHMPEVENT_SIPONHOLDREQUEST |
Triggers on incoming on-hold request |
EVHMPEVENT_SIPOPTIONSRESPONSE |
A completion event for evSIP_SendOptions |
EVHMPEVENT_SIPREFERREQUEST |
Triggers on incoming SIP REFER request |
EVHMPEVENT_SIPREFERRESPONSE |
A completion event for evSIP_SendREFER |
EVHMPEVENT_SIPREGISTER |
Triggers on incoming SIP REGISTER request |
EVHMPEVENT_SIPREGISTERED |
A completion event for evSIP_Register |
EVHMPEVENT_SIPREINVITE |
Triggers on incoming SIP INVITE during call |
EVHMPEVENT_SIPREINVITERESPONSE |
A completion event for evSIP_SendReInvite |
EVHMPEVENT_SIPUNREGISTERED |
A completion event for evSIP_UnRegister |
EVHMPEVENT_SPEECHOFF |
Triggers when speech is no longer detected |
EVHMPEVENT_SPEECHON |
Triggers when speech is detected |
eurovoice HMP 1.1 prices
eurovoice HMP is licenced on a per channel basis, assigned to a specific PC/Server. A eurovoice HMP channel licence is required for each concurrent RTP session created by the calling application.
Licence keys provide between 2 to 250 HMP channels or for SIP-only usage. The licence key is then assigned to a specific server, using the HMP Licence Utility.
Multiple licence keys may be applied to the same PC / Server to increase the number of HMP channels supported.
Licences may be applied to physical or virtual PCs. In the case of a deployment to a cloud-based Virtual Machine (VM), it is important that the physical network interface (MAC address) does not change between VM restarts.
Licences may be migrated from one server to another, with prior payment of a licence migration fee. Licences may then be revoked on the original server and a replacement licence will be issued for deployment on a new server.
For developing and deploying SIP-only applications, the SDK may be used in a SIP-only mode. For this, a dedicated licence may be purchased, as detailed below:-
Item |
Price (pounds sterling) |
eurovoice HMP Licence (SIP & RTP) |
£30 per channel - minimum of 2 channels |
eurovoice HMP Licence (SIP-only) |
£100 per server |
eurovoice HMP licence revocation (required to migrate licences from one server to another) |
£50 per licence key |
Please note:
· For UK purchases, the above prices are exclusive of VAT
· For other EC countries we require your company VAT number
· We accept payment by VISA, MasterCard, Switch or Delta, or contact us for bank transfer details.
· Prices correct as at September 2021 (E&OE).
All sales are subject to our standard terms and conditions of sale.
eurovoice HMP 1.1 request eval
For an evaluation version of this product do email us your business requirements.
email: |
This email address is being protected from spambots. You need JavaScript enabled to view it.
|