您的位置:首页 > 其它

用AMI实现通话录音功能

2012-12-17 11:34 295 查看
转自:/article/8940963.html

當Asterisk存在兩路正在進行的語音通話時,可以發送AMI命令對其語音通道進行監控。具體操作步驟如下:

1)通過配置/etc/asterisk/manager.conf文件使得Asterisk開啟AMI監聽埠選項,默認是埠是5038,配置如下

[general]
enabled = yes;
...
port = 5038

2)配置客戶端登錄AMI埠的用戶名和密碼,測試機配置如下

[bob]
secret =1112
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read=system,call,log,verbose,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
write=system,call,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate

3)啟動Asterisk,下面是帶CLI命令行啟動方式

$asterisk-vvvvvc

4)客戶端登錄AMI監聽埠

4.1 本機測試登錄命令:telnet 127.0.0.1 5038 進行連接

4.2 通過配置的manager.conf檔中用戶名和密碼登錄AMI介面,AMI命令以回車換行為結束符,所以按兩次回車鍵用於發送命令,登錄命令如下:

Action: Login
Username: bob
Secret: 1111

5)通過配置撥號方案實現兩路通話,獲取到需要進行監控的語音通道名稱,本測試中對SIP/42001-00000001語音通道進行監控

6)若該兩路通話起始默認為非監控的情況下,那麼通過發送Monitor命令進行監控,命令如下:

Action: Monitor
Channel: SIP/42001-00000001
File: monitor_voip
Format: wav
Mix: 1

其中:File表示需要錄音的檔案名稱,Format表示需要錄音的檔格式,Mix表示是否將進出通道的錄音檔混音成一個錄音檔

7)如果需要暫停監控語音通道,通過PauseMonitor命令

Action: PauseMonitor
Channel: SIP/42001-00000001

如需再次啟動監控,通過UnpauseMonitor命令

Action: UnpauseMonitor
Channel: SIP/42001-00000001

8)如若不需要再監控語音通道的情況下,通過StopMonitor命令,

Action: StopMonitor
Channel: SIP/42001-00000001
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: