[asterisk-dev] audio in console using /dev/dsp via OSS

Robert Prince robert at robertprince.net
Mon Feb 2 10:59:14 CST 2009


Hey folks,

I'm running Asterisk on Debian on a i386-compatible (Vortex86) with a
SiS 7019 DSP.  SIP seems to work fine for audio, but I'm having
trouble getting chan_console to do audio.  The DSP does seem to work
since I can pipe sound out of it via e.g. mpg123.  However, it'll only
work with OSS, not with ALSA.

To get the DSP working, I had to use a patch to the kernel module,
details here:  http://wiki.ltsp.org/twiki/bin/view/Ltsp/SoundCards#SiS_7019

At this point I'm kind of stuck ... here's the verbose + debug output
from invoking 'console dial 123' (123 being set up to play
tt-monkeys):

------------------------------------
voice only, console video support not present
Launching 'Answer'
   -- Executing [123 at default:1] Answer("Console/dsp", "") in new stack
 << Console call has been answered >>
Processing device state change for 'Console/dsp'
Adding per-server state of 'Unknown' for 'Console/dsp'
Aggregate devstate result is 1
Aggregate state for device 'Console/dsp' has changed to 'Not in use'
Launching 'Playback'
   -- Executing [123 at default:2] Playback("Console/dsp", "tt-monkeys")
in new stack
Set channel Console/dsp to write format gsm
Error reading output space
   -- <Console/dsp> Playing 'tt-monkeys.gsm' (language 'en')

Allocating new SIP dialog for
44c91a546917c6f71f061ba144693df4 at 127.0.1.1 - OPTIONS (No RTP)
Initializing initreq for method OPTIONS - callid
316261e070108a16446980cb49c5be7b at 192.168.1.121
Allocating new SIP dialog for
0b4e1e037c8dab653857a34d075be905 at 127.0.1.1 - OPTIONS (No RTP)
Initializing initreq for method OPTIONS - callid
4fc1851467259a7c6f8d49283086f0f7 at 192.168.1.121
Stopping retransmission on
'316261e070108a16446980cb49c5be7b at 192.168.1.121' of Request 102: Match
Found
Stopping retransmission on
'4fc1851467259a7c6f8d49283086f0f7 at 192.168.1.121' of Request 102: Match
Found
Set channel Console/dsp to write format slin
Soft-Hanging up channel 'Console/dsp'
Hanging up channel 'Console/dsp'
Dropping CDR !
   -- Auto fallthrough, channel 'Console/dsp' status is 'UNKNOWN'
 << Hangup on console >>
Processing device state change for 'Console/dsp'
Adding per-server state of 'Not in use' for 'Console/dsp'
Aggregate devstate result is 1
Aggregate state for device 'Console/dsp' has not changed from 'Not in use'
-----------------------------------------------------

I'm running asterisk from the trunk, libpri from .../tags/1.4.9, and
zaptel from .../tags/1.4.9.2.  I tracked down 'Error reading output
space' to an ioctl in chan_oss.c; the OSS docs assert that the
specific ioctl (SNDCTL_DSP_GETOSPACE) shouldn't be used, and is
unnecessary ... anyway yeah I'm stumped.  Any pointers or wisdom would
be much appreciated!

Thanks,
Robert Prince



More information about the asterisk-dev mailing list