是否有可能通过Asterisk发起多个传出呼叫,从而从某个程序的输出(或ALSA / etc回放或FIFO管道)中获取多个媒体流?全自动解决方案,无需人工干预。
问题
我有一个可以生成几个(分离的)音频流的软件。它可以流式传输到ALSA / OSS / PulseAudio设备或FIFO管道(命名管道)。
我需要通过SIP(提供商唯一支持的接口)将音频继续重新发送给我的STT / ASR服务提供商。
当前解决方法
我当前的测试用例是记录短文件,并将其与像这样的简单调用文件一起使用:
Channel: SIP/asr.provider.com/12345
Application: Playback
Data: chunk-filename-here
MaxRetries: 2
一切正常,但是我需要使此过程连续进行(启动时拨号,并保持连接尽可能长的生命周期)。我想我需要在呼叫文件或拨号计划上下文中用其他适当的应用程序替换Application: Playback
。
UPD
如下chan_oss
和chan_oss
文档,它们都不适合:
对于Asterisk的1.2.x版本,在给定时间只能创建一个OSS通道,并且只能向OSS通道发出呼叫或从OSS通道发出一个呼叫。
是,请参阅chan_alsa和chan_oss。
您还可能需要使用conbridge进行拆分。