當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
转自:http://blog.csdn.net/southflow/article/details/5935479
转自:http://blog.csdn.net/southflow/article/details/5935479