アスタリスクのキューステータスに関する統計を抽出する正規表現を構築しようとしています。私は正規表現に比較的慣れていないので、解決策にはほど遠いです。解析する出力は次のとおりです。
Parsing /etc/asterisk/extconfig.conf
0009*007 has 2 calls (max unlimited) in 'ringall' strategy (0s holdtime), W:0, C:0, A:7, SL:0.0% within 0s
Members:
0009*001 (Local/0009*001@queue/nj) (In use) has taken no calls yet
Callers:
1. SIP/chan5-000a29f2 (wait: 0:08, prio: 0)
2. SIP/0139*741-000a29f7 (wait: 0:03, prio: 0)
実際の出力には複数のキューの情報が含まれるため、2 行目から繰り返されます。最初の行は 1 回だけ表示されます。
最後に、キュー ID (この例では 0009*007) と、それぞれの待ち時間を含む呼び出しのリストを取得する必要があります。
これまでのところ、次の正規表現を使用してキュー番号を照合しました。
\b^[0-9]{4}\*[0-9]{3}\b
しかし、これはうまくいきません。呼び出しと待ち時間を一致させる方法がわからない。理想的には、次のような出力が必要です。
0009*007,1,0:08
0009*007,2,0:03
最終的なスクリプトはおそらく Perl で書く予定です。