Skip to content



Listen to a channel, and optionally whisper into it.


This application is used to listen to the audio from an Asterisk channel. This includes the audio coming in and out of the channel being spied on. Only channels created by outgoing calls for the specified extension will be selected for spying. If the optional context is not supplied, the current channel's context will be used.

While spying, the following actions may be performed:

  • Dialing '#' cycles the volume level.

  • Dialing '*' will stop spying and look for another channel to spy on.


The X option supersedes the three features above in that if a valid single digit extension exists in the correct context ChanSpy will exit to it. This also disables choosing a channel based on 'chanprefix' and a digit sequence.


  • exten

    • exten required - Specify extension.

    • context - Optionally specify a context, defaults to 'default'.

  • options

    • b - Only spy on channels involved in a bridged call.

    • B - Instead of whispering on a single channel barge in on both channels involved in the call.

    • c(digit)

      • digit required - Specify a DTMF digit that can be used to spy on the next available channel.
    • d - Override the typical numeric DTMF functionality and instead use DTMF to switch between spy modes.

      • 4 - spy mode

      • 5 - whisper mode

      • 6 - barge mode

    • D - Interleave the audio coming from the channel and the audio coming to the channel in the output audio as a dual channel stream, rather than mix it. Does nothing if 'o' is also set.

    • e(ext) - Enable enforced mode, so the spying channel can only monitor extensions whose name is in the ext : delimited list.

      • ext required
    • E - Exit when the spied-on channel hangs up.

    • g(grp)

      • grp required - Only spy on channels in which one or more of the groups listed in grp matches one or more groups from the SPYGROUP variable set on the channel to be spied upon.
    • l - Allow usage of a long queue to store audio frames.

    • n(mailbox@context) - Say the name of the person being spied on if that person has recorded his/her name. If a context is specified, then that voicemail context will be searched when retrieving the name, otherwise the 'default' context be used when searching for the name (i.e. if SIP/1000 is the channel being spied on and no mailbox is specified, then '1000' will be used when searching for the name).

      • mailbox

      • context

    • o - Only listen to audio coming from this channel.

    • q - Don't play a beep when beginning to spy on a channel, or speak the selected channel name.

    • r(basename) - Record the session to the monitor spool directory. An optional base for the filename may be specified. The default is 'chanspy'.

      • basename
    • s - Skip the playback of the channel type (i.e. SIP, IAX, etc) when speaking the selected channel name.

    • S - Stop when there are no more extensions left to spy on.

    • v(value) - Adjust the initial volume in the range from '-4' to '4'. A negative value refers to a quieter setting.

      • value
    • w - Enable 'whisper' mode, so the spying channel can talk to the spied-on channel.

    • W - Enable 'private whisper' mode, so the spying channel can talk to the spied-on channel but cannot listen to that channel.

    • x(digit)

      • digit required - Specify a DTMF digit that can be used to exit the application while actively spying on a channel. If there is no channel being spied on, the DTMF digit will be ignored.
    • X - Allow the user to exit ChanSpy to a valid single digit numeric extension in the current context or the context specified by the SPY_EXIT_CONTEXT channel variable. The name of the last channel that was spied on will be stored in the SPY_CHANNEL variable.

See Also

Generated Version

This documentation was generated from Asterisk branch 21 using version GIT