[asterisk-bugs] [Asterisk 0016262]: ChanSpy Whisper not working properly when peer has VAD and CNG on.
Asterisk Bug Tracker
noreply at bugs.digium.com
Wed Dec 2 23:51:10 CST 2009
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=16262
======================================================================
Reported By: CrackBabie
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 16262
Category: Applications/app_chanspy
Reproducibility: always
Severity: minor
Priority: normal
Status: acknowledged
Asterisk Version: SVN
JIRA: SWP-429
Regression: No
Reviewboard Link:
SVN Branch (only for SVN checkouts, not tarball releases): 1.4
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2009-11-17 12:32 CST
Last Modified: 2009-12-02 23:51 CST
======================================================================
Summary: ChanSpy Whisper not working properly when peer has
VAD and CNG on.
Description:
when I use a SIP provider with VAD/CNG that is always ON. firt of all I get
this in the CLI:
rtp.c:831 process_rfc3389: Comfort noise support incomplete in Asterisk
(RFC 3389). Please turn off on client if possible. Client IP: 0.0.0.0
which is normal and the call would work fine.
the strange thing is when I ChanSpy on the call.
A(Sping)
B(Spied)
C(Person on the other end of the peer.)
A can hear B and C
B can only hear A if C is not silent
so it feels to me that in order for B to hear A there must be audio coming
from C for asterisk to mix it in with A's audio.
======================================================================
----------------------------------------------------------------------
(0114638) CrackBabie (reporter) - 2009-12-02 23:51
https://issues.asterisk.org/view.php?id=16262#c114638
----------------------------------------------------------------------
more strange thing.
When a ChanSpy started before a call is placed.
B(spied on) can hear A(spy) upto the call is connected with C(called
party)
so it works when it's not expecting audio from C(called party). but it
stop working when it expect audio from C(called party) and there wasn't
any.
I looked over the code in app_chanspy.c audiohook.c and slinfactory.c,
everything looks fine there with audio frames. so next I have to take a
real good look at rtp.c to see if I can find anything there.
it seem to me that when VAD is enabled on the provider Asterisk wasen't
even getting any kind of frames when silence. it should be getting a CNG
frame.
in rtp.c it have something to my tiny understanding that it takes a CNG
frame and converts it into a blank audio frame. but then again CNG frame is
not sent on a set time frame.
so maybe we can do something like this:
while we know the other end is still alive (with controll frames) and if
we don't get any audio or CNG frame. we'll just generate and sent a blank
frame into the audio flow and it should be handle correctly with all other
apps in the stack.
so anyone out there with any pointers of where that happen in the sources
would be very helpful.
Issue History
Date Modified Username Field Change
======================================================================
2009-12-02 23:51 CrackBabie Note Added: 0114638
======================================================================
More information about the asterisk-bugs
mailing list