[Asterisk-Dev] Help Debugging Dropped Call Audio - Possibly Fixed

Matthew Roth mroth_imm at hotmail.com
Mon Dec 26 12:15:00 MST 2005


Kevin P. Fleming wrote:

>Matthew Roth wrote:
>
>>- What is the overhead of mixing the legs locally via MixMonitor?  
>>Currently we're moving the legs to a remote machine for mixing to maximize 
>>the CPU available to Asterisk.
>
>It's not zero, but it's lower than writing twice the amount of audio out to 
>the filesystem. The infrastructure for it does not mandate the mixing 
>happen during recording, but currently the MixMonitor application does not 
>offer an unmixed mode (it could easily do so, however).

That would be a great option.  Since we're recording to a RAM disk, using 
Monitor() introduces very little overhead.  Getting the advantages of the 
MixMonitor() infrastructure while being able to offload the mixing would be 
the best of both worlds.  I wouldn't have to rewrite my scripts that handle 
the recordings, either.  = )

>>- Can digital recording via MixMonitor be triggered from agents.conf and 
>>queues.conf as well as extensions.conf (as it can via Monitor)?
>
>Not at this time, no. app_queue and chan_agent will need to upgraded to 
>support it.

Is that being planned?  I'd imagine we're not the only people relying on 
that type of functionality.

Ideally, MixMonitor() would have a mode where it was a seamless replacement 
for Monitor().  For example, we rely on the 'm' option of Monitor() and the 
MONITOR_EXEC/MONITOR_EXEC_ARGS variables to trigger a move of the leg files 
to a remote machine at call completion.  If we had to rely on something 
else, such as an hourly sweep, we'd run the risk of filling the RAM disk or 
moving files that were still being written.

>>- What's the ETA on MixMonitor being introduced to Asterisk Business 
>>Edition?  If it's a while out, can it simply be added to our current 
>>installation as a new module?  We did this at one time with the MySQL CDR 
>>module.
>
>It will not be available until ABE version B.1 ships in the spring; it 
>requires modifications to the bridge handling code in the core and thus 
>can't be added as a new module.

I have an uncanny ability to realize stuff like that as soon as I hit the 
send button.  I'm new to analyzing Asterisk's source, but I'm a fast learner 
(with the proper guidance).  I'd love to be a contributor, but I don't 
understand the code well enough yet.  What are the best resources to help a 
person like myself get up to speed?

Am I correct to assume that the code base of ABE is pretty similar to the 
open source version?  I'd hate to spend time studying code that doesn't 
resemble what we are actually running in our production environment.

Thank you,

Matthew Roth
InterMedia Marketing Solutions
Software Engineer and Systems Developer





More information about the asterisk-dev mailing list