[asterisk-dev] automon and soxmix

Clod Patry cpatry at gmail.com
Thu Oct 18 00:10:31 CDT 2007


hi,
i realized something playing with automon.
for outbound calls, the soxmix is done before the exten h, like:

    -- User(SIP/10-081ad618) hit '*3' to record call. filename:
wav|1192682283.66|m
Oct 18 00:38:07 DEBUG[32203]: channel.c:3386 ast_generic_bridge: Didn't get
a frame from channel: SIP/10-081ad618
Oct 18 00:38:07 DEBUG[32203]: channel.c:3675 ast_channel_bridge: Bridge
stops bridging channels SIP/10-081ad618 and SIP/17-081b2b58
Oct 18 00:38:07 DEBUG[32203]: chan_sip.c:2448 sip_hangup:
update_call_counter(17) - decrement call limit counter
Oct 18 00:38:07 DEBUG[32203]: res_monitor.c:299 ast_monitor_stop: monitor
executing ( nice -n 19 soxmix "/var/spool/asterisk/monitor/1192682283.66-
in.wav" "/var/spool/asterisk/monitor/1192682283.66-out.wav"
"/var/spool/asterisk/monitor/1192682283.66.wav"  && rm -f
"/var/spool/asterisk/monitor/1192682283.66-"* ) &
Oct 18 00:38:07 DEBUG[32203]: app_dial.c:1644 dial_exec_full: Exiting with
DIALSTATUS=ANSWER.
  == Spawn extension (from-sip, 17, 2) exited non-zero on 'SIP/10-081ad618'
    -- Executing DeadAGI("SIP/10-081ad618", "manage_automon.agi") in new
stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/manage_automon.agi

which is perfect, the soxmix is done before the deadagi.


but, for inbound calls, the soxmix is done after the exten h:
    -- User(SIP/17-081b2b58) hit '*3' to record call. filename:
wav|1192682242.64|m
Oct 18 00:37:30 DEBUG[32167]: channel.c:3386 ast_generic_bridge: Didn't get
a frame from channel: SIP/17-081b2b58
Oct 18 00:37:30 DEBUG[32167]: channel.c:3675 ast_channel_bridge: Bridge
stops bridging channels SIP/10-081ad618 and SIP/17-081b2b58
Oct 18 00:37:30 DEBUG[32167]: chan_sip.c:2448 sip_hangup:
update_call_counter(17) - decrement call limit counter
Oct 18 00:37:30 DEBUG[32167]: app_dial.c:1644 dial_exec_full: Exiting with
DIALSTATUS=ANSWER.
  == Spawn extension (from-sip, 17, 2) exited non-zero on 'SIP/10-081ad618'
    -- Executing DeadAGI("SIP/10-081ad618", "manage_automon.agi") in new
stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/manage_automon.agi
    -- AGI Script manage_automon.agi completed, returning 0
Oct 18 00:37:45 DEBUG[32167]: chan_sip.c:2448 sip_hangup:
update_call_counter(10) - decrement call limit counter
Oct 18 00:37:45 DEBUG[32167]: res_monitor.c:299 ast_monitor_stop: monitor
executing ( nice -n 19 soxmix "/var/spool/asterisk/monitor/1192682242.64-
in.wav" "/var/spool/asterisk/monitor/1192682242.64-out.wav"
"/var/spool/asterisk/monitor/1192682242.64.wav"  && rm -f
"/var/spool/asterisk/monitor/1192682242.64-"* ) &


cause the soxmix is done after the DeadAGI, even if i've a sleep(15); in my
AGI, to leave the time for the soxmix.

That would be great if all scenarios would do the soxmix before the exten h,
since that DeadAGI needs to manipulates the soxmixed file.

Why the ast_monitor_stop() occurs so latetly for the inbound call?

The only hack ive made is do the soxmix in the agi, so i can access the
mixed file.

I can call directly res_monitor_c::ast_monitor_stop() from my agi, when
calling StopMonitor() app, correct?
All this sounds like hacks, no?


Comments? Suggestions?


-- 
Clod Patry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-dev/attachments/20071018/40baf315/attachment-0001.htm 


More information about the asterisk-dev mailing list