Back to Bugs

Asterisk · migration

Monitoring or whisper breaks after PJSIP migration

Listen, whisper, or barge functions stop working after moving from chan_sip to PJSIP.

Source and affected scope

Asterisk ChanSpy application

  • Listen, whisper or barge differs after a PJSIP migration; actual monitoring architecture varies.

Before you start

  • Authorized isolated lab and consenting test participants; record server/build and before-state.
  • Never publish real phone numbers, network addresses, credentials, call audio or database rows.
  • Only conduct monitoring with authorization and the informed consent required for all test participants.

Diagnose the reported problem

  1. Step 1Identify the implementation and target

    Record VICIdial/Asterisk versions, actual conference engine, supervisor mode and exact agent channel during a consented synthetic call. Inspect CLI help and active channels; do not assume monitoring joins the agent’s conference.

    Find the actual dialplan or manager action used by the installed monitoring path and compare its channel selector and options with the installed version. ChanSpy is one possible implementation, not a claim that every VICIdial build uses it.

    Before you use it
    Run only on an authorized isolated lab or approved read-only diagnostic session; substitute placeholders. Preserve sensitive data privately.
    Identify the implementation and target
    asterisk -rx 'core show channels concise'asterisk -rx 'core show application ChanSpy'
    Reader-run example · not executed for this guide

    This example has no recorded result here. Follow its preparation, expected result and stop conditions before using it.

    Success looks like
    The supervisor action, agent channel name (for example PJSIP/test-agent-00000001) and selected target can be correlated.
    Stop if
    If the target is not established, do not guess a channel prefix or enable barge.
    Expected observation
    The supervisor action, agent channel name (for example PJSIP/test-agent-00000001) and selected target can be correlated.
    If this check fails
    If the target is not established, do not guess a channel prefix or enable barge.
  2. Step 2Separate listening, whisper and barge

    With all three participants consenting, make one mode selection at a time and use distinct test phrases. Record who actually hears each phrase and whether the target channel remains active.

    A fictional result where the supervisor hears both parties but the agent does not hear a whisper points toward the action/target/mode path; it does not prove a specific PJSIP defect.

    Expected observation
    Mode and observed audience are recorded separately.
    If this check fails
    Unexpected audience: stop immediately and do not repeat until permissions and topology are checked.

Correct the confirmed cause

Use this branch only when your diagnostic observations match the affected scope above. The lab result states which outcomes were actually tested.

  1. Step 3Fix the verified selection or option

    Have the authorized owner correct only the observed channel selector, installed monitoring configuration or permission mismatch; record old values first.

    Expected observation
    The selected mode targets the intended live synthetic agent channel.
    If this check fails
    Do not replace a production dialplan or switch conference engines to force a result.

Verify the outcome

  • Repeat listen, whisper and barge separately under consent; verify the intended and unintended audience for each and compare with the baseline.

Recover or roll back

  • Restore the recorded configuration and permissions using the approved workflow; verify the old behavior and retain non-sensitive test notes.

Screenshot evidence

No native screenshot is attached to this guide.

Actions to avoid

Do not mix chan_sip and PJSIP fixes or migrate a live cluster without a rollback test.