在dahdi通道上通过AMI模拟发送DTMF实现录音功能

DAHDI通道通话过程中的录音控制:

1.建立接在语音卡上面的两台模拟话机通话,本机实验中这两个语音卡通道标识分别为:DAHDI/3-1,DAHDI/4-1. 建立通话的拨号方案如下:

exten => _5000X,1,Set(DYNAMIC_FEATURES=automon)

 

exten => _5000X,1,Answer()

 

exten => _5000X,n,Dial(DAHDI/${EXTEN:4},20,wW)

 

exten => _5000X,n,Hangup()

 

其中,在Dial的应用wW选项解释如下:

 w: Allow the called party to enable recording of the call by sending

 

    the DTMF sequence defined for one-touch recording in "features.conf".

 

 W: Allow the calling party to enable recording of the call by sending

 

    the DTMF sequence defined for one-touch recording in "features.conf".

 

 

automon为是需要在 "features.conf"定义的featuremap键标识。 "features.conf"文件中定义如下:

[featuremap]

 

automon => *1                   ; One Touch Record a.k.a. Touch Monitor -- Make sure to set the W and/or w option in the Dial() or Queue() app call!

 

 

2.由于需求中DTMF不能通过走FXS口,所以下面尝试通过AMI模拟发送TDMF到指定的语音通道。

       2.1 telnetAsteriskAMI服务端口,默认为5038

       2.2 登录到Asterisk AMI端口,登录命令如下:

              Action: Login

              Username: meetme

              Secret: 12345

              其中UsernameSecret为在manager.conf注册的用户名和密码。

       2.3 在通道 DAHDI/3-1,DAHDI/4-1通话过程中向任意通道发送模拟的DTMF,以 DAHDI/3-1为````例子,命令如下:

               Action:DAHDIDialOffHook

 

               DAHDIChannel: 3

               Number: *1

       2.4 通过拨号方案观测到该本次通话初始并为录音。在/var/spool/asterisk/monitor目录下观察到由2.3命令控制产生的录音文件:auto-1283854251-4003-50004-in.wavauto-1283854251-4003-50004-out.wav。默认情况下写入DAHDI/3-1通道的语音和DAHDI/3-1输出的语音分开为两个文件保存,也可以混音为一个文件保存。

       2.5 如果再次发送2.3中的命令,DAHDI/3-1通道录音将暂停;如果再次发送2.3命令,通道将再次录音,而且录音文件将以新的文件名保存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值