播放语音文件并自动录制:录制应用程序不会生成任何文件



我有两个星号服务器,第一个是呼叫发起方,第二个是呼叫接收方。我想要的是第一个发起的呼叫在第二个中自动记录。

第一台服务器的配置如下:

sip.conf

[general]  
register => AS2AS1:welcome@192.168.1.67 
[AS1AS2] 
type=friend 
disallow=all 
allow=iLBC 
secret=welcome 
host=dynamic 
context=startcall 
username=AS2AS1 
dtmfmode=rfc2833 
qualify=1000  

extensions.conf

[startcall] 
exten => 333,1,Playback(sa11)

第二服务器的配置如下

sip.conf

[general] 
register => AS1AS2:welcome@192.168.1.66 
[AS2AS1] 
disallow=all 
allow=iLBC 
type=friend 
secret=welcome 
host=dynamic 
username=AS1AS2 
context=recordcall 
dtmfmode=rfc2833 
qualify=1000 

extensions.conf

[recordcall] 
exten => 333,1,Answer() 
exten => 333,2,Set(curtime=$(STRFTIME(,,%s)}) 
exten => 333,3,Record(/home/basma/recorded/${curtime}.wav) 
exten => 333,4,Hangup() 

呼叫文件(在呼叫发起服务器中):

Channel:SIP/AS1AS2/333
Context:startcall
Extension:333

但当通话完成后,我在录制的目录中什么也找不到!

可以是任何东西,包括"星号根本无法调用"

要查看更多信息,请使用连接到星号

asterisk -r
core set verbose 10

并在调用时查看输出。

但请注意,您调用的文件不正确。必须优先。

http://www.voip-info.org/wiki/view/Asterisk+自动拨号+输出

尝试在Record()之后添加任何操作,例如Playback(hello-world)Wait(10)

[recordcall] 
exten => 333,1,Answer() 
exten => 333,n,Set(curtime=${STRFTIME(${EPOCH},,%s)}) 
exten => 333,n,Record(/home/basma/recorded/${curtime}.wav) 
exten => 333,n,Playback(hello-world) 
exten => 333,n,Hangup() 

您从Record应用程序听到的beep,但在此之后会调用Hangup并结束调用。

还要确保星号或运行*的用户具有对/home/basma/recorded/的写入权限
检查哪个用户使用运行*

ps aux | grep asterisk

然后

chown -R <user>:<user> /home/basma/recorded/

我终于解决了这个问题,在启动器和接收器服务器的extensions.conf中进行了一些修改后,生成了记录的文件。

启动器服务器extensions.conf中,如下所示:

[startcall]
exten => 333,1,Wait(1)
exten => 333,n,Playback(sa11)
exten => 333,n,WaitExten(10)

接收器服务器extensions.conf中是:

[recordcall]
exten => 333,1,Answer()
exten => 333,n,Set(curtime=${STRFTIME(,,%s)})
exten => 333,n,Record(/home/basma/recorded/${curtime}.wav,0,5)
exten => 333,n,Wait(3)
exten => 333,n, Hangup()

相关内容

  • 没有找到相关文章