Asterisk AMI接口实现录音解决方案

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

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

[php]  view plain copy
  1. [general]  
  2. enabled = yes;  
  3. ...  
  4. port = 5038  
 

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

[php]  view plain copy
  1. [bob]  
  2.     secret =1112  
  3.     deny=0.0.0.0/0.0.0.0  
  4.     permit=127.0.0.1/255.255.255.0  
  5.     read=system,call,log,verbose,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate  
  6.     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命令以回車換行為結束符,所以按兩次回車鍵用於發送命令,登錄命令如下:

[php]  view plain copy
  1. Action: Login  
  2. Username: bob  
  3. Secret: 1111  
 

 

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

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

[php]  view plain copy
  1. Action: Monitor  
  2.     Channel: SIP/42001-00000001  
  3.     File: monitor_voip  
  4.     Format: wav  
  5.     Mix: 1  
 

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

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

[php]  view plain copy
  1. Action: PauseMonitor  
  2. Channel: SIP/42001-00000001  
 

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

[php]  view plain copy
  1. Action: UnpauseMonitor  
  2.        Channel: SIP/42001-00000001  
 

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

[php]  view plain copy
  1. Action: StopMonitor  
  2. Channel: SIP/42001-00000001  

 转自:http://blog.csdn.net/southflow/article/details/5935479

转自:http://blog.csdn.net/southflow/article/details/5935479

你可能感兴趣的:(VOIP)