2016-11-15 11 views
0

アスタリスクでB-legの通話時間を取得する最良の方法は何ですか?アスタリスク - B-legの通話時間を取得

数字--------(a-leg)------->アスタリスクPBX --------(b-leg)-------- ---> B numの

はシンプルなダイヤルプランは、次のとおりです。

[bleg_duration] 
exten => _X.,1,Answer() 
same => n,Wait(10) 
same => n,Dial(dahdi/G1/${B_NUM},30,gS(60)) 
same => n,Noop(${CDR(billsec)}) 
same => n,Noop(${DIALEDTIME}) ;Time for the call (seconds) 
same => n,Noop(${ANSWEREDTIME}) ;Time from dial to answer (seconds) 
same => n,Hangup() 

そのダイヤルプランの番号呼び出した場合の前にB番号に接続するので、それは10秒待ちます。私は、B numが応答してからB numがハングアップするまでの期間を取得したいと考えています。 私はそれが一般的なニーズだと思いますが、それを手に入れるのは簡単な方法を見つけることができません。

答えて

1

1)forkCDRレコードを使用できます。

2)ローカル/チャネル経由でダイヤルできます.2番目のcdrレコードは正しいbillsecを持ちます。

3)EPOCH(現在時刻)を保存してユーザーに保存できます。

とはい、あなたはまだ答えを

${ANSWEREDTIME}: This is the amount of time for actual call. 
+0

感謝を使用することができます。私はForkCDR()を使用している場合、CDRは2つの部分に分割されると私は信じています。どのように各部分の持続時間を得ることができますか?または私は間違って理解? – duccom

+0

継続時間は2番目の時間になります。 – arheops

+0

私は知っていますが、どのように2番目のCDRにアクセスできますか?私がCDR(billsec)を呼び出すと、常に最初のCDRの持続時間が表示されます。 – duccom

関連する問題