#!/bin/sh
# The MD is set manually for some safety and sanity, also available via $1
MD=/var/spool/asterisk/monitor
FN="$2"
INEXT="$3"
EXT=wav
OUTEXT=gsm
TG=/web/voip.netmonks.ca/calls
# First, pan them left and right
/usr/bin/sox -c 1 "${MD}/${FN}-in.${INEXT}" -c 2 "${MD}/${FN}-in-pan.${EXT}" pan -1.0
/usr/bin/sox -c 1 "${MD}/${FN}-out.${INEXT}" -c 2 "${MD}/${FN}-out-pan.${EXT}" pan 1.0
/bin/rm "${MD}/${FN}-in.${INEXT}" "${MD}/${FN}-out.${INEXT}"
# Reverse them for time sync reasons
/usr/bin/sox "${MD}/${FN}-in-pan.${EXT}" "${MD}/${FN}-in-rev.${EXT}" reverse
/usr/bin/sox "${MD}/${FN}-out-pan.${EXT}" "${MD}/${FN}-out-rev.${EXT}" reverse
/bin/rm "${MD}/${FN}-in-pan.${EXT}" "${MD}/${FN}-out-pan.${EXT}"
# Mix the reversed channels
/usr/bin/soxmix "${MD}/${FN}-in-rev.${EXT}" "${MD}/${FN}-out-rev.${EXT}" "${MD}/${FN}-rev.${EXT}"
/bin/rm "${MD}/${FN}-in-rev.${EXT}" "${MD}/${FN}-out-rev.${EXT}"
# And reverse the mixed composite and place it to the target
/usr/bin/sox "${MD}/${FN}-rev.${EXT}" "${TG}/${FN}.${OUTEXT}" reverse
/bin/rm "${MD}/${FN}-rev.${EXT}"