voiptelephonyavaya

Does Avaya have an API for retrieving the audio stream of a VoIP call?


I have been up and down the documentation and all over the web looking for an answer to this question but have not had any luck. I have a project where I am looking to retrieve the live audio stream from an Avaya telephone call and then transcribe the call as its happening.

Does Avaya support this functionality?


Solution

  • You may use DMCC (which has bindings to different languages and also a language-agnostic XML interface), which implements CSTA ECMA-269 industrial standard. It has several methods to start an API session (StartApplicationSession), subscribe to events (MonitorStart) and assume first-party control over a device (RegisterTerminal). If a device is registered by an application in client-media mode, you may directly access the RTP media stream coming into and going out from the phone. RTP address, port and codec are contained in MediaStartEvent responses which you can receive via DMCC once you've set the event subscription properly. There's also a distinctive RecordMessage method that writes the audio stream from a device to a file (which you may process later).

    Registering a device will likely consume a «DMCC license» (one for each registered device). If you use third-party call control methods (such as MakeCall or AnswerCall), a «Basic TSAPI license» will also be consumed for every controlled device. I've discovered out that a «Basic TSAPI» license is consumed as soon as you issue a MonitorStart request to subscribe to events. You may want to consult your vendor about how to obtain the appropriate amount of licenses for your AES. I personally found Avaya licenses rather complicated in terms of understanding what license set exactly your application may need. There's my thread on Avaya's DevConnect resource which may shed some light here.

    Playing with your Avaya AES installation using the DMCC Dashboard is a good way to familiarize yourself with DMCC API.