2014-11-21 57 views
0

我在星號還挺新的,我必須做的過程掛斷後,我有一個代碼,是這樣的:如何斷開主叫方,但仍繼續處理

exten => 12345,1,wait(1) 
same => n,agi(myagi.php) 
same => n,hangup() 

exten => h,1,noop("hangup") 
same => n,System(sleep 1m) 
same => n,agi(sendemail.php) 

如此,當它由於睡眠而進入h分機時不會掛斷,但是在發送電子郵件之前我需要延遲,我如何斷開呼叫者,但是仍然繼續h分機中的過程?還是有另一種方法來做到這一點?

謝謝

回答

0

您需要更改您的設置以異步發送電子郵件。基本上在您的撥號方案中,您將調用只在後臺執行電子郵件腳本並立即返回的shell腳本。您將使用PHP的sleep()函數將延遲添加到電子郵件腳本中。我之前沒有這樣做,所以沒有任何示例代碼可以提供,但是this looks like a good place to start

0

最好的方法是標記cdr,例如CDR(userfield)= EMAILTO:address。

之後,每隔幾秒鐘檢查一次所有的cdrs,然後執行所需的操作。

請不要使用h-extension來完成可能需要0.5秒以上的任務,這可能會導致問題。