ciscocucmjtapicisco-jtapi

Cisco IP-Phone: Merging a Custom Rx Stream Into Call


I'm sending an RTPRx XSI command to a Cisco IP-Phone, in the following format:

<CiscoIPPhoneExecute><ExecuteItem URL="RTPRx:<Local-IP>:<Phone-Port>:100"/></CiscoIPPhoneExecute>

This successfully starts a custom Rx stream on this phone-device, so my app could stream audio to it. This works well. The streamed audio is well-heard at device's end.

While the device is during a phone-call (regular, peer-to-peer), when streaming audio to its custom Rx stream, this audio is (still) well heard at device's end, but is not heard to the other call-party.

Is there a way to accomplish that - making the other call-party hear the audio streamed into device's custom Rx stream?

Could the custom Rx stream be "bridged" into the call, possibly merged into device's Tx stream for this call?


Solution

  • I don't believe that is possible using the XSI streaming APIs.

    You may need to look into CUCM JTAPI or TAPI, which have the ability to create conference calls (i.e. with an application controlled CTI Port phone device to play audio into the call). The Agent Greeting feature is a simplified conference scenario that uses the phone's built-in-bridge DSP mixing capability, and may be a bit easier to implement.

    This repo has some JTAPI samples demonstrating some of these pieces (e.g. conference and CTI Port): CiscoDevNet/jtapi-samples