In my FreeSWITCH environment, calls are originated out to customers who are placed into a fifo upon answer. There are members (x-lite endpoints) in this fifo who handle those customer calls. I am writing a monitoring application that uses event_socket to watch the channels involved in this process, ultimately displaying an interface for each rep that allows them to interactively drive the calls (playback audio conditionally to the customer, save information obtained during the call to another database, etc).<br>
<br>Problems arise when attempting to identify which customer channel is speaking to which rep (consumer) channel. My event_socket application is inspecting the CHANNEL_ANSWER event, but this event does not appear to contain enough information to make this determination.<br>
<br>I have identified three distinct uuid values in the CHANNEL_ANSWER headers on the consumer channel: core uuid, the uuid of the consumer channel, and another uuid which is not the customer uuid (I&#39;m assuming this is the uuid of the fifo).<br>
<br>According to the wiki <a href="http://wiki.freeswitch.org/wiki/Mod_fifo#Additional_variables_.28not_yet_documented.29">here</a>, I expected the consumer CHANNEL_ANSWER headers to contain variables such as `fifo_target` with the uuid of the customer channel it is bridged to, but this variable is not in the headers. Indeed, no channel variables are set which correspond to the uuid of the customer channel to which the rep is speaking. After the call has been completed, data posted in the cdr does in fact contain the `fifo_target` information, but this does not help me during the call.<br>
<br>The short version of my question is this: how do I programmatically determine which channel uuid the consumer channel in a fifo is connected to?<br><br>Any help here would be greatly appreciated :) Thanks!<br>