eavesdrop provides the ability to spy on a channel. It often referred to as call barge. For persistent spying on a user see mod_spy.
DTMF signals during eavesdrop
- 2 to speak with the uuid
- 1 to speak with the other half
- 3 to engage a three way
- 0 to restore eavesdrop.
- * to next channel.
If "eavesdrop_require_group" is specified, eavesdrop only works with channels that have an "eavesdrop_group" channel variable set to the same name.
If '*' is used on an eavesdrop with out the data = all parameter set, the eavesdrop will be terminated.
If neither eavesdrop_bridge_aleg nor eavesdrop_bridge_bleg are set to true, eaves will be dropped on both legs.
You can send DTMF using uuid_recv_dtmf
DTMF Speak to callee Example
DTMF Speak to caller Example
From the Dialplan
This is available in the default.xml dialplan. To use it from your phone dial 88[extension number]. For example to eavesdrop on extension 1001 dial 881001.
From the mod_event_socket
In this example you originate a call to extension 2001 and start spying the channel with UUID c7709e9c-1517-11dc-842a-d3a3942d3d63
or another example with SRTP
In this example an eavesdrop is made of UUID a28739d0-00f0-4a59-8c82-7a5a74ab6861 to extension 1001, however the eavesdrop is started with DTMF option 2 (w2@500) to allow speaking directly to the UUID with out the other party hearing (whisper).
Specifying a group
You can specify a "group" to limit the channels that an eavesdrop applies to. This may be useful for privacy reasons.
For example, if you only want to eavesdrop on incoming sales calls, you could set the "eavesdrop_group" variable on the original incoming channel:
Then create an eavesdrop command that only affects that "sales_call_eavesdrop" group:
You should set the var eavesdrop_require_group=foo before you run the app and on all calls that are not using G729, set the var eavesdrop_group=foo in the dialplan in order to avoid call drops on G.729, if you don't have the codec licenses since they require transcoding.